Refactoring devices models

Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
This commit is contained in:
Francesco Torchia
2024-10-23 17:01:24 +02:00
parent 890686741f
commit 2ec5ebb373
4 changed files with 31 additions and 45 deletions
@@ -9,7 +9,7 @@ import CompatibilityMatrix from '../CompatibilityMatrix';
import DeviceList from './DeviceList';
import remove from 'lodash/remove';
import { get, set } from '@shell/utils/object';
import { set } from '@shell/utils/object';
export default {
name: 'VirtualMachineUSBDevices',
@@ -120,9 +120,8 @@ export default {
if (vm.metadata.name === this.vm?.metadata?.name) {
return inUse;
}
const devices = get(vm, 'spec.template.spec.domain.devices.hostDevices') || [];
devices.forEach((device) => {
vm.hostDevices.forEach((device) => {
inUse[device.name] = { usedBy: [vm.metadata.name] };
});
@@ -133,19 +132,14 @@ export default {
},
devicesByNode() {
const out = {};
return this.enabledDevices?.reduce((acc, device) => {
const name = device.status?.nodeName;
this.enabledDevices.forEach((deviceCRD) => {
const nodeName = deviceCRD.status?.nodeName;
if (!out[nodeName]) {
out[nodeName] = [deviceCRD];
} else {
out[nodeName].push(deviceCRD);
}
});
return out;
return name ? {
...acc,
[name]: [...(acc[name] || []), device],
} : acc;
}, {});
},
compatibleNodes() {