From 571fd18793093f8644e5d5bd0a2ac493d6e04de7 Mon Sep 17 00:00:00 2001 From: Liran Rotenberg Date: Thu, 21 Dec 2023 17:14:42 +0200 Subject: [PATCH] Add a custom CPU warning The validation will now check if the VM is set with custom CPU model and show it to the user. Signed-off-by: Liran Rotenberg --- .../forklift/ovirt/cpu_custom_model.rego | 16 ++++++++++++++++ .../forklift/ovirt/cpu_custom_model_test.rego | 15 +++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 validation/policies/io/konveyor/forklift/ovirt/cpu_custom_model.rego create mode 100644 validation/policies/io/konveyor/forklift/ovirt/cpu_custom_model_test.rego 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