This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.2.4. Known issues
-
If you enable a MAC address pool for a namespace by applying the KubeMacPool label and using the
ioattribute for virtual machines in that namespace, theioattribute configuration is not retained for the VMs. As a workaround, do not use theioattribute for VMs. Alternatively, you can disable KubeMacPool for the namespace. (BZ#1869527) If container-native virtualization 2.3 is installed on your OpenShift Container Platform 4.4 cluster, upgrading the cluster to version 4.5 may cause a migrating virtual machine instance (VMI) to fail. This is because the virt-launcher Pod does not successfully notify the virt-handler Pod that migration has failed. The result is that the source VMI
migrationStateis not updated. (BZ#1859661)As a workaround, delete the virt-handler Pod on the source node where the VMI is running. This restarts the virt-handler Pod, which updates the VMI status and restarts VMI migration:
Find the name of the source node where the VMI is running:
oc get vmi -o wide
$ oc get vmi -o wideCopy to Clipboard Copied! Toggle word wrap Toggle overflow Delete the virt-handler Pod on the source node:
oc delete pod -n openshift-cnv --selector=kubevirt.io=virt-handler --field-selector=spec.nodeName=<source-node-name>
$ oc delete pod -n openshift-cnv --selector=kubevirt.io=virt-handler --field-selector=spec.nodeName=<source-node-name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Where <source-node-name> is the name of the source node that the VMI is migrating from.
Common templates in previous versions of OpenShift Virtualization had a default
spec.terminationGracePeriodSecondsvalue of0. Virtual machines created from these older common templates can encounter disk issues from being forcefully terminated.
If you upgrade to OpenShift Virtualization 2.4, both older and newer versions of common templates are available for each combination of operating system, workload, and flavor. When you create a virtual machine by using a common template, you must use the newer version of the template. Disregard the older version to avoid issues. (BZ#1859235)To verify if a virtual machine is affected by this bug, run the following command in the namespace of the virtual machine to determine the
spec.terminationGracePeriodSecondsvalue:oc get vm <virtual-machine-name> -o yaml | grep "terminationGracePeriodSeconds"
$ oc get vm <virtual-machine-name> -o yaml | grep "terminationGracePeriodSeconds"Copy to Clipboard Copied! Toggle word wrap Toggle overflow If the virtual machine has a
terminationGracePeriodSecondsvalue of0, patch the virtual machine config with aspec.terminationGracePeriodSecondsvalue of180for Linux virtual machines, or a value of3600for Windows virtual machines.oc patch vm <virtual-machine-name> --type merge -p '{"spec":{"template":{"spec":{"terminationGracePeriodSeconds":180}}}}'$ oc patch vm <virtual-machine-name> --type merge -p '{"spec":{"template":{"spec":{"terminationGracePeriodSeconds":180}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Running virtual machines that cannot be live migrated might block an OpenShift Container Platform cluster upgrade. This includes virtual machines that use hostpath-provisioner storage or SR-IOV network interfaces. As a workaround, you can reconfigure the virtual machines so that they can be powered off during a cluster upgrade. In the
specsection of the virtual machine configuration file:-
Remove the
evictionStrategy: LiveMigratefield. See Configuring virtual machine eviction strategy for more information on how to configure eviction strategy. -
Set the
runStrategyfield toAlways.
-
Remove the
-
For unknown reasons, memory consumption for the
containerDiskvolume type might gradually increase until it exceeds the memory limit. To resolve this issue, restart the VM. (BZ#1855067) Sometimes, when attempting to edit the subscription channel of the OpenShift Virtualization Operator in the web console, clicking the Channel button of the Subscription Overview results in a JavaScript error. (BZ#1796410)
As a workaround, trigger the upgrade process to OpenShift Virtualization 2.4 from the CLI by running the following
ocpatch command:export TARGET_NAMESPACE=openshift-cnv CNV_CHANNEL=2.4 && oc patch -n "${TARGET_NAMESPACE}" $(oc get subscription -n ${TARGET_NAMESPACE} --no-headers -o name) --type='json' -p='[{"op": "replace", "path": "/spec/channel", "value":"'${CNV_CHANNEL}'"}, {"op": "replace", "path": "/spec/installPlanApproval", "value":"Automatic"}]'$ export TARGET_NAMESPACE=openshift-cnv CNV_CHANNEL=2.4 && oc patch -n "${TARGET_NAMESPACE}" $(oc get subscription -n ${TARGET_NAMESPACE} --no-headers -o name) --type='json' -p='[{"op": "replace", "path": "/spec/channel", "value":"'${CNV_CHANNEL}'"}, {"op": "replace", "path": "/spec/installPlanApproval", "value":"Automatic"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow This command points your subscription to upgrade channel
2.4and enables automatic updates.
After migration, a virtual machine is assigned a new IP address. However, the commands
oc get vmiandoc describe vmistill generate output containing the obsolete IP address. (BZ#1686208)As a workaround, view the correct IP address by running the following command:
oc get pod -o wide
$ oc get pod -o wideCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Live migration fails when nodes have different CPU models. Even in cases where nodes have the same physical CPU model, differences introduced by microcode updates have the same effect. This is because the default settings trigger host CPU passthrough behavior, which is incompatible with live migration. (BZ#1760028)
As a workaround, set the default CPU model in the
kubevirt-configConfigMap, as shown in the following example:注意You must make this change before starting the virtual machines that support live migration.
Open the
kubevirt-configConfigMap for editing by running the following command:oc edit configmap kubevirt-config -n openshift-cnv
$ oc edit configmap kubevirt-config -n openshift-cnvCopy to Clipboard Copied! Toggle word wrap Toggle overflow Edit the ConfigMap:
kind: ConfigMap metadata: name: kubevirt-config data: default-cpu-model: "<cpu-model>"
kind: ConfigMap metadata: name: kubevirt-config data: default-cpu-model: "<cpu-model>"1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Replace
<cpu-model>with the actual CPU model value. You can determine this value by runningoc describe node <node>for all nodes and looking at thecpu-model-<name>labels. Select the CPU model that is present on all of your nodes.
OpenShift Virtualization cannot reliably identify node drains that are triggered by running either
oc adm drainorkubectl drain. Do not run these commands on the nodes of any clusters where OpenShift Virtualization is deployed. The nodes might not drain if there are virtual machines running on top of them.- The current solution is to put nodes into maintenance.
- You must create a custom ConfigMap in order to import a Red Hat Virtualization (RHV) VM into OpenShift Virtualization.
- You cannot import a RHV VM if the target VM name exceeds 63 characters. (BZ#1857165)
-
If the OpenShift Virtualization storage PV is not suitable for importing a RHV VM, the progress bar remains at 10% and the import does not complete. The VM Import Controller Pod log displays the following error message:
Failed to bind volumes: provisioning failed for PVC. (BZ#1857784) If you enter the wrong credentials for the RHV Manager while importing a RHV VM, the Manager might lock the admin user account because the
vm-import-operatortries repeatedly to connect to the RHV API. To unlock the account, log in to the Manager and enter the following command:ovirt-aaa-jdbc-tool user unlock admin
$ ovirt-aaa-jdbc-tool user unlock adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
If a RHV VM disk is in a
Lockedstate, you must unlock the disk before you can import it. -
cloud-initsettings are not imported with a RHV virtual machine. You must recreatecloud-initafter the import process.
- OpenShift Virtualization does not support UEFI. If you import a VMware VM with UEFI BIOS into OpenShift Virtualization, the VM will not boot. (BZ#1880083)