Implement schedulingVMBackup feature flag

Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
This commit is contained in:
Francesco Torchia 2024-11-11 11:46:54 +01:00
parent a694288162
commit 780106f32a
No known key found for this signature in database
GPG Key ID: E6D011B7415D4393
3 changed files with 43 additions and 10 deletions

View File

@ -124,12 +124,18 @@ export default {
align: 'left',
formatter: 'AttachVMWithName'
},
{
];
if (this.schedulingVMBackupFeatureEnabled) {
cols.push({
name: 'backupCreatedFrom',
labelKey: 'harvester.tableHeaders.vmSchedule',
value: 'sourceSchedule',
formatter: 'BackupCreatedFrom',
},
});
}
cols.push(...[
{
name: 'backupTarget',
labelKey: 'tableHeaders.backupTarget',
@ -144,7 +150,7 @@ export default {
align: 'center',
formatter: 'Checked',
},
];
]);
if (this.hasBackupProgresses) {
cols.push({
@ -155,11 +161,16 @@ export default {
formatter: 'HarvesterBackupProgressBar',
});
}
cols.push(AGE);
return cols;
},
schedulingVMBackupFeatureEnabled() {
return this.$store.getters['harvester-common/getFeatureEnabled']('schedulingVMBackup');
},
hasBackupProgresses() {
return !!this.backups.find((r) => r.status?.progress !== undefined);
},
@ -244,7 +255,10 @@ export default {
key-field="_key"
default-sort-by="age"
>
<template #more-header-middle>
<template
v-if="schedulingVMBackupFeatureEnabled"
#more-header-middle
>
<FilterVMSchedule
:rows="getRawRows"
@change-rows="changeRows"

View File

@ -58,7 +58,7 @@ export default {
computed: {
headers() {
return [
const cols = [
STATE,
NAME,
NAMESPACE,
@ -70,13 +70,19 @@ export default {
sort: 'attachVM',
formatter: 'AttachVMWithName'
},
{
];
if (this.schedulingVMBackupFeatureEnabled) {
cols.push({
name: 'backupCreatedFrom',
labelKey: 'harvester.tableHeaders.vmSchedule',
value: 'sourceSchedule',
sort: 'sourceSchedule',
formatter: 'BackupCreatedFrom',
},
});
}
cols.push(...[
{
name: 'readyToUse',
labelKey: 'tableHeaders.readyToUse',
@ -86,7 +92,13 @@ export default {
formatter: 'Checked',
},
AGE
];
]);
return cols;
},
schedulingVMBackupFeatureEnabled() {
return this.$store.getters['harvester-common/getFeatureEnabled']('schedulingVMBackup');
},
getRawRows() {
@ -142,7 +154,10 @@ export default {
key-field="_key"
default-sort-by="age"
>
<template #more-header-middle>
<template
v-if="schedulingVMBackupFeatureEnabled"
#more-header-middle
>
<FilterVMSchedule
:rows="getRawRows"
@change-rows="changeRows"

View File

@ -168,7 +168,7 @@ export default class VirtVm extends HarvesterResource {
},
{
action: 'createSchedule',
enabled: true,
enabled: this.schedulingVMBackupFeatureEnabled,
icon: 'icon icon-history',
label: this.t('harvester.action.createSchedule')
},
@ -1147,6 +1147,10 @@ export default class VirtVm extends HarvesterResource {
}
}
get schedulingVMBackupFeatureEnabled() {
return this.$rootGetters['harvester-common/getFeatureEnabled']('schedulingVMBackup');
}
setInstanceLabels(val) {
if ( !this.spec?.template?.metadata?.labels ) {
set(this, 'spec.template.metadata.labels', {});