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 from 4.4.x 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...
Older than version 4.4.x (such as: 4.1.x, 4.2.x, 4.3.x)Controller version 4.5.x or the latest version
  1. Open a support help desk ticket.
  2. Support will provide you a 4.3.8 installer for you to use in the upgrade process.
  3. Use the Controller installer and upgrade the Controller to version 4.3.8.
  4. Then, use Enterprise Console version 4.4.3 to upgrade the Controller from version 4.3.8 to version 4.4.3.
  5. Finally, use Enterprise Console version 4.5.x to upgrade the Controller from version 4.4.3 to version 4.5.x.
Equal to version 4.4.x or laterController version 4.5.17 or prior 4.5.x versions 
  1. Access the download.appdynamics.com site to download the Controller version.
  2. 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.

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 from 4.1.x, 4.2.x, and 4.3.x to 4.5.x or Latest

To upgrade the Controller from 4.1.x, 4.2.x, and 4.3.x to 4.5.x or the latest version, you can use the Discover and Upgrade feature:

  1. Open a support help desk ticket. Support will provide you a 4.3.8 installer for you to use in the upgrade process.

  2. Use the Controller installer and upgrade the Controller to version 4.3.8.

  3. Check that you have fulfilled the Enterprise Console prerequisites before starting.

  4. Open a browser and navigate to the GUI: 

    http(s)://<hostname>:<port>

    9191 is the default port.

  5. Navigate to the Install homepage and select Custom Install.

  6. Name the Platform:

    1. Enter a Name and the Installation Path for your platform.

      The Installation Path is an absolute path under which all of the platform components are installed. The same path is used for all hosts added to the platform. Use a path which does not have any existing AppDynamics components installed under it.
      The path you choose must be writeable (the user who installed the Enterprise Console should have write permissions to that folder). Also, the same path should be writable on all of the hosts that the Enterprise Console manages.

      Example path: /home/appduser/appdynamics/product

  7. Add a Host:

    If the Controller is running on a Windows machine, the Enterprise Console should be on the same machine. Windows hosts are not supported on the Enterprise Console.

    1. Enter the host machine-related information: Host Name, Username, and Private Key. This is where the Controller will be upgraded. Therefore, this needs to point to the host machine where the Controller is currently up and running. For more information about how to add credentials and hosts, see Administer the Enterprise Console.

  8. Discover Controller:
    1. Select Discover & Upgrade.
    2. Select an available Target Version from the drop-down list.

      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.

    3. Enter the Controller Primary Host.
    4. Enter the Controller root password and database root password.

      Your Controller and MySQL needs to be up and running before performing an upgrade. The Enterprise Console validates whether the input passwords are correct.

  9. Make sure to unselect the Install Events Service option before selecting Submit.

  10. Select Submit.

The Enterprise Console will onboard the controller on the selected host machine to the application build. When the Enterprise Console discovers a component, it also checks to see if an upgrade is available and performs the upgrade. Plan for a downtime of the Controller availability during this time. You can view the status of the upgrade job on the Jobs page.

Once the upgrade is complete, the URL of the controller and other controller related information can be accessed from the Controller page.

Then, repeat Steps 3 through 10 and use Enterprise Console version 4.4.3 to upgrade the Controller from version 4.3.8 to version 4.4.3.

Finally, repeat Steps 3 through 10 and use Enterprise Console version 4.5.x to upgrade the Controller from version 4.4.3 to version 4.5.x.

Upgrade the Controller from 4.4.x to Latest

To upgrade the Controller from 4.4.x 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: 

    http(s)://<hostname>:<port>

    9191 is the default 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 drop-down list.

    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 select Submit.

Upgrade the Controller Using CLI

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

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 from 4.1.x, 4.2.x, and 4.3.x to 4.5.x or Latest

To upgrade the Controller from 4.1.x, 4.2.x, and 4.3.x to 4.5.x or the latest version:

  1. Open a support help desk ticket. Support will provide you a 4.3.8 installer for you to use in the upgrade process.

  2. Use the Controller installer and upgrade the Controller to version 4.3.8.

  3. Use the Enterprise Console CLI commands to:
    1. Create a platform:

      bin/platform-admin.sh create-platform --name <platform_name> --installation-dir <platform_installation_directory>
    2. Create a credential:

      bin/platform-admin.sh add-credential --credential-name <name> --type <ssh> --user-name <username> --ssh-key-file <file path to the key file>
      Remember to provide the private key file for the Enterprise Console machine when adding a credential.
    3. Add hosts:

      bin/platform-admin.sh add-hosts --hosts host_1 host_2 host_3 --credential <credential name>
    4. Discover and upgrade the Controller. For the option --target-version, either specify the desired upgrade version of the Controller or latest to install the latest Controller version available to the Enterprise Console.

      bin/platform-admin.sh submit-job --service controller --job discover-upgrade --platform-name <name_of_the_platform> --args destinationDirectory=<destination_dir> controllerPrimaryHost=<primary-controller-host> controllerRootUserPassword=<controller_root_user_password> mysqlRootPassword=<db_root_password> --target-version=<version|latest>
      BASH
      bin/platform-admin.exe cli submit-job --service controller --job discover-upgrade --platform-name <name_of_the_platform> --args destinationDirectory=<destination_dir> controllerPrimaryHost=<primary-controller-host> controllerRootUserPassword=<controller_root_user_password> mysqlRootPassword=<db_root_password> --target-version=<version|latest>
      BASH
      If you updated the Database user password from the default, you can provide it after --args by including the parameter newDatabaseUserPassword=<password>The job uses the default password if this parameter is excluded. If you have forgotten your Database user password and need to reset it, click Reset the Controller DB User Password
      If your upgrade fails, you can resume by passing the flag useCheckpoint=true as an argument after --args.

      You must specify and provide the full path to the existing Controller directory.

  4. Confirm that the installation directory is the same as the previous Controller installation directory on this machine. The Controller will automatically migrate the data only when the discover_upgrade option is specified.
    The Enterprise Console completes the upgrade and restarts the Controller.
  5. If you made any manual changes to the configuration files listed, verify those changes to the equivalent files in the upgraded instance. The Enterprise Console preserves domain.xml customizations and database cnf customizations. 
  6. Open a browser and access the AppDynamics user interface:

    http://<Controller_Host>:<Controller_Port>/controller

    If the UI does not display the new Controller, refresh your browser cache to view the new UI. 

Then, repeat Steps 3 through 6 and use Enterprise Console version 4.4.3 to upgrade the Controller from version 4.3.8 to version 4.4.3.

Finally, repeat Steps 3 through 6 and use Enterprise Console version 4.5.x to upgrade the Controller from version 4.4.3 to version 4.5.x.

Upgrade the Controller from 4.4.x to Latest

Upgrades from 4.4.x 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: 

    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>
    BASH
    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>
    BASH

    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.

If the Enterprise Console has discovered the Controller

Use the Enterprise Console CLI commands to: 

  1. Log in to the Enterprise Console.

    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.

    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

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:

    ./mysql --user=root -p --host=127.0.0.1 --port=3388 --protocol=TCP
  2. Execute the following queries, replacing <new_password_here> before executing the query.

    update mysql.user set authentication_string=password('<new_password_here>') where user like 'controller%'; flush privileges; quit;
  3. Verify the login by running the following command in the <controller_home>/db/bin directory:

    ./mysql -u controller -p -P 3388 -h 127.0.0.1
  4. Update the password alias by using the below command in the <controller_home>/appserver/glassfish/bin directory:

    ./asadmin update-password-alias controller-db-password

    Enter the user name as admin, the admin password as Controller root user password, and the alias password as the Controller Database user password.

    In the case of a Controller HA pair, follow steps 1-3 on the secondary controller server. Then, copy the file domain-passwords found at <controller_home>/appserver/glassfish/domains/domain1/config from the primary to the secondary controller server.

  5. Restart the Appserver.