Skip to content

OpenShift Virtualization: add hyperconverged v1 API - #491

Open
nunnatsa wants to merge 1 commit into
NVIDIA:mainfrom
nunnatsa:hco-v1
Open

OpenShift Virtualization: add hyperconverged v1 API#491
nunnatsa wants to merge 1 commit into
NVIDIA:mainfrom
nunnatsa:hco-v1

Conversation

@nunnatsa

@nunnatsa nunnatsa commented Sep 9, 2026

Copy link
Copy Markdown

OpenShift virtualization v4.22.0 introduced the new v1 API version for the HyperConverged kind. This API version is not backward compatible with the older v1beta1 API version.

The v1beta1 API version will be deprecated, and later removed from OpenShift Virtualization.

This PR adding the v1 API tab, whenever the v1beta1 format is already used in the documents.

Note: In OpenShift Virtualization v4.22.x, because of the unchangeable way Kubernetes prioritizes API versions, using a non-versioned name of the HyperConverged custom resource, i.e. hyperconverged or hco, will make Kubernetes to use the v1 API version. It is recomanded to use the fully versioned named for v1beta1, i.e.
hyperconvergeds.v1beta1.hco.kubevirt.io.

@nunnatsa

nunnatsa commented Sep 9, 2026

Copy link
Copy Markdown
Author

/cc @mikemckiernan

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

Documentation preview

https://nvidia.github.io/cloud-native-docs/review/pr-491

@mikemckiernan mikemckiernan left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the update! PLMK what I can clarify.

Comment thread openshift/openshift-virtualization.rst Outdated
* `Install the OpenShift Virtualization Operator <https://docs.redhat.com/en/documentation/openshift_container_platform/latest/html/virtualization/installing>`__.
* `Install the virtctl client <https://docs.redhat.com/en/documentation/openshift_container_platform/latest/html/virtualization/getting-started#installing-virtctl_virt-using-the-cli-tools>`__.
* Starting with OpenShift Virtualization 4.12.3 and 4.13.0, set the ``disableMDevConfiguration`` feature gate:
* Starting with OpenShift Virtualization 4.12.3 and 4.13.0, disable MDev Configurations

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Starting with OpenShift Virtualization 4.12.3 and 4.13.0, disable MDev Configurations
* You must disable mediated device virtualization to prevent conflicts with the Operator:
  • These releases seem to be in the distant past.
  • That's an AI proposed reason, please check the true rationale.
  • Rereading this now, this seems like it might more accurately be a step in a procedure than a prereq. (Up to you.)

@lyarwood lyarwood Sep 10, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's still required, otherwise OpenShift Virtualization itself will try to manage these devices. I'd reword the suggested change to highlight this.

You must disable OpenShift Virtualization mediated device management to prevent conflicts with the GPU Operator:

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @lyarwood !

Comment thread openshift/openshift-virtualization.rst Outdated
.. code-block:: console

hyperconverged.hco.kubevirt.io/kubevirt-hyperconverged patched
$ kubectl patch hyperconverged -n openshift-cnv kubevirt-hyperconverged --type='merge' \

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not oc? Up to you, no matter to me.

Comment thread openshift/openshift-virtualization.rst Outdated
Comment on lines +141 to +147
.. note::

in OpenShit Virtualization v4.22.x, use the full versioned name for the hyperconverged custom resource:

.. code-block:: console

$ kubectl patch hyperconvergeds.v1beta1.hco.kubevirt.io -n openshift-cnv kubevirt-hyperconverged --type='json' -p='[{"op": "add", "path": "/spec/featureGates/disableMDevConfiguration", "value": true}]'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel for OCP support folks that they need to support (test?) all these combinations. Is there truly no more limited support matrix?

Because all three commands are unique, I think it'll present clearest if this is a labelled tab too. Something like "OpenShift Virtualization v4.22.x"

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes...

But we're in the middle of a process to replace the API. this is the price I guess.

OpenShift virtualization v4.22.0 introduced the new v1 API version
for the `HyperConverged` kind. This API version is not backward
compatible with the older `v1beta1` API version.

The `v1beta1` API version will be deprecated, and later removed from
OpenShift Virtualization.

This PR adding the v1 API tab, whenever the v1beta1 format is already
used in the documents.

Note: In OpenShift Virtualization v4.22.x, because of the unchangeable
way Kubernetes prioritizes API versions, using a non-versioned name of
the HyperConverged custom resource, i.e. `hyperconverged` or `hco`,
will make Kubernetes to use the v1 API version. It is recomanded to use
the fully versioned named for v1beta1, i.e.
`hyperconvergeds.v1beta1.hco.kubevirt.io`.

Signed-off-by: Nahshon Unna Tsameret <[email protected]>
@nunnatsa

Copy link
Copy Markdown
Author

Thanks for the review @mikemckiernan. Fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants