Chapter 3. Recovering a Red Hat Ansible Automation Platform deployment
If you lose information on your system or issues with an upgrade, you can use the backup resources of your deployment instances. Use these procedures to recover your automation controller and automation hub deployment files.
3.1. Recovering the Automation controller deployment
Use this procedure to restore a previous controller deployment from an AutomationControllerBackup. The deployment name you provide will be the name of the new AutomationController custom resource that will be created.
The name specified for the new AutomationController custom resource must not match an existing deployment.
If the backup custom resource being restored is a backup of a currently running AutomationController custom resource the recovery process will fail. See Troubleshooting for steps to resolve the issue.
Prerequisites
- You must be authenticated with an Openshift cluster.
- The automation controller has been deployed to the cluster.
- An AutomationControllerBackup is available on a PVC in your cluster.
Procedure
- Log in to Red Hat OpenShift Container Platform.
-
Navigate to
. - Select your Ansible Automation Platform Operator deployment.
- Select the Automation Controller Restore tab.
- Click .
- Enter a Name for the recovery deployment.
Enter a New Deployment name for the restored deployment.
NoteThis should be different from the original deployment name.
- Select the Backup source to restore from. Backup CR is recommended.
- Enter the Backup Name of the AutomationControllerBackup object.
Click
.A new deployment is created and your backup is restored to it. This can take approximately 5 to 15 minutes depending on the size of your database.
Verification
- Log in to Red Hat Red Hat OpenShift Container Platform
-
Navigate to
. - Select your Ansible Automation Platform Operator deployment.
- Select the AutomationControllerRestore tab.
- Select the restore resource you want to verify.
Scroll to Conditions and check that the Successful status is
True
.NoteIf Successful is
False
, the recovery has failed. Check the automation controller operator logs for the error to fix the issue.
3.2. Using YAML to recover the Automation controller deployment
See the following procedure for how to restore a deployment of the automation controller using YAML.
Prerequisite
The external database must be a PostgreSQL database that is the version supported by the current release of Ansible Automation Platform.
Ansible Automation Platform 2.4 supports PostgreSQL 13.
Procedure
The external postgres instance credentials and connection information must be stored in a secret, which is then set on the automation controller spec.
Create a
external-postgres-configuration-secret
YAML file, following the template below:apiVersion: v1 kind: Secret metadata: name: external-restore-postgres-configuration namespace: <target_namespace> 1 stringData: host: "<external_ip_or_url_resolvable_by_the_cluster>" 2 port: "<external_port>" 3 database: "<desired_database_name>" username: "<username_to_connect_as>" password: "<password_to_connect_with>" 4 sslmode: "prefer" 5 type: "unmanaged" type: Opaque
- 1
- Namespace to create the secret in. This should be the same namespace you wish to deploy to.
- 2
- The resolvable hostname for your database node.
- 3
- External port defaults to
5432
. - 4
- Value for variable
password
should not contain single or double quotes (', ") or backslashes (\) to avoid any issues during deployment, backup or restoration. - 5
- The variable
sslmode
is valid forexternal
databases only. The allowed values are:prefer
,disable
,allow
,require
,verify-ca
, andverify-full
.
Apply
external-postgres-configuration-secret.yml
to your cluster using theoc create
command.$ oc create -f external-postgres-configuration-secret.yml
When creating your
AutomationControllerRestore
custom resource object, specify the secret on your spec, following the example below:kind: AutomationControllerRestore apiVersion: automationcontroller.ansible.com/v1beta1 metadata: namespace: my-namespace name: awxrestore-2024-07-15 spec: deployment_name: restored_controller backup_name: awxbackup-2024-07-15 postgres_configuration_secret: 'external-restore-postgres-configuration'
3.3. Recovering the Automation hub deployment
Use this procedure to restore a previous hub deployment into the namespace. The deployment name you provide will be the name of the new AutomationHub custom resource that will be created.
The name specified for the new AutomationHub custom resource must not match an existing deployment or the recovery process will fail.
Prerequisites
- You must be authenticated with an Openshift cluster.
- The automation hub has been deployed to the cluster.
- An AutomationHubBackup is available on a PVC in your cluster.
Procedure
- Log in to Red Hat OpenShift Container Platform.
-
Navigate to
. - Select your Ansible Automation Platform Operator deployment.
- Select the Automation Hub Restore tab.
- Click .
- Enter a Name for the recovery deployment.
- Select the Backup source to restore from. Backup CR is recommended.
- Enter the Backup Name of the AutomationHubBackup object.
Click
.A new deployment is created and your backup is restored to it.