Chapter 2. Upgrading to Red Hat Ansible Automation Platform 2.5
To upgrade your Red Hat Ansible Automation Platform, start by reviewing Planning your installation to ensure a successful upgrade. You can then download the desired version of the Ansible Automation Platform installer, configure the inventory file in the installation bundle to reflect your environment, and then run the installer.
2.1. Prerequisites Copy linkLink copied to clipboard!
- Upgrades to Ansible Automation Platform 2.5 include the platform gateway. Ensure you review the 2.5 Network ports and protocols for architectural changes and Tested deployment models for information on opinionated deployment models.
- You have reviewed the centralized Redis instance offered by Ansible Automation Platform for both standalone and clustered topologies.
- Prior to upgrading your Red Hat Ansible Automation Platform, ensure you have reviewed Planning your installation for a successful upgrade. You can then download the desired version of the Ansible Automation Platform installer, configure the inventory file in the installation bundle to reflect your environment, and then run the installer.
- Before upgrading your Red Hat Ansible Automation Platform, ensure you have upgraded to automation controller 4.5 or later.
When upgrading to Ansible Automation Platform 2.5, you must use RPM installer version 2.5-11 or later. If you use an older installer, the installation might fail. If you encounter a failed installation using an older version of the installer, rerun the installation with RPM installer version 2.5-11 or later.
NoteIf you are upgrading from AAP 2.4, you are recommended to take a backup of the API call output and save it to a file. For example: curl -k https://<CONTROLLER_FQDN>/api/v2/settings/all/ -u admin:password >> aap24_old_settings_all
2.2. Ansible Automation Platform upgrade planning Copy linkLink copied to clipboard!
Before you begin the upgrade process, review the following considerations to plan and prepare your Ansible Automation Platform deployment:
See System requirements in the Planning your installation guide to ensure you have the topologies that fit your use case.
Note2.4 to 2.5 upgrades now include Platform gateway. Ensure you review the 2.5 Network ports and protocols for architectural changes.
ImportantWhen upgrading from Ansible Automation Platform 2.4 to 2.5, the API endpoints for the automation controller, automation hub, and Event-Driven Ansible controller are all available for use. These APIs are being deprecated and will be disabled in an upcoming release. This grace period is to allow for migration to the new APIs put in place with the platform gateway.
- Verify that you have a valid subscription before upgrading from a previous version of Ansible Automation Platform. Existing subscriptions are carried over during the upgrade process.
- Ensure you have a backup of an Ansible Automation Platform 2.4 environment before upgrading in case any issues occur. See Backup and restore and Backup and recovery for operator environments for the specific topology of the environment.
- Ensure you capture your inventory or instance group details before upgrading.
- Ensure you have upgraded to the latest version of Ansible Automation Platform 2.4 before upgrading your Red Hat Ansible Automation Platform.
- Upgrade from Event-Driven Ansible 2.4 to 2.5 is not supported. Database migrations between Event-Driven Ansible 2.4 and Event-Driven Ansible 2.5 are not compatible. If you are upgrading from Ansible Automation Platform 2.4 to 2.5 and you have deployed Event-Driven Ansible, you must first remove the Event-Driven Ansible 2.4 database and then upgrade your platform to 2.5. For information about the procedure, see Removing Event-Driven Ansible 2.4 database.
- If you are currently running Event-Driven Ansible controller 2.5, it is recommended that you disable all Event-Driven Ansible activations before upgrading to ensure that only new activations run after the upgrade process is complete. For more information, see automation controller and automation hub 2.4 and Event-Driven Ansible 2.5 with unified UI upgrades.
- Automation controller OAuth applications on the platform UI are not supported for 2.4 to 2.5 migration. See this Knowledgebase article for more information. To learn how to recreate your OAuth applications, see Applications in the Access management and authentication guide.
- During the upgrade process, user accounts from the individual services are migrated. If there are accounts from multiple services, they must be linked to access the unified platform. See Account linking for details.
- Ansible Automation Platform 2.5 offers a centralized Redis instance in both standalone and clustered topologies. For information on how to configure Redis, see Configuring Redis in the RPM installation guide.
When upgrading from Ansible Automation Platform 2.4 to 2.5, connections to the platform gateway URL might fail on the platform gateway UI if you are using the automation controller behind a load balancer. The following error message is displayed:
Error connecting to Controller APITo resolve this issue, for each controller host, add the platform gateway URL as a trusted source in the
CSRF_TRUSTED_ORIGINsetting in the settings.py file for each controller host. You must then restart each controller host so that the URL changes are implemented. For more information, see Upgrading in Troubleshooting Ansible Automation Platform.
2.3. Choosing and obtaining a Red Hat Ansible Automation Platform installer Copy linkLink copied to clipboard!
Choose the Red Hat Ansible Automation Platform installer you need based on your Red Hat Enterprise Linux environment internet connectivity. Review the following scenarios and decide on which Red Hat Ansible Automation Platform installer meets your needs.
A valid Red Hat customer account is required to access Red Hat Ansible Automation Platform installer downloads on the Red Hat Customer Portal.
Choose the Red Hat Ansible Automation Platform installer if your Red Hat Enterprise Linux environment is connected to the internet. Installing with internet access retrieves the latest required repositories, packages, and dependencies. Choose one of the following ways to set up your Ansible Automation Platform installer.
Procedure
Tarball install
- Navigate to the Red Hat Ansible Automation Platform download page.
- In the Product software tab, click for the Ansible Automation Platform <latest-version> Setup.
Extract the files:
tar xvzf ansible-automation-platform-setup-<latest-version>.tar.gz
$ tar xvzf ansible-automation-platform-setup-<latest-version>.tar.gzCopy to Clipboard Copied! Toggle word wrap Toggle overflow
RPM install
Install the Ansible Automation Platform Installer Package.
v.2.5 for RHEL 8 for x86_64:
sudo dnf install --enablerepo=ansible-automation-platform-2.5-for-rhel-8-x86_64-rpms ansible-automation-platform-installer
$ sudo dnf install --enablerepo=ansible-automation-platform-2.5-for-rhel-8-x86_64-rpms ansible-automation-platform-installerCopy to Clipboard Copied! Toggle word wrap Toggle overflow v.2.5 for RHEL 9 for x86-64:
sudo dnf install --enablerepo=ansible-automation-platform-2.5-for-rhel-9-x86_64-rpms ansible-automation-platform-installer
$ sudo dnf install --enablerepo=ansible-automation-platform-2.5-for-rhel-9-x86_64-rpms ansible-automation-platform-installerCopy to Clipboard Copied! Toggle word wrap Toggle overflow Notednf installenables the repo as the repo is disabled by default.When you use the RPM installer, the files are placed under the
/opt/ansible-automation-platform/installerdirectory.
2.3.1. Installing without internet access Copy linkLink copied to clipboard!
Use the Red Hat Ansible Automation Platform Bundle installer if you are unable to access the internet, or would prefer not to install separate components and dependencies from online repositories. Access to Red Hat Enterprise Linux repositories is still needed. All other dependencies are included in the tar archive.
Procedure
- Navigate to the Red Hat Ansible Automation Platform download page.
- In the Product software tab, click for the Ansible Automation Platform <latest-version> Setup Bundle.
Extract the files:
tar xvzf ansible-automation-platform-setup-bundle-<latest-version>.tar.gz
$ tar xvzf ansible-automation-platform-setup-bundle-<latest-version>.tar.gzCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4. Setting up the inventory file Copy linkLink copied to clipboard!
Before upgrading your Red Hat Ansible Automation Platform installation, edit the inventory file so that it matches your desired configuration. You can keep the same parameters from your existing Ansible Automation Platform deployment or you can modify the parameters to match any changes to your environment.
You can find sample inventory files in the Test topologies GitHub repository, or in our Tested deployment models guide.
Procedure
Navigate to the installation program directory.
- Bundled installer
cd ansible-automation-platform-setup-bundle-2.5-4-x86_64
$ cd ansible-automation-platform-setup-bundle-2.5-4-x86_64Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Online installer
cd ansible-automation-platform-setup-2.5-4
$ cd ansible-automation-platform-setup-2.5-4Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
Open the
inventoryfile for editing. Modify the
inventoryfile to provision new nodes, deprovision nodes or groups, and import or generate automation hub API tokens.You can use the same
inventoryfile from an existing Ansible Automation Platform installation if there are no changes to the environment.NoteProvide a reachable IP address or fully qualified domain name (FQDN) for all hosts to ensure that users can synchronize and install content from Ansible automation hub from a different node. Do not use
localhost. Iflocalhostis used, the upgrade will be stopped as part of preflight checks.Provision new nodes in a cluster, by adding new nodes alongside existing nodes in the
inventoryfile as follows:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5. Backing up your Ansible Automation Platform instance Copy linkLink copied to clipboard!
Back up an existing Ansible Automation Platform instance by running the .setup.sh script with the backup_dest flag, which saves the content and configuration of your current environment. Use the compression flags use_archive_compression and use_db_compression to compress the backup artifacts before they are sent to the host running the backup operation.
Procedure
- Navigate to your Ansible Automation Platform installation directory.
Run the
./setup.shscript following the example below:./setup.sh -e 'backup_dest=/ansible/mybackup' -e 'use_archive_compression=true' 'use_db_compression=true' @credentials.yml -b
$ ./setup.sh -e 'backup_dest=/ansible/mybackup' -e 'use_archive_compression=true' 'use_db_compression=true' @credentials.yml -bCopy to Clipboard Copied! Toggle word wrap Toggle overflow Where:
-
backup_dest: Specifies a directory to save your backup to. use_archive_compression=trueanduse_db_compression=true: Compresses the backup artifacts before they are sent to the host running the backup operation.You can use the following variables to customize the compression:
-
For global control of compression for filesystem related backup files:
use_archive_compression=true For component-level control of compression for filesystem related backup files:
<componentName>_use_archive_compressionFor example:
-
automationgateway_use_archive_compression=true -
automationcontroller_use_archive_compression=true -
automationhub_use_archive_compression=true -
automationedacontroller_use_archive_compression=true
-
-
For global control of compression for database related backup files:
use_db_compression=true For component-level control of compression for database related backup files:
<componentName>_use_db_compression=trueFor example:
-
automationgateway_use_db_compression=true -
automationcontroller_use_db_compression=true -
automationhub_use_db_compression=true automationedacontroller_use_db_compression=trueAfter a successful backup, a backup file is created at
/ansible/mybackup/automation-platform-backup-<date/time>.tar.gz.
-
-
For global control of compression for filesystem related backup files:
-
2.6. Removing Event-Driven Ansible 2.4 database Copy linkLink copied to clipboard!
Ansible Automation Platform 2.5 supports upgrades from Ansible Automation Platform 2.4 environments for all components, except for Event-Driven Ansible. Database migrations between Event-Driven Ansible 2.4 and Event-Driven Ansible 2.5 are not compatible.
If you are upgrading from Ansible Automation Platform 2.4 to 2.5, you must first remove the Event-Driven Ansible 2.4 database. A new Event-Driven Ansible 2.5 database gets created automatically after the upgrade. You can then reconnect Automation Decisions (Event-Driven Ansible controller) to Automation Execution (automation controller) to run rulebook activations.
Procedure
- Shut down the old Event-Driven Ansible 2.4 host.
Log in to your database host with a user that has superuser privileges.
# psql -h <hostname> -U <username>- When prompted, enter your password.
Delete the existing Event-Driven Ansible 2.4 database by using the following command:
DROP DATABASE automationedacontroller- When prompted, reenter your password.
Next steps
- Run the Ansible Automation Platform installer setup script.
- After the upgrade is completed, reconnect Automation Decisions (Event-Driven Ansible controller) to Automation Execution (automation controller) to run rulebook activations successfully.
2.7. Running the Red Hat Ansible Automation Platform installer setup script Copy linkLink copied to clipboard!
You can run the setup script once you have finished updating the inventory file.
Procedure
Run the
setup.shscript:./setup.sh
$ ./setup.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow The installation will begin.
2.8. Automation controller and automation hub 2.4 and Event-Driven Ansible 2.5 with unified UI upgrades Copy linkLink copied to clipboard!
Ansible Automation Platform 2.5 supports upgrades from Ansible Automation Platform 2.4 environments for all components, with the exception of Event-Driven Ansible. You can also configure a mixed environment with Event-Driven Ansible from 2.5 connected to a legacy 2.4 cluster. Combining install methods (OCP, RPM, Containerized) within such a topology is not supported by Ansible Automation Platform.
If you are running the 2.4 version of Event-Driven Ansible in production, before you upgrade, contact Red Hat support or your account representative for more information on how to move to Ansible Automation Platform 2.5.
Supported topologies described in this document assume that:
- 2.4 services will only include automation controller and automation hub.
- 2.5 parts will always include Event-Driven Ansible and the unified UI (platform gateway).
- Combining installation methods for these topologies is not supported.
2.8.1. Upgrade considerations Copy linkLink copied to clipboard!
- You must maintain two separate inventory files: one for the 2.4 services and one for the 2.5 services.
- You must maintain two separate installations within this scenario: one for the 2.4 services and one for the 2.5 services.
- You must upgrade the two separate installations separately.
To upgrade to a consistent component version topology, consider the following:
- You must manually combine the inventory file configuration from the 2.4 inventory into the 2.5 inventory and run upgrade on ONLY the 2.5 inventory file.
- You must be using an external database for both the 2.4 inventory as well as the 2.5 inventory.
- Customers using managed database instances for either 2.4 or 2.5 inventory must migrate to an external database first, before upgrading.
2.8.2. Using migration path for 2.4 instances with managed databases Copy linkLink copied to clipboard!
Use this procedure if you have migration path for 2.4 instances with managed databases.
Prerequisites
- An inventory from 2.4 for automation controller and automation hub and a 2.5 inventory for unified UI (platform gateway) and Event-Driven Ansible. You must run upgrades on 2.4 services (using the inventory file to specify only automation controller and automation hub VMs) to get them to the initial version of Ansible Automation Platform 2.5 first. When all the services are at the same version, run an upgrade (using a complete inventory file) on all the services to go to the latest version of Ansible Automation Platform 2.5.
DO NOT upgrade Event-Driven Ansible and the unified UI (platform gateway) to the latest version of Ansible Automation Platform 2.5 without first upgrading the individual services (automation controller and automation hub) to the initial version of Ansible Automation Platform 2.5.
- Ensure you have upgraded to the latest version of Ansible Automation Platform 2.4 before upgrading your Red Hat Ansible Automation Platform.
Procedure
For standalone node managed database
- Convert the database node to an external one, removing it from the inventory. The PostgreSQL node will continue working and will not lose the Ansible Automation Platform-provided setup, but you are responsible for managing its configuration afterward.
For collocated managed database
- Back up
- Restore with standalone managed database node instead of collocated
- Unmanaged standalone database
2.8.3. Using Migration path for 2.4 services with 2.5 services Copy linkLink copied to clipboard!
If you installed Ansible Automation Platform 2.5 to use Event-Driven Ansible in a supported scenario, you can upgrade your Ansible Automation Platform 2.4 automation controller and automation hub to Ansible Automation Platform 2.5 by following the procedure in this section.
Prerequisites
- An inventory from 2.4 for automation controller and automation hub and a 2.5 inventory for unified UI (platform gateway) and Event-Driven Ansible. You must run upgrades on 2.4 services (using the inventory file to specify only automation controller and automation hub VMs) to get them to the initial version of Ansible Automation Platform 2.5 first. When all the services are at the same version, run an upgrade (using a complete inventory file) on all the services to go to the latest version of Ansible Automation Platform 2.5.
DO NOT upgrade Event-Driven Ansible and the unified UI (platform gateway) to the latest version of Ansible Automation Platform 2.5 without first upgrading the individual services (automation controller and automation hub) to the initial version of Ansible Automation Platform 2.5.
- Ensure you have upgraded to the latest version of Ansible Automation Platform 2.4 before upgrading your Red Hat Ansible Automation Platform.
Procedure
Merge 2.4 inventory data into the 2.5 inventory.
The example below shows the inventory file for automation controller and automation hub for 2.4 and the inventory file for Event-Driven Ansible and the unified UI (platform gateway) for 2.5, respectively, as the starting point, and what the merged inventory looks like.
Inventory files from 2.4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Inventory files from 2.5
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Merged Inventory
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Run
setup.shThe installer upgrades automation controller and automation hub from 2.4 to Ansible Automation Platform 2.5.latest, Event-Driven Ansible, and the unified UI (platform gateway) from the fresh install of 2.5 to the latest version of 2.5, and connects automation controller and automation hub properly with the unified UI (platform gateway) node to initialize the unified experience.
Verification
Verify that everything has upgraded to 2.5 and is working properly in one of two ways:
- Perform an SSH to automation controller and Event-Driven Ansible.
- In the unified UI, navigate to Help > About to verify the RPM versions are at 2.5.