RPM installation
RPM installation Red Hat Ansible Automation Platform 2.5 Install the RPM version of Ansible Automation Platform Red Hat Customer Content Services
dnf install firewalld firewall-cmd --permanent --add-service=<service> firewall-cmd --reload psql -h <db.example.com> -U superuser -p 5432 -d postgres <Password for user superuser>: -h hostname --host=hostname -d dbname --dbname=dbname -U username --username=username Automation controller database variables awx_install_pg_host=data.example.com awx_install_pg_port=<port_number> awx_install_pg_database=<database_name> awx_install_pg_username=<username> awx_install_pg_password=<password> # This is not required if you enable mTLS authentication to the database pg_sslmode=prefer # Set to verify-ca or verify-full to enable mTLS authentication to the database Event-Driven Ansible database variables automationedacontroller_install_pg_host=data.example.com automationedacontroller_install_pg_port=<port_number> automationedacontroller_install_pg_database=<database_name> automationedacontroller_install_pg_username=<username> automationedacontroller_install_pg_password=<password> # This is not required if you enable mTLS authentication to the database automationedacontroller_pg_sslmode=prefer # Set to verify-full to enable mTLS authentication to the database Automation hub database variables automationhub_pg_host=data.example.com automationhub_pg_port=<port_number> automationhub_pg_database=<database_name> automationhub_pg_username=<username> automationhub_pg_password=<password> # This is not required if you enable mTLS authentication to the database automationhub_pg_sslmode=prefer # Set to verify-ca or verify-full to enable mTLS authentication to the database Platform gateway database variables automationgateway_install_pg_host=data.example.com automationgateway_install_pg_port=<port_number> automationgateway_install_pg_database=<database_name> automationgateway_install_pg_username=<username> automationgateway_install_pg_password=<password> # This is not required if you enable mTLS authentication to the database automationgateway_pg_sslmode=prefer # Set to verify-ca or verify-full to enable mTLS authentication to the database Automation controller database variables awx_install_pg_host=data.example.com awx_install_pg_port=<port_number> awx_install_pg_database=<database_name> awx_install_pg_username=<username> pg_sslmode=verify-full # This can be either verify-ca or verify-full pgclient_sslcert=/path/to/cert # Path to the certificate file pgclient_sslkey=/path/to/key # Path to the key file Event-Driven Ansible database variables automationedacontroller_install_pg_host=data.example.com automationedacontroller_install_pg_port=<port_number> automationedacontroller_install_pg_database=<database_name> automationedacontroller_install_pg_username=<username> automationedacontroller_pg_sslmode=verify-full # EDA does not support verify-ca automationedacontroller_pgclient_sslcert=/path/to/cert # Path to the certificate file automationedacontroller_pgclient_sslkey=/path/to/key # Path to the key file Automation hub database variables automationhub_pg_host=data.example.com automationhub_pg_port=<port_number> automationhub_pg_database=<database_name> automationhub_pg_username=<username> automationhub_pg_sslmode=verify-full # This can be either verify-ca or verify-full automationhub_pgclient_sslcert=/path/to/cert # Path to the certificate file automationhub_pgclient_sslkey=/path/to/key # Path to the key file Platform gateway database variables automationgateway_install_pg_host=data.example.com automationgateway_install_pg_port=<port_number> automationgateway_install_pg_database=<database_name> automationgateway_install_pg_username=<username> automationgateway_pg_sslmode=verify-full # This can be either verify-ca or verify-full automationgateway_pgclient_sslcert=/path/to/cert # Path to the certificate file automationgateway_pgclient_sslkey=/path/to/key # Path to the key file psql -d <automation hub database> -c "SELECT * FROM pg_available_extensions WHERE name='hstore'" name | default_version | installed_version |comment ------+-----------------+-------------------+--------------------------------------------------- hstore | 1.7 | | data type for storing sets of (key, value) pairs (1 row) name | default_version | installed_version | comment ------+-----------------+-------------------+--------- (0 rows) dnf install postgresql-contrib psql -d <automation hub database> -c "CREATE EXTENSION hstore;" name | default_version | installed_version | comment -----+-----------------+-------------------+------------------------------------------------------ hstore | 1.7 | 1.7 | data type for storing sets of (key, value) pairs (1 row) yum -y install fio fio --name=write_iops --directory=/tmp --numjobs=3 --size=10G --time_based --runtime=60s --ramp_time=2s --ioengine=libaio --direct=1 --verify=0 --bs=4K --iodepth=64 --rw=randwrite --group_reporting=1 > /tmp/fio_benchmark_write_iops.log 2>> /tmp/fio_write_iops_error.log fio --name=read_iops --directory=/tmp --numjobs=3 --size=10G --time_based --runtime=60s --ramp_time=2s --ioengine=libaio --direct=1 --verify=0 --bs=4K --iodepth=64 --rw=randread --group_reporting=1 > /tmp/fio_benchmark_read_iops.log 2>> /tmp/fio_read_iops_error.log cat /tmp/fio_benchmark_read_iops.log read_iops: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64 [...] iops : min=50879, max=61603, avg=56221.33, stdev=679.97, samples=360 [...] cd /opt/ansible-automation-platform/installer/ cd ansible-automation-platform-setup-bundle-<latest-version> cd ansible-automation-platform-setup-<latest-version> [automationcontroller] controller.example.com [automationgateway] gateway.example.com [database] data.example.com [all:vars] admin_password='<password>' redis_mode=standalone pg_host='data.example.com' pg_port=5432 pg_database='awx' pg_username='awx' pg_password='<password>' pg_sslmode='prefer' # set to 'verify-full' for client-side enforced SSL registry_url='registry.redhat.io' registry_username='<registry username>' registry_password='<registry password>' Automation Gateway configuration automationgateway_admin_password='' automationgateway_pg_host='data.example.com' automationgateway_pg_port=5432 automationgateway_pg_database='automationgateway' automationgateway_pg_username='automationgateway' automationgateway_pg_password='' automationgateway_pg_sslmode='prefer' The main automation gateway URL that clients will connect to (e.g. https://<load balancer host>). If not specified, the first node in the [automationgateway] group will be used when needed. automationgateway_main_url = '' Certificate and key to install in Automation Gateway automationgateway_ssl_cert=/path/to/automationgateway.cert automationgateway_ssl_key=/path/to/automationgateway.key SSL-related variables If set, this will install a custom CA certificate to the system trust store. custom_ca_cert=/path/to/ca.crt Certificate and key to install in nginx for the web UI and API web_server_ssl_cert=/path/to/tower.cert web_server_ssl_key=/path/to/tower.key Server-side SSL settings for PostgreSQL (when we are installing it). postgres_use_ssl=False postgres_ssl_cert=/path/to/pgsql.crt postgres_ssl_key=/path/to/pgsql.key [automationcontroller] controller.example.com [automationhub] automationhub.example.com [automationgateway] gateway.example.com [database] data.example.com [all:vars] admin_password='<password>' redis_mode=standalone pg_host='data.example.com' pg_port='5432' pg_database='awx' pg_username='awx' pg_password='<password>' pg_sslmode='prefer' # set to 'verify-full' for client-side enforced SSL registry_url='registry.redhat.io' registry_username='<registry username>' registry_password='<registry password>' automationhub_admin_password= <PASSWORD> automationhub_pg_host='data.example.com' automationhub_pg_port=5432 automationhub_pg_database='automationhub' automationhub_pg_username='automationhub' automationhub_pg_password=<PASSWORD> automationhub_pg_sslmode='prefer' The default install will deploy a TLS enabled Automation Hub. If for some reason this is not the behavior wanted one can disable TLS enabled deployment. # automationhub_disable_https = False The default install will generate self-signed certificates for the Automation Hub service. If you are providing valid certificate via automationhub_ssl_cert and automationhub_ssl_key, one should toggle that value to True. # automationhub_ssl_validate_certs = False SSL-related variables If set, this will install a custom CA certificate to the system trust store. custom_ca_cert=/path/to/ca.crt Certificate and key to install in Automation Hub node automationhub_ssl_cert=/path/to/automationhub.cert automationhub_ssl_key=/path/to/automationhub.key Automation Gateway configuration automationgateway_admin_password='' automationgateway_pg_host='' automationgateway_pg_port=5432 automationgateway_pg_database='automationgateway' automationgateway_pg_username='automationgateway' automationgateway_pg_password='' automationgateway_pg_sslmode='prefer' The main automation gateway URL that clients will connect to (e.g. https://<load balancer host>). If not specified, the first node in the [automationgateway] group will be used when needed. automationgateway_main_url = '' Certificate and key to install in Automation Gateway automationgateway_ssl_cert=/path/to/automationgateway.cert automationgateway_ssl_key=/path/to/automationgateway.key Certificate and key to install in nginx for the web UI and API web_server_ssl_cert=/path/to/tower.cert web_server_ssl_key=/path/to/tower.key Server-side SSL settings for PostgreSQL (when we are installing it). postgres_use_ssl=False postgres_ssl_cert=/path/to/pgsql.crt postgres_ssl_key=/path/to/pgsql.key [automationcontroller] controller.example.com [automationhub] automationhub.example.com [automationedacontroller] automationedacontroller.example.com [automationgateway] gateway.example.com [database] data.example.com [all:vars] admin_password='<password>' redis_mode=standalone pg_host='data.example.com' pg_port='5432' pg_database='awx' pg_username='awx' pg_password='<password>' pg_sslmode='prefer' # set to 'verify-full' for client-side enforced SSL registry_url='registry.redhat.io' registry_username='<registry username>' registry_password='<registry password>' Automation hub configuration automationhub_admin_password= <PASSWORD> automationhub_pg_host='data.example.com' automationhub_pg_port=5432 automationhub_pg_database='automationhub' automationhub_pg_username='automationhub' automationhub_pg_password=<PASSWORD> automationhub_pg_sslmode='prefer' Automation Event-Driven Ansible controller configuration automationedacontroller_admin_password='<eda-password>' automationedacontroller_pg_host='data.example.com' automationedacontroller_pg_port=5432 automationedacontroller_pg_database='automationedacontroller' automationedacontroller_pg_username='automationedacontroller' automationedacontroller_pg_password='<password>' Keystore file to install in SSO node sso_custom_keystore_file='/path/to/sso.jks' This install will deploy SSO with sso_use_https=True Keystore password is required for https enabled SSO sso_keystore_password='' This install will deploy a TLS enabled Automation Hub. If for some reason this is not the behavior wanted one can disable TLS enabled deployment. # automationhub_disable_https = False The default install will generate self-signed certificates for the Automation Hub service. If you are providing valid certificate via automationhub_ssl_cert and automationhub_ssl_key, one should toggle that value to True. # automationhub_ssl_validate_certs = False SSL-related variables If set, this will install a custom CA certificate to the system trust store. custom_ca_cert=/path/to/ca.crt Certificate and key to install in Automation Hub node automationhub_ssl_cert=/path/to/automationhub.cert automationhub_ssl_key=/path/to/automationhub.key Automation Gateway configuration automationgateway_admin_password='' automationgateway_pg_host='' automationgateway_pg_port=5432 automationgateway_pg_database='automationgateway' automationgateway_pg_username='automationgateway' automationgateway_pg_password='' automationgateway_pg_sslmode='prefer' The main automation gateway URL that clients will connect to (e.g. https://<load balancer host>). If not specified, the first node in the [automationgateway] group will be used when needed. automationgateway_main_url = '' Certificate and key to install in Automation Gateway automationgateway_ssl_cert=/path/to/automationgateway.cert automationgateway_ssl_key=/path/to/automationgateway.key Certificate and key to install in nginx for the web UI and API web_server_ssl_cert=/path/to/tower.cert web_server_ssl_key=/path/to/tower.key Server-side SSL settings for PostgreSQL (when we are installing it). postgres_use_ssl=False postgres_ssl_cert=/path/to/pgsql.crt postgres_ssl_key=/path/to/pgsql.key Boolean flag used to verify Automation Controller's web certificates when making calls from Automation Event-Driven Ansible controller. automationedacontroller_controller_verify_ssl = true # Certificate and key to install in Automation Event-Driven Ansible controller node automationedacontroller_ssl_cert=/path/to/automationeda.crt automationedacontroller_ssl_key=/path/to/automationeda.key automationhub_pg_host='192.0.2.10' automationhub_pg_port=5432 [database] 192.0.2.10 [automationhub] automationhub1.testing.ansible.com ansible_user=cloud-user automationhub2.testing.ansible.com ansible_user=cloud-user automationhub3.testing.ansible.com ansible_user=cloud-user USE_X_FORWARDED_PORT = True USE_X_FORWARDED_HOST = True mkdir /var/lib/pulp/ srv_rhel8:/data /var/lib/pulp nfs defaults,_netdev,nosharecache,context="system_u:object_r:var_lib_t:s0" 0 0 srv_rhel8:/data/pulpcore_static /var/lib/pulp/pulpcore_static nfs defaults,_netdev,nosharecache,context="system_u:object_r:httpd_sys_content_rw_t:s0" 0 0 systemctl daemon-reload mount /var/lib/pulp mkdir /var/lib/pulp/pulpcore_static mount -a setup.sh -- -b --become-user root systemctl stop pulpcore.service systemctl edit pulpcore.service [Unit] After=network.target var-lib-pulp.mount systemctl enable remote-fs.target systemctl reboot chcon system_u:object_r:pulpcore_etc_t:s0 /etc/pulp/certs/token_{private,public}_key.pem systemctl stop pulpcore.service umount /var/lib/pulp/pulpcore_static umount /var/lib/pulp/ srv_rhel8:/data /var/lib/pulp nfs defaults,_netdev,nosharecache,context="system_u:object_r:pulpcore_var_lib_t:s0" 0 0 mount -a {"file": "filename", "signature": "filename.asc"} #!/usr/bin/env bash FILE_PATH=USD1 SIGNATURE_PATH="USD1.asc" ADMIN_ID="USDPULP_SIGNING_KEY_FINGERPRINT" PASSWORD="password" Create a detached signature gpg --quiet --batch --pinentry-mode loopback --yes --passphrase USDPASSWORD --homedir ~/.gnupg/ --detach-sign --default-key USDADMIN_ID --armor --output USDSIGNATURE_PATH USDFILE_PATH Check the exit status STATUS=USD? if [ USDSTATUS -eq 0 ]; then echo {\"file\": \"USDFILE_PATH\", \"signature\": \"USDSIGNATURE_PATH\"} else exit USDSTATUS fi [all:vars] . . . automationhub_create_default_collection_signing_service = True automationhub_auto_sign_collections = True automationhub_require_content_approval = True automationhub_collection_signing_service_key = /abs/path/to/galaxy_signing_service.gpg automationhub_collection_signing_service_script = /abs/path/to/collection_signing.sh automationedacontroller_additional_settings: SAFE_PLUGINS: - ansible.eda.webhook - ansible.eda.alertmanager https://access.redhat.com/terms-based-registry/token/<name-of-your-token> [all:vars] admin_password='<password>' pg_host='data.example.com' pg_port='5432' pg_database='awx' pg_username='awx' pg_password='<password>' pg_sslmode='prefer' # set to 'verify-full' for client-side enforced SSL registry_url='registry.redhat.io' registry_username='<registry username>' registry_password='<registry password>' redis_mode=cluster sudo ./setup.sh ANSIBLE_BECOME_METHOD='sudo' ANSIBLE_BECOME=True ./setup.sh ./setup.sh -e 'backup_dir=/ansible/mybackup' -e 'use_archive_compression=true' 'use_db_compression=true' @credentials.yml -b [automationedacontroller] 3.88.116.111 routable_hostname=automationedacontroller-api.example.com eda_node_type=api worker node 3.88.116.112 routable_hostname=automationedacontroller-api.example.com eda_node_type=worker [automationedacontroller] 3.88.116.111 routable_hostname=automationedacontroller-api.example.com eda_node_type=api 3.88.116.112 routable_hostname=automationedacontroller-api.example.com eda_node_type=worker two more worker nodes 3.88.116.113 routable_hostname=automationedacontroller-api.example.com eda_node_type=worker 3.88.116.114 routable_hostname=automationedacontroller-api.example.com eda_node_type=worker subscription-manager repos --enable rhel-9-for-x86_64-baseos-rpms --enable rhel-9-for-x86_64-appstream-rpms dnf install yum-utils reposync -m --download-metadata --gpgcheck -p /path/to/download sudo dnf install httpd /etc/httpd/conf.d/repository.conf DocumentRoot '/path/to/repos' <LocationMatch "^/+USD"> Options -Indexes ErrorDocument 403 /.noindex.html </LocationMatch> <Directory '/path/to/repos'> Options All Indexes FollowSymLinks AllowOverride None Require all granted </Directory> sudo chown -R apache /path/to/repos sudo semanage fcontext -a -t httpd_sys_content_t "/path/to/repos(/.*)?" sudo restorecon -ir /path/to/repos sudo systemctl enable --now httpd.service sudo firewall-cmd --zone=public --add-service=http -add-service=https --permanent sudo firewall-cmd --reload [Local-BaseOS] name=Local BaseOS baseurl=http://<webserver_fqdn>/rhel-8-for-x86_64-baseos-rpms enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release [Local-AppStream] name=Local AppStream baseurl=http://<webserver_fqdn>/rhel-8-for-x86_64-appstream-rpms enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release mkdir /media/rheldvd && mount /dev/sr0 /media/rheldvd mkdir /media/rheldvd && mount -o loop rhrhel-8.6-x86_64-dvd.iso /media/rheldvd [dvd-BaseOS] name=DVD for RHEL - BaseOS baseurl=file:///media/rheldvd/BaseOS enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release [dvd-AppStream] name=DVD for RHEL - AppStream baseurl=file:///media/rheldvd/AppStream enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release rpm --import /media/rheldvd/RPM-GPG-KEY-redhat-release Curl error (6): Couldn't resolve host name for https://www.redhat.com/security/data/fd431d51.txt [Could not resolve host: www.redhat.com] tar xvf ansible-automation-platform-setup-bundle-2.5-1.tar.gz cd ansible-automation-platform-setup-bundle-2.5-1