Bug 2217472

Summary: VM is not catching machine type from Kubevirt
Product: Container Native Virtualization (CNV) Reporter: Akriti Gupta <akrgupta>
Component: VirtualizationAssignee: Antonio Cardace <acardace>
Status: VERIFIED --- QA Contact: Kedar Bidarkar <kbidarka>
Severity: high Docs Contact:
Priority: high    
Version: 4.14.0CC: zpeng
Target Milestone: ---Keywords: Regression
Target Release: 4.14.0Flags: acardace: needinfo? (akrgupta)
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: hco-bundle-registry-container-v4.14.0.rhel9-1546 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 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 Akriti Gupta 2023-06-26 11:33:48 UTC
Description of problem: When creating a VM on 4.14 without explixitely mentioning machineType, it does not pick-up default from Kubevirt CR 

[akriti@fedora ~]$ oc get vm vm1-rhel87-ocs -o yaml | grep -A 2 machine*
        machine:
          type: q35
[akriti@fedora ~]$ oc get kubevirt kubevirt-kubevirt-hyperconverged -n openshift-cnv -o yaml | grep machineType
    machineType: pc-q35-rhel9.2.0


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


How reproducible:


Steps to Reproduce:
1. create a vm , without explicitely mentioning machineType
2. check default machineType onm running VM 
3.

Actual results:
      machine:
          type: q35

Expected results:
      machine:
          type: pc-q35-rhel9.2.0 

Additional info:

Comment 1 Antonio Cardace 2023-07-13 09:19:36 UTC
@akrgupta thanks for filing this, the culprit is this PR https://github.com/kubevirt/kubevirt/pull/8293 which changed KubeVirt to ignore `spec.configuration.machineType` in favor of the new arch-specific configuration in `spec.configuration.architectureConfiguration.amd64.machineType`.

While I fix this you can just use the new field as a workaround.

To fix it I'll do 2 PRs, the first downstream to use the new field by default and another one to still take into account the old field while declaring it as deprecated.

Comment 2 zhe peng 2023-08-10 03:36:39 UTC
verify with build: CNV-v4.14.0.rhel9-1553

1. check default from kubevirt CR
$ oc get kubevirt kubevirt-kubevirt-hyperconverged -n openshift-cnv -o yaml | grep machineType
        machineType: pc-q35-rhel9.2.0
    machineType: pc-q35-rhel9.2.0

2. create a vm with default setting
check default machineType on  VM 
$ oc get vm vm-fedora -o yaml | grep -A 2 machine*
        machine:
          type: pc-q35-rhel9.2.0
        resources:

move to verified.