diff --git a/validation/policies/io/konveyor/forklift/ovirt/cpu_custom_model.rego b/validation/policies/io/konveyor/forklift/ovirt/cpu_custom_model.rego new file mode 100644 index 000000000..0f8fe7552 --- /dev/null +++ b/validation/policies/io/konveyor/forklift/ovirt/cpu_custom_model.rego @@ -0,0 +1,16 @@ +package io.konveyor.forklift.ovirt + +default custom_cpu_model = false + +custom_cpu_model = true { + count(input.customCpuModel) != 0 +} + +concerns[flag] { + custom_cpu_model + flag := { + "category": "Warning", + "label": "Custom CPU Model detected", + "assessment": "The VM is configured with a custom CPU model. This configuration will apply to the migrated VM and may not be supported by OpenShift Virtualization." + } +} \ No newline at end of file diff --git a/validation/policies/io/konveyor/forklift/ovirt/cpu_custom_model_test.rego b/validation/policies/io/konveyor/forklift/ovirt/cpu_custom_model_test.rego new file mode 100644 index 000000000..94cb69161 --- /dev/null +++ b/validation/policies/io/konveyor/forklift/ovirt/cpu_custom_model_test.rego @@ -0,0 +1,15 @@ +package io.konveyor.forklift.ovirt + +test_without_customcpu { + mock_vm := { "name": "test" } + results = concerns with input as mock_vm + count(results) == 0 +} + +test_with_customcpu { + mock_vm := { "name": "test", + "customCpuModel": "Icelake-Server-noTSX,-mpx" + } + results = concerns with input as mock_vm + count(results) == 1 +} \ No newline at end of file