If your Controller instance is deployed on AWS and uses Aurora for its database, you can use the Enterprise Console CLI commands to either discover and update or to just upgrade your Controller to the latest version. You cannot use the Enterprise Console UI, however, to perform the upgrade.

After backing up the Aurora database, use the upgrade method below that best meets your needs:

  • Discover and Upgrade - Use this method if you are not sure if you need to upgrade. 
  • Upgrade - Use this method if you know you are using an older version and want to upgrade. For example, if you want to upgrade from 4.4.3 to the latest.

You can also move the Controller to a new EC2 instance to meet updated performance requirements. For platform-agnostic upgrade instructions, see Upgrade the Controller Using the Enterprise Console.

Back Up the Aurora Database 

Before upgrading the Controller, you should back up the Aurora database instance. You should also ensure that you have an Amazon Machine Image (AMI) that accurately reflects the current Controller instance. 

The Enterprise Console upgrades the schema to the latest version. However, upgrading the Controller does not upgrade the Aurora DB server.

Discover and Upgrade the Controller on AWS

The Enterprise Console provides the discover_upgrade command that will discover your Controller, determine its version, and then upgrade it if needed.

  1. Log in to the Enterprise Console:

    bin/platform-admin.sh login --user-name <admin_username> --password <admin_password>
    BASH
  2. Run the following command on the Enterprise Console host, being sure to specify "auroraDBHost" as the value for the parameter controllerDBHost:

    bin/platform-admin.sh submit-job --service controller --job discover_upgrade --args controllerPrimaryHost="<hostname>" controllerRootUserPassword="<password>" newDatabaseRootPassword="<password>"  databaseType=aurora destinationDirectory="<controllerInstallationDirector>"
    BASH

    If your upgrade fails, you can resume by passing the flag useCheckpoint=true as an argument after --args.

  3. Update the AMI after the job finishes.

Upgrade the Controller on AWS

The Enterprise Console provides the upgrade command to upgrade the Controller to the latest version. For example, if you are using Controller 4.4.3 and want to upgrade to the latest, you can simply use the upgrade command.

  1. Log in to the Enterprise Console:

    bin/platform-admin.sh login --user-name <admin_username> --password <admin_password>
    BASH
  2. Run the following command on the Enterprise Console host:

    bin/platform-admin.sh submit-job --service controller --job upgrade --args controllerRootUserPassword="<password>" newDatabaseRootPassword="<password>" 
    BASH

    If your upgrade fails, you can resume by passing the flag useCheckpoint=true as an argument after --args.

  3. Update the AMI after the job finishes.

Rollback to a Previous AMI

If a rollback is required, complete the following steps:

  1. Create a new Aurora instance, using the database snapshot you took earlier as the source. 
  2. Stop the upgraded Controller if it is still running:

    bin/platform-admin.sh stop-controller-appserver
  3. Repoint the database DNS alias to the new Aurora instance. 
  4. Terminate the EC2 instance hosting the current Controller. This should cause a new EC2 instance to be provisioned using the existing AMI, with the older Controller version. 
  5. Attach the ENI to the new EC2 instance. 
  6. Verify that the Controller is working as it was before the upgrade. 

Move the Controller on AWS

You can move the Controller to a new EC2 instance by completing the following steps: 

  1. Terminate the EC2 instance hosting the current Controller. This should cause a new EC2 instance to be automatically provisioned using the AMI.

    The auto-scaling group and launch configuration are defined with the AMI. Therefore, if the existing EC2 instance in the auto-scaling group dies, it is automatically replaced with a new EC2 instance based on the same AMI.

  2. Attach the ENI to the new EC2 instance.
  3. Verify that the Controller is working as expected.