Chapter 2. 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. 2.1. 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. Prerequisites You have the name and version of your OpenStackControlPlane CR: Procedure Create a patch file for the OpenStackVersion CR on your workstation, for example, openstackversionpatch.yaml . Set the targetVersion to the release that you want to install: Replace <openstack_version> with the target version you want to install, for example, 1.0.1 . Replace <custom_image> with the location of the latest custom image for the service. You must update the image location for any custom images and the target version at the same time to ensure that the correct custom image is used after the minor update is complete. Patch the OpenStackVersion CR: Replace <openstack_version_CR_name> with the name of your OpenStackVersion resource, for example, openstack-control-plane . Verify that the OVN services are updated on the control plane: The following example output shows that the OVN services are updated: 2.2. Updating OVN services on the data plane Update the OVN services on the data plane. Prerequisites Create the openstack-edpm-update-ovn.yaml file. For more information, see Creating the files for the data plane update . Procedure To update OVN services on the data plane, create an OpenStackDataPlaneDeployment custom resource (CR) with the openstack-edpm-update-ovn.yaml file: Verify that the data plane update deployment succeeded: Replace <openstack_version_CR_name> with the name of your OpenStackVersion resource, for example, openstackversion/openstack . If the deployment fails, see Troubleshooting data plane creation and deployment in the Deploying Red Hat OpenStack Services on OpenShift guide. Important If the update fails, you can re-run the procedure. Before you re-run the procedure, you must edit the name: parameter in the openstack-edpm-update-ovn.yaml file to avoid conflicts in the CR name. For example: Replace <ovn-update-new-name> with a unique name for the CR. 2.3. 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. Prerequisites Create the openstack-edpm-update-services.yaml file. For more information, see Creating the files for the data plane update . The OVN service is updated on the control plane. For more information, see Updating OVN services on the control plane . The OVN service is updated on the data plane. For more information, see Updating OVN services on the data plane . Procedure Wait until all control plane services are updated: Replace <openstack_version_CR_name> with the name of the OpenStackVersion resource, for example, openstackversion/openstack . The command returns the following output when all the control plane services are updated: To update the remaining services on the data plane, create an OpenStackDataPlaneDeployment custom resource (CR) with the openstack-edpm-update-services.yaml file: Verify that the data plane update deployment succeeded: If the deployment fails, see Troubleshooting data plane creation and deployment in the Deploying Red Hat OpenStack Services on OpenShift guide. Important If the update fails, you can re-run the procedure. Before you re-run the procedure, you must edit the name: parameter in the openstack-edpm-update-services.yaml file to avoid conflicts in the CR name. For example: Replace <services-update-new-name> with a unique name for the CR.

Commands:
oc get openstackversion NAME TARGET VERSION AVAILABLE VERSION DEPLOYED VERSION openstack-control-plane 18.0.0-20240828.1 18.0.2-20240923.2 18.0.0-20240828.1
cat <<EOF >openstackversionpatch.yaml "spec": { "targetVersion": <openstack_version> customContainerImages: cinderApiImage: <custom_image> cinderVolumeImages: netapp: <custom_image> dell: <custom_image> } EOF
oc patch openstackversion <openstack_version_CR_name> --type=merge --patch-file openstackversionpatch.yaml
oc wait openstackversion <openstack_version_CR_name> --for=condition=MinorUpdateOVNControlplane --timeout=20m
openstackversion.core.openstack.org/<openstack_version_CR_name> condition met
oc create -f openstack-edpm-update-ovn.yaml
oc wait openstackversion <openstack_version_CR_name> --for=condition=MinorUpdateOVNDataplane --timeout=20m
oc get openstackdataplanedeployment NAME STATUS MESSAGE edpm-deployment-ipam True Setup Complete edpm-deployment-ipam-ovn-update True Setup Complete
apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneDeployment metadata: name: <ovn-update-new-name>
oc wait openstackversion <openstack_version_CR_name> --for=condition=MinorUpdateControlplane --timeout=20m
openstackversion.core.openstack.org/<openstack_version_CR_name> condition met
oc create -f openstack-edpm-update-services.yaml
oc wait openstackversion <openstack_version_CR_name> --for=condition=MinorUpdateDataplane --timeout=20m
oc get openstackdataplanedeployment NAME STATUS MESSAGE edpm-deployment-ipam True Setup Complete edpm-deployment-ipam-update True Setup Complete edpm-deployment-ipam-update-dataplane-services True Setup Complete
apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneDeployment metadata: name: <services-update-new-name>