diff --git a/pkg/harvester/detail/kubevirt.io.virtualmachine/index.vue b/pkg/harvester/detail/kubevirt.io.virtualmachine/index.vue index b9565aff..9d87c2d1 100644 --- a/pkg/harvester/detail/kubevirt.io.virtualmachine/index.vue +++ b/pkg/harvester/detail/kubevirt.io.virtualmachine/index.vue @@ -18,6 +18,7 @@ import { getLatestMigration } from '../../utils/vm'; import CloudConfig from '../../edit/kubevirt.io.virtualmachine/VirtualMachineCloudConfig'; import Volume from '../../edit/kubevirt.io.virtualmachine/VirtualMachineVolume'; +import VMPerformanceOptions from '../../edit/kubevirt.io.virtualmachine/VirtualMachineVolume/VMPerformanceOptions'; import Network from '../../edit/kubevirt.io.virtualmachine/VirtualMachineNetwork'; import AccessCredentials from '../../edit/kubevirt.io.virtualmachine/VirtualMachineAccessCredentials'; import Events from './VirtualMachineTabs/VirtualMachineEvents'; @@ -40,6 +41,7 @@ export default { OverviewBasics, LabelValue, Volume, + VMPerformanceOptions, Network, OverviewKeypairs, CloudConfig, @@ -253,9 +255,15 @@ export default { :namespace="value.metadata.namespace" :vm="value" :resource-type="value.type" + /> + diff --git a/pkg/harvester/edit/harvesterhci.io.virtualmachinetemplateversion.vue b/pkg/harvester/edit/harvesterhci.io.virtualmachinetemplateversion.vue index aa4fd34f..2500cb11 100644 --- a/pkg/harvester/edit/harvesterhci.io.virtualmachinetemplateversion.vue +++ b/pkg/harvester/edit/harvesterhci.io.virtualmachinetemplateversion.vue @@ -21,6 +21,7 @@ import { HCI } from '../types'; import VM_MIXIN from '../mixins/harvester-vm'; import Reserved from './kubevirt.io.virtualmachine/VirtualMachineReserved'; import Volume from './kubevirt.io.virtualmachine/VirtualMachineVolume'; +import VMPerformanceOptions from './kubevirt.io.virtualmachine/VirtualMachineVolume/VMPerformanceOptions'; import Network from './kubevirt.io.virtualmachine/VirtualMachineNetwork'; import CpuMemory from './kubevirt.io.virtualmachine/VirtualMachineCpuMemory'; import CpuModel from './kubevirt.io.virtualmachine/VirtualMachineCpuModel'; @@ -37,6 +38,7 @@ export default { Tab, SSHKey, Volume, + VMPerformanceOptions, Tabbed, Network, Checkbox, @@ -390,9 +392,6 @@ export default { > + + +<<<<<<< HEAD - - { expect(wrapper.emitted('update')).toHaveLength(1); }); + + it('should not render an empty row when there is no backup to show', () => { + const wrapper = mount(HarvesterEditContainer, mountOptions()); + const emptyRows = wrapper.findAll('.row').filter((row) => row.element.children.length === 0); + + expect(emptyRows).toHaveLength(0); + }); }); diff --git a/pkg/harvester/edit/kubevirt.io.virtualmachine/VirtualMachineVolume/type/__tests__/HarvesterEditVMImage.test.ts b/pkg/harvester/edit/kubevirt.io.virtualmachine/VirtualMachineVolume/type/__tests__/HarvesterEditVMImage.test.ts index e627543a..1cee8229 100644 --- a/pkg/harvester/edit/kubevirt.io.virtualmachine/VirtualMachineVolume/type/__tests__/HarvesterEditVMImage.test.ts +++ b/pkg/harvester/edit/kubevirt.io.virtualmachine/VirtualMachineVolume/type/__tests__/HarvesterEditVMImage.test.ts @@ -133,4 +133,30 @@ describe('component: HarvesterEditVMImage', () => { expect(wrapper.emitted('update')).toHaveLength(1); }); + + it('should not render an empty row when there is no backup to show', () => { + const wrapper = mount(HarvesterEditVMImage, { + props: { + mode: _CREATE, + isVirtualType: false, + newCreateId: '123', + validateRequired: true, + idx: 1 + }, + global: { + mocks: { + $store: { + getters: { + 'harvester-common/getFeatureEnabled': () => true, + 'harvester/all': jest.fn(), + 'i18n/t': jest.fn(), + } + }, + } + } + }); + const emptyRows = wrapper.findAll('.row').filter((row) => row.element.children.length === 0); + + expect(emptyRows).toHaveLength(0); + }); }); diff --git a/pkg/harvester/edit/kubevirt.io.virtualmachine/VirtualMachineVolume/type/container.vue b/pkg/harvester/edit/kubevirt.io.virtualmachine/VirtualMachineVolume/type/container.vue index 830de50f..6bf86f54 100644 --- a/pkg/harvester/edit/kubevirt.io.virtualmachine/VirtualMachineVolume/type/container.vue +++ b/pkg/harvester/edit/kubevirt.io.virtualmachine/VirtualMachineVolume/type/container.vue @@ -132,11 +132,11 @@ export default { -
-
+
+
-
-
+
+
+ + R.type === 'disk' && R.bus === 'virtio'); + }, + + hasDedicatedIOThread() { + return (this.diskRows || []).some((R) => R.dedicatedIOThread); + }, + needNewSecret() { // When creating a template it is always necessary to create a new secret. return this.isCreate || this.showYaml ? false : this.resourceType === HCI.VM_VERSION;