Bug 2239786

Summary: HCO creates the MTQ CR on a single node cluster
Product: Container Native Virtualization (CNV) Reporter: Nahshon Unna-Tsameret <nunnatsa>
Component: InstallationAssignee: Nahshon Unna-Tsameret <nunnatsa>
Status: CLOSED ERRATA QA Contact: Debarati Basu-Nag <dbasunag>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.14.0CC: dbasunag, stirabos
Target Milestone: ---   
Target Release: 4.14.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: v4.14.0.rhel9-2029 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-11-08 14:06:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Nahshon Unna-Tsameret 2023-09-20 07:53:09 UTC
Description of problem: MTQ is not supported in SNO cluster and should not be activated. HCO should not create the MTQ CR on these clusters. But now it does


Version-Release number of selected component (if applicable): 4.14.0


How reproducible:


Steps to Reproduce:
1. Install Openshift Virtualization on an SNO cluster
2. Set the "enableManagedTenantQuota" feature gate in the HypeConverged CR


Actual results:
The MTQ CR is created, bu never become ready. It requires two pods of its controller and two pods of mtq-lock, but only one is created for each one of them.

Expected results:
MTQ CR should not be created, and so no MTQ pod should be created either (except for the operator, that is created by OLM).

Additional info:

Comment 1 Debarati Basu-Nag 2023-09-25 21:37:03 UTC
Against v4.14.0.rhel9-2076:
(cnv-tests-4-13-py3.8) [cloud-user@ocp-psi-executor cnv-tests]$ oc edit hco kubevirt-hyperconverged -n openshift-cnv 
error: hyperconvergeds.hco.kubevirt.io "kubevirt-hyperconverged" could not be patched: admission webhook "validate-hco.kubevirt.io" denied the request: the EnableManagedTenantQuota feature gate is only supported on highly available clusters
You can run `oc replace -f /tmp/oc-edit-658868708.yaml` to try this update again.
(cnv-tests-4-13-py3.8) [cloud-user@ocp-psi-executor cnv-tests]$ 


However I do see the operator pod present even with mtq disabled, is this expected?
======================
(cnv-tests-4-13-py3.8) [cloud-user@ocp-psi-executor cnv-tests]$ oc get pod -n openshift-cnv | grep mtq
mtq-operator-7589894fd7-xfz87                         1/1     Running   0             85m
(cnv-tests-4-13-py3.8) [cloud-user@ocp-psi-executor cnv-tests]$ oc get nodes
NAME                                        STATUS   ROLES                         AGE    VERSION
ip-10-0-14-111.us-east-2.compute.internal   Ready    control-plane,master,worker   127m   v1.27.6+1648878
(cnv-tests-4-13-py3.8) [cloud-user@nunnatsa

Comment 2 Nahshon Unna-Tsameret 2023-09-26 06:22:55 UTC
@dbasunag - the MTQ operator is deployed by OLM, and so it's always there. The other two (mtq-lock and mtq-controller, each with 2 replicas), are only start when the MTQ CR is deployed by HCO.

Comment 3 Debarati Basu-Nag 2023-09-26 13:11:12 UTC
Marking as verified, based on clarifications from Nahshon.

Comment 5 errata-xmlrpc 2023-11-08 14:06:16 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Important: OpenShift Virtualization 4.14.0 Images security and bug fix update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2023:6817