Merge pull request #61 from houhoucoop/fix/issue-7230

fix: failed to display storage class key/value pairs when edit config on Rancher managed Harvester
This commit is contained in:
Yiya Chen 2025-01-06 18:02:20 +08:00 committed by GitHub
commit a8cf6f5947
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -10,17 +10,6 @@ import { clone } from '@shell/utils/object';
import { uniq } from '@shell/utils/array'; import { uniq } from '@shell/utils/array';
import { DATA_ENGINE_V1 } from '../../../models/harvester/persistentvolumeclaim'; import { DATA_ENGINE_V1 } from '../../../models/harvester/persistentvolumeclaim';
// UI components for Longhorn storage class parameters
const DEFAULT_PARAMETERS = [
'numberOfReplicas',
'staleReplicaTimeout',
'diskSelector',
'nodeSelector',
'migratable',
'encrypted',
'dataEngine',
];
const { const {
CSI_PROVISIONER_SECRET_NAME, CSI_PROVISIONER_SECRET_NAME,
CSI_PROVISIONER_SECRET_NAMESPACE, CSI_PROVISIONER_SECRET_NAMESPACE,
@ -141,11 +130,17 @@ export default {
get() { get() {
const parameters = clone(this.value?.parameters) || {}; const parameters = clone(this.value?.parameters) || {};
DEFAULT_PARAMETERS.forEach((key) => { // UI components for Longhorn storage class parameters
delete parameters[key]; const defaultParameters = [
}); 'numberOfReplicas',
'staleReplicaTimeout',
'diskSelector',
'nodeSelector',
'migratable',
...(this.value.volumeEncryptionFeatureEnabled ? ['encrypted', 'dataEngine'] : []),
];
Object.values(CSI_SECRETS).forEach((key) => { [...defaultParameters, ...Object.values(CSI_SECRETS)].forEach((key) => {
delete parameters[key]; delete parameters[key];
}); });
@ -311,16 +306,16 @@ export default {
</LabeledSelect> </LabeledSelect>
</div> </div>
</div> </div>
<div class="row mt-20">
<RadioGroup
v-model:value="value.parameters.migratable"
name="layer3NetworkMode"
:label="t('harvester.storage.parameters.migratable.label')"
:mode="mode"
:options="migratableOptions"
/>
</div>
<template v-if="value.volumeEncryptionFeatureEnabled"> <template v-if="value.volumeEncryptionFeatureEnabled">
<div class="row mt-20">
<RadioGroup
v-model:value="value.parameters.migratable"
name="layer3NetworkMode"
:label="t('harvester.storage.parameters.migratable.label')"
:mode="mode"
:options="migratableOptions"
/>
</div>
<div class="row mt-20"> <div class="row mt-20">
<RadioGroup <RadioGroup
v-model:value="volumeEncryption" v-model:value="volumeEncryption"