summaryrefslogtreecommitdiffstats
path: root/kubernetes/sdnc/templates
diff options
context:
space:
mode:
authorDan Timoney <dtimoney@att.com>2021-01-15 16:39:50 -0500
committerDan Timoney <dtimoney@att.com>2021-01-15 21:43:24 +0000
commit2ee28a5a7a82116e1854d92713a315490c9f259b (patch)
tree7030f6441828851eee655c373db04894a9cc012c /kubernetes/sdnc/templates
parentd1f39e32d1d506323b98ee1d45d7c4732c079954 (diff)
[SDNC] Move ODL persistent data to pvc
In OpenDaylight, there are three types of data that we want to retain: - exported backups (stored in /opt/opendaylight/daexim) - journals (stored in /opt/opendaylight/journal) - snapshots (stored in /opt/opendaylight/snapshots) This change saves all 3 directories to the sdnc persistent volume so that they are retained across restarts. Issue-ID: SDNC-1455 Signed-off-by: Dan Timoney <dtimoney@att.com> Change-Id: I6b068c7a7bce294f94f9697a34027010bb5bfe8f
Diffstat (limited to 'kubernetes/sdnc/templates')
-rw-r--r--kubernetes/sdnc/templates/pv-data.yaml57
-rw-r--r--kubernetes/sdnc/templates/statefulset.yaml23
2 files changed, 33 insertions, 47 deletions
diff --git a/kubernetes/sdnc/templates/pv-data.yaml b/kubernetes/sdnc/templates/pv-data.yaml
index e40bdd6ea3..a0d998cd07 100644
--- a/kubernetes/sdnc/templates/pv-data.yaml
+++ b/kubernetes/sdnc/templates/pv-data.yaml
@@ -1,46 +1,17 @@
{{/*
-# Copyright © 2018 Amdocs, AT&T, Bell Canada
-# #
-# # Licensed under the Apache License, Version 2.0 (the "License");
-# # you may not use this file except in compliance with the License.
-# # You may obtain a copy of the License at
-# #
-# # http://www.apache.org/licenses/LICENSE-2.0
-# #
-# # Unless required by applicable law or agreed to in writing, software
-# # distributed under the License is distributed on an "AS IS" BASIS,
-# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# # See the License for the specific language governing permissions and
-# # limitations under the License.
+# Copyright © 2018 Amdocs, Bell Canada, AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
*/}}
-{{- $global := . }}
-{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
-{{- if eq "True" (include "common.needPV" .) -}}
-{{- range $i := until (int $global.Values.replicaCount)}}
-kind: PersistentVolume
-apiVersion: v1
-metadata:
- name: {{ include "common.fullname" $global }}-data-{{ $i }}
- namespace: {{ include "common.namespace" $global }}
- labels:
- app: {{ include "common.fullname" $global }}
- chart: "{{ $global.Chart.Name }}-{{ $global.Chart.Version | replace "+" "_" }}"
- release: "{{ include "common.release" $global }}"
- heritage: "{{ $global.Release.Service }}"
- name: {{ include "common.fullname" $global }}
-spec:
- capacity:
- storage: {{ $global.Values.persistence.size}}
- accessModes:
- - {{ $global.Values.persistence.accessMode }}
- storageClassName: "{{ include "common.fullname" $global }}-data"
- persistentVolumeReclaimPolicy: {{ $global.Values.persistence.volumeReclaimPolicy }}
- hostPath:
- path: {{ $global.Values.global.persistence.mountPath | default $global.Values.persistence.mountPath }}/{{ include "common.release" $global }}/{{ $global.Values.persistence.mountSubPath }}-{{$i}}
-{{if ne $i (int $global.Values.replicaCount) }}
----
-{{- end -}}
-{{- end -}}
-{{- end -}}
-{{- end -}}
+{{ include "common.replicaPV" . }}
diff --git a/kubernetes/sdnc/templates/statefulset.yaml b/kubernetes/sdnc/templates/statefulset.yaml
index c61e1e35c9..63b56f87a9 100644
--- a/kubernetes/sdnc/templates/statefulset.yaml
+++ b/kubernetes/sdnc/templates/statefulset.yaml
@@ -141,15 +141,19 @@ spec:
name: certservice-tls-volume
{{ end }}
- - name: {{ include "common.name" . }}-chown
+ - name: {{ include "common.name" . }}-init-files
image: {{ include "repositoryGenerator.image.busybox" . }}
command:
- sh
args:
- -c
- - chown -R {{ .Values.config.odlUid }}:{{ .Values.config.odlGid}} {{ .Values.persistence.mdsalPath }}
+ - |
+ mkdir {{ .Values.persistence.mdsalPath }}/daexim
+ mkdir {{ .Values.persistence.mdsalPath }}/journal
+ mkdir {{ .Values.persistence.mdsalPath }}/snapshots
+ chown -R {{ .Values.config.odlUid }}:{{ .Values.config.odlGid}} {{ .Values.persistence.mdsalPath }}
{{- if .Values.global.aafEnabled }}
- - chown -R {{ .Values.config.odlUid }}:{{ .Values.config.odlGid}} {{ .Values.certInitializer.credsPath }}
+ chown -R {{ .Values.config.odlUid }}:{{ .Values.config.odlGid}} {{ .Values.certInitializer.credsPath }}
{{- end }}
volumeMounts:
{{ include "common.certInitializer.volumeMount" . | indent 10 }}
@@ -160,7 +164,7 @@ spec:
image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
command: ["/bin/bash"]
- args: ["-c", "/opt/onap/sdnc/bin/startODL.sh"]
+ args: ["-c", "/opt/onap/sdnc/bin/createLinks.sh ; /opt/onap/sdnc/bin/startODL.sh"]
ports:
- containerPort: {{ .Values.service.internalPort }}
- containerPort: {{ .Values.service.internalPort2 }}
@@ -200,6 +204,14 @@ spec:
value: "{{ .Values.replicaCount }}"
- name: MYSQL_HOST
value: {{ include "common.mariadbService" . }}
+ - name: MDSAL_PATH
+ value: {{ .Values.persistence.mdsalPath }}
+ - name: DAEXIM_PATH
+ value: {{ .Values.persistence.daeximPath }}
+ - name: JOURNAL_PATH
+ value: {{ .Values.persistence.journalPath }}
+ - name: SNAPSHOTS_PATH
+ value: {{ .Values.persistence.snapshotsPath }}
- name: JAVA_HOME
value: "{{ .Values.config.javaHome}}"
- name: JAVA_OPTS
@@ -233,6 +245,9 @@ spec:
- mountPath: {{ .Values.config.binDir }}/installSdncDb.sh
name: bin
subPath: installSdncDb.sh
+ - mountPath: {{ .Values.config.binDir }}/createLinks.sh
+ name: bin
+ subPath: createLinks.sh
- mountPath: {{ .Values.config.ccsdkConfigDir }}/aaiclient.properties
name: properties
subPath: aaiclient.properties