Performing the upgrade

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.

Performing the upgrade

Step 1 - Upgrade Cluster API to 2.2.2

In the below steps, we are going to set up Cluster API to use the 2.2.2 version.

Step 1a - Configuring Cluster API

No additional configuration need to be passed for running Cluster API 2.2.2 version.

Step 1b - Restarting Cluster API

  1. Run the following command for each cluster where Cluster API 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 API 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 2 - Upgrade Schema Registry to 5.4.0

In the below steps, we are going to set up Schema-Registry to use the 5.4.0 version.

Step 2a - Configuring Schema Registry

If you want to enable client authentication please refer to Enabling authentication.

Step 2b - Restarting Schema Registry Slave

  1. Run the following command for each instance where schema-registry slave is running:

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

    Starting [Instance Name]-sr-slave: Done
  3. Verification after Schema-Registry slave 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>-sr-slave

Step 2c - Restarting Schema Registry Master

  1. Run the following command for each instance where schema-registry master is running:

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

    Starting [Instance Name]-sr-master: Done
  3. Verification after Schema-Registry master 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>-sr-master

Step 3 - Upgrade Discovery API to 2.5.0

In the below steps, we are going to set up Discovery API to use the 2.5.0 version.

Step 3a - Configuring Discovery API

If you want to enable client authentication please refer to Enabling authentication.

Step 3b - Restarting Discovery API

  1. Run the following command for each instance on the machines that should run Discovery API:

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

    Starting [Instance Name]-discovery-api: Done
  3. Verification after Discovery API 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>-discovery-api

Step 4 - Upgrade Instance API to 3.4.1

In the below steps, we are going to set up Instance API to use the 3.4.1 version.

Step 4a - Configuring Instance API

If you have allowed client authentication from Schema Registry and Discovery API please add the Schema Registry client certificate Common Name (CN) and Discovery API client certificate CN to the Instance-API configuration INSTANCE_API_AUTHORIZED_CNS so that Schema Registry and Discovery API can access Instance-API for authentication

Example

Assuming Schema Registry CN is Axual Local Schema Registry Client and Discovery API CN is Axual Local Discovery API Client

INSTANCE_API_AUTHORIZED_CNS="'Interservice Client','Axual Local Discovery API Client','Axual Local Schema Registry Client'"

Step 4b - Restarting Instance API

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

    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 API 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 Management API to 6.9.1

In the below steps, we are going to set up Management API to use the 6.9.1 version.

Step 5a - Configuring Management API

If you want to update available authentication please refer to Enabling authentication.

Step 5b - Restarting Management API

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

    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 Management API 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 Management UI to 6.2.1

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

Step 6a - Configuring Management UI

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

Step 6b - Restarting Management UI

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

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

    Starting mgmt-ui: Done
  3. 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 7 - Upgrade Axual-Connect to 2.3.0

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

Step 7a - Configuring Axual-Connect

No additional configuration need to be passed for running Axual-Connect 2.3.0 version.

Step 7b - Restarting Axual-Connect

  1. Run the following command on the machine 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/.

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.