Bug 2184440

Summary: [cnv-4.12] Need tunable featureGate to configure DisableMDEVConfiguration via HCO CR
Product: Container Native Virtualization (CNV) Reporter: Kedar Bidarkar <kbidarka>
Component: InstallationAssignee: Simone Tiraboschi <stirabos>
Status: CLOSED ERRATA QA Contact: Debarati Basu-Nag <dbasunag>
Severity: high Docs Contact:
Priority: high    
Version: 4.12.0CC: dbasunag, kmajcher, nunnatsa, stirabos
Target Milestone: ---Keywords: Reopened
Target Release: 4.12.4   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: CNV-v4.12.4-47 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-06-27 19:10:40 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2184435    
Bug Blocks:    

Description Kedar Bidarkar 2023-04-04 17:08:29 UTC
This bug was initially created as a copy of Bug #2184439

I am copying this bug because: 



Description of problem:

We need to Introduce a new feature gate DisableMDEVConfiguration at HCO CR level.

https://github.com/kubevirt/hyperconverged-cluster-operator/blob/main/api/v1beta1/hyperconverged_types.go#L295



]$ oc annotate --overwrite -n openshift-cnv hyperconverged kubevirt-hyperconverged kubevirt.kubevirt.io/jsonpatch='[{
      "op": "add",
      "path": "/spec/configuration/developerConfiguration/featureGates/-",
      "value": "DisableMDEVConfiguration"
  }]'

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

How reproducible:
Always

Steps to Reproduce:
1.
2.
3.

Actual results:
No way to configure "DisableMDEVConfiguration" FeatureGate

Expected results:
Need tunable featureGate to configure DisableMDEVConfiguration via HCO CR

Additional info:

Jira Issue for 4.14:  https://issues.redhat.com/browse/CNV-27645

Comment 1 Simone Tiraboschi 2023-04-04 21:18:19 UTC
This is not a bug fix but an RFE for the next release, please justify the business case otherwise let's defer to the next release.

Comment 3 Kedar Bidarkar 2023-04-28 12:28:06 UTC
Re-opening this bug, after discussing with Installation Team.

Note: The KubeVirt backport work for 4.12.z will be done as part of, https://bugzilla.redhat.com/show_bug.cgi?id=2184435

Comment 4 Krzysztof Majcher 2023-05-02 12:49:05 UTC
Moving this to 4.12.4 due to capacity. Kedar, please react if this is an issue.

Comment 6 Simone Tiraboschi 2023-05-31 10:29:18 UTC
https://github.com/kubevirt/kubevirt/pull/9690 landed on the upstream release-0.58 but we still lack a tagged upstream v0.58.1 release exposing it.
Do we have an ETA?

Comment 7 Simone Tiraboschi 2023-05-31 10:30:48 UTC
v0.58.2, sorry

Comment 9 Debarati Basu-Nag 2023-06-15 10:32:42 UTC
Verified against 4.12.4-50,

==========================
[cloud-user@ocp-ipi-executor-xl ~]$ oc get hco kubevirt-hyperconverged -n openshift-cnv -o json | jq ".status.versions
> "
[
  {
    "name": "operator",
    "version": "4.12.4"
  }
]
[cloud-user@ocp-ipi-executor-xl ~]$ oc get hco kubevirt-hyperconverged -n openshift-cnv -o json | jq ".spec"
{
  "certConfig": {
    "ca": {
      "duration": "48h0m0s",
      "renewBefore": "24h0m0s"
    },
    "server": {
      "duration": "24h0m0s",
      "renewBefore": "12h0m0s"
    }
  },
  "featureGates": {
    "deployTektonTaskResources": false,
    "disableMDevConfiguration": false,
    "enableCommonBootImageImport": true,
    "nonRoot": true,
    "withHostPassthroughCPU": false
  },
  "infra": {},
  "liveMigrationConfig": {
    "completionTimeoutPerGiB": 800,
    "parallelMigrationsPerCluster": 5,
    "parallelOutboundMigrationsPerNode": 2,
    "progressTimeout": 150
  },
  "uninstallStrategy": "BlockUninstallIfWorkloadsExist",
  "workloadUpdateStrategy": {
    "batchEvictionInterval": "1m0s",
    "batchEvictionSize": 10,
    "workloadUpdateMethods": [
      "LiveMigrate"
    ]
  },
  "workloads": {}
}
[cloud-user@ocp-ipi-executor-xl ~]$
[cloud-user@ocp-ipi-executor-xl ~]$ oc get kubevirt kubevirt-kubevirt-hyperconverged -n openshift-cnv -o json | jq ".spec.configuration.developerConfiguration"
{
  "diskVerification": {
    "memoryLimit": "2G"
  },
  "featureGates": [
    "DataVolumes",
    "SRIOV",
    "CPUManager",
    "CPUNodeDiscovery",
    "Snapshot",
    "HotplugVolumes",
    "ExpandDisks",
    "GPU",
    "HostDevices",
    "DownwardMetrics",
    "NUMA",
    "VMExport",
    "WithHostModelCPU",
    "HypervStrictCheck",
    "NonRoot"
  ]
}
[cloud-user@ocp-ipi-executor-xl ~]$ 
On setting it to true, value got propagated to Kubevirt
===================
[cloud-user@ocp-ipi-executor-xl ~]$ oc get hco kubevirt-hyperconverged -n openshift-cnv -o json | jq ".spec"
{
  "certConfig": {
    "ca": {
      "duration": "48h0m0s",
      "renewBefore": "24h0m0s"
    },
    "server": {
      "duration": "24h0m0s",
      "renewBefore": "12h0m0s"
    }
  },
  "featureGates": {
    "deployTektonTaskResources": false,
    "disableMDevConfiguration": true,
    "enableCommonBootImageImport": true,
    "nonRoot": true,
    "withHostPassthroughCPU": false
  },
[cloud-user@ocp-ipi-executor-xl ~]$ oc get kubevirt kubevirt-kubevirt-hyperconverged -n openshift-cnv -o json | jq ".spec"
{
  "certificateRotateStrategy": {
    "selfSigned": {
      "ca": {
        "duration": "48h0m0s",
        "renewBefore": "24h0m0s"
      },
      "server": {
        "duration": "24h0m0s",
        "renewBefore": "12h0m0s"
      }
    }
  },
  "configuration": {
    "developerConfiguration": {
      "diskVerification": {
        "memoryLimit": "2G"
      },
      "featureGates": [
        "DataVolumes",
        "SRIOV",
        "CPUManager",
        "CPUNodeDiscovery",
        "Snapshot",
        "HotplugVolumes",
        "ExpandDisks",
        "GPU",
        "HostDevices",
        "DownwardMetrics",
        "NUMA",
        "VMExport",
        "WithHostModelCPU",
        "HypervStrictCheck",
        "NonRoot",
        "DisableMDEVConfiguration"
      ]
    },

Comment 15 errata-xmlrpc 2023-06-27 19:10:40 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 (OpenShift Virtualization 4.12.4 Images), 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/RHEA-2023:3889