fix(app): persisted volume fixes [EE-6554] (#10975)

Co-authored-by: testa113 <testa113>
pull/10981/head
Ali 2024-01-19 12:14:19 +13:00 committed by GitHub
parent fa63432695
commit 59f642ea56
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 24 additions and 13 deletions

View File

@ -372,6 +372,10 @@ class KubernetesCreateApplicationController {
onChangePersistedFolder(values) {
this.$scope.$evalAsync(() => {
this.state.persistedFoldersUseExistingVolumes = values.some((pf) => pf.existingVolume);
if (!this.state.isEdit && this.state.persistedFoldersUseExistingVolumes) {
this.formValues.DataAccessPolicy = this.ApplicationDataAccessPolicies.Shared;
}
this.formValues.PersistedFolders = values;
if (values && values.length && !this.supportGlobalDeployment()) {
this.onChangeDeploymentType(this.ApplicationDeploymentTypes.Replicated);

View File

@ -1,6 +1,8 @@
import { Box, Boxes } from 'lucide-react';
import { BoxSelector, BoxSelectorOption } from '@@/BoxSelector';
import { FormSection } from '@@/form-components/FormSection';
import { TextTip } from '@@/Tip/TextTip';
import { AppDataAccessPolicy } from '../types';
@ -20,13 +22,18 @@ export function DataAccessPolicyFormSection({
const options = getOptions(value, isEdit, persistedFoldersUseExistingVolumes);
return (
<BoxSelector
slim
options={options}
value={value}
onChange={onChange}
radioName="data_access_policy"
/>
<FormSection title="Data access policy" titleSize="sm">
<TextTip color="blue">
Specify how the data will be used across instances.
</TextTip>
<BoxSelector
slim
options={options}
value={value}
onChange={onChange}
radioName="data_access_policy"
/>
</FormSection>
);
}
@ -65,7 +72,7 @@ function getOptions(
}
return '';
},
disabled: () => persistedFoldersUseExistingVolumes,
disabled: () => isEdit && value !== 'Shared',
},
] as const;
}

View File

@ -204,7 +204,7 @@ export function PersistedFolderItem({
isDisabled={
(isEdit && isExistingPersistedFolder()) ||
applicationValues.Containers.length > 1 ||
availableVolumes.length <= 1
availableVolumes.length < 1
}
data-cy={`k8sAppCreate-pvcSelect_${index}`}
/>

View File

@ -103,8 +103,8 @@ function existingVolumeValidation(): SchemaOf<ExistingVolume> {
Storage: string().required(),
storageClass: storageClassValidation(),
CreationDate: string().required(),
ApplicationOwner: string().required(),
ApplicationName: string().required(),
ApplicationOwner: string(),
ApplicationName: string(),
PreviousName: string(),
MountPath: string(),
Yaml: string(),

View File

@ -19,8 +19,8 @@ export type ExistingVolume = {
Storage: string;
storageClass: StorageClass;
CreationDate: string;
ApplicationOwner: string;
ApplicationName: string;
ApplicationOwner?: string;
ApplicationName?: string;
PreviousName?: string;
MountPath?: string;
Yaml?: string;