From e3d30a0eec2e167114015d40c57796d78f6b4eaa Mon Sep 17 00:00:00 2001 From: Yiya Chen Date: Fri, 17 Oct 2025 15:36:36 +0800 Subject: [PATCH] feat: make size editable (#562) Signed-off-by: Yi-Ya Chen --- pkg/harvester/config/feature-flags.js | 1 + pkg/harvester/edit/harvesterhci.io.volume.vue | 18 +++++++++++++++--- .../VirtualMachineVolume/index.vue | 10 +++++++--- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/pkg/harvester/config/feature-flags.js b/pkg/harvester/config/feature-flags.js index 18406c7a..9ba57746 100644 --- a/pkg/harvester/config/feature-flags.js +++ b/pkg/harvester/config/feature-flags.js @@ -51,6 +51,7 @@ const FEATURE_FLAGS = { 'v1.6.1': [], 'v1.7.0': [ 'vmMachineTypeAuto', + 'lhV2VolExpansion', 'l2VlanTrunkMode' ] }; diff --git a/pkg/harvester/edit/harvesterhci.io.volume.vue b/pkg/harvester/edit/harvesterhci.io.volume.vue index e312e89d..e2a4e376 100644 --- a/pkg/harvester/edit/harvesterhci.io.volume.vue +++ b/pkg/harvester/edit/harvesterhci.io.volume.vue @@ -267,7 +267,19 @@ export default { rebuildStatus() { return this.value.longhornEngine?.status?.rebuildStatus; - } + }, + + isLHV2VolExpansionFeatureEnabled() { + return this.$store.getters['harvester-common/getFeatureEnabled']('lhV2VolExpansion'); + }, + + isResizeDisabled() { + return ( + !this.isLHV2VolExpansionFeatureEnabled && + this.value?.isLonghornV2 && + this.isEdit + ); + }, }, watch: { @@ -463,7 +475,7 @@ export default { :output-modifier="true" :increment="1024" :mode="mode" - :disabled="value?.isLonghornV2 && isEdit" + :disabled="isResizeDisabled" required class="mb-20" :suffix="GIBIBYTE" @@ -471,7 +483,7 @@ export default { /> {{ t('harvester.volume.longhorn.disableResize') }} diff --git a/pkg/harvester/edit/kubevirt.io.virtualmachine/VirtualMachineVolume/index.vue b/pkg/harvester/edit/kubevirt.io.virtualmachine/VirtualMachineVolume/index.vue index cd74d434..012cacd7 100644 --- a/pkg/harvester/edit/kubevirt.io.virtualmachine/VirtualMachineVolume/index.vue +++ b/pkg/harvester/edit/kubevirt.io.virtualmachine/VirtualMachineVolume/index.vue @@ -136,6 +136,10 @@ export default { pvcs() { return this.$store.getters['harvester/all'](PVC) || []; }, + + isLHV2VolExpansionFeatureEnabled() { + return this.$store.getters['harvester-common/getFeatureEnabled']('lhV2VolExpansion'); + }, }, watch: { @@ -270,8 +274,8 @@ export default { }, isResizeDisabled(volume) { - if (this.isCreate) return false; - if (volume.newCreateId) return false; + if (this.isLHV2VolExpansionFeatureEnabled) return false; + if (this.isCreate || volume.newCreateId) return false; const isStopped = this.vm.stateDisplay === OFF; const isLonghornV2 = this.isLonghornV2(volume); @@ -406,7 +410,7 @@ export default { :label="ucFirst(value.volumeBackups.error.message)" />