add feature flag config

This commit is contained in:
andy.lee
2024-11-12 11:50:31 +01:00
committed by Francesco Torchia
parent aa3c9268e3
commit 77d7f13836
7 changed files with 107 additions and 16 deletions
+7 -3
View File
@@ -14,8 +14,8 @@ import { findBy, isArray } from '@shell/utils/array';
import { ucFirst } from '@shell/utils/string';
import HarvesterResource from '../harvester';
import { PRODUCT_NAME as HARVESTER_PRODUCT } from '../../config/harvester';
import { HCI } from '../../types';
import { featureEnabled } from '../../utils/server';
const ALLOW_SYSTEM_LABEL_KEYS = [
'topology.kubernetes.io/zone',
@@ -61,7 +61,7 @@ export default class HciNode extends HarvesterResource {
const enableCPUManager = {
action: 'enableCPUManager',
enabled: this.hasAction('enableCPUManager') && !this.isCPUManagerEnableInProgress && !this.isCPUManagerEnabled && !this.isEtcd, // witness node doesn't have CPU manager
enabled: this.cpuPinningFeatureEnabled && this.hasAction('enableCPUManager') && !this.isCPUManagerEnableInProgress && !this.isCPUManagerEnabled && !this.isEtcd, // witness node doesn't have CPU manager
icon: 'icon icon-fw icon-os-management',
label: this.t('harvester.action.enableCPUManager'),
total: 1
@@ -69,7 +69,7 @@ export default class HciNode extends HarvesterResource {
const disableCPUManager = {
action: 'disableCPUManager',
enabled: this.hasAction('disableCPUManager') && !this.isCPUManagerEnableInProgress && this.isCPUManagerEnabled && !this.isEtcd,
enabled: this.cpuPinningFeatureEnabled && this.hasAction('disableCPUManager') && !this.isCPUManagerEnableInProgress && this.isCPUManagerEnabled && !this.isEtcd,
icon: 'icon icon-fw icon-os-management',
label: this.t('harvester.action.disableCPUManager'),
total: 1
@@ -370,6 +370,10 @@ export default class HciNode extends HarvesterResource {
);
}
get cpuPinningFeatureEnabled() {
return featureEnabled(this.$rootGetters, 'cpuPinning');
}
get isCPUManagerEnabled() {
return this.metadata?.labels?.[HCI_ANNOTATIONS.CPU_MANAGER] === 'true';
}
@@ -14,6 +14,7 @@ import { BACKUP_TYPE } from '../config/types';
import { HCI } from '../types';
import HarvesterResource from './harvester';
import { LVM_DRIVER } from './harvester/storage.k8s.io.storageclass';
import { featureEnabled } from '../utils/server';
export const OFF = 'Off';
@@ -480,6 +481,10 @@ export default class VirtVm extends HarvesterResource {
return null;
}
get cpuPinningFeatureEnabled() {
return featureEnabled(this.$rootGetters, 'cpuPinning');
}
get isCpuPinning() {
return this.spec?.template?.spec?.domain?.cpu?.dedicatedCpuPlacement === true;
}