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:
-
Configuration changes, such as added or changed configuration parameters, including the new component’s version
-
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
-
Run the following command for each cluster where Cluster API is running:
axual.sh restart cluster cluster-api
-
Confirm that the service restarts successfully by looking at the command output. It should end with:
Starting cluster-api: Done
-
Verification after Cluster API restart - Don’t continue before all the following criteria met:
-
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
-
Run the following command for each instance where schema-registry slave is running:
axual.sh restart instance <instance-name> sr-slave
-
Confirm that the service restarts successfully by looking at the command output. It should end with:
Starting [Instance Name]-sr-slave: Done
-
Verification after Schema-Registry slave restart - Don’t continue before all the following criteria met:
-
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
-
Run the following command for each instance where schema-registry master is running:
axual.sh restart instance <instance-name> sr-master
-
Confirm that the service restarts successfully by looking at the command output. It should end with:
Starting [Instance Name]-sr-master: Done
-
Verification after Schema-Registry master restart - Don’t continue before all the following criteria met:
-
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
-
Run the following command for each instance on the machines that should run Discovery API:
axual.sh restart instance <instance-name> discovery-api
-
Confirm that the service restarts successfully by looking at the command output. It should end with:
Starting [Instance Name]-discovery-api: Done
-
Verification after Discovery API restart - Don’t continue before all the following criteria met:
-
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
-
Run the following command on the machine that should run Instance API:
axual.sh restart instance <instance-name> instance-api
-
Confirm that the service restarts successfully by looking at the command output. It should end with:
Starting [Instance Name]-instance-api: Done
-
Verification after Instance API restart - Don’t continue before all the following criteria met:
-
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
-
Run the following command on the machine that should run Management API:
axual.sh restart mgmt mgmt-api
-
Confirm that the service restarts successfully by looking at the command output. It should end with:
Starting mgmt-api: Done
-
Verification after Management API restart - Don’t continue before all the following criteria met:
-
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
-
Run the following command on the machine that should run Management UI:
axual.sh restart mgmt mgmt-ui
-
Confirm that the service restarts successfully by looking at the command output. It should end with:
Starting mgmt-ui: Done
-
Verification after Management UI restart - Don’t continue before all the following criteria met:
-
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
-
Run the following command on the machine that should run Axual-Connect:
axual.sh restart client <instance-name> axual-connect
-
Confirm that the service restarts successfully by looking at the command output. It should end with:
Starting axual-connect: Done
-
Verification after Axual-Connect restart - Don’t continue before all the following criteria met:
-
Check the docker logs and make sure there is no error and service is up.
docker logs -f <instance-name>-axual-connect
-
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/
.