Task:
Perform swing migration of AAP 2.5 RPM to 2.5 Podman Containers.
The idea of a swing migration is to install the same version of on the new server as the old server and then do any software upgrades. So instead of upgrading from RPM AAP 2.5 to containers AAP 2.6 directly, better to migrate the same version. That way upgrade migration issues don't have to be tackled at the same time.
Lower environment migration AAP nodes:
The RHEL 9.x AAP Gateway is: aapgwdev.mindwatering.net (10.0.35.150)
The RHEL 9.x AAP Controller is aapdev.mindwatering.net (10.0.35.153)
The RHEL 9.x AAP Hub is aaphubdev.mindwatering.net (10.0.35.156)
The RHEL 9.x AAP EDA is aapedadev.mindwatering.net (10.0.35.158)
The RHEL 9.x PostgreSQL server is aapdbdev.mindwatering.net (10.0.35.155)
Set-up folder info:
RPM installation setup directory: /home/myadminid/aapinstall/ansible-automation-platform-setup-bundle-2.5-n-x86_64/
Backup directory: /local/backup/
Steps:
1. Perform Inventory, Cold Snapshots, and Backup
Important Notes:
- Typically, before performing a swing migration, upgrade to latest patch release of AAP 2.5 first.
- Ensure there is a large enough disk on the "primary" controller or an external NFS share to hold the backup which includes the PostgreSQL DB.
- Confirm your latest backup is good before starting, and confirm your new environment backups before killing the old AAP VMs.
- Run the swing on a non-HA lower environment (e.g. development) AAP before performing on a production environment. I have never done a AAP upgrade where there was no unexpected issues/errors to resolve.
- AAP 2.5 has a scheduler bug - it is wise to upgrade to AAP 2.6 after migration
Warning:
The following components will not be migrated and have to be manually deployed/migrated:
- Non-default execution environments
- Instance Groups
- Hub content
- Custom CA for recepter mesh
- EDA config
1. Perform Inventory, Cold Snapshots, and Backup
a. SSH into the controller and verify the original setup.sh install directory is still there, the inventory file is there, etc.
$ ssh myadminid@aapdev.mindwatering.net
$ cd /users/myadminid/aapinstall/ansible-automation-platform-setup-bundle-2.5-n-x86_64/
$ ls
<confirm installation and inventory files still located in install folder. Confirm the apitoken. Confirm if the installation was run by root or by the myadminid user, should be run by same user again>
b. Perform controller services stop:
$ sudo automation-controller-service stop
<wait - verify controller(s) stopped>
c. In vCenter, shutdown the AAP environment.
Note: Ensure the PostgreSQL VM shutdown is last.
- vCenter UI --> Inventory --> Templates and Folders (icon, 2nd one) --> vCenter (FQDN twistie) --> AAP Dev (folder twistie) --> select VM --> Actions --> Power --> Shut Down Guest OS
- repeat for all VMs, and DB VM last
d. Still in vCenter, perform the cold snapshots:
- vCenter UI --> Inventory --> Templates and Folders (icon, 2nd one) --> vCenter (FQDN twistie) --> AAP Dev (folder twistie) --> select VM --> Actions --> Snapshots --> Manage Snapshots --> Take Snapshot (button)
- repeat for all VMs
e. Startup the VMs with the PostgreSQL DB VM first:
- vCenter UI --> Inventory --> Templates and Folders (icon, 2nd one) --> vCenter (FQDN twistie) --> AAP Dev (folder twistie) --> select VM --> Actions --> Power --> Power On
- repeat for the controller, hub, gateway, etc.
f. Return to the Controller, shutdown the controller services again, and perform the backup:
- Login:
$ ssh myadminid@aapdev.mindwatering.net
- Stop controller (no new jobs during backup):
$ sudo automation-controller-service stop
<wait - verify controller(s) stopped>
- Perform backup:
$ cd /users/myadminid/aapinstall/ansible-automation-platform-setup-bundle-2.5-n-x86_64/
$ mkdir /local/backup/20251206aap25
$ ./setup.sh -e 'backup_dest=/local/backup/20251206aap25' -b
<wait>
previous page
|