Skip to main content
Redhat Developers  Logo
  • Products

    Platforms

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat AI
      Red Hat AI
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • View All Red Hat Products

    Featured

    • Red Hat build of OpenJDK
    • Red Hat Developer Hub
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenShift Dev Spaces
    • Red Hat OpenShift Local
    • Red Hat Developer Sandbox

      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Openshift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • View All Technologies
    • Programming Languages & Frameworks

      • Java
      • Python
      • JavaScript
    • System Design & Architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer Productivity

      • Developer productivity
      • Developer Tools
      • GitOps
    • Automated Data Processing

      • AI/ML
      • Data Science
      • Apache Kafka on Kubernetes
    • Platform Engineering

      • DevOps
      • DevSecOps
      • Ansible automation for applications and services
    • Secure Development & Architectures

      • Security
      • Secure coding
  • Learn

    Featured

    • Kubernetes & Cloud Native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • AI/ML
      AI/ML Icon
    • View All Learning Resources

    E-Books

    • GitOps Cookbook
    • Podman in Action
    • Kubernetes Operators
    • The Path to GitOps
    • View All E-books

    Cheat Sheets

    • Linux Commands
    • Bash Commands
    • Git
    • systemd Commands
    • View All Cheat Sheets

    Documentation

    • Product Documentation
    • API Catalog
    • Legacy Documentation
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

How to create an automation mesh with Ansible controller

April 12, 2024
Nagesh Rathod
Related topics:
Automation and management
Related products:
Red Hat Ansible Automation Platform

