Upgrade a Single Controller

You can use the Enterprise Console to onboard and upgrade a single node Controller instance. The Custom Install Discover & Upgrade option in the GUI allows you to create a platform and discover a Controller.

Alternatively, if you have already created a platform, you must add credentials and hosts to the platform before you can perform discovery. Then, discover the Controller on the page. Discovering a Controller means that the Enterprise Console learns about your existing Controller deployment, such as profile, tenancy mode, existing domain configuration, and database configuration. This information is used to perform an upgrade.

About the Upgrade

The Enterprise Console supports Controller upgrades (standalone and HA-pair) starting from20.2 and higher, to the latest version. Use the following table to determine your course of action based on your circumstances:

If your current Controller version is... Controller version you want to upgrade to... Actions to take...
Equal to version 20.2 or later Controller version 20.2 or the latest version
  1. Upgrade MYSQL to 5.7 version.
  2. Upgrade to the supported OS version. See Controller Compatibility with Operating Systems and Components.
  3. Access the downloads portalto download the Controller version.
  4. Use the Enterprise Console to upgrade from your existing Controller version to the Controller version you want.

Upgrade the Controller Using GUI

If there is a Controller upgrade available, you can begin the upgrade process either on the Custom Install or Controller page in the GUI.

Note: Ensure that the Controller and database are running prior to the upgrade. The Enterprise Console validates the database root password and Controller root passwords provided during the upgrade.

Upgrade the Controller to Latest

To upgrade the Controller to the latest version, you can use the Upgrade Controller feature:

  1. Check that you have fulfilled the Enterprise Console prerequisites before starting.
  2. Upgrade the Enterprise Console to the latest version.
  3. Open a browser and navigate to the GUI:9191 is the default port.
    http(s)://<hostname>:<port>
  4. Navigate to the Controller page of the platform.
  5. Select the Controller host you would like to upgrade.
  6. Select Upgrade Controller.
  7. Select an available Target Version from the dropdown.
    Note: The list is populated by versions that the Enterprise Console is aware of. Of those versions, the list will only show versions that are the same or greater than the current Controller version.
  8. Enter the required passwords and selectSubmit.

Upgrade the Controller Using CLI

If there is a Controller upgrade available, you can begin the upgrade process using the application CLI.

Note: Ensure that the Controller and database are running prior to the upgrade. The Enterprise Console validates the database root password and Controller root passwords provided during the upgrade.

Upgrade the Controller to Latest

Upgrades to the latest version can be performed on the Controller page of the Enterprise Console or with the following commands:

  1. Upgrade the Enterprise Console to the latest version.
  2. Navigate to the <Enterprise Console home directory>/platform-admin directory .
  3. If it has been more than one day since your last session, you will have to log in with the following command:
    bin/platform-admin.sh login --user-name <admin_username> --password <admin_password>
  4. Apply the upgrade to the Controller with the following command:
    Linux
    CODE
    bin/platform-admin.sh submit-job --service controller --job upgrade --platform-name <name_of_the_platform> --args controllerRootUserPassword=<controller_root_password> mysqlRootPassword=<db_root_password>
    Windows
    CODE
    bin/platform-admin.exe cli submit-job --service controller --job upgrade --platform-name <name_of_the_platform> --args controllerRootUserPassword=<controller_root_password> mysqlRootPassword=<db_root_password>
    If your upgrade fails, you can resume by passing the flag useCheckpoint=true as an argument after --args.

How to Reset the Database User Password

You can customize the database user password. However, if you are upgrading your system, you may have forgotten the password. How you reset the database user password depends on whether the Enterprise Console has discovered the Controller.
Use the Enterprise Console CLI commands to:
  1. Log in to the Enterprise Console.

    CODE
    platform-admin/bin/platform-admin.sh login --user-name admin --password EC_GUI_PASSWORD

    Replace EC_GUI_PASSWORD with your actual value.

  2. Reset the database user password.

    CODE
    platform-admin/bin/platform-admin.sh submit-job --platform-name <platform_name> --service controller --job update-passwords --args newDatabaseUserPassword=<password>

    Replace <platform_name> and <password> with your actual values.

As a result, an Enterprise Console job is generated where you can verify the success of the password reset.

If the Enterprise Console has NOT discovered the Controller
Note: Downtime is required to change the Controller Database user password. If you have installed a Controller HA pair, you must disable auto-failover to avoid an accidental failover while changing the password. For more details, refer to the

Automatic Failover

section.
  1. Log in to the database as the root user by running the following command:
    platform-admin/bin/platform-admin.sh login --user-name admin --password EC_GUI_PASSWORD
  2. Execute the following queries, replacing <new_password_here> before executing the query.
    MySQL <= 5.7
    CODE
    update mysql.user set authentication_string=password('<new_password_here>') where user like 'controller%'; flush privileges; quit;
    MySQL >=8.0
    alter user 'controller'@'localhost' identified by '<new-password-here>';
    flush privileges; quit;
  3. Verify the login by running the following command in the <controller_home>/db/bin
    ./mysql -u controller -p -P 3388 -h 127.0.0.1
  4. Obfuscate the password using Secure Credential Store (SCS) tool.It gives you the obfuscated password.
    CODE
    <platform-dir>/jre/<version>/bin/java -jar <controller-home>/tools/lib/scs-tool.jar obfuscate -plaintext '<new_password_here>
  5. Update the following field with the obfuscated password in the <controller_home>/appserver/jetty/etc/webapp-common.xml file.
    CODE
    <Call name="setProperty">
    <Arg>database.password</Arg>
    <Arg>[Specify the Obfuscated Password]</Arg>
    </Call>
    Warning: In the case of a Controller HA pair, repeat the above steps on the secondary controller server.
  6. Restart the Appserver.