diff --git a/pkg/harvester/config/feature-flags.js b/pkg/harvester/config/feature-flags.js index e20a987a..c5a1fb27 100644 --- a/pkg/harvester/config/feature-flags.js +++ b/pkg/harvester/config/feature-flags.js @@ -72,7 +72,8 @@ const FEATURE_FLAGS = { 'v1.9.0': [ 'supportFilesystem', 'disableResourcePooling', - 'expandOnlineEncryptedVolume' + 'expandOnlineEncryptedVolume', + 'longhornV2HugepageSettings' ], }; diff --git a/pkg/harvester/config/settings.ts b/pkg/harvester/config/settings.ts index 3d34f29a..7539c472 100644 --- a/pkg/harvester/config/settings.ts +++ b/pkg/harvester/config/settings.ts @@ -1,48 +1,50 @@ export const HCI_SETTING = { - BACKUP_TARGET: 'backup-target', - CONTAINERD_REGISTRY: 'containerd-registry', - LOG_LEVEL: 'log-level', - SERVER_VERSION: 'server-version', - UI_INDEX: 'ui-index', - UPGRADE_CHECKER_ENABLED: 'upgrade-checker-enabled', - UPGRADE_CHECKER_URL: 'upgrade-checker-url', - VLAN: 'vlan', - UI_SOURCE: 'ui-source', - UI_PL: 'ui-pl', - HTTP_PROXY: 'http-proxy', - ADDITIONAL_CA: 'additional-ca', - OVERCOMMIT_CONFIG: 'overcommit-config', - CLUSTER_REGISTRATION_URL: 'cluster-registration-url', - DEFAULT_STORAGE_CLASS: 'default-storage-class', - SUPPORT_BUNDLE_TIMEOUT: 'support-bundle-timeout', - SUPPORT_BUNDLE_EXPIRATION: 'support-bundle-expiration', - SUPPORT_BUNDLE_FILE_NAME: 'support-bundle-file-name', - SUPPORT_BUNDLE_IMAGE: 'support-bundle-image', - SUPPORT_BUNDLE_NODE_COLLECTION_TIMEOUT: 'support-bundle-node-collection-timeout', - STORAGE_NETWORK: 'storage-network', - RWX_NETWORK: 'rwx-network', - VM_FORCE_RESET_POLICY: 'vm-force-reset-policy', - SSL_CERTIFICATES: 'ssl-certificates', - SSL_PARAMETERS: 'ssl-parameters', - SUPPORT_BUNDLE_NAMESPACES: 'support-bundle-namespaces', - AUTO_DISK_PROVISION_PATHS: 'auto-disk-provision-paths', - RELEASE_DOWNLOAD_URL: 'release-download-url', - CCM_CSI_VERSION: 'harvester-csi-ccm-versions', - CSI_DRIVER_CONFIG: 'csi-driver-config', - CSI_ONLINE_EXPAND_VALIDATION: 'csi-online-expand-validation', - VM_TERMINATION_PERIOD: 'default-vm-termination-grace-period-seconds', - NTP_SERVERS: 'ntp-servers', - AUTO_ROTATE_RKE2_CERTS: 'auto-rotate-rke2-certs', - KUBECONFIG_DEFAULT_TOKEN_TTL_MINUTES: 'kubeconfig-default-token-ttl-minutes', - LONGHORN_V2_DATA_ENGINE_ENABLED: 'longhorn-v2-data-engine-enabled', - ADDITIONAL_GUEST_MEMORY_OVERHEAD_RATIO: 'additional-guest-memory-overhead-ratio', - UPGRADE_CONFIG: 'upgrade-config', - VM_MIGRATION_NETWORK: 'vm-migration-network', - RANCHER_CLUSTER: 'rancher-cluster', - MAX_HOTPLUG_RATIO: 'max-hotplug-ratio', - KUBEVIRT_MIGRATION: 'kubevirt-migration', - INSTANCE_MANAGER_RESOURCES: 'instance-manager-resources', - CLUSTER_POD_SECURITY_STANDARD: 'cluster-pod-security-standard' + BACKUP_TARGET: 'backup-target', + CONTAINERD_REGISTRY: 'containerd-registry', + LOG_LEVEL: 'log-level', + SERVER_VERSION: 'server-version', + UI_INDEX: 'ui-index', + UPGRADE_CHECKER_ENABLED: 'upgrade-checker-enabled', + UPGRADE_CHECKER_URL: 'upgrade-checker-url', + VLAN: 'vlan', + UI_SOURCE: 'ui-source', + UI_PL: 'ui-pl', + HTTP_PROXY: 'http-proxy', + ADDITIONAL_CA: 'additional-ca', + OVERCOMMIT_CONFIG: 'overcommit-config', + CLUSTER_REGISTRATION_URL: 'cluster-registration-url', + DEFAULT_STORAGE_CLASS: 'default-storage-class', + SUPPORT_BUNDLE_TIMEOUT: 'support-bundle-timeout', + SUPPORT_BUNDLE_EXPIRATION: 'support-bundle-expiration', + SUPPORT_BUNDLE_FILE_NAME: 'support-bundle-file-name', + SUPPORT_BUNDLE_IMAGE: 'support-bundle-image', + SUPPORT_BUNDLE_NODE_COLLECTION_TIMEOUT: 'support-bundle-node-collection-timeout', + STORAGE_NETWORK: 'storage-network', + RWX_NETWORK: 'rwx-network', + VM_FORCE_RESET_POLICY: 'vm-force-reset-policy', + SSL_CERTIFICATES: 'ssl-certificates', + SSL_PARAMETERS: 'ssl-parameters', + SUPPORT_BUNDLE_NAMESPACES: 'support-bundle-namespaces', + AUTO_DISK_PROVISION_PATHS: 'auto-disk-provision-paths', + RELEASE_DOWNLOAD_URL: 'release-download-url', + CCM_CSI_VERSION: 'harvester-csi-ccm-versions', + CSI_DRIVER_CONFIG: 'csi-driver-config', + CSI_ONLINE_EXPAND_VALIDATION: 'csi-online-expand-validation', + VM_TERMINATION_PERIOD: 'default-vm-termination-grace-period-seconds', + NTP_SERVERS: 'ntp-servers', + AUTO_ROTATE_RKE2_CERTS: 'auto-rotate-rke2-certs', + KUBECONFIG_DEFAULT_TOKEN_TTL_MINUTES: 'kubeconfig-default-token-ttl-minutes', + LONGHORN_V2_DATA_ENGINE_ENABLED: 'longhorn-v2-data-engine-enabled', + LONGHORN_V2_DATA_ENGINE_HUGEPAGE_ENABLED: 'longhorn-v2-data-engine-hugepage-enabled', + LONGHORN_V2_DATA_ENGINE_MEMORY_SIZE: 'longhorn-v2-data-engine-memory-size', + ADDITIONAL_GUEST_MEMORY_OVERHEAD_RATIO: 'additional-guest-memory-overhead-ratio', + UPGRADE_CONFIG: 'upgrade-config', + VM_MIGRATION_NETWORK: 'vm-migration-network', + RANCHER_CLUSTER: 'rancher-cluster', + MAX_HOTPLUG_RATIO: 'max-hotplug-ratio', + KUBEVIRT_MIGRATION: 'kubevirt-migration', + INSTANCE_MANAGER_RESOURCES: 'instance-manager-resources', + CLUSTER_POD_SECURITY_STANDARD: 'cluster-pod-security-standard' }; export const HCI_ALLOWED_SETTINGS = { @@ -112,6 +114,14 @@ export const HCI_ALLOWED_SETTINGS = { experimental: true, featureFlag: 'longhornV2LVMSupport' }, + [HCI_SETTING.LONGHORN_V2_DATA_ENGINE_HUGEPAGE_ENABLED]: { + kind: 'boolean', + featureFlag: 'longhornV2HugepageSettings' + }, + [HCI_SETTING.LONGHORN_V2_DATA_ENGINE_MEMORY_SIZE]: { + kind: 'number', + featureFlag: 'longhornV2HugepageSettings' + }, [HCI_SETTING.ADDITIONAL_GUEST_MEMORY_OVERHEAD_RATIO]: { kind: 'string', from: 'import' }, [HCI_SETTING.UPGRADE_CONFIG]: { kind: 'json', diff --git a/pkg/harvester/l10n/en-us.yaml b/pkg/harvester/l10n/en-us.yaml index b1b7d7a2..d4d2dc97 100644 --- a/pkg/harvester/l10n/en-us.yaml +++ b/pkg/harvester/l10n/en-us.yaml @@ -2092,6 +2092,8 @@ advancedSettings: 'harv-auto-rotate-rke2-certs': The certificate rotation mechanism relies on Rancher. Harvester will automatically update certificates generation to trigger rotation. 'harv-kubeconfig-default-token-ttl-minutes': 'TTL (in minutes) applied on Harvester administration kubeconfig files. Default is 0, which means to never expire.' 'harv-longhorn-v2-data-engine-enabled': 'Enable the Longhorn V2 data engine. Default is false.