From a2898a25540683e49f7e7b1c5e032bce26e5d36b Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 19 May 2025 10:19:43 +0800 Subject: [PATCH] Change isKVMDisable condition (#294) (#304) * change condition to check isKVMDisable * change condition eq 0 * add allNotExist back --------- (cherry picked from commit aa9dd32cce62fd52bb171f4c06336817ea6762e7) Signed-off-by: Andy Lee Co-authored-by: Andy Lee --- pkg/harvester/config/labels-annotations.js | 1 + pkg/harvester/models/harvester/node.js | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/pkg/harvester/config/labels-annotations.js b/pkg/harvester/config/labels-annotations.js index e52e577e..3cc0e693 100644 --- a/pkg/harvester/config/labels-annotations.js +++ b/pkg/harvester/config/labels-annotations.js @@ -66,4 +66,5 @@ export const HCI = { VM_DEVICE_ALLOCATION_DETAILS: 'harvesterhci.io/deviceAllocationDetails', SVM_BACKUP_ID: 'harvesterhci.io/svmbackupId', DISABLE_LONGHORN_V2_ENGINE: 'node.longhorn.io/disable-v2-data-engine', + K8S_ARCH: 'kubernetes.io/arch' }; diff --git a/pkg/harvester/models/harvester/node.js b/pkg/harvester/models/harvester/node.js index 5ffbe41b..3370816c 100644 --- a/pkg/harvester/models/harvester/node.js +++ b/pkg/harvester/models/harvester/node.js @@ -186,9 +186,16 @@ export default class HciNode extends HarvesterResource { } get isKVMDisable() { + // Arm based + const isARMMachine = this.metadata.labels?.[HCI_ANNOTATIONS.K8S_ARCH]?.includes('arm'); + + if (isARMMachine) { + return this.status.capacity['devices.kubevirt.io/kvm'] && this.status.capacity['devices.kubevirt.io/kvm'] === '0'; + } + const allNotExist = !this.metadata?.labels?.[HCI_ANNOTATIONS.KVM_AMD_CPU] && !this.metadata?.labels?.[HCI_ANNOTATIONS.KVM_INTEL_CPU]; - return this.metadata?.labels?.[HCI_ANNOTATIONS.KVM_AMD_CPU] === 'false' || this.metadata?.labels?.[HCI_ANNOTATIONS.KVM_INTEL_CPU] === 'false' || allNotExist; + return allNotExist || this.metadata?.labels?.[HCI_ANNOTATIONS.KVM_AMD_CPU] === 'false' || this.metadata?.labels?.[HCI_ANNOTATIONS.KVM_INTEL_CPU] === 'false'; } get stateDisplay() {