Managing the OpenShift Virtualization add-on
Virtual Private Cloud 4.21 and later Bare metal worker nodes only RHCOS only
The openshift-virtualization add-on provides a one-click experience to set up the virtualization platform on Red Hat OpenShift on IBM Cloud for VPC with Satellite-enabled services (ROVS) clusters. This add-on is automatically enabled
by default on all ROVS clusters.
This service is currently available as a beta release. Access is controlled by an allowlist. During the beta period, only console-based cluster creation is supported.
Understanding the OpenShift Virtualization add-on
The OpenShift Virtualization add-on orchestrates the deployment and management of the following operators to enable virtual machine capabilities in your ROVS cluster:
- OpenShift Virtualization Operator (Hyperconverged)
- Provides the core virtualization capabilities for running and managing virtual machines. For more information, see Installing OpenShift Virtualization.
- NMState Operator
- Manages network configuration for virtual machines and nodes. For more information, see About the Kubernetes NMState Operator.
- Node Maintenance Operator
- Handles node maintenance operations for virtual machine workloads. For more information, see Node Maintenance Operator.
Installation of these operators from Red Hat OperatorHub is blocked on ROVS clusters. The add-on manages all operator installations and updates.
Add-on characteristics
The OpenShift Virtualization add-on has the following characteristics:
- Automatic enablement
- The add-on is automatically enabled when you create a ROVS cluster. You cannot manually enable the add-on through the CLI or console.
- Cannot be disabled
- Disabling the add-on is not supported. The option is not available in the console, and attempting to disable it through the CLI results in an error.
- No configuration options
- The add-on has no user-configurable parameters.
- Version binding
- The add-on version is bound to the ROVS cluster version (for example, 4.21). The add-on supports the current minor version and the next minor version (n+1). For example, add-on version 4.21 can be used with ROVS versions 4.21 and 4.22.
- Automatic patch updates
- Patch updates are applied automatically to your cluster using the Automatic Approval strategy. IBM notifies you at least one week before production rollout with change details. All dependent operators are updated automatically
if new versions exist in the mirrored operator catalog. The add-on uses the
stablechannel for all operator updates. - Manual version upgrades
- To upgrade the add-on to a newer version (for example, from 4.20 to 4.21), you must first upgrade your ROVS cluster to the target version, then manually update the add-on version using the CLI command
ibmcloud ks cluster addon update openshift-virtualization --cluster <cluster_name_or_id> --version <version>. - Update channel
- The add-on uses the
stablechannel for updates, which provides Z-stream updates for bug fixes and security issues. - Version compatibility
- Each add-on version supports the current ROVS version (n) and the next minor version (n+1). For example, add-on version 4.20 supports ROVS versions 4.20 and 4.21.
- Custom catalog
- A custom catalog with mirrored dependent operators is set up automatically during add-on enablement and is placed in the
openshift-marketplacenamespace.
Installed resources
When the add-on is enabled, the following resources are created:
- Parent operator namespace
- The
ibm-openshift-virt-operatornamespace contains all resources related to the parent operator, including a custom resource of typeibmopenshiftvirtualizations.openshiftvirt.ibm.io. - Custom catalog
- The custom catalog is placed in the
openshift-marketplacenamespace. - Dependent operators
- The parent operator acts as a meta operator and installs the following dependent operators during reconciliation:
- OpenShift Virtualization (in the
openshift-cnvnamespace) - NMState (in the
openshift-nmstatenamespace) - Node Maintenance Operator (in the
openshift-operatorsnamespace)
- OpenShift Virtualization (in the
Viewing add-on information
If the feature flag is enabled for your account, you can view information about the OpenShift Virtualization add-on by using the CLI. If the feature flag is not enabled, use the console and cluster details to review add-on status instead.
Listing installed add-ons
List all add-ons that are installed in your ROVS cluster.
ibmcloud ks cluster addon ls --cluster <cluster_name_or_id>
Example output:
Name Version Health State Health Status
ibm-storage-operator 1.0 normal Addon Ready. For more info: http://ibm.biz/addon-state (H1500)
openshift-virtualization 4.21 normal Addon Ready. For more info: http://ibm.biz/addon-state (H1500)
Getting add-on details
If the feature flag is enabled for your account, get detailed information about the OpenShift Virtualization add-on.
ibmcloud ks cluster addon get --addon openshift-virtualization --cluster <cluster_name_or_id>
Example output:
name: openshift-virtualization
Version: 4.21
Health State: normal
Health Status: Addon Ready. For more info: http://ibm.biz/addon-state (H1500)
Listing available add-on versions
If the feature flag is enabled for your account, list the available versions of the OpenShift Virtualization add-on.
ibmcloud ks cluster addon versions --addon openshift-virtualization
Example output:
Name Version Supported Kubernetes Range Supported OpenShift Range Kubernetes Default OpenShift Default
openshift-virtualization 4.19 unsupported >=4.19.0 <4.21.0 - >=4.19.0 <4.21.0
openshift-virtualization 4.21 unsupported >=4.21.0 <4.23.0 - >=4.21.0 <4.23.0
This output shows which ROVS versions are supported by each add-on version.
Checking for configuration options
If the feature flag is enabled for your account, you can confirm that the OpenShift Virtualization add-on does not support configuration options.
ibmcloud ks cluster addon options --addon openshift-virtualization
Example output:
FAILED
No addon installation options are available for openshift-virtualization.
Updating the add-on
The OpenShift Virtualization add-on supports two types of updates:
Automatic patch updates
Patch updates (such as from 4.21.1 to 4.21.2) are applied automatically to all clusters. These updates include bug fixes and security patches. IBM provides at least one week advance notification before rolling out patch updates to production.
The automatic patch update process does the following:
- Restarts the parent operator
- Reconciles the catalog source
- Updates all child operators based on the
stablechannel subscription
Manual version upgrades
To upgrade the OpenShift Virtualization add-on to a newer minor version (such as from 4.20 to 4.21), you must first upgrade your ROVS cluster to the target version. If the feature flag is not enabled for your account, contact IBM Support before you attempt the CLI update.
-
Upgrade your ROVS cluster to the target version. For more information, see Updating clusters.
-
After the cluster upgrade is complete, update the add-on to the matching version.
ibmcloud ks cluster addon update openshift-virtualization --cluster <cluster_name_or_id> --version <version>For example, to update to version 4.21:
ibmcloud ks cluster addon update openshift-virtualization --cluster my-rovs-cluster --version 4.21
It is highly recommended to update the add-on version to match your cluster version for optimal compatibility and support.
Disabling the add-on
Disabling the OpenShift Virtualization add-on is not supported on ROVS clusters (Phase 1). The add-on is a core component of the Virtualization Service and cannot be removed. If the feature flag is enabled for your account and you attempt the CLI command, the command results in an error.
ibmcloud ks cluster addon disable openshift-virtualization --cluster <cluster_name_or_id>
Support for add-on uninstallation is planned for standard ROKS clusters in Phase 2.
Troubleshooting the add-on
If you encounter issues with the OpenShift Virtualization add-on, gather the following information before opening a support case.
Gathering add-on information
Run the following commands to gather details about the OpenShift Virtualization add-on and its dependent operators.
-
Get the IBM OpenShift Virtualization custom resource.
oc get ibmopenshiftvirtualizations.openshiftvirt.ibm.io -n ibm-openshift-virt-operator -o yaml -
List all resources in the parent operator namespace.
oc get all -n ibm-openshift-virt-operator -
Check the OpenShift Virtualization operator status.
oc get csv -n openshift-cnv -
Get the HyperConverged resource details.
oc get hco -n openshift-cnv kubevirt-hyperconverged -o yaml -
List all resources in the OpenShift Virtualization namespace.
oc get all -n openshift-cnv -
Check the NMState operator status.
oc get csv -n openshift-nmstate -
List all resources in the NMState namespace.
oc get all -n openshift-nmstate -
Get the NMState resource details.
oc get nmstate nmstate -o yaml -
List NodeNetworkConfigurationPolicy resources.
oc get nncp -
Check the Node Maintenance Operator status.
oc get csv -n openshift-operators -
List all resources in the operators namespace.
oc get all -n openshift-operators -
Check the custom catalog source.
oc get catalogsource custom-redhat-operators-openshiftvirt -n openshift-marketplace -
List package manifests from the custom catalog.
oc get packagemanifests -n openshift-marketplace | grep "Custom Redhat Operators for Openshift Virtualization"
Opening a support case
If your issue is not resolved, open a support case and include the output from the troubleshooting commands. For more information, see Getting support.