From dee57fd5c546ee0b68d3e6c003cdc06ada987abe Mon Sep 17 00:00:00 2001 From: Jerome Doucerain Date: Fri, 13 Apr 2018 12:24:53 -0400 Subject: [PATCH 1/1] fix nfs-provisioner for appc and sdnc change in common/mysql/templates/pvc.yaml to allow pvc use when persistence is required change in common/mysql/templates/storageclass.yaml to be led by the disableNfsprovisioner variable change in appc/values to default the disableNfsprovisioner to false as it is in sdnc changing the default disableNfsprovisioner to true for both appc and sdnc changing the stateful set avoid volumeclaimtemplates. When used in helm, the volumeclaimtemplates is causing pvc to be left after the helm delete --purge. I guess this is due to the fact the pvc are not directly created by the helm install by indirectly by kubernetes Now the tests are working in both cases (nfsprovisioner disabled or not) The only piece remaining after a helm delete is pv in released state in case we are using nfsprovisioner. That makes sense again because this are objects created by the provisioner and not by helm. removed some leftover Issue-ID: OOM-787 Change-Id: Ieb1f1c482217aeb1b89be39a437bb891a299db71 Signed-off-by: Jerome Doucerain --- kubernetes/common/mysql/templates/nfs-provisoner.yaml | 4 ++-- kubernetes/common/mysql/templates/pvc.yaml | 2 +- kubernetes/common/mysql/templates/statefulset.yaml | 13 +------------ kubernetes/common/mysql/templates/storageclass.yaml | 2 ++ kubernetes/onap/values.yaml | 2 +- kubernetes/sdnc/values.yaml | 2 +- 6 files changed, 8 insertions(+), 17 deletions(-) diff --git a/kubernetes/common/mysql/templates/nfs-provisoner.yaml b/kubernetes/common/mysql/templates/nfs-provisoner.yaml index 3f19977ae2..35894df7a7 100644 --- a/kubernetes/common/mysql/templates/nfs-provisoner.yaml +++ b/kubernetes/common/mysql/templates/nfs-provisoner.yaml @@ -14,7 +14,7 @@ # limitations under the License. */}} -#{{ if not .Values.disableNfsProvisioner }} +{{ if not .Values.disableNfsProvisioner }} apiVersion: extensions/v1beta1 kind: Deployment metadata: @@ -75,4 +75,4 @@ spec: - name: export-volume hostPath: path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Namespace }}/{{ .Values.persistence.mountSubPath }} -#{{ end }} +{{ end }} diff --git a/kubernetes/common/mysql/templates/pvc.yaml b/kubernetes/common/mysql/templates/pvc.yaml index edb370ae35..d1558f131f 100644 --- a/kubernetes/common/mysql/templates/pvc.yaml +++ b/kubernetes/common/mysql/templates/pvc.yaml @@ -14,7 +14,7 @@ # limitations under the License. */}} -{{- if (and (and (.Values.persistence.enabled) (not .Values.persistence.existingClaim)) ( .Values.disableNfsProvisioner)) -}} +{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}} kind: PersistentVolumeClaim apiVersion: v1 metadata: diff --git a/kubernetes/common/mysql/templates/statefulset.yaml b/kubernetes/common/mysql/templates/statefulset.yaml index e43698865e..ff73b45620 100644 --- a/kubernetes/common/mysql/templates/statefulset.yaml +++ b/kubernetes/common/mysql/templates/statefulset.yaml @@ -236,18 +236,7 @@ spec: hostPath: path: /etc/localtime - name: {{ include "common.fullname" . }}-data -#{{ if not .Values.disableNfsProvisioner }} - volumeClaimTemplates: - - metadata: - name: {{ include "common.fullname" . }}-data - annotations: - volume.beta.kubernetes.io/storage-class: "{{ include "common.fullname" . }}-data" - spec: - accessModes: ["ReadWriteMany"] - resources: - requests: - storage: 1Gi -#{{ else if .Values.persistence.enabled }} +#{{ if .Values.persistence.enabled }} persistentVolumeClaim: claimName: {{ include "common.fullname" . }}-data #{{ else }} diff --git a/kubernetes/common/mysql/templates/storageclass.yaml b/kubernetes/common/mysql/templates/storageclass.yaml index 398c998e0f..3cd502ea30 100644 --- a/kubernetes/common/mysql/templates/storageclass.yaml +++ b/kubernetes/common/mysql/templates/storageclass.yaml @@ -14,9 +14,11 @@ # limitations under the License. */}} +{{ if not .Values.disableNfsProvisioner }} kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: "{{ include "common.fullname" . }}-data" namespace: {{ include "common.namespace" . }} provisioner: {{ include "common.fullname" . }}/nfs +{{ end }} diff --git a/kubernetes/onap/values.yaml b/kubernetes/onap/values.yaml index 619e9409bf..a2427711cd 100644 --- a/kubernetes/onap/values.yaml +++ b/kubernetes/onap/values.yaml @@ -99,7 +99,7 @@ sdnc: dmaapPort: 3904 mysql: - disableNfsProvisioner: false + disableNfsProvisioner: true replicaCount: 1 so: enabled: true diff --git a/kubernetes/sdnc/values.yaml b/kubernetes/sdnc/values.yaml index 8de608b3c6..6360d37e21 100644 --- a/kubernetes/sdnc/values.yaml +++ b/kubernetes/sdnc/values.yaml @@ -80,7 +80,7 @@ mysql: persistence: mountSubPath: sdnc/data enabled: true - disableNfsProvisioner: false + disableNfsProvisioner: true replicaCount: 1 dgbuilder: -- 2.16.6