Skip to main content
Redhat Developers  Logo
  • AI

    Get started with AI

    • Red Hat AI
      Accelerate the development and deployment of enterprise AI solutions.
    • AI learning hub
      Explore learning materials and tools, organized by task.
    • AI interactive demos
      Click through scenarios with Red Hat AI, including training LLMs and more.
    • AI/ML learning paths
      Expand your OpenShift AI knowledge using these learning resources.
    • AI quickstarts
      Focused AI use cases designed for fast deployment on Red Hat AI platforms.
    • No-cost AI training
      Foundational Red Hat AI training.

    Featured resources

    • OpenShift AI learning
    • Open source AI for developers
    • AI product application development
    • Open source-powered AI/ML for hybrid cloud
    • AI and Node.js cheat sheet

    Red Hat AI Factory with NVIDIA

    • Red Hat AI Factory with NVIDIA is a co-engineered, enterprise-grade AI solution for building, deploying, and managing AI at scale across hybrid cloud environments.
    • Explore the solution
  • Learn

    Self-guided

    • Documentation
      Find answers, get step-by-step guidance, and learn how to use Red Hat products.
    • Learning paths
      Explore curated walkthroughs for common development tasks.
    • Guided learning
      Receive custom learning paths powered by our AI assistant.
    • See all learning

    Hands-on

    • Developer Sandbox
      Spin up Red Hat's products and technologies without setup or configuration.
    • Interactive labs
      Learn by doing in these hands-on, browser-based experiences.
    • Interactive demos
      Click through product features in these guided tours.

    Browse by topic

    • AI/ML
    • Automation
    • Java
    • Kubernetes
    • Linux
    • See all topics

    Training & certifications

    • Courses and exams
    • Certifications
    • Skills assessments
    • Red Hat Academy
    • Learning subscription
    • Explore training
  • Build

    Get started

    • Red Hat build of Podman Desktop
      A downloadable, local development hub to experiment with our products and builds.
    • Developer Sandbox
      Spin up Red Hat's products and technologies without setup or configuration.

    Download products

    • Access product downloads to start building and testing right away.
    • Red Hat Enterprise Linux
    • Red Hat AI
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products

    Featured

    • Red Hat build of OpenJDK
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenShift Dev Spaces
    • Red Hat Developer Toolset

    References

    • E-books
    • Documentation
    • Cheat sheets
    • Architecture center
  • Community

    Get involved

    • Events
    • Live AI events
    • Red Hat Summit
    • Red Hat Accelerators
    • Community discussions

    Follow along

    • Articles & blogs
    • Developer newsletter
    • Videos
    • Github

    Get help

    • Customer service
    • Customer support
    • Regional contacts
    • Find a partner

    Join the Red Hat Developer program

    • Download Red Hat products and project builds, access support documentation, learning content, and more.
    • Explore the benefits

How to update OpenStack Services on OpenShift

May 14, 2025
Pedro Navarro Perez
Related topics:
ContainersKubernetesSecurity
Related products:
Red Hat OpenShiftRed Hat OpenShift Container Platform

    Red Hat OpenStack Services on OpenShift introduces a modern, cloud-native framework designed to revolutionize how you deploy, manage, monitor, and update your cloud infrastructure.

    In the context of OpenStack Services on OpenShift, there are three types of releases that could be applicable for an update:

    • Async release: Any release that needs to be shipped ASAP without a full cycle or planned cadence.
    • Bug-fix updates: Periodic updates to resolve bugs or CVEs in the OpenStack Services on OpenShift codebases. These will generally also pick up fixes in the underlying products (i.e., Red Hat Enterprise Linux) and will often resolve container grades as well.
    • Feature updates/packages: Periodic releases that incorporate fixes from all types of releases (i.e., CVEs, bugs, grades), allowing feature backports and RFEs.

    In this article, we will take an in-depth look at the OpenStack Services on OpenShift update workflow that ensures a reliable process for updating the control plane and data plane components to the latest release.

    Prerequisites for a successful update

    Before starting, ensure the following prerequisites are in place to optimize the update workflow and prevent interruptions:

    1. Access to the oc command-line tool on your workstation, and a backup of the current environment.

    2. These enabled repositories for Red Hat OpenStack Services on OpenShift compute nodes:

    • RHEL 9.2 if you decide to delay the update of Red Hat OpenStack Services on OpenShift on Compute nodes during the Red Hat OpenStack Platform 17.1 to Red Hat OpenStack Services on OpenShift upgrade using the adoption mechanism.
    • RHEL 9.4 on compute nodes, if it's a fresh deployment of Red Hat OpenStack Services on OpenShift, or you have already updated the Red Hat OpenStack Services on OpenShift on compute nodes after the Red Hat OpenStack Platform 17.1 to Red Hat OpenStack Services on OpenShift upgrade.

    Initial steps

    You will need authorization to the Red Hat OpenShift Container Platform (RHOCP) cluster and an updated set of OpenStack Services on OpenShift operators using the Operator Lifecycle Manager.

    In the initial state, the cloud operator would be updating the OpenStack operators to the latest version. 

    1. A new version of OpenStack Operator catalog is available and downloaded to the cluster (OpenShift checks every 5 minutes for a new version of catalog).
    2. A new InstallPlan is created if there are newer operators available and it is possible to download from one version of operators to another version.
    3. The InstallPlan is either started automatically or needs to be approved. 
    4. Once the InstallPlan runs the following will happen:
      • The service operators are updated if they were are part of InstallPlan update. During this phase, the OpenStack operators evaluate the current state of the deployments they manage. If any changes are detected, the OpenStack operators automatically apply the necessary adjustments to align the deployments with the desired state. As part of this process, some pods might need to be restarted to ensure that the changes take effect.
      • When a new set of operators is updated via OLM the OpenStackVersion resources will be reconciled and a new AvailableVersion will be set on each custom resource (CR).

    When installing OpenStack Services on OpenShift greenfield, it’s encouraged to use installPlanApproval: Manual.

    When applying the subscription CR, operators have more control over their deployments and manually approve the operators updates. The following graph shows the steps previously described (Figure 1).

    Red Hat OpenStack Services on OpenShift Operators update
    Figure 1: The Red Hat OpenStack Services on OpenShift Operators update.

    The update procedure

    To update your OpenStack Services on OpenShift environment to the latest maintenance release, perform the following steps:

    1. Update OVN services on the control plane.
    2. Update OVN services on the data plane.
    3. Wait for the OpenStack Operator to complete the automatic update of the remaining control plane packages, services, and container images.
    4. Update the remaining services on the data plane.

    Set the desired version state

    Red Hat OpenStack Services on OpenShift services are deployed using a container image for a specific release and version.

    The container images used by the installer are controlled through the OpenStackVersion CR. An OpenStackVersion CR is automatically created by the OpenStack operator during the deployment of services.

    The OpenStackVersion version CR contains 3 key fields for managing updates:

    1. Target version: The version that we want to install.
    2. Available version: The version available to be updated.
    3. Deployed version: The version that is currently deployed.

    First, the cloud operator retrieves the OpenStackVersion CR to check the version available for updating (step 1).

    $ oc get openstackversion -n openstack

    The following output shows the available version.

    NAME                                 TARGET VERSION      AVAILABLE VERSION   DEPLOYED VERSION
    openstack-control-plane   18.0.2-20240923.2   18.0.3-20241126.2   18.0.2-20240923.2

    Then, the cloud operator patches the targetVersion on the OpenStackVersion CR to trigger the start of the minor update (step 2).

    cat <<EOF >openstackversionpatch.yaml
       "spec": {
         "targetVersion": 18.0.3-20241126.2
         }
    EOF

     

    oc patch openstackversion openstack-control-plane --type=merge --patch-file openstackversionpatch.yaml

    The graph in Figure 2 shows step 1 and step 2 initiating the OpenStack Services on OpenShift update process.

    OpenStack version customer resource patch
    Figure 2: A graph of the OpenStack version custom resource patch.

    Update OVN services on the control plane

    The graph in Figure 3 shows the patch operation from the previous section. The OpenStack operator initiates the update of the OVN services on the control plane: the OVN Controller (steps 3 and 4).

    Update OVN services on the control plane
    Figure 3: This graph shows the update of OVN services on the control plane.

    Update OVN services on the data plane

    To update OVN services on the data plane, the cloud operator creates an OpenStackDataPlaneDeployment custom resource (CR) that will trigger the execution of the OVN OpenStackDataplaneService.

    cat << EOF | oc apply -f -
    apiVersion: dataplane.openstack.org/v1beta1
    kind: OpenStackDataPlaneDeployment
    metadata:
      name: edpm-deployment-ipam-ovn-update
    spec:
      nodeSets:
        - openstack-edpm-ipam
      servicesOverride:
        - ovn
    EOF

    This process in depicted in Figure 4.

    Update OVN services on the data plane
    Figure 4: Update OVN services on the data plane.

    The cloud operator can check if the control plane has been successfully updated by using this command:

    oc wait openstackversion openstack-control-plane --for=condition=MinorUpdateControlplane --timeout=20m

    The graph in Figure 5 describes the process following the execution of the OVN OpenStackDataplaneService. The OpenStack control plane will automatically be updated. Pods will be rebooted and point to the new images that are stored in the OpenStackVersion CR.

    Remaining services of OpenStack control plane update
    Remaining services of OpenStack control plane update
    Figure 5: These are the remaining services of OpenStack control plane update.

    Update the remaining services on the data plane

    The graph in Figure 6 shows the update of the remaining services on the data plane. 

    Remaining services of OpenStack data plane update
    Figure 6: Updating the remaining services of OpenStack data plane.

    The cloud operator creates an OpenStackDataPlaneDeployment custom resource (CR) that will trigger the execution of the update OpenStackDataplaneService:

    cat << EOF | oc apply -f -
    apiVersion: dataplane.openstack.org/v1beta1
    kind: OpenStackDataPlaneDeployment
    metadata:
      name: edpm-deployment-ipam-update-dataplane-services
    spec:
      nodeSets:
        - openstack-edpm-ipam
      servicesOverride:
        - update
    EOF

    The cloud operator can check if the data plane services have been successfully updated by executing the following command:

    oc wait openstackversion openstack-galera-network-isolation --for=condition=MinorUpdateDataplane --timeout=20m

    At this stage, all Red Hat OpenStack Services on OpenShift content in the cluster has been updated to the latest version.

    Once updates are completed, a controlled reboot of the compute nodes ensures that your environment fully transitions to the new configurations, including kernel and networking components. Before rebooting, migrate workloads as needed to avoid downtime.

    To initiate the reboot, create an OpenStackDataPlaneDeployment CR with specific nodes or entire sets targeted for reboot. Monitoring the process helps to verify that each node completes the reboot successfully. You can find more information in the documentation.

    Update OpenStack Services on OpenShift

    Updating to the latest release of Red Hat OpenStack Services on OpenShift equips your infrastructure with optimal performance, security, and flexibility. By carefully managing the control plane and data plane updates and coordinating compute node reboots, administrators can enhance the reliability of their environment, providing a strong foundation for future innovation.

    Related Posts

    • Managing OpenStack with The Foreman

    • Learn about the new BGP capabilities in Red Hat OpenStack 17

    • Easily upgrade hosted OpenShift Virtualization clusters on hosted control planes

    Recent Posts

    • Trusted software factory: Building trust in the agentic AI era

    • Build a zero trust AI pipeline with OpenShift and RHEL CVMs

    • Red Hat Hardened Images: Top 5 benefits for software developers

    • How EvalHub manages two-layer Kubernetes control planes

    • Tekton joins the CNCF as an incubating project

    What’s up next?

    Learn how to configure OpenShift to attach a physical network to your workloads and define micro-segmentation in the aforementioned network.

    Start the activity
    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Platforms

    • Red Hat AI
    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products

    Build

    • Developer Sandbox
    • Developer tools
    • Interactive tutorials
    • API catalog

    Quicklinks

    • Learning resources
    • E-books
    • Cheat sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site status dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit
    © 2026 Red Hat

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Chat Support

    Please log in with your Red Hat account to access chat support.