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.

Note

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

  1. Log in to Red Hat OpenShift Container Platform.
  2. Navigate to Operators Installed Operators.
  3. Select your Ansible Automation Platform Operator deployment.
  4. Select the Automation Controller Restore tab.
  5. Click Create AutomationControllerRestore.
  6. Enter a Name for the recovery deployment.
  7. Enter a New Deployment name for the restored deployment.

    Note

    This should be different from the original deployment name.

  8. Select the Backup source to restore from. Backup CR is recommended.
  9. Enter the Backup Name of the AutomationControllerBackup object.
  10. Click Create.

    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

  1. Log in to Red Hat Red Hat OpenShift Container Platform
  2. Navigate to Operators Installed Operators.
  3. Select your Ansible Automation Platform Operator deployment.
  4. Select the AutomationControllerRestore tab.
  5. Select the restore resource you want to verify.
  6. Scroll to Conditions and check that the Successful status is True.

    Note

    If 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.

Note

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.

  1. 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 for external databases only. The allowed values are: prefer, disable, allow, require, verify-ca, and verify-full.
  2. Apply external-postgres-configuration-secret.yml to your cluster using the oc create command.

    $ oc create -f external-postgres-configuration-secret.yml
  3. 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.

Note

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

  1. Log in to Red Hat OpenShift Container Platform.
  2. Navigate to Operators Installed Operators.
  3. Select your Ansible Automation Platform Operator deployment.
  4. Select the Automation Hub Restore tab.
  5. Click Create AutomationHubRestore.
  6. Enter a Name for the recovery deployment.
  7. Select the Backup source to restore from. Backup CR is recommended.
  8. Enter the Backup Name of the AutomationHubBackup object.
  9. Click Create.

    A new deployment is created and your backup is restored to it.

Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.