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:
-
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. |
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
-
Run the following command for each cluster where Cluster Browse is running:
axual.sh restart cluster cluster-browse
-
Confirm that the service restarts successfully by looking at the command output. It should end with:
Starting cluster-browse: Done
-
Verification after Cluster Browse 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-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
-
Run the following command on the machine that should run Stream Browse:
axual.sh restart mgmt stream-browse
-
Confirm that the service restarts successfully by looking at the command output. It should end with:
Starting stream-browse: Done
-
Verification after Stream Browse 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 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.
-
Log in the Self-Service as a Tenant Admin
-
Edit your
instance
-
Change the
Schema Registry URL
value the LoadBalancer pointing to the SSL port. (<SR_SLAVE_ADVERTISED_HOSTNAME>:SR_SLAVE_SSL_ADVERTISED_PORT
) -
Save your
instance
-
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
-
Run the following command for each cluster where Cluster Manager 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 Manager 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 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
-
Run the following command on the machine that should run Instance Manager:
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 Manager 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 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
-
Run the following command on the machine that should run Platform Manager:
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 Platform Manager 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 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
-
Run the following command on the machine that should run Operation Manager:
axual.sh restart mgmt operation-manager
-
Confirm that the service restarts successfully by looking at the command output. It should end with:
Starting operation-manager: Done
-
Verification after Operation Manager 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 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
-
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:
-
Log in to Keycloak Admin Console, using the UI, go to https://KEYCLOAK_HOSTNAME:KEYCLOAK_PORT/auth. You will see the following login screen.
-
Enter the KEYCLOAK_USER and KEYCLOAK_PASSWORD stored on your
platform-config
, then press login.
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
-
Run the following command on the machine(s) 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/
.
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
-
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 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 |
-
Run the following command for each cluster on the machines where Broker is running:
axual.sh restart cluster broker
-
Confirm that the Broker restarts successfully by looking at the command output. It should end with:
Starting broker: Done
-
Verification after Broker restart - Don’t continue before all the following criteria met:
-
Check the docker logs of the Broker and make sure there are no errors.
docker logs -f broker
-
Check that the UnderReplicatedPartition count is 0
-
Proceed to the next Broker