Share:

    Automation has become a key factor in streamlining operations, reducing human errors, and improving overall efficiency. One popular tool that has revolutionized automation is Red Hat Ansible Automation Platform, an enterprise automation platform. Ansible's versatility and ease of use make it a great choice for managing complex IT infrastructure. In this article, we'll explore different types of nodes, peering relationships, and how Ansible controllers orchestrate the nodes as part of an automation mesh.

    Automation mesh

    Automation mesh is a key component of Ansible Automation Platform that enables customers to automate at scale in a cloud-native way. It gives customers maximum flexibility in planning distributed, remote, or otherwise complex automation deployments, along with visibility, control, and reporting.

    Ansible controller

    The controller acts as a central hub that orchestrates and manages automation tasks across the network. It provides a single point of control and enables administrators to define and execute automation workflows effortlessly.

    Types of nodes

    A node represents a specific computing device or system that is managed by the configuration management tool. Each node is usually assigned a unique identifier, and the tool can interact with and configure the nodes based on their individual specifications.

    • Control plane nodes: These are  accessed either via the web UI and API. Execution capabilities are disabled on these nodes. 

                 node_type=control

    • Execution nodes: This is where Ansible playbooks are actually executed.  This node will run an automation execution environment which in turn runs the Ansible playbook.

                 node_type=execution

    • Hop nodes: These optional nodes can be used to interconnect control nodes and Execution nodes. 

                 node_type=hop

    • Hybrid nodes: This performs automation controller runtime functions as well as executing automation (not covered in this blog).

                 node_type=hybrid

    Receptors

    Receptor is another upstream project used by Ansible Automation Platform. Using this technology, you can connect controller, hop, and execution nodes through an overlay network. It is part of the Ansible Automation Platform installer. On each node in your automation overlay, there will be a receptor application that runs as a daemon. The following diagram (Figure 1) defines secure connection between controller node and execution nodes.

    receptor
    Figure 1: Receptor connectivity between  Execution & Controller nodes.

    Prerequisites

    • Installed Ansible controller.
    • Execution and hop nodes with Red Hat Enterprise Linux (RHEL) 8.4+ installed.
    • Activate subscription manager in execution/hop node.
    • ssh connectivity between controller node, execution node, hop node.
    • The following ports need to open on nodes.

    Port

    Protocol

    Service

    Ansible var

    Required for

    22

    TCP

    SSH

    ansible_port

    Installation

    27199

    TCP

    Receptor

    receptor_listener_port

    Listening port for receptor connection.

    443*

    TCP

    Podman

    N/A

    Access to a container registry for execution environments (e.g. registry.redhat.io or private automation hub).  Configurable server side on your registry.

    Installation of automation controller with execution nodes

    To install automation controllers, you can refer to this blog. Visit our product page to download Ansible Automation Platform. In this tutorial we are covering extensions of Ansible such as connecting execution nodes and hop nodes with Automation controllers.

    To create automation mesh, we have to define all the configurations inside the Inventory file. The connectivity is totally based on how we define the values inside the file. The following example covers a single automation controller and two execution nodes.

    After downloading the Ansible Automation platform bundle, extract it. After that, make the changes in the inventory file as per the following parameters.

    [automationcontroller]
    fqdn ansible_connection=local
    
    
    [all:vars]
    admin_password='redhat’' 
    
    pg_host=''
    pg_port=''
    pg_database='awx'
    pg_username='awx'
    pg_password='redhat'
    
    
    [execution_nodes]
    aap_e_1.example.com  ansible_ssh_user=rhel  ansible_become=true node_type=execution peers=aap_e_2.example.com  ansible_ssh_user=rhel  ansible_become=true
    
    aap_e_2.example.com  ansible_ssh_user=rhel  ansible_become=true node_type=execution
    
    
    [autometioncontroller:vars]
    peers=execution_nodes
    node_type=control

    After updating Inventory file, you can start the installation process. The following command will trigger the installation process.

    sudo ./setup.sh

    The installation process takes time. After successful installation, log in to automation controller UI using defined credentials in the inventory file. From the[all:vars] section you can get your password for the controller and your username will be admin.

    Go to https://localhost and log in to the automation controller. To see execution and hop nodes are connected with automation controller, go to Topology View from left menu under Administration. You will get the view as shown below (Figure 2).

    topology
    Figure 2: Topology view of mesh.

    To see the utilization of connected execution nodes, you can visit the left menu under Administration and click on Instances. From this you can control the instances/servers from the following panel (Figure 3).

    instances
    Figure 3: Connected instances with Controller.

    It is possible to create a more complex mesh network according to your requirements. The following are some of the more complicated mesh designs covered with inventory files.

    First automation mesh design example

    Figure 4 shows an automation mesh design example.

    [automationcontroller]
    fqdn ansible_connection=local
    
    
    [execution_nodes]
    aap_e_1.example.com
    aap_e_2.example.com
    aap_h_1.example.com
    aap_e_3.example.com
    
    
    [instance_group_local]
    aap_e_1.example.com
    aap_e_2.example.com
    
    
    [hop]
    aap_h_1.example.com
    
    
    [hop:vars]
    peers=instance_group_local
    
    
    [instance_group_remote]
    aap_e_3.example.com
    
    
    [instance_group_remote:vars]
    peers=hop
    
    
    [automationcontroller:vars]
    node_type=control
    peers=hop
    peers=instance_group_remote
    mesh1
    Figure 4: Automation mesh design 1.

    Second automation mesh design example

    Figure 5 illustrates another example automation mesh design.

    [automationcontroller]
    aap_c_1.example.com
    aap_c_2.example.com
    aap_c_3.example.com
    
    
    [automationcontroller:vars]
    node_type=control
    peers=instance_group_local
    
    
    [execution_nodes]
    aap_e_1.example.com
    aap_e_2.example.com
    aap_e_3.example.com
    aap_e_4.example.com
    aap_h_1.example.com node_type=hop
    aap_h_2.example.com node_type=hop
    aap_h_3.example.com node_type=hop
    
    
    [instance_group_local]
    aap_e_1.example.com
    aap_e_2.example.com
    
    
    [instance_group_remote]
    aap_e_3.example.com
    
    
    [instance_group_remote:vars]
    peers=local_hop
    
    
    [instance_group_multi_hop_remote]
    aap_e_4.example.com
    
    
    [instance_group_multi_hop_remote:vars]
    peers=remote_multi_hop
    
    
    [local_hop]
    aap_h_1.example.com
    aap_h_2.example.com
    
    [local_hop:vars]
    peers=automationcontroller
    
    
    [remote_multi_hop]
    aap_h_3 peers=local_hop
    mesh2
    Figure 5: Automation mesh design 2

    Continue your automation journey with Ansible Automation Platform

    Utilizing your infrastructure to its full potential can be achieved with automation mesh, which is the next level of automated processes.

    Get started with Ansible Automation Platform by exploring interactive hands-on labs. Download Ansible Automation Platform at no cost and begin your automation journey.

    Related Posts

    • OpenShift application monitoring with Event-Driven Ansible & Alertmanager

    • How to install Red Hat Ansible Automation Platform on RHEL 9

    • How to create execution environments using ansible-builder

    • 6 steps to install Ansible Automation Platform 2.3 on RHEL

    • Introducing Ansible Molecule with Ansible Automation Platform

    • How to employ continuous deployment with Ansible on OpenShift

    Recent Posts

    • Run Qwen3-Next on vLLM with Red Hat AI: A step-by-step guide

    • How to implement observability with Python and Llama Stack

    • Deploy a lightweight AI model with AI Inference Server containerization

    • vLLM Semantic Router: Improving efficiency in AI reasoning

    • Declaratively assigning DNS records to virtual machines

    What’s up next?

    SSH into remote machines

    Ansible uses SSH protocol to connect to servers and run tasks, providing flexible and secure options for remote connectivity. This cheat sheet outlines two different methods to manage and configure remote hosts.

    Get the cheat sheet
    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Products

    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform

    Build

    • Developer Sandbox
    • Developer Tools
    • Interactive Tutorials
    • API Catalog

    Quicklinks

    • Learning Resources
    • E-books
    • Cheat Sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site Status Dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit
    © 2025 Red Hat

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Report a website issue