diff --git a/pkg/harvester/components/settings/vm-migration-network.vue b/pkg/harvester/components/settings/vm-migration-network.vue
new file mode 100644
index 00000000..b925b538
--- /dev/null
+++ b/pkg/harvester/components/settings/vm-migration-network.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+ {{ errorMsg }}
+
+
+
+
+
+
+
+
+
+
diff --git a/pkg/harvester/config/feature-flags.js b/pkg/harvester/config/feature-flags.js
index aaf68fb2..7e8a1f00 100644
--- a/pkg/harvester/config/feature-flags.js
+++ b/pkg/harvester/config/feature-flags.js
@@ -41,7 +41,8 @@ const FEATURE_FLAGS = {
'v1.6.0': [
'vmMachineTypes',
'customSupportBundle',
- 'csiOnlineExpandValidation'
+ 'csiOnlineExpandValidation',
+ 'vmNetworkMigration'
]
};
diff --git a/pkg/harvester/config/settings.ts b/pkg/harvester/config/settings.ts
index 02da9190..ff19fc50 100644
--- a/pkg/harvester/config/settings.ts
+++ b/pkg/harvester/config/settings.ts
@@ -36,6 +36,7 @@ export const HCI_SETTING = {
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',
};
export const HCI_ALLOWED_SETTINGS = {
@@ -107,6 +108,9 @@ export const HCI_ALLOWED_SETTINGS = {
featureFlag: 'upgradeConfigSetting',
docPath: 'UPGRADE_CONFIG_URL'
},
+ [HCI_SETTING.VM_MIGRATION_NETWORK]: {
+ kind: 'json', from: 'import', canReset: true, featureFlag: 'vmNetworkMigration',
+ },
};
export const HCI_SINGLE_CLUSTER_ALLOWED_SETTING = {
diff --git a/pkg/harvester/l10n/en-us.yaml b/pkg/harvester/l10n/en-us.yaml
index 17eefde5..7c73e016 100644
--- a/pkg/harvester/l10n/en-us.yaml
+++ b/pkg/harvester/l10n/en-us.yaml
@@ -1087,6 +1087,20 @@ harvester:
tip: 'Specify an IP range in the IPv4 CIDR format. Number of IPs Required = Number of Nodes * 2 + Number of Disks * 2 + Number of Images to Download/Upload . For more information about storage network settings, see the documentation.'
vmForceDeletionPolicy:
period: Period
+ vmMigrationNetwork:
+ parseError: "Failed to parse existing configuration."
+ fetchError: "Failed to load required network resources: {error}. Please refresh the page or try again later."
+ clusterNetwork: Cluster Network
+ vlan: VLAN ID
+ range:
+ placeholder: e.g. 172.16.0.0/24
+ label: IP Range
+ invalid: '"Range" is invalid.'
+ exclude:
+ label: Excluded IPs
+ placeholder: e.g. 172.16.0.1/32
+ invalid: '"Exclude list" is invalid.'
+ addButton: Add Exclude IP
ratio : Ratio
autoRotateRKE2Certs:
expiringInHours: Expiring in
@@ -1634,6 +1648,7 @@ advancedSettings:
'harv-longhorn-v2-data-engine-enabled': 'Enable the Longhorn V2 data engine. Default is false.
- Changing this setting will restart RKE2 on all nodes. This will not affect running VM workloads.
- If you see "not enough hugepages-2Mi capacity" errors when enabling this setting, wait a minute for the error to clear. If the error remains, reboot the affected node.
'
'harv-additional-guest-memory-overhead-ratio': 'The ratio for kubevirt to adjust the VM overhead memory. The value could be zero, empty value or floating number between 1.0 and 10.0, default to 1.5.'
'harv-upgrade-config': 'Configure image preloading and VM restore options for upgrades. See related fields in settings/upgrade-config'
+ 'harv-vm-migration-network': 'Segregated network for VM migration traffic.'
typeLabel:
kubevirt.io.virtualmachine: |-