| Step 1 |
Upload the MSX isolated binaries to your S3 (AWS) / minio (OpenStack) bucket. This process should take approximately 15 minutes.
ansible-playbook upload-isolated-binaries.yml
|
| Step 2 |
(Optional) If you are installing the Datadog monitoring service to provide metrics for your infrastructure, make sure to follow
the procedure in Prerequisites for All Datadog Deployment Scenarios. Use this command:
ansible-playbook upload-datadog-images.yml
|
| Step 3 |
Edit each Service Pack deployment variables file so that it matches your deployment requirements. When you perform an upgrade,
the previous changes to the file will be lost. Use the backup deployment variables file for each Service Pack to reinstate
those changes. The Service Pack variable files are located at: /msx-4.2.0/ansible/group_vars/all/{servicepack_name}_variables.yml, where {servicepack_name} can be manageddevice, vbranch, sda, or sdwan.
|
| Step 4 |
Upgrade the Infra Services to update the infrastructure components for the Platform Microservices and Service Packs. This
process should take approximately 20–40 minutes.
ansible-playbook upgrade-infra-services.yml
|
| Step 5 |
Run the Blue/Green Platform Microservice update, which will upgrade the Platform and Service Packs. Both 4.1.0 and 4.2.0 Microservices will be running in parallel, however all traffic will be routed to 4.1.0 at this stage. Additionally, all Microservices will be running in non-HA mode.
ansible-playbook blue-green-ms-upgrade.yml
|
| Step 6 |
Perform an upgrade of the Network Service Orchestrator (NSO) component. At this point, any updates to existing services or
the provisioning of new services will be queued (and delayed) until the NSO upgrade has completed.
ansible-playbook bg-nso-upgrade.yml
| Note
|
If you have an SD-WAN deployment with vManage connected, you must copy your external certificates and import them into the
centralized MSX keystore. For more information, see Adding External Certificates to MSX.
|
|
| Step 7 |
Run the switch-ms-routing.yml playbook. This will redirect traffic from MSX 4.1.0 to 4.2.0, enable HA mode, and will delete all older microservice instances once complete.
ansible-playbook switch-ms-routing.yml
|
| Step 8 |
Upgrade the MSX user interface for the Platform and Service Packs.
ansible-playbook upgrade-ui.yml
|
| Step 9 |
Upgrade Action Orchestrator and the Workflow engine. The Workflow engine is placed in maintenance mode, so no new Workflow
is created or updated during this time. This process should take approximately 40 minutes.
ansible-playbook upgrade-ao.yml
|
| Step 10 |
Upgrade the Kubernetes cluster.
ansible-playbook os-k8s-rolling-upgrade.yml
|
| Step 11 |
Invoke this playbook to replace the master nodes and upgrade the underlying Operating System kernel, security components,
and any other required system updates. You can find the node names in the inventory file located at /msx-version/ansible/inventory/inventory.
To replace the master nodes:
ansible-playbook --skip-tags force_interactive replace-master.yml --extra-vars "replace_node=Name-of-Master-Node1-to-Replace"
ansible-playbook --skip-tags force_interactive replace-master.yml --extra-vars "replace_node=Name-of- Master-Node2-to-Replace"
ansible-playbook --skip-tags force_interactive replace-master.yml --extra-vars "replace_node=Name-of- Master-Node3-to-Replace"
|
| Step 12 |
Verify that all services are properly running.
ansible-playbook checks/check-vms.yml
|
| Step 13 |
Invoke this playbook to replace the first Edge node. You can find the node name in the inventory file.
ansible-playbook --skip-tags force_interactive replace-node.yml --extra-vars
"replace_node=Name-of-Edge-Node1-to-Replace"
|
| Step 14 |
Add new nodes.
ansible-playbook --tags add-nodes upgrade-kube-nodes.yml
Or run the following script from the Ansible directory:
|
| Step 15 |
-
Delete the old nodes.
ansible-playbook --tags delete-nodes --skip-tags add-nodes upgrade-kube-nodes.yml
Or run the following script from the Ansible directory:
| Note
|
You might find that all the nodes are not deleted for various reasons. If the delete-nodes playbook does not successfully complete, perform the following steps to continue the process until completion:
|
-
Edit in_progress_old_nodes.yml and the inventory file (located at /msx-version/ansible/inventory/inventory) to remove the successfully deleted nodes in each file.
-
Continue running the delete-notes playbook in step a and modifying the contents of the node and inventory files until the playbook completes without errors.
|
| Step 16 |
Run update-node-config to clean up the old node configurations and delete temporary files from the system.
ansible-playbook --tags update-node-config --skip-tags add-nodes,delete-nodes upgrade-kube-nodes.yml
Or run the following script from the Ansible directory:
|
| Step 17 |
Invoke this playbook to replace the second Edge node. You can find the node name in the inventory file.
ansible-playbook --skip-tags force_interactive replace-node.yml --extra-vars
"replace_node=Name-of-Edge-Node2-to-Replace"
|
| Step 18 |
(Optional) Replace TLS Gateway nodes only if the TLS Gateway is installed.
ansible-playbook upgrade-tlsgateway-nodes.yml --skip-tags force_interactive
|
| Step 19 |
Replace the Inception node.
ansible-playbook --skip-tags force_interactive replace-node.yml --extra-vars
"replace_node=Name-of-Inception-Node-to-Replace"
|
| Step 20 |
Run the cleanup-aws-dataplane.yml playbook to remove unused AWS infrastructure.
ansible-playbook cleanup-aws-dataplane.yml
|
| Step 21 |
Verify that all services are properly running.
ansible-playbook checks/check-vms.yml
|
| Step 22 |
If you have cron backup enabled in the system then you need to run a backup now.
ansible-playbook cron-backup.yml
|