Description

A high-level overview of Contrail Upgrade in a juju canonical OpenStack deployment.

Symptoms

NA. Upgrade considerations and high-level steps.

Solution

Before upgrade:

 

Take a contrail backup and keep it safely in a remote server. Refer https://www.juniper.net/documentation/us/en/software/contrail-networking20/contrail-install-and-upgrade-guide/topics/concept/backup-using-json-50.html

Make sure "juju status" is proper for contrail units / applications and keep a copy of juju status output.

Make sure "contrail status" is proper on all contrail servers (controllers and computes).

Make sure all the contrail servers have access to enterprise-hub.juniper.net to download new images. (verify internet access and docker login to enterprise-hub.juniper.net and username/password should work).

Identify few critical VMs or workloads and verify their network connectivity before upgrade.

 

After upgrade:

 

verify "juju status" and compare with the status prior to upgrade

Make sure "contrail status" is proper on all contrail servers.

Then verify the earlier identified VMs / workload's network connectivity after upgrade.

 

For recommended charms version, we can see the details here - https://www.juniper.net/documentation/us/en/software/contrail-networking21/release-notes/contrail-release-notes-21.4-l4/contrail-release-notes-21.4.l4/topics/concept/juju-charms.html

 

For maas / juju / kernel versions supported, see the details here https://www.juniper.net/documentation/us/en/software/contrail-networking21/release-notes/contrail-release-notes-21.4-l3/topics/concept/supported-platforms.html.

 

Please refer this for upgrade steps. https://www.juniper.net/documentation/us/en/software/contrail-networking20/contrail-install-and-upgrade-guide/topics/task/update-canonical-openstack-juju.html

 

Sample commands:

 

Step I: Maintenance mode:

juju run-action contrail-controller/leader upgrade-ziu --wait

Step II:Charm upgrade: Refer https://www.juniper.net/documentation/us/en/software/contrail-networking21/release-notes/contrail-release-notes-21.4-l4/contrail-release-notes-21.4.l4/topics/concept/juju-charms.html for version details.

juju upgrade-charm contrail-analytics --path cs:~juniper-os-software/contrail-analytics-<charm-version-number>
juju upgrade-charm contrail-analyticsdb --path cs:~juniper-os-software/contrail-analyticsdb-<charm-version-number>
juju upgrade-charm contrail-controller --path cs:~juniper-os-software/contrail-controller-<charm-version-number>
juju upgrade-charm contrail-keystone-auth --path cs:~juniper-os-software/contrail-keystone-auth-<charm-version-number>
juju upgrade-charm contrail-openstack --path cs:~juniper-os-software/contrail-openstack-<charm-version-number>
juju upgrade-charm contrail-agent --path cs:~juniper-os-software/contrail-agent-<charm-version-number>

*********************************************************************************************************************

Step III: Contrail application upgrade:

juju config contrail-analytics docker-registry=enterprise-hub.juniper.net/contrail-container-prod docker-user=<user-id>  image-tag=<image-tag>
juju config contrail-analyticsdb docker-registry=enterprise-hub.juniper.net/contrail-container-prod docker-user=<user-id>  image-tag=<image-tag>
juju config contrail-openstack docker-registry=enterprise-hub.juniper.net/contrail-container-prod docker-user=<user-id>  image-tag=<image-tag>
juju config contrail-controller docker-registry=enterprise-hub.juniper.net/contrail-container-prod docker-user=<user-id>  image-tag=<image-tag>
juju config contrail-agent docker-registry=enterprise-hub.juniper.net/contrail-container-prod docker-user=<user-id>  image-tag=<image-tag>
juju config contrail-agent-csn docker-registry=enterprise-hub.juniper.net/contrail-container-prod docker-user=<user-id> image-tag=<image-tag>

Sample commands for compute vRouter upgrade:

juju run-action contrail-agent/0 upgrade
juju run-action contrail-agent/1 upgrade

 

Sample command to monitor juju upgrade logs:

juju debug-log --include <application or unit name>

Example: juju debug-log --include contrail-keystone-auth/0

 

Sample command to Cancel ZIU in case required ( do not attemt this without JTAC or Engineering consultation):

juju run-action contrail-controller/leader cancel-ziu

 

Modification History

2024-09-01 : Article Created