Performing a minor update
Preparing for a minor update
In this lab we will perform an update of edpm-compute0 and edpm-compute1 compute node. We need to create 2 files include a set of OpenStackDataPlaneNodeSet custom resources (CRs):
+ * openstack-edpm-update-ovn.yaml - You use this file to update your OVN services. You must update OVN services before the OpenStack Operator can begin the automatic update of the remaining control plane services. * openstack-edpm-update-services.yaml- You use this file to update the remaining control plane packages, services, and container images on the data plane nodes.
Update the OpenStack Operator
In this lab we have installed the OpenStack operators using manually approved. So, to manually approving a pending Operator update, follow these steps: . List the available ClusterServiceVersion for an operator:
oc get csv -n openstack-operators
-
Manually approve the update:
oc get installplan -n openstack-operators
-
Find and approve the pending InstallPlan:
oc patch installplan <installplan-name> -n openstack-operators --type merge --patch '{"spec": {"approved": true}}'
This will approve the Operator update, and OpenShift will proceed with the installation or update of the Operator.
Explore the file OpenStackDataPlaneNodeSet to update OVN service
In the bastion terminal, make sure that you are in lab yamls directory:
cd labrepo/content/files
Visualize the file openstack-edpm-update-ovn.yaml to understand better the servicesOverride functionality to apply just the ovn *OpenStackDataplaneService:
cat openstack-edpm-update-ovn.yaml
apiVersion: dataplane.openstack.org/v1beta1
kind: OpenStackDataPlaneDeployment
metadata:
name: edpm-deployment-ipam-ovn-update
spec:
nodeSets:
- openstack-edpm-ipam
- scale-out-provisioned
servicesOverride:
- ovn
Explore the file OpenStackDataPlaneNodeSet to update remaining services of the data plane
Visualize the file openstack-edpm-update-services.yaml:
cat openstack-edpm-update-services.yaml
apiVersion: dataplane.openstack.org/v1beta1
kind: OpenStackDataPlaneDeployment
metadata:
name: edpm-deployment-ipam-update-dataplane-services
spec:
nodeSets:
- openstack-edpm-ipam
- scale-out-provisioned
servicesOverride:
- update
Performing a minor update
To update your Red Hat OpenStack Services on OpenShift (RHOSO) 18.0 environment to the latest maintenance release, perform the following tasks:
-
Update OVN services on the control plane.
-
Update OVN services on the data plane.
-
Wait for the OpenStack Operator to complete the automatic update of the remaining control plane packages, services, and container images.
-
Update the remaining services on the data plane.
Updating OVN services on the control plane
Update the target version in the OpenStackVersion custom resource (CR) to point to the version that you want to install. After you update the target version, the OVN service update on the control plane begins automatically.
-
Create a patch file for the OpenStackVersion CR on your workstation, for example, openstackversionpatch.yaml
cat <<EOF >openstackversionpatch.yaml "spec": { "targetVersion": 1.0.1 } EOF Replace targetVersion field with the target version you want to install, for example, 1.0.1
-
Patch the OpenStackVersion CR:
oc patch openstack-galera-network-isolation --type=merge --patch-file openstackversionpatch.yaml EOF
-
Verify that the OVN services are updated on the control plane
oc wait openstackversion openstack-galera-network-isolation --for=condition=MinorUpdateOVNControlplane --timeout=20m EOF
Updating OVN services on the data plane
-
To update OVN services on the data plane, create an OpenStackDataPlaneDeployment custom resource (CR) with the openstack-edpm-update-ovn.yaml file:
oc create -f openstack-edpm-update-ovn.yaml
-
Verify that the data plane update deployment succeeded:
oc wait openstackversion openstack-galera-network-isolation --for=condition=MinorUpdateOVNDataplane --timeout=20m
Check if the update deployment is completed . Sample output
oc get openstackdataplanedeployment
NAME STATUS MESSAGE
edpm-deployment-ipam-ovn-update True Setup Complete
Updating the remaining services on the data plane
When the OVN service is updated on the control plane and data plane, and the OpenStack Operator has completed the automatic update of the remaining control plane packages, services, and container images, you must update the remaining services on the data plane
-
Wait until all control plane services are updated:
oc wait openstackversion openstack-galera-network-isolation --for=condition=MinorUpdateControlplane --timeout=20m
-
To update the remaining services on the data plane, create an OpenStackDataPlaneDeployment custom resource (CR) with the openstack-edpm-update-services.yaml file:
oc create -f openstack-edpm-update-services.yaml
-
Verify that the data plane update deployment succeeded:
oc wait openstackversion openstack-galera-network-isolation --for=condition=MinorUpdateDataplane --timeout=20m
Check if the update deployment is completed . Sample output
oc get openstackdataplanedeployment
NAME STATUS MESSAGE
edpm-deployment-ipam-ovn-update True Setup Complete
Rebooting the nodes
You can reboot your Compute nodes any time after you complete the minor update. You check which updated nodes require a reboot first, and then specify them in an OpenStackDatPlaneDeployment custom resource (CR) to start the reboot. Until after the reboot, your environment still uses the old kernel and Open vSwitch (OVS) for data plane development kit (DPDK) implementations.
To ensure minimal downtime of instances in your Red Hat OpenStack Services on OpenShift (RHOSO) environment, you should migrate the instances from the Compute node that you need to reboot.
-
Review and understand the OpenStackDataPlaneDeployment to reboot the nodes:
cat openstack-edpm-reboot.yaml apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneDeployment metadata: name: openstack-edpm-ipam-reboot namespace: openstack spec: nodeSets: - openstack-edpm-ipam - scale-out-provisioned servicesOverride: - reboot-os ansibleExtraVars: edpm_reboot_strategy: force ansibleLimit: - edpm-compute-0.aio.example.com - edpm-compute-1.ctlplane.aio.example.com
-
Verify that the openstack-edpm-ipam-reboot deployment completed:
oc get openstackdataplanedeployment NAME STATUS MESSAGE openstack-edpm-deployment-ipam-reboot True Setup complete