mirror of https://github.com/portainer/portainer
fix(PVC): access modes match storage class capability [EE-5580] (#10550)
parent
92c18843b2
commit
87b486b798
|
@ -5,6 +5,11 @@ import { KubernetesPersistentVolumeClaim } from 'Kubernetes/models/volume/models
|
||||||
import { KubernetesPersistentVolumClaimCreatePayload } from 'Kubernetes/models/volume/payloads';
|
import { KubernetesPersistentVolumClaimCreatePayload } from 'Kubernetes/models/volume/payloads';
|
||||||
import { KubernetesPortainerApplicationOwnerLabel, KubernetesPortainerApplicationNameLabel } from 'Kubernetes/models/application/models';
|
import { KubernetesPortainerApplicationOwnerLabel, KubernetesPortainerApplicationNameLabel } from 'Kubernetes/models/application/models';
|
||||||
|
|
||||||
|
const storageClassToPVCAccessModes = {
|
||||||
|
RWO: 'ReadWriteOnce',
|
||||||
|
RWX: 'ReadWriteMany',
|
||||||
|
};
|
||||||
|
|
||||||
class KubernetesPersistentVolumeClaimConverter {
|
class KubernetesPersistentVolumeClaimConverter {
|
||||||
static apiToPersistentVolumeClaim(data, storageClasses, yaml) {
|
static apiToPersistentVolumeClaim(data, storageClasses, yaml) {
|
||||||
const res = new KubernetesPersistentVolumeClaim();
|
const res = new KubernetesPersistentVolumeClaim();
|
||||||
|
@ -63,6 +68,8 @@ class KubernetesPersistentVolumeClaimConverter {
|
||||||
res.metadata.namespace = pvc.Namespace;
|
res.metadata.namespace = pvc.Namespace;
|
||||||
res.spec.resources.requests.storage = pvc.Storage;
|
res.spec.resources.requests.storage = pvc.Storage;
|
||||||
res.spec.storageClassName = pvc.StorageClass ? pvc.StorageClass.Name : '';
|
res.spec.storageClassName = pvc.StorageClass ? pvc.StorageClass.Name : '';
|
||||||
|
const accessModes = pvc.StorageClass && pvc.StorageClass.AccessModes ? pvc.StorageClass.AccessModes.map((accessMode) => storageClassToPVCAccessModes[accessMode]) : [];
|
||||||
|
res.spec.accessModes = accessModes;
|
||||||
res.metadata.labels.app = pvc.ApplicationName;
|
res.metadata.labels.app = pvc.ApplicationName;
|
||||||
res.metadata.labels[KubernetesPortainerApplicationOwnerLabel] = pvc.ApplicationOwner;
|
res.metadata.labels[KubernetesPortainerApplicationOwnerLabel] = pvc.ApplicationOwner;
|
||||||
res.metadata.labels[KubernetesPortainerApplicationNameLabel] = pvc.ApplicationName;
|
res.metadata.labels[KubernetesPortainerApplicationNameLabel] = pvc.ApplicationName;
|
||||||
|
|
Loading…
Reference in New Issue