Skip to content

Commit

Permalink
Fix cluster-wide MachineType (#2437)
Browse files Browse the repository at this point in the history
Since kubevirt/kubevirt#8293 there is a new
field for setting the cluster-wide MachineType, let's use that
along the old one (for compatibility reasons).

Signed-off-by: Antonio Cardace <acardace@redhat.com>
  • Loading branch information
acardace committed Jul 25, 2023
1 parent 8eb5795 commit 4882a8a
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 0 deletions.
13 changes: 13 additions & 0 deletions controllers/operands/kubevirt.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,11 @@ const (
machineTypeEnvName = "MACHINETYPE"
)

const (
DefaultAMD64OVMFPath = "/usr/share/OVMF"
DefaultAMD64EmulatedMachines = "q35*,pc-q35*"
)

var (
useKVMEmulation = false
)
Expand Down Expand Up @@ -426,6 +431,14 @@ func getKVConfig(hc *hcov1beta1.HyperConverged) (*kubevirtcorev1.KubeVirtConfigu
if val, ok := os.LookupEnv(machineTypeEnvName); ok {
if val = strings.TrimSpace(val); val != "" {
config.MachineType = val

config.ArchitectureConfiguration = &kubevirtcorev1.ArchConfiguration{
Amd64: &kubevirtcorev1.ArchSpecificConfiguration{
MachineType: val,
OVMFPath: DefaultAMD64OVMFPath,
EmulatedMachines: strings.Split(DefaultAMD64EmulatedMachines, ","),
},
}
}
}

Expand Down
7 changes: 7 additions & 0 deletions controllers/operands/kubevirt_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,7 @@ Version: 1.2.3`)
Expect(*foundResource.Spec.Configuration.DeveloperConfiguration.DiskVerification.MemoryLimit).Should(Equal(kvDiskVerificationMemoryLimit))

Expect(foundResource.Spec.Configuration.MachineType).Should(Equal("machine-type"))
Expect(foundResource.Spec.Configuration.ArchitectureConfiguration.Amd64.MachineType).Should(Equal("machine-type"))

Expect(foundResource.Spec.Configuration.SMBIOSConfig).ToNot(BeNil())
Expect(foundResource.Spec.Configuration.SMBIOSConfig.Family).Should(Equal("smbios family"))
Expand Down Expand Up @@ -309,6 +310,11 @@ Version: 1.2.3`)
FeatureGates: []string{"wrongFG1", "wrongFG2", "wrongFG3"},
}
existKv.Spec.Configuration.MachineType = "wrong machine type"
existKv.Spec.Configuration.ArchitectureConfiguration = &kubevirtcorev1.ArchConfiguration{
Amd64: &kubevirtcorev1.ArchSpecificConfiguration{
MachineType: "wrong machine type",
},
}
existKv.Spec.Configuration.SMBIOSConfig = &kubevirtcorev1.SMBiosConfiguration{
Family: "wrong family",
Product: "wrong product",
Expand Down Expand Up @@ -365,6 +371,7 @@ Version: 1.2.3`)
))

Expect(foundResource.Spec.Configuration.MachineType).Should(Equal("machine-type"))
Expect(foundResource.Spec.Configuration.ArchitectureConfiguration.Amd64.MachineType).Should(Equal("machine-type"))

Expect(foundResource.Spec.Configuration.SMBIOSConfig).ToNot(BeNil())
Expect(foundResource.Spec.Configuration.SMBIOSConfig.Family).Should(Equal("smbios family"))
Expand Down

0 comments on commit 4882a8a

Please sign in to comment.