After you complete the prerequisite steps, prepare your cluster model for the upgrade by configuring your Git project repository as described below.
To prepare the cluster model:
Log in to the Salt Master node.
In cluster/<name>/opencontrail/init.yml, change the OpenContrail
repository component and version to 4.1:
_param:
linux_repo_contrail_component: oc41
opencontrail_version: 4.1
In cluster/<name>/openstack/dashboard.yml, add or update
the OpenContrail version inside the parameters section:
_param:
opencontrail_version: 4.1
In cluster/<name>/openstack/init.yml, define the following parameters:
_param:
opencontrail_admin_password: <contrail_user_password>
opencontrail_admin_user: 'contrail'
In cluster/<name>/openstack/control/init.yml, add the following class
if not present:
classes:
...
- system.keystone.client.service.contrail
...
In cluster/<name>/opencontrail/analytics.yml, change the
system.opencontrail.control.analytics class
to system.opencontrail.control.analytics4_0.
In cluster/<name>/opencontrail/analytics.yml,
add or change the opencontrail_kafka_config_dir and
opencontrail_kafka_log_dir parameters. For example:
_param:
opencontrail_kafka_config_dir: '/etc/kafka'
opencontrail_kafka_log_dir: '/var/log/kafka'
In cluster/<name>/opencontrail/control.yml, change the
system.opencontrail.control.control class to
system.opencontrail.control.control4_0.
In cluster/<name>/opencontrail/analytics.yml and
cluster/<name>/opencontrail/control.yml, modify the classes and
the parameters sections:
classes:
...
- system.linux.system.repo.docker_legacy
...
- service.docker.host
- system.docker.client.compose
...
parameters:
...
docker:
host:
pkgs:
- docker-engine
- python-docker
In cluster/<name>/opencontrail/control.yml and
cluster/<name>/opencontrail/analytics.yml, remove the following classes:
classes:
...
- system.linux.system.repo.mcp.apt_mirantis.contrail
...
- system.linux.system.repo.mcp.apt_mirantis.cassandra
...
Note
These classes are related to the package repositories of OpenContrail and Cassandra and must be removed since the new version of the OpenContrail control plane is delivered as Docker containers.
In cluster/<name>/opencontrail/compute.yml, change the
system.opencontrail.compute.cluster class to
system.opencontrail.compute.cluster4_0.
Add the upgrade pipeline to DriveTrain:
Add the OpenContrail upgrade class to
cluster/cicd/control/leader.yml:
classes:
- system.jenkins.client.job.deploy.update.upgrade_opencontrail4_0
Apply the changes:
salt -C 'I@jenkins:client' state.sls jenkins.client
Now, proceed to Upgrade the OpenContrail nodes.