2 # Copyright © 2019 Amdocs, Bell Canada, Orange
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
18 Give the root folder for ONAP when using host pathes
20 {{- define "common.persistencePath" -}}
21 {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ include "common.release" . }}/{{ .Values.persistence.mountSubPath }}
25 Expand the name of the storage class.
26 The value "common.fullname"-data is used by default,
27 unless either override mechanism is used.
29 - .Values.global.persistence.storageClass : override default storageClass for all charts
30 - .Values.persistence.storageClassOverride : override global and default storage class on a per chart basis
31 - .Values.persistence.storageClass : override default storage class on a per chart basis
33 {{- define "common.storageClass" -}}
34 {{- if .Values.persistence.storageClassOverride -}}
35 {{- if ne "-" .Values.persistence.storageClassOverride -}}
36 {{- printf "%s" .Values.persistence.storageClassOverride -}}
38 {{- $storage_class := "" -}}
39 {{- printf "%q" $storage_class -}}
42 {{- if or .Values.persistence.storageClass .Values.global.persistence.storageClass }}
43 {{- if ne "-" (default .Values.persistence.storageClass .Values.global.persistence.storageClass) -}}
44 {{- printf "%s" (default .Values.persistence.storageClass .Values.global.persistence.storageClass) -}}
46 {{- $storage_class := "" -}}
47 {{- printf "%q" $storage_class -}}
50 {{- printf "%s-data" (include "common.fullname" .) -}}
56 Calculate if we need a PV. If a storageClass is provided, then we don't need.
58 {{- define "common.needPV" -}}
59 {{- if not (or (or .Values.persistence.storageClassOverride .Values.persistence.storageClass) .Values.global.persistence.storageClass) -}}
67 {{- define "common.PV" -}}
68 {{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
69 {{- if (include "common.needPV" .) -}}
70 kind: PersistentVolume
73 name: {{ include "common.fullname" . }}-data
74 namespace: {{ include "common.namespace" . }}
75 labels: {{- include "common.labels" . | nindent 4 }}
78 storage: {{ .Values.persistence.size }}
80 - {{ .Values.persistence.accessMode }}
81 storageClassName: "{{ include "common.fullname" . }}-data"
82 persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
84 path: {{ include "common.persistencePath" . }}
90 Generate N PV for a statefulset
92 {{- define "common.replicaPV" -}}
94 {{- if and $global.Values.persistence.enabled (not $global.Values.persistence.existingClaim) }}
95 {{- if (include "common.needPV" .) -}}
96 {{- range $i := until (int $global.Values.replicaCount)}}
98 kind: PersistentVolume
101 name: {{ include "common.fullname" $global }}-data-{{$i}}
102 namespace: {{ include "common.namespace" $global }}
103 labels: {{- include "common.labels" $global | nindent 4 }}
106 storage: {{ $global.Values.persistence.size}}
108 - {{ $global.Values.persistence.accessMode }}
109 persistentVolumeReclaimPolicy: {{ $global.Values.persistence.volumeReclaimPolicy }}
110 storageClassName: "{{ include "common.fullname" $global }}-data"
112 path: {{ include "common.persistencePath" $global }}-{{$i}}
121 {{- define "common.PVC" -}}
122 {{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
123 kind: PersistentVolumeClaim
125 metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
126 {{- if .Values.persistence.annotations }}
128 {{ toYaml .Values.persistence.annotations | indent 4 }}
132 - {{ .Values.persistence.accessMode }}
133 storageClassName: {{ include "common.storageClass" . }}
136 storage: {{ .Values.persistence.size }}