Performing the upgrade using the CLI

Typical upgrade steps

A lot of the upgrade steps can be performed without impact on your users. Basically, the deployment or upgrade of components is split in two actions:

  1. Configuration changes, such as added or changed configuration parameters, including the new component’s version

  2. Deployment of the upgraded component, by (re)starting

The configuration changes can be done in advance most of the time, limiting downtime for your end users.

In the following upgrade steps, platform-config refers to the location where your platform configuration is stored for that particular environment.

Verifying every step of the way

When performing the upgrade, we strongly advise verifying whether things are working every step of the way. It is pointless to continue the upgrade if halfway 1 of the services fail to start. In general, we can give you the following tips that apply to every service when performing (re)starts after an upgrade:

  • Check whether the new docker image version has been pulled successfully

  • Check whether the container actually starts and is at least up for > 30 seconds, and not in "Restarting" mode

There are also verification steps that depend on the service which is being upgraded. Those steps can be found in the upgrade docs itself.

Step 1 - Upgrade Cluster Browse to 1.5.0

In the below steps, we are going to set up Cluster Browse to use the 1.5.0 version.

Step 1a - Configuring Cluster Browse

No additional configuration needs to be passed for running Cluster Browse 1.5.0 version.

Step 1b - Restarting Cluster Browse

  1. Run the following command for each cluster where Cluster Browse is running:

    axual.sh restart cluster cluster-browse
  2. Confirm that the service restarts successfully by looking at the command output. It should end with:

    Starting cluster-browse: Done
  3. Verification after Cluster Browse restart - Don’t continue before all the following criteria met:

    1. Verifying every step of the way

    2. Check the docker logs and make sure there is no error and service is up.

      docker logs -f cluster-browse

Step 2 - Upgrade Stream Browse to 1.4.0

In the below steps, we are going to set up Stream Browse to use the 1.4.0 version.

Step 2a - Configuring Stream Browse

No additional configuration needs to be passed for running Stream Browse 1.4.0 version.

Step 2b - Restarting Stream Browse

  1. Run the following command on the machine that should run Stream Browse:

    axual.sh restart mgmt stream-browse
  2. Confirm that the service restarts successfully by looking at the command output. It should end with:

    Starting stream-browse: Done
  3. Verification after Stream Browse restart - Don’t continue before all the following criteria met:

    1. Verifying every step of the way

    2. Check the docker logs and make sure there is no error and service is up.

      docker logs -f stream-browse

Step 2c - Change SchemaRegistry URL in the Self-Service

After confirming that Cluster-Browse and Stream-Browse have been successfully updated, you can change the Schema Registry Url configured for your Instances in the Self-Service.

  1. Log in the Self-Service as a Tenant Admin

  2. Edit your instance

  3. Change the Schema Registry URL value the LoadBalancer pointing to the SSL port. (<SR_SLAVE_ADVERTISED_HOSTNAME>:SR_SLAVE_SSL_ADVERTISED_PORT)

  4. Save your instance

  5. You are now able to Stream Browse messages using the HTTPS protocol

Step 3 - Upgrade Cluster Manager to 2.2.5

In the below steps, we are going to set up Cluster Manager to use the 2.2.5 version.

Step 3a - Configuring Cluster Manager

No additional configuration needs to be passed for running Cluster Manager 2.2.5 version.

Step 3b - Restarting Cluster Manager

  1. Run the following command for each cluster where Cluster Manager is running:

    axual.sh restart cluster cluster-api
  2. Confirm that the service restarts successfully by looking at the command output. It should end with:

    Starting cluster-api: Done
  3. Verification after Cluster Manager restart - Don’t continue before all the following criteria met:

    1. Verifying every step of the way

    2. Check the docker logs and make sure there is no error and service is up.

      docker logs -f cluster-api

Step 4 - Upgrade Instance Manager to 3.6.0

In the below steps, we are going to set up Instance Manager to use the 3.6.0 version.

Step 4a - Configuring Instance Manager

No additional configuration needs to be passed for running Instance Manager 3.6.0 version

Step 4b - Restarting Instance Manager

  1. Run the following command on the machine that should run Instance Manager:

    axual.sh restart instance <instance-name> instance-api
  2. Confirm that the service restarts successfully by looking at the command output. It should end with:

    Starting [Instance Name]-instance-api: Done
  3. Verification after Instance Manager restart - Don’t continue before all the following criteria met:

    1. Verifying every step of the way

    2. Check the docker logs and make sure there is no error and service is up.

      docker logs -f <instance-name>-instance-api

Step 5 - Upgrade Platform Manager to 6.16.0

In the below steps, we are going to set up Platform Manager to use the 6.16.0 version.

Step 5a - Configuring Platform Manager

No additional configuration needs to be passed for running Platform Manager 6.16.0 version

Step 5b - Restarting Platform Manager

  1. Run the following command on the machine that should run Platform Manager:

    axual.sh restart mgmt mgmt-api
  2. Confirm that the service restarts successfully by looking at the command output. It should end with:

    Starting mgmt-api: Done
  3. Verification after Platform Manager restart - Don’t continue before all the following criteria met:

    1. Verifying every step of the way

    2. Check the docker logs and make sure there is no error and service is up.

      docker logs -f mgmt-api

Step 6 - Upgrade Operation Manager to 1.4.0

In the below steps, we are going to set up Operation Manager to use the 1.4.0 version.

Step 6a - Configuring Operation Manager

The following properties are used to configure httpClient configuration

# This value is in ms
OPERATION_MANAGER_HTTP_CLIENT_READ_TIMEOUT="500"
# This value is in ms
OPERATION_MANAGER_HTTP_CLIENT_CONNECTION_TIMEOUT="500"
OPERATION_MANAGER_HTTP_CLIENT_MAX_CONNECTION_TOTAL="50"
OPERATION_MANAGER_HTTP_CLIENT_MAX_CONNECTION_PER_ROUTE="10"

+

Step 6b - Restarting Operation Manager

  1. Run the following command on the machine that should run Operation Manager:

    axual.sh restart mgmt operation-manager
  2. Confirm that the service restarts successfully by looking at the command output. It should end with:

    Starting operation-manager: Done
  3. Verification after Operation Manager restart - Don’t continue before all the following criteria met:

    1. Verifying every step of the way

    2. Check the docker logs and make sure there is no error and service is up.

      docker logs -f operation-manager

Step 7 - Upgrade Keycloak to 19.0.2

Make sure to run keycloak 18.0.1 before performing this upgrade.

Step 7a - Configuring Keycloak

No additional configuration needs to be passed for running Keycloak 19.0.2

Step 7b - Restarting Keycloak

  1. Run the following command on the machine that should run Keycloak:

    axual.sh restart mgmt mgmt-keycloak

After the starting command complete, make sure Keycloak is up and running by:

  • checking logs

  • accessing the Admin Console

  • accessing the Management Service Portal

Step 7c - Access Admin Console on the management port

In the new version of Keycloak the separate port for admin console is eliminated, and you can access it directly as follows:

  1. Log in to Keycloak Admin Console, using the UI, go to https://KEYCLOAK_HOSTNAME:KEYCLOAK_PORT/auth. You will see the following login screen.

  2. Enter the KEYCLOAK_USER and KEYCLOAK_PASSWORD stored on your platform-config, then press login.

    Keycloak Admin login screen

Step 8 - Upgrade Axual-Connect to 2.3.3

In the below steps, we are going to set up Axual-Connect to use the 2.3.3 version.

Step 8a - Configuring Axual-Connect

No additional configuration needs to be passed for running Axual-Connect 2.3.3 version.

Step 8b - Restarting Axual-Connect

  1. Run the following command on the machine(s) that should run Axual-Connect:

    axual.sh restart client <instance-name> axual-connect
  2. Confirm that the service restarts successfully by looking at the command output. It should end with:

    Starting axual-connect: Done
  3. Verification after Axual-Connect restart - Don’t continue before all the following criteria met:

    1. Verifying every step of the way

    2. Check the docker logs and make sure there is no error and service is up.

      docker logs -f <instance-name>-axual-connect
    3. Check individual connector status by accessing curl -k -u user:pass https://host:port/connectors?expand=status or by checking the individual connector logs on the directory ${LOG_DIR}/axual-connect/connectors/connector_name/.

Step 9 - Upgrade REST Proxy to 1.5.2

Restart the service

axual.sh restart client <instance-name> rest-proxy

Confirm that the service restarts successfully by looking at the command output. It should end with:

Starting <instance-name>-rest-proxy: Done

Step 10 - Upgrade Platform Metric Provider to 1.2.0

Restart the service

axual.sh restart cluster platform-metric-provider

Confirm that the service restarts successfully by looking at the command output. It should end with:

Starting platform-metric-provider: Done

Step 11 - Upgrade Management UI to 6.7.0

In the below steps, we are going to set up Management UI to use the 6.7.0 version.

Step 11a - Configuring Management UI

No additional configuration need to be passed for running Management UI 6.7.0 version.

Step 11b - Restarting Management UI

  1. Run the following command on the machine that should run Management UI:

axual.sh restart mgmt mgmt-ui
  1. Confirm that the service restarts successfully by looking at the command output. It should end with:

    Starting mgmt-ui: Done
  2. Verification after Management UI restart - Don’t continue before all the following criteria met:

    1. Verifying every step of the way

    2. Check the docker logs and make sure there is no error and service is up.

      docker logs -f mgmt-ui

Step 12 - Upgrade Broker to 6.5.0

In the below steps, we are going to set up Broker to use the 6.5.0 version.

Step 12a - Restarting Broker

When restarting the brokers, please use a rolling restart approach
  1. Run the following command for each cluster on the machines where Broker is running:

    axual.sh restart cluster broker
  2. Confirm that the Broker restarts successfully by looking at the command output. It should end with:

    Starting broker: Done
  3. Verification after Broker restart - Don’t continue before all the following criteria met:

    1. Verifying every step of the way

    2. Check the docker logs of the Broker and make sure there are no errors.

      docker logs -f broker
    3. Check that the UnderReplicatedPartition count is 0

  4. Proceed to the next Broker

That’s it

No other steps are required to upgrade or configure the platform components. You can read through the release blog to find out what has changed since the last release and forward it to your colleagues.