Chapter 7. Private Automation Hub

Automation Hub is the central place for the certified collections. It functions as the main source of trusted, tested and supported content. Private automation hub provides automation developers the ability to collaborate and publish their own automation content and streamline delivery of Ansible code within their organization.

Private automation hub in Ansible Automation Platform 2.1 primarily delivers support for automation execution environments. Execution environments are a standardized way to define, build and distribute the environments that the automation runs in. In a nutshell, automation execution environments are container images that allow for easier administration of Ansible by the platform administrator.

7.1. Requirements for a High Availability Automation Hub

7.1.1. Enabling firewall services

As part of a highly available automation hub environment, due to the requirement of using a shared filesystem, the following firewall services should be enabled to ensure successful mounting of the filesystem as shown in the next section.

On each automation hub node, as the ansible user:

  1. Ensure the following firewalld services (nfs, mountd, rpc-bind) are enabled.

    $ sudo firewall-cmd --zone=public --add-service=nfs
    $ sudo firewall-cmd --zone=public --add-service=mountd
    $ sudo firewall-cmd --zone=public --add-service=rpc-bind
  2. Reload firewalld for changes to take effect.

    $ sudo firewall-cmd --reload
  3. Verify the firewalld services are enabled

    $ sudo firewall-cmd --get-services

7.1.2. Shared Filesystem

A high availability automation hub requires you to have a shared file system already set up for your environment.

Before you run the Ansible Automation Platform installer, verify that the /var/lib/pulp directory exists across your cluster as a result of your shared file system installation. The Ansible Automation Platform installer will return an error if /var/lib/pulp is not detected in one of your nodes, causing your highly available automation hub setup to fail.

On each automation hub node, as the ansible user:

  1. Create the /var/lib/pulp directory

    $ sudo mkdir /var/lib/pulp
  2. Mount the shared filesystem (this reference environment uses an NFS share)

    $ sudo mount -t nfs4 <nfs_share_ip_address>:/ /var/lib/pulp
  3. Confirm the shared filesystem is successfully mounted via:

    $ df -h