From 01528f7429563b26bceebb95cf1a28724eecc7e4 Mon Sep 17 00:00:00 2001 From: Yiya Chen Date: Wed, 4 Jun 2025 17:42:57 +0800 Subject: [PATCH] fix: inherit labels (#322) Signed-off-by: Yi-Ya Chen --- .../edit/harvesterhci.io.virtualmachinetemplateversion.vue | 4 ++++ pkg/harvester/edit/kubevirt.io.virtualmachine/index.vue | 4 ++++ .../models/harvesterhci.io.virtualmachinetemplateversion.js | 4 ++-- pkg/harvester/models/kubevirt.io.virtualmachine.js | 3 ++- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/pkg/harvester/edit/harvesterhci.io.virtualmachinetemplateversion.vue b/pkg/harvester/edit/harvesterhci.io.virtualmachinetemplateversion.vue index 4e2ea7a5..9313027e 100644 --- a/pkg/harvester/edit/harvesterhci.io.virtualmachinetemplateversion.vue +++ b/pkg/harvester/edit/harvesterhci.io.virtualmachinetemplateversion.vue @@ -189,6 +189,10 @@ export default { } this.value.spec['templateId'] = `${ namespace }/${ name }`; + this.value.spec.vm.metadata.labels = { + ...this.value.spec.vm.metadata.labels, + ...this.value.metadata.labels + }; const res = await this.value.save(); await this.saveSecret(res); diff --git a/pkg/harvester/edit/kubevirt.io.virtualmachine/index.vue b/pkg/harvester/edit/kubevirt.io.virtualmachine/index.vue index 12632d31..6ea7eb8e 100644 --- a/pkg/harvester/edit/kubevirt.io.virtualmachine/index.vue +++ b/pkg/harvester/edit/kubevirt.io.virtualmachine/index.vue @@ -255,6 +255,10 @@ export default { cloneVersionVM.metadata.annotations[HCI_ANNOTATIONS.VOLUME_CLAIM_TEMPLATE] = JSON.stringify(deleteDataSource); + // Update labels and instance labels value + this.value.metadata.labels = cloneVersionVM.metadata.labels; + this.value.spec.template.metadata.labels = cloneVersionVM.spec.template.metadata.labels; + this.getInitConfig({ value: cloneVersionVM, existUserData: true, fromTemplate: true }); diff --git a/pkg/harvester/models/harvesterhci.io.virtualmachinetemplateversion.js b/pkg/harvester/models/harvesterhci.io.virtualmachinetemplateversion.js index b2036be2..8f263734 100644 --- a/pkg/harvester/models/harvesterhci.io.virtualmachinetemplateversion.js +++ b/pkg/harvester/models/harvesterhci.io.virtualmachinetemplateversion.js @@ -60,11 +60,11 @@ export default class HciVmTemplateVersion extends HarvesterResource { applyDefaults() { const spec = { vm: { - metadata: { annotations: { [HCI_ANNOTATIONS.VOLUME_CLAIM_TEMPLATE]: '[]' } }, + metadata: { annotations: { [HCI_ANNOTATIONS.VOLUME_CLAIM_TEMPLATE]: '[]' }, labels: {} }, spec: { runStrategy: 'RerunOnFailure', template: { - metadata: { annotations: {} }, + metadata: { annotations: {}, labels: {} }, spec: { domain: { machine: { type: '' }, diff --git a/pkg/harvester/models/kubevirt.io.virtualmachine.js b/pkg/harvester/models/kubevirt.io.virtualmachine.js index d85ea8ea..770b546d 100644 --- a/pkg/harvester/models/kubevirt.io.virtualmachine.js +++ b/pkg/harvester/models/kubevirt.io.virtualmachine.js @@ -233,7 +233,7 @@ export default class VirtVm extends HarvesterResource { const spec = { runStrategy: 'RerunOnFailure', template: { - metadata: { annotations: {} }, + metadata: { annotations: {}, labels: {} }, spec: { domain: { machine: { type: '' }, @@ -283,6 +283,7 @@ export default class VirtVm extends HarvesterResource { if (realMode !== _CLONE) { this.metadata['annotations'] = { [HCI_ANNOTATIONS.VOLUME_CLAIM_TEMPLATE]: '[]' }; + this.metadata['labels'] = {}; this['spec'] = spec; } }