Prepare the environment before performing an upgrade.
- A high availability (HA) instance or single node of the Bare Metal Orchestrator version that you are upgrading from should exist with at least one Global Controller site created.
- Take snapshots of all nodes, including remote site nodes, prior to the upgrade. CAUTION: You must take snapshots of all nodes to ensure that you can perform a rollback in case of any failures during the upgrade procedure.
- Ensure the Linux user account being used to upgrade Bare Metal Orchestrator has the passwordless sudo privileges enabled. For high availability deployments, ensure that passwordless sudo privileges are enabled for the Global Controller (CP1), the two redundant HA nodes (CP2 and CP3), and all worker nodes. For more information about passwordless sudo privileges, see Enable and disable passwordless sudo privileges. Note: We recommend revoking passwordless sudo privileges for the common user account after the Bare Metal Orchestrator upgrade is complete.
- Edit all virtual machine (VM) specifications to the required specifications of the upgrade version. For example, if upgrading to release 2.2, ensure the VM specifications are changed to the required specifications for version 2.2. For more information about required specifications, see the Bare Metal Orchestrator Network Planning Guide.
- Enable maintenance mode before upgrading the cluster. Do not configure Bare Metal Orchestrator or perform management tasks on the cluster during an upgrade. For more information about enabling maintenance mode, see Enable and disable maintenance mode.CAUTION: Service disruptions are possible during an upgrade. We recommend scheduling when traffic at the affected sites is low.
- Download the target bundle on the Global Controller (CP1) or single node. Do the following:
- Create a new directory for the bundle. Run the following commands:
mkdir <directory_name>
cd <directory_name> - Download the Bare Metal Orchestrator target bundle into the newly-created directory. For information about how to obtain an upgrade bundle and the supported upgrade paths, contact Dell Support or your Dell representative.
- Extract the bundle. Run the following command:
tar -xvzf <downloaded_bundle_name>
- Create a new directory for the bundle. Run the following commands:
- Update the
hosts.ini
file located in /<directory_name>/mw_bundle/inventory/my-cluster and theall.yml
file located in /<directory_name>/mw_bundle/inventory/my-cluster/group_vars.- For more information about editing the
hosts.ini
file on a single node cluster, see Deploy a single node cluster. For more information about editing thehosts.ini
file on an HA cluster, see Deploy an HA Bare Metal Orchestrator cluster.Note: Ensure the IP details for the nodes entered in thehosts.ini
file are the same as the previous bundle.
- For more information about editing the
all.yml
file on a single node cluster, see Deploy a single node cluster. For more information about editing theall.yml
file on an HA cluster, see Deploy an HA Bare Metal Orchestrator cluster.Note: Ensure theall.yml
file has the same keycloak hostname and the same storage_mount_path as the previous Bare Metal Orchestrator bundle.
- For more information about editing the
- Ensure that the KUBECONFIG environment variable is not exported in the active session.
- To check that the output is empty, run the following command:
echo $KUBECONFIG
- If the output is not empty, run the following command to unset it:
unset KUBECONFIG
Note: Ensure that the KUBECONFIG environmental variable is not exported in~/.bashrc
.
- To check that the output is empty, run the following command:
- Check the validity of the Bare Metal Orchestrator certificates and renew if required. For more information about how to activate and renew certificates, see the Bare Metal Orchestrator Security Guide.
- Ensure that the space used in the docker registry is a maximum of 6 GB, run:
kubectl exec -it docker-registry-0 -n localregistry -- /bin/sh -c "du -sh"
- To ensure that the existing sample files are not lost, we recommend taking a copy of them from the prior Bare Metal Orchestrator bundle. This is because the sample folders of the new target bundle replaces the existing samples folder once the upgrade process is successfully completed.
- Verify that the internal storage volume used is the same volume in the Bare Metal Orchestrator version that you are upgrading from.
- To verify the volume used, view the
all.yml
file of the Bare Metal Orchestrator version that you are upgrading from. - The internal storage volume of the Bare Metal Orchestrator version that you are upgrading to should have at least 300 GB in space, and you must ensure that the correct storage mount path is mounted on the volume. To verify the internal storage volume of the Bare Metal Orchestrator version that you are upgrading to, run the following command:
lsblk
The output displays the storage folder and available mounted partitions. The following is an example of the output:sdc 8:32 0 300G 0 disk
└─sdc1 8:33 0 300G 0 part /longhorn - To verify the volume used, view the
- Ensure that the multipathd.service field is disabled or configured to prevent interference with Longhorn devices by running one of the following commands:
- To stop the multipathd.service, run the following command:
sudo systemctl stop multipathd.service
- To disable the multipathd.service field, run the following command:
sudo systemctl disable multipathd.service
Note: If the multipathd.service field is not configured, the following error displays:Failed to disable unit: Unit file multipathd.service does not exist.
- To stop the multipathd.service, run the following command: