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:
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
Reload
firewalld
for changes to take effect.$ sudo firewall-cmd --reload
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:
Create the
/var/lib/pulp
directory$ sudo mkdir /var/lib/pulp
Mount the shared filesystem (this reference environment uses an NFS share)
$ sudo mount -t nfs4 <nfs_share_ip_address>:/ /var/lib/pulp
Confirm the shared filesystem is successfully mounted via:
$ df -h