If you use local mirrors in the MCP cluster, you must update the local mirror VM before updating DriveTrain to a minor release version. Otherwise, skip this section and proceed with Update DriveTrain.
You can update local mirrors either manually or by replacing the existing local mirror VM with the latest version.
To replace the existing local mirror VM:
Warning
This procedure implies recreation of the apt01
VM. Therefore,
all existing customizations applied to the local mirror VM
will be lost. To keep the existing customizations, use the manual
procedure below instead.
Log in to the Salt Master node.
Download the latest version of the prebuilt
http://images.mirantis.com/mcp-offline-image-<BUILD-ID>.qcow2
image
for the apt01
node from http://images.mirantis.com.
Copy the new image to /var/lib/libvirt/images/apt01/
.
Power off the existing apt01
VM instance:
virsh shutdown apt01.<CLUSTER_DOMAIN>
If the local mirror VM is connected to the Salt Master node, temporarily remove it from the available minions:
salt-key
salt-key -d <local-mirror-node-name>
Note
The local mirror VM will be automatically connected back to the Salt Master node once the updated VM is deployed.
Deploy the apt01
VM instance with the new image as described in
MCP Deployment Guide: Deploy the APT node.
Once the local mirror VM with the new image is up and running, verify that
your current Reclass system model has the correct origin
set:
cd /srv/salt/reclass/classes/system
git remote -v
Optional. You may set origin
to your local mirror VM as it now has
the latest update version of the Reclass system model:
git remote remove origin
git remote add origin http://<local_mirror_vm_ip>:8088/reclass-system.git
For an OpenContrail-based MCP cluster with the Build ID 2019.2.5 or earlier:
Verify whether the MCP cluster uses internal_proxy
:
salt -C 'I@docker:host' pillar.get docker:host:proxy:enabled
Depending on the system output, add the corresponding pillar in the next step.
Add the following pillar to
/opencontrail/control.yml
and opencontrail/analytics.yml
:
For MCP clusters with internal_proxy
enabled:
parameters:
...
docker:
host:
proxy:
enabled: true
http: ${_param:http_proxy}
https: ${_param:http_proxy}
no_proxy: ${linux:system:proxy:noproxy}
insecure_registries:
- ${_param:aptly_server_hostname}:5000
For MCP clusters with internal_proxy
disabled:
parameters:
...
docker:
host:
insecure_registries:
- ${_param:aptly_server_hostname}:5000
Commit the changes to your local repository.
Apply the changes:
salt -C 'I@opencontrail:database' state.sls docker.host
Now, you can proceed with the step 2 of the Update DriveTrain procedure.
To update the local mirror VM manually:
Note
The procedure below requires access to the Internet.
Log in to the Salt Master node.
Verify the availability of the local mirror VM. For example:
salt 'apt01.local-deployment.local' test.ping
If the VM does not respond, enable the management of the offline mirror VM through the Salt Master node as described in MCP Deployment Guide: Enable the APT node management in the Reclass model.
Update the system
level of the Reclass model. For example, using
the Git submodule:
Note
If the Reclass system model has git origin
set
to the internal mirror repository, update it first.
cd /srv/salt/reclass/ && git submodule foreach git fetch
cd /srv/salt/reclass/classes/system && git checkout origin/release/2019.2.0
Open the cluster
level of your Reclass model.
In /infra/mirror/init.yml
:
Add the Git server parameters:
git:
server:
directory: /srv/git/
repos: ${_param:default_local_mirrror_content:git_server_repos}
Include the debmirror content class:
- system.debmirror.mirror_mirantis_com
Include the Docker registry class:
docker:
client:
registry:
target_registry: ${_param:default_local_mirrror_content:docker_client_registry_target_registry}
image: ${_param:default_local_mirrror_content:docker_client_registry_image}
Include the static files class:
linux:
system:
file: ${_param:default_local_mirrror_content:linux_system_file}
Include the MAAS mirror class:
maas:
mirror:
enabled: true
image:
sections: ${_param:default_local_mirrror_content:maas_mirror_image_sections}
For an OpenContrail-based MCP cluster with the Build ID 2019.2.5 or earlier:
Verify whether the MCP cluster uses internal_proxy
:
salt -C 'I@docker:host' pillar.get docker:host:proxy:enabled
Depending on the system output, add the corresponding pillar in the next step.
Add the following pillar to
/opencontrail/control.yml
and opencontrail/analytics.yml
:
For the MCP clusters with internal_proxy
enabled:
parameters:
...
docker:
host:
proxy:
enabled: true
http: ${_param:http_proxy}
https: ${_param:http_proxy}
no_proxy: ${linux:system:proxy:noproxy}
insecure_registries:
- ${_param:aptly_server_hostname}:5000
For the MCP clusters with internal_proxy
disabled:
parameters:
...
docker:
host:
insecure_registries:
- ${_param:aptly_server_hostname}:5000
Commit the changes to your local repository.
Synchronize the Salt modules:
salt '<offline_node_name>' saltutil.sync_all
Apply the following states:
salt '<offline_node_name>' state.sls git.server
salt '<offline_node_name>' state.sls debmirror
salt '<offline_node_name>' state.sls docker.client.registry
salt '<offline_node_name>' state.sls linux.system.file
salt '<offline_node_name>' state.sls maas.mirror
For an OpenContrail-based MCP cluster, apply the changes made in the step 6:
salt -C 'I@opencontrail:database' state.sls docker.host
Now, you can proceed with the step 2 of the Update DriveTrain procedure.