mirror of
https://github.com/harvester/harvester-ui-extension.git
synced 2025-12-13 13:11:43 +00:00
* fix: allow edit as yaml in create VM page if empty CPU or memory Signed-off-by: Andy Lee <andy.lee@suse.com> * refactor: remove getCPUMemoryValidation Signed-off-by: Andy Lee <andy.lee@suse.com> --------- Signed-off-by: Andy Lee <andy.lee@suse.com>
36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
import { HCI as HCI_ANNOTATIONS } from '@pkg/harvester/config/labels-annotations';
|
|
|
|
export function getVmCPUMemoryValues(vm) {
|
|
if (!vm) {
|
|
return {
|
|
cpu: null,
|
|
memory: null,
|
|
isHotplugEnabled: false
|
|
};
|
|
}
|
|
|
|
const isHotplugEnabled = isCPUMemoryHotPlugEnabled(vm);
|
|
const { sockets = 1, threads = 1, cores = null } = vm.spec.template.spec.domain.cpu || {};
|
|
const cpu = cores === null ? null : sockets * threads * cores;
|
|
|
|
if (isHotplugEnabled) {
|
|
return {
|
|
cpu,
|
|
memory: vm.spec.template.spec.domain?.memory?.guest || null,
|
|
maxCpu: vm.spec.template.spec.domain.cpu?.maxSockets || 0,
|
|
maxMemory: vm.spec.template.spec.domain?.memory?.maxGuest || null,
|
|
isHotplugEnabled
|
|
};
|
|
} else {
|
|
return {
|
|
cpu,
|
|
memory: vm.spec.template.spec.domain.resources?.limits?.memory || null,
|
|
isHotplugEnabled
|
|
};
|
|
}
|
|
}
|
|
|
|
export function isCPUMemoryHotPlugEnabled(vm) {
|
|
return vm?.metadata?.annotations[HCI_ANNOTATIONS.VM_CPU_MEMORY_HOTPLUG] === 'true' || !!vm?.spec?.template?.spec?.domain?.memory?.maxGuest || false;
|
|
}
|