Update strategies for Image Mode data plane nodes

The update process for data plane nodes deployed with Image Mode (bootc) images differs from nodes that use RPM-based images. Data plane nodes deployed with Image Mode images use a container-based operating system that is updated by switching to a new container image and rebooting the node.

Data plane nodes deployed with Image Mode images are updated by using either a single or dual phase process:

  • The single phase process updates the system and services simultaneously.
  • The dual phase process updates the systems and services separately.

Both update processes require the use of the edpm_update_system_bootc_os_container_image Ansible variable. This variable contains the full URL to the container image to be used to update the node.

Important

This feature is available in this release as a Technology Preview, and therefore is not fully supported by Red Hat. It should only be used for testing, and should not be deployed in a production environment.

Update Image Mode nodes in a single phase

You can update nodes provisioned with Image Mode (bootc) images in a single phase that includes updating the OVN services, data plane services, and the Image Mode image.

About this task

Important

Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.

For more information about the support scope of Red Hat Technology Preview features, see Technology Preview Features Support Scope.

Procedure

  1. Update OVN services as described in Updating OVN services on the data plane.
  2. Update the remaining data plane services as described in Updating the remaining services on the data plane.
  3. Build and deploy the updated Image Mode container image as described in Building the Image Mode (bootc) container image in Customizing the Red Hat OpenStack Services on OpenShift deployment.
  4. Create an OpenStackDataPlaneDeployment CR to deploy the updated container image. The following is an example configuration:
    apiVersion: dataplane.openstack.org/v1beta1
    kind: OpenStackDataPlaneDeployment
    metadata:
      name: edpm-compute-bootc-update
    spec:
      nodeSets:
        - edpm-compute-bootc
      servicesOverride:
        - update
        - reboot
      ansibleVars:
        edpm_update_system_bootc_os_container_image: "<container_image_url>"
    • Replace <container_image_url> with the full URL to the updated container image.
  5. Save the OpenStackDataPlaneDeployment CR file.
  6. Apply the OpenStackDataPlaneDeployment CR to your environment.
    $ oc apply -f <deployment_cr_file>
    • Replace <deployment_cr_file> with the name of the OpenStackDataPlaneDeployment CR file.
  7. Verify the update completes successfully.

Update Image Mode nodes in two phases

You can update nodes provisioned with Image Mode (bootc) images in two phases. The first phase updates service containers and essential packages. The second phase updates the Image Mode image used by the node.

About this task

Important

Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.

For more information about the support scope of Red Hat Technology Preview features, see Technology Preview Features Support Scope.

Procedure

  1. Verify if a new version of openstack-selinux is available in your repositories.
  2. If a new version of openstack-selinux is available, perform the following tasks:
    1. Build and deploy the updated container image as described in Building the Image Mode (bootc) container image in Customizing the Red Hat OpenStack Services on OpenShift deployment.
    2. Create an OpenStackDataPlaneDeployment CR to deploy the updated container image. The following is an example configuration:
      apiVersion: dataplane.openstack.org/v1beta1
      kind: OpenStackDataPlaneDeployment
      metadata:
        name: edpm-update-system-selinux
      spec:
        nodeSets:
          - edpm-compute-bootc
        servicesOverride:
          - update-system
          - reboot
        ansibleVars:
          edpm_update_system_bootc_os_container_image: "<container_image_url>"
      • Replace <container_image_url> with the full URL to the updated container image.
    3. Save the OpenStackDataPlaneDeployment CR file.
    4. Apply the OpenStackDataPlaneDeployment CR to your environment.
      $ oc apply -f <deployment_cr_file>
      • Replace <deployment_cr_file> with the name of the OpenStackDataPlaneDeployment CR file.
    5. Create an OpenStackDataPlaneDeployment CR to update the data plane services. The following is an example configuration:
      apiVersion: dataplane.openstack.org/v1beta1
      kind: OpenStackDataPlaneDeployment
      metadata:
        name: edpm-update-services-bootc
      spec:
        nodeSets:
          - edpm-compute-bootc
        servicesOverride:
          - update-services
    6. Save the OpenStackDataPlaneDeployment CR file.
    7. Apply the OpenStackDataPlaneDeployment CR to your environment.
      $ oc apply -f <deployment_cr_file>
      • Replace <deployment_cr_file> with the name of the OpenStackDataPlaneDeployment CR file.
  3. Build and deploy the updated Image Mode container image as described in Building the Image Mode (bootc) container image in Customizing the Red Hat OpenStack Services on OpenShift deployment.
  4. Create an OpenStackDataPlaneDeployment CR to deploy the updated Image Mode container image. The following is an example configuration:
    apiVersion: dataplane.openstack.org/v1beta1
    kind: OpenStackDataPlaneDeployment
    metadata:
      name: edpm-update-bootc
    spec:
      nodeSets:
        - edpm-compute-bootc
      servicesOverride:
        - update-system
        - reboot
      ansibleVars:
        # Specify the new bootc image to switch to
        edpm_update_system_bootc_os_container_image: "<container_image_url>"
    • Replace <container_image_url> with the full URL to the updated container image.
  5. Save the OpenStackDataPlaneDeployment CR file.
  6. Apply the OpenStackDataPlaneDeployment CR to your environment.
    $ oc apply -f <deployment_cr_file>
    • Replace <deployment_cr_file> with the name of the OpenStackDataPlaneDeployment CR file.
  7. Verify the update completes successfully.