aboutsummaryrefslogtreecommitdiffstats
path: root/kubernetes/sdnc/templates
diff options
context:
space:
mode:
Diffstat (limited to 'kubernetes/sdnc/templates')
-rw-r--r--kubernetes/sdnc/templates/all-services.yaml200
-rw-r--r--kubernetes/sdnc/templates/configmap.yaml (renamed from kubernetes/sdnc/templates/sdnc-log-configmap.yaml)26
-rw-r--r--kubernetes/sdnc/templates/db-statefulset.yaml220
-rw-r--r--kubernetes/sdnc/templates/dgbuilder-deployment.yaml80
-rw-r--r--kubernetes/sdnc/templates/dmaap-deployment-configmap.yaml23
-rw-r--r--kubernetes/sdnc/templates/dmaap-deployment.yaml76
-rw-r--r--kubernetes/sdnc/templates/mysql-configmap.yaml34
-rw-r--r--kubernetes/sdnc/templates/nfs-provisoner-deployment.yaml72
-rw-r--r--kubernetes/sdnc/templates/pv.yaml84
-rw-r--r--kubernetes/sdnc/templates/sdnc-conf-configmap.yaml23
-rw-r--r--kubernetes/sdnc/templates/sdnc-data-storageclass.yaml24
-rw-r--r--kubernetes/sdnc/templates/sdnc-statefulset.yaml131
-rw-r--r--kubernetes/sdnc/templates/secrets.yaml27
-rw-r--r--kubernetes/sdnc/templates/service.yaml155
-rw-r--r--kubernetes/sdnc/templates/statefulset.yaml187
-rw-r--r--kubernetes/sdnc/templates/ueb-deployment-configmap.yaml23
-rw-r--r--kubernetes/sdnc/templates/ueb-deployment.yaml76
-rw-r--r--kubernetes/sdnc/templates/web-deployment.yaml85
18 files changed, 473 insertions, 1073 deletions
diff --git a/kubernetes/sdnc/templates/all-services.yaml b/kubernetes/sdnc/templates/all-services.yaml
deleted file mode 100644
index 14d7b01a59..0000000000
--- a/kubernetes/sdnc/templates/all-services.yaml
+++ /dev/null
@@ -1,200 +0,0 @@
-# Copyright © 2017 Amdocs, 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.
-
-#{{ if not .Values.disableSdncSdncDbhost }}
-apiVersion: v1
-kind: Service
-metadata:
- name: dbhost
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: sdnc-dbhost
-spec:
- ports:
- - port: 3306
- selector:
- app: sdnc-dbhost
- clusterIP: None
----
-# Client service for connecting to any MySQL instance for reads.
-# Only master: sdnc-dbhost-0 accepts the write request.
-apiVersion: v1
-kind: Service
-metadata:
- name: dbhost-read
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: sdnc-dbhost
-spec:
- ports:
- - name: sdnc-dbhost
- port: 3306
- selector:
- app: sdnc-dbhost
----
-apiVersion: v1
-kind: Service
-metadata:
- name: sdnctldb01
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: sdnc-dbhost
-spec:
- ports:
- - port: 3306
- selector:
- app: sdnc-dbhost
- clusterIP: None
----
-apiVersion: v1
-kind: Service
-metadata:
- name: sdnctldb02
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: sdnc-dbhost
-spec:
- ports:
- - port: 3306
- selector:
- app: sdnc-dbhost
- clusterIP: None
-#{{ end }}
-#{{ if not .Values.disableSdncSdnc }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: sdnc-dgbuilder
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: sdnc-dgbuilder
-spec:
- ports:
- - name: "sdnc-dgbuilder-port"
- port: 3000
- targetPort: 3100
- nodePort: {{ .Values.nodePortPrefix }}03
- type: NodePort
- selector:
- app: sdnc-dgbuilder
----
-apiVersion: v1
-kind: Service
-metadata:
- name: sdnhost
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: sdnc
- annotations:
- msb.onap.org/service-info: '[
- {
- "serviceName": "sdnc",
- "version": "v1",
- "url": "/",
- "protocol": "REST",
- "port": "8282",
- "visualRange":"1",
- "path": "/"
- }
- ]'
-spec:
- ports:
- - name: "sdnc-port-8181"
- port: 8282
- targetPort: 8181
- nodePort: {{ .Values.nodePortPrefix }}02
- - name: "sdnc-port-8101"
- port: 8201
- targetPort: 8101
- nodePort: {{ .Values.nodePortPrefix }}08
- - name: "sdnc-jolokia-port-8080"
- port: 8280
- targetPort: 8080
- nodePort: {{ .Values.nodePortPrefix }}46
- type: NodePort
- selector:
- app: sdnc
----
-kind: Service
-apiVersion: v1
-metadata:
- name: nfs-provisioner
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: nfs-provisioner
-spec:
- ports:
- - name: nfs
- port: 2049
- - name: mountd
- port: 20048
- - name: rpcbind
- port: 111
- - name: rpcbind-udp
- port: 111
- protocol: UDP
- selector:
- app: nfs-provisioner
-#{{ end }}
-#{{ if not .Values.disableSdncSdncPortal }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: sdnc-portal
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: sdnc-portal
- annotations:
- msb.onap.org/service-info: '[
- {
- "serviceName": "sdnc-portal",
- "version": "v1",
- "url": "/",
- "protocol": "UI",
- "port": "8843",
- "visualRange":"0|1"
- }
- ]'
-spec:
- ports:
- - name: "sdnc-portal-port"
- port: 8843
- nodePort: {{ .Values.nodePortPrefix }}01
- type: NodePort
- selector:
- app: sdnc-portal
-#{{ end }}
-#{{ if .Values.enableODLCluster }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: sdnhost-cluster
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: sdnc
- annotations:
- service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
-spec:
- ports:
- - name: "sdnc-cluster-port"
- port: 2550
- clusterIP: None
- selector:
- app: sdnc
- sessionAffinity: None
- type: ClusterIP
-#{{ end }}
diff --git a/kubernetes/sdnc/templates/sdnc-log-configmap.yaml b/kubernetes/sdnc/templates/configmap.yaml
index a0bf0e211a..e9498cb8dc 100644
--- a/kubernetes/sdnc/templates/sdnc-log-configmap.yaml
+++ b/kubernetes/sdnc/templates/configmap.yaml
@@ -12,20 +12,34 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-#{{ if not .Values.disableSdncSdnc }}
apiVersion: v1
kind: ConfigMap
metadata:
- name: sdnc-log-configmap
- namespace: {{ .Values.nsPrefix }}
+ name: {{ include "common.fullname" . }}-filebeat-configmap
+ namespace: {{ include "common.namespace" . }}
data:
{{ tpl (.Files.Glob "resources/config/log/filebeat/log4j/*").AsConfig . | indent 2 }}
---
apiVersion: v1
kind: ConfigMap
metadata:
- name: sdnc-logging-cfg-configmap
- namespace: {{ .Values.nsPrefix }}
+ name: {{ include "common.fullname" . }}-log-configmap
+ namespace: {{ include "common.namespace" . }}
data:
{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
-#{{ end }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-bin
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/bin/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-properties
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/conf/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/sdnc/templates/db-statefulset.yaml b/kubernetes/sdnc/templates/db-statefulset.yaml
deleted file mode 100644
index 29d592a6a7..0000000000
--- a/kubernetes/sdnc/templates/db-statefulset.yaml
+++ /dev/null
@@ -1,220 +0,0 @@
-# Copyright © 2017 Amdocs, 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.
-
-#{{ if not .Values.disableSdncSdncDbhost }}
-apiVersion: apps/v1beta1
-kind: StatefulSet
-metadata:
- name: sdnc-dbhost
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- serviceName: "dbhost"
- replicas: {{ .Values.numberOfDbReplicas }}
- selector:
- matchLabels:
- app: sdnc-dbhost
- template:
- metadata:
- labels:
- app: sdnc-dbhost
- name: sdnc-dbhost
- spec:
- initContainers:
- - name: init-mysql
- image: {{ .Values.image.mysql }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- command:
- - bash
- - "-c"
- - |
- set -ex
- # Generate mysql server-id from pod ordinal index.
- [[ `hostname` =~ -([0-9]+)$ ]] || exit 1
- ordinal=${BASH_REMATCH[1]}
- echo BASH_REMATCH=${BASH_REMATCH}
- echo [mysqld] > /mnt/conf.d/server-id.cnf
- # Add an offset to avoid reserved server-id=0 value.
- echo server-id=$((100 + $ordinal)) >> /mnt/conf.d/server-id.cnf
- # Copy appropriate conf.d files from config-map to emptyDir.
- if [[ $ordinal -eq 0 ]]; then
- cp /mnt/config-map/master.cnf /mnt/conf.d/
- else
- cp /mnt/config-map/slave.cnf /mnt/conf.d/
- fi
- volumeMounts:
- - name: conf
- mountPath: /mnt/conf.d
- - name: config-map
- mountPath: /mnt/config-map
- - name: clone-mysql
- image: {{ .Values.image.xtrabackup }}
- env:
- - name: MYSQL_ROOT_PASSWORD
- value: openECOMP1.0
- command:
- - bash
- - "-c"
- - |
- set -ex
- # Skip the clone if data already exists.
- [[ -d /var/lib/mysql/mysql ]] && exit 0
- # Skip the clone on master (ordinal index 0).
- [[ `hostname` =~ -([0-9]+)$ ]] || exit 1
- ordinal=${BASH_REMATCH[1]}
- echo ${BASH_REMATCH}
- [[ $ordinal -eq 0 ]] && exit 0
- # Clone data from previous peer.
- ncat --recv-only sdnc-dbhost-$(($ordinal-1)).dbhost.{{ .Values.nsPrefix }} 3307 | xbstream -x -C /var/lib/mysql
- # Prepare the backup.
- xtrabackup --user=root --password=$MYSQL_ROOT_PASSWORD --prepare --target-dir=/var/lib/mysql
- ls -l /var/lib/mysql
- volumeMounts:
- - name: sdnc-data
- mountPath: /var/lib/mysql
-#{{ if not .Values.disableNfsProvisioner }}
- subPath: mysql
-#{{ end }}
- - name: conf
- mountPath: /etc/mysql/conf.d
- containers:
- - env:
- - name: MYSQL_ROOT_PASSWORD
- value: openECOMP1.0
- - name: MYSQL_ROOT_HOST
- value: '%'
- - name: MYSQL_ALLOW_EMPTY_PASSWORD
- value: "0"
- image: {{ .Values.image.mysql }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: sdnc-db-container
- volumeMounts:
- - mountPath: /var/lib/mysql
- name: sdnc-data
-#{{ if not .Values.disableNfsProvisioner }}
- subPath: mysql
-#{{ end }}
- - name: conf
- mountPath: /etc/mysql/conf.d
- ports:
- - containerPort: 3306
- resources:
- requests:
- cpu: 500m
- memory: 1Gi
- livenessProbe:
- exec:
- command: ["mysqladmin", "ping"]
- initialDelaySeconds: 30
- periodSeconds: 10
- timeoutSeconds: 5
- readinessProbe:
- tcpSocket:
- port: 3306
- initialDelaySeconds: 5
- periodSeconds: 10
- - name: xtrabackup
- image: {{ .Values.image.xtrabackup }}
- env:
- - name: MYSQL_ROOT_PASSWORD
- value: openECOMP1.0
- ports:
- - name: xtrabackup
- containerPort: 3307
- command:
- - bash
- - "-c"
- - |
- set -ex
- cd /var/lib/mysql
- ls -l
- # Determine binlog position of cloned data, if any.
- if [[ -f xtrabackup_slave_info ]]; then
- echo "Inside xtrabackup_slave_info"
- # XtraBackup already generated a partial "CHANGE MASTER TO" query
- # because we're cloning from an existing slave.
- mv xtrabackup_slave_info change_master_to.sql.in
- # Ignore xtrabackup_binlog_info in this case (it's useless).
- rm -f xtrabackup_binlog_info
- elif [[ -f xtrabackup_binlog_info ]]; then
- echo "Inside xtrabackup_binlog_info"
- # We're cloning directly from master. Parse binlog position.
- [[ `cat xtrabackup_binlog_info` =~ ^(.*?)[[:space:]]+(.*?)$ ]] || exit 1
- rm xtrabackup_binlog_info
- echo "CHANGE MASTER TO MASTER_LOG_FILE='${BASH_REMATCH[1]}',\
- MASTER_LOG_POS=${BASH_REMATCH[2]}" > change_master_to.sql.in
- fi
-
- # Check if we need to complete a clone by starting replication.
- if [[ -f change_master_to.sql.in ]]; then
- echo "Waiting for mysqld to be ready (accepting connections)"
- [[ `hostname` =~ -([0-9]+)$ ]] || exit 1
- ordinal=${BASH_REMATCH[1]}
- echo $ordinal
- until mysql --user=root --password=$MYSQL_ROOT_PASSWORD -h 127.0.0.1 -e "SELECT 1"; do sleep 1; done
-
- echo "Initializing replication from clone position"
- # In case of container restart, attempt this at-most-once.
- mv change_master_to.sql.in change_master_to.sql.orig
- mysql --user=root --password=$MYSQL_ROOT_PASSWORD -h 127.0.0.1 <<EOF
- $(<change_master_to.sql.orig),
- MASTER_HOST="sdnc-dbhost-0.dbhost.{{ .Values.nsPrefix }}",
- MASTER_USER="root",
- MASTER_PASSWORD="$MYSQL_ROOT_PASSWORD",
- MASTER_CONNECT_RETRY=10;
- START SLAVE;
- EOF
- fi
-
- # Start a server to send backups when requested by peers.
- exec ncat --listen --keep-open --send-only --max-conns=1 3307 -c \
- "xtrabackup --user=root --password=$MYSQL_ROOT_PASSWORD --backup --slave-info --stream=xbstream --host=127.0.0.1"
- volumeMounts:
- - name: sdnc-data
- mountPath: /var/lib/mysql
-#{{ if not .Values.disableNfsProvisioner }}
- subPath: mysql
-#{{ end }}
- - name: conf
- mountPath: /etc/mysql/conf.d
- resources:
- requests:
- cpu: 100m
- memory: 100Mi
- volumes:
- - name: conf
- emptyDir: {}
- - name: config-map
- configMap:
- name: sdnc-mysql
- - name: localtime
- hostPath:
- path: /etc/localtime
-#{{ if .Values.disableNfsProvisioner }}
- - name: sdnc-data
- hostPath:
- path: {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/sdnc/data/mysql
-#{{ else }}
- volumeClaimTemplates:
- - metadata:
- name: sdnc-data
- annotations:
- volume.beta.kubernetes.io/storage-class: "{{ .Values.nsPrefix }}-sdnc-data"
- spec:
- accessModes: ["ReadWriteMany"]
- resources:
- requests:
- storage: 1Gi
-#{{ end }}
-#{{ end }}
-
diff --git a/kubernetes/sdnc/templates/dgbuilder-deployment.yaml b/kubernetes/sdnc/templates/dgbuilder-deployment.yaml
deleted file mode 100644
index 62f1d004d0..0000000000
--- a/kubernetes/sdnc/templates/dgbuilder-deployment.yaml
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright © 2017 Amdocs, 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.
-
-#{{ if not .Values.disableSdncSdncDgbuilder }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: sdnc-dgbuilder
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.dgbuilderReplicas }}
- selector:
- matchLabels:
- app: sdnc-dgbuilder
- template:
- metadata:
- labels:
- app: sdnc-dgbuilder
- name: sdnc-dgbuilder
- spec:
- initContainers:
- - command:
- - /root/ready.py
- args:
- - --container-name
- - sdnc-db-container
- - --container-name
- - sdnc-controller-container
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: sdnc-dgbuilder-readiness
- containers:
- - command:
- - /bin/bash
- - -c
- - cd /opt/onap/sdnc/dgbuilder/ && ./start.sh sdnc1.0 && wait
- env:
- - name: MYSQL_ROOT_PASSWORD
- value: openECOMP1.0
- - name: SDNC_CONFIG_DIR
- value: /opt/onap/sdnc/data/properties
- image: {{ .Values.image.dgbuilderSdnc }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: sdnc-dgbuilder-container
- ports:
- - containerPort: 3100
- readinessProbe:
- tcpSocket:
- port: 3100
- initialDelaySeconds: 5
- periodSeconds: 10
- volumeMounts:
- - name: localtime
- mountPath: /etc/localtime
- readOnly: true
- restartPolicy: Always
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/sdnc/templates/dmaap-deployment-configmap.yaml b/kubernetes/sdnc/templates/dmaap-deployment-configmap.yaml
deleted file mode 100644
index b2b8a45cbc..0000000000
--- a/kubernetes/sdnc/templates/dmaap-deployment-configmap.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright © 2017 Amdocs, 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.
-
-#{{ if not .Values.disableSdncDmaap }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: sdnc-dmaap-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/dmaap/*").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/sdnc/templates/dmaap-deployment.yaml b/kubernetes/sdnc/templates/dmaap-deployment.yaml
deleted file mode 100644
index ca092ff261..0000000000
--- a/kubernetes/sdnc/templates/dmaap-deployment.yaml
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright © 2017 Amdocs, 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.
-
-#{{ if not .Values.disableSdncDmaap }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: sdnc-dmaap-listener
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.dmaapReplicas }}
- selector:
- matchLabels:
- app: dmaap-listener
- template:
- metadata:
- labels:
- app: dmaap-listener
- name: sdnc-dmaap-listener
- spec:
- initContainers:
- - command:
- - /root/ready.py
- args:
- - --container-name
- - sdnc-db-container
- - --container-name
- - sdnc-controller-container
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: sdnc-dmaap-readiness
- containers:
- - command:
- - /opt/onap/sdnc/dmaap-listener/bin/start-dmaap-listener.sh
- env:
- - name: PROPERTY_DIR
- value: /opt/onap/sdnc/data/properties
- - name: SDNC_CONFIG_DIR
- value: /opt/onap/sdnc/data/properties
- image: {{ .Values.image.dmaaplistener }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: dmaapp-listener-container
- volumeMounts:
- - mountPath: /etc/localtime
- name: localtime
- readOnly: true
- - mountPath: /opt/onap/sdnc/data/properties/dhcpalert.properties
- subPath: dhcpalert.properties
- name: dmaap-dhcapalert-config
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: dmaap-dhcapalert-config
- configMap:
- name: sdnc-dmaap-configmap
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/sdnc/templates/mysql-configmap.yaml b/kubernetes/sdnc/templates/mysql-configmap.yaml
deleted file mode 100644
index e8c267261c..0000000000
--- a/kubernetes/sdnc/templates/mysql-configmap.yaml
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright © 2017 Amdocs, 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.
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: sdnc-mysql
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: mysql
-data:
- master.cnf: |
- # Apply this config only on the master.
- [mysqld]
- log-bin
- [localpathprefix]
- master
- slave.cnf: |
- # Apply this config only on slaves.
- [mysqld]
- super-read-only
- [localpathprefix]
- slave
diff --git a/kubernetes/sdnc/templates/nfs-provisoner-deployment.yaml b/kubernetes/sdnc/templates/nfs-provisoner-deployment.yaml
deleted file mode 100644
index 12713a1dbb..0000000000
--- a/kubernetes/sdnc/templates/nfs-provisoner-deployment.yaml
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright © 2017 Amdocs, 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.
-
-#{{ if not .Values.disableSdncSdncDbhost }}
-#{{ if not .Values.disableNfsProvisioner }}
-kind: Deployment
-apiVersion: extensions/v1beta1
-metadata:
- name: sdnc-nfs-provisioner
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.nfsReplicas }}
- strategy:
- type: Recreate
- template:
- metadata:
- labels:
- app: nfs-provisioner
- name: sdnc-nfs-provisioner
- spec:
- containers:
- - name: nfs-provisioner
- image: quay.io/kubernetes_incubator/nfs-provisioner:v1.0.8
- ports:
- - name: nfs
- containerPort: 2049
- - name: mountd
- containerPort: 20048
- - name: rpcbind
- containerPort: 111
- - name: rpcbind-udp
- containerPort: 111
- protocol: UDP
- securityContext:
- capabilities:
- add:
- - DAC_READ_SEARCH
- - SYS_RESOURCE
- args:
- - "-provisioner=sdnc/nfs"
- env:
- - name: POD_IP
- valueFrom:
- fieldRef:
- fieldPath: status.podIP
- - name: SERVICE_NAME
- value: nfs-provisioner
- - name: POD_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- imagePullPolicy: "IfNotPresent"
- volumeMounts:
- - name: export-volume
- mountPath: /export
- volumes:
- - name: export-volume
- hostPath:
- path: {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/sdnc/data
-#{{ end }}
-#{{ end }}
diff --git a/kubernetes/sdnc/templates/pv.yaml b/kubernetes/sdnc/templates/pv.yaml
new file mode 100644
index 0000000000..f10d67ad68
--- /dev/null
+++ b/kubernetes/sdnc/templates/pv.yaml
@@ -0,0 +1,84 @@
+{{/*
+# 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.
+*/}}
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+{{ $pvNum := default 1 .Values.replicaCount | int }}
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+ name: {{ include "common.fullname" . }}-mdsal0
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.fullname" . }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+ release: "{{ .Release.Name }}"
+ heritage: "{{ .Release.Service }}"
+ name: {{ include "common.fullname" . }}
+spec:
+ capacity:
+ storage: {{ .Values.persistence.size}}
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ storageClassName: "{{ include "common.fullname" . }}-mdsal"
+ persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+ hostPath:
+ path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}0
+{{ if gt $pvNum 1 }}
+---
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+ name: {{ include "common.fullname" . }}-mdsal1
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.fullname" . }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+ release: "{{ .Release.Name }}"
+ heritage: "{{ .Release.Service }}"
+ name: {{ include "common.fullname" . }}
+spec:
+ capacity:
+ storage: {{ .Values.persistence.size}}
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ storageClassName: "{{ include "common.fullname" . }}-mdsal"
+ persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+ hostPath:
+ path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}1
+{{ end }}
+{{ if gt $pvNum 2 }}
+---
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+ name: {{ include "common.fullname" . }}-mdsal2
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.fullname" . }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+ release: "{{ .Release.Name }}"
+ heritage: "{{ .Release.Service }}"
+ name: {{ include "common.fullname" . }}
+spec:
+ capacity:
+ storage: {{ .Values.persistence.size}}
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ storageClassName: "{{ include "common.fullname" . }}-mdsal"
+ persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+ hostPath:
+ path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}2
+{{ end }}
+{{- end -}}
diff --git a/kubernetes/sdnc/templates/sdnc-conf-configmap.yaml b/kubernetes/sdnc/templates/sdnc-conf-configmap.yaml
deleted file mode 100644
index 3d89f20cab..0000000000
--- a/kubernetes/sdnc/templates/sdnc-conf-configmap.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright © 2017 Amdocs, 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.
-
-#{{ if not .Values.disableSdncSdnc }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: sdnc-conf-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/conf/*").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/sdnc/templates/sdnc-data-storageclass.yaml b/kubernetes/sdnc/templates/sdnc-data-storageclass.yaml
deleted file mode 100644
index 1e6bf53b21..0000000000
--- a/kubernetes/sdnc/templates/sdnc-data-storageclass.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright © 2017 Amdocs, 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.
-
-#{{ if not .Values.disableSdncSdncDbhost }}
-#{{ if not .Values.disableNfsProvisioner }}
-kind: StorageClass
-apiVersion: storage.k8s.io/v1
-metadata:
- name: "{{ .Values.nsPrefix }}-sdnc-data"
- namespace: "{{ .Values.nsPrefix }}"
-provisioner: sdnc/nfs
-#{{ end }}
-#{{ end }}
diff --git a/kubernetes/sdnc/templates/sdnc-statefulset.yaml b/kubernetes/sdnc/templates/sdnc-statefulset.yaml
deleted file mode 100644
index 3b07896462..0000000000
--- a/kubernetes/sdnc/templates/sdnc-statefulset.yaml
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright © 2017 Amdocs, 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.
-
-#{{ if not .Values.disableSdncSdnc }}
-apiVersion: apps/v1beta1
-kind: StatefulSet
-metadata:
- name: sdnc
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- serviceName: "sdnhost-cluster"
- replicas: {{ .Values.numberOfODLReplicas }}
- podManagementPolicy: Parallel
- selector:
- matchLabels:
- app: sdnc
- template:
- metadata:
- labels:
- app: sdnc
- name: sdnc
- spec:
- initContainers:
- - command:
- - /root/ready.py
- args:
- - --container-name
- - sdnc-db-container
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: sdnc-readiness
- containers:
- - command:
- - bash
- - "-c"
- - |
- sed -i 's/dbhost/sdnc-dbhost-0.dbhost.{{ .Values.nsPrefix }}.svc.cluster.local/g' /opt/onap/sdnc/data/properties/svclogic.properties
- sed -i 's/^\(org.onap.ccsdk.sli.jdbc.hosts=\).*/\1sdnc-dbhost-0.dbhost.{{ .Values.nsPrefix }}.svc.cluster.local/' /opt/onap/sdnc/data/properties/dblib.properties
- /opt/onap/sdnc/bin/startODL.sh
- env:
- - name: MYSQL_ROOT_PASSWORD
- value: openECOMP1.0
- - name: SDNC_CONFIG_DIR
- value: /opt/onap/sdnc/data/properties
- - name: ENABLE_ODL_CLUSTER
- value: "{{ .Values.enableODLCluster }}"
- - name: SDNC_REPLICAS
- value: "{{ .Values.numberOfODLReplicas }}"
- image: {{ .Values.image.sdnc }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: sdnc-controller-container
- volumeMounts:
- - mountPath: /etc/localtime
- name: localtime
- readOnly: true
- - mountPath: /opt/onap/sdnc/data/properties/admportal.json
- name: sdnc-conf
- subPath: admportal.json
- - mountPath: /opt/onap/sdnc/data/properties/aaiclient.properties
- name: sdnc-conf
- subPath: aaiclient.properties
- - mountPath: /var/log/onap
- name: sdnc-logs
- - mountPath: /opt/opendaylight/current/etc/org.ops4j.pax.logging.cfg
- name: sdnc-logging-cfg-config
- subPath: org.ops4j.pax.logging.cfg
- ports:
- - containerPort: 8181
- - containerPort: 8101
- - containerPort: 2550
- - containerPort: 8080
- readinessProbe:
- tcpSocket:
- port: 8181
- initialDelaySeconds: 5
- periodSeconds: 10
- - image: {{ .Values.image.filebeat }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: filebeat-onap
- volumeMounts:
- - mountPath: /usr/share/filebeat/filebeat.yml
- name: filebeat-conf
- subPath: filebeat.yml
- - mountPath: /var/log/onap
- name: sdnc-logs
- - mountPath: /usr/share/filebeat/data
- name: sdnc-data-filebeat
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: filebeat-conf
- configMap:
- name: sdnc-log-configmap
- - name: sdnc-logging-cfg-config
- configMap:
- name: sdnc-logging-cfg-configmap
- - name: sdnc-logs
- emptyDir: {}
- - name: sdnc-data-filebeat
- emptyDir: {}
- - name: sdnc-conf
- configMap:
- name: sdnc-conf-configmap
- items:
- - key: admportal.json
- path: admportal.json
- mode: 0755
- - key: aaiclient.properties
- path: aaiclient.properties
- mode: 0755
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/sdnc/templates/secrets.yaml b/kubernetes/sdnc/templates/secrets.yaml
new file mode 100644
index 0000000000..754f117e38
--- /dev/null
+++ b/kubernetes/sdnc/templates/secrets.yaml
@@ -0,0 +1,27 @@
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.fullname" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+type: Opaque
+data:
+ db-root-password: {{ .Values.config.dbRootPassword | b64enc | quote }}
+---
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ include "common.fullname" . }}-odl
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.fullname" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+type: Opaque
+data:
+ odl-password: {{ .Values.config.odlPassword | b64enc | quote }}
diff --git a/kubernetes/sdnc/templates/service.yaml b/kubernetes/sdnc/templates/service.yaml
new file mode 100644
index 0000000000..63a85a39aa
--- /dev/null
+++ b/kubernetes/sdnc/templates/service.yaml
@@ -0,0 +1,155 @@
+# Copyright © 2017 Amdocs, 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.
+
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.servicename" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+ annotations:
+ msb.onap.org/service-info: '[
+ {
+ "serviceName": "sdnc",
+ "version": "v1",
+ "url": "/",
+ "protocol": "REST",
+ "port": "{{ .Values.service.externalPort }}",
+ "visualRange":"1",
+ "path": "/"
+ }
+ ]'
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: "{{ .Values.service.portName }}-8282"
+ - port: {{ .Values.service.externalPort2 }}
+ targetPort: {{ .Values.service.internalPort2 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+ name: "{{ .Values.service.portName }}-8202"
+ - port: {{ .Values.service.externalPort3 }}
+ targetPort: {{ .Values.service.internalPort3 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }}
+ name: "{{ .Values.service.portName }}-8280"
+ - port: {{ .Values.service.externalPort4 }}
+ targetPort: {{ .Values.service.internalPort4 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort4 }}
+ name: "{{ .Values.service.portName }}-8443"
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.portName }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ .Values.service.portName }}-cluster
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ annotations:
+ service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
+spec:
+ ports:
+ - name: "{{ .Values.service.portName }}-cluster-port"
+ port: {{ .Values.service.clusterPort }}
+ clusterIP: None
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ sessionAffinity: None
+ type: ClusterIP
+
+{{ if .Values.config.geoEnabled }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: sdnhost-{{ include "common.servicename" . }}-0
+ namespace: {{ .Release.Namespace }}
+ labels:
+ statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
+spec:
+ ports:
+ - name: {{ .Values.service.portName }}-0-port-{{ .Values.service.internalPort4 }}
+ port: {{ .Values.service.clusterPort2 }}
+ targetPort: {{ .Values.service.internalPort4 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.geoNodePort4 }}
+ - name: {{ .Values.service.portName }}-0-port-{{ .Values.service.internalPort }}
+ port: {{ .Values.service.clusterPort3 }}
+ targetPort: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.geoNodePort1 }}
+ type: NodePort
+ selector:
+ statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
+{{ end }}
+{{ if .Values.config.geoEnabled }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: sdnhost-{{ include "common.servicename" . }}-1
+ namespace: {{ .Release.Namespace }}
+ labels:
+ statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-1
+spec:
+ ports:
+ - name: {{ .Values.service.portName }}-1-port-{{ .Values.service.internalPort4 }}
+ port: {{ .Values.service.clusterPort2 }}
+ targetPort: {{ .Values.service.internalPort4 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.geoNodePort5 }}
+ - name: {{ .Values.service.portName }}-1-port-{{ .Values.service.internalPort }}
+ port: {{ .Values.service.clusterPort3 }}
+ targetPort: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.geoNodePort2 }}
+ type: NodePort
+ selector:
+ statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-1
+{{ end }}
+{{ if .Values.config.geoEnabled }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: sdnhost-{{ include "common.servicename" . }}-2
+ namespace: {{ .Release.Namespace }}
+ labels:
+ statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-2
+spec:
+ ports:
+ - name: {{ .Values.service.portName }}-2-port-{{ .Values.service.internalPort4 }}
+ port: {{ .Values.service.clusterPort2 }}
+ targetPort: {{ .Values.service.internalPort4 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.geoNodePort6 }}
+ - name: {{ .Values.service.portName }}-2-port-{{ .Values.service.internalPort }}
+ port: {{ .Values.service.clusterPort3 }}
+ targetPort: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.geoNodePort3 }}
+ type: NodePort
+ selector:
+ statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-2
+{{ end }}
diff --git a/kubernetes/sdnc/templates/statefulset.yaml b/kubernetes/sdnc/templates/statefulset.yaml
new file mode 100644
index 0000000000..69816dffb4
--- /dev/null
+++ b/kubernetes/sdnc/templates/statefulset.yaml
@@ -0,0 +1,187 @@
+# Copyright © 2017 Amdocs, 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.
+
+apiVersion: apps/v1beta1
+kind: StatefulSet
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ serviceName: {{ include "common.servicename" . }}-cluster
+ replicas: {{ .Values.replicaCount }}
+ podManagementPolicy: Parallel
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ spec:
+ initContainers:
+ - command:
+ - /root/ready.py
+ args:
+ - --container-name
+ - {{ .Values.mysql.nameOverride }}
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-readiness
+ containers:
+ - name: {{ include "common.name" . }}
+ image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ command: ["/bin/bash"]
+ args: ["-c", "/opt/sdnc/bin/startODL.sh"]
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ - containerPort: {{ .Values.service.internalPort2 }}
+ - containerPort: {{ .Values.service.internalPort3 }}
+ - containerPort: {{ .Values.service.clusterPort }}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: MYSQL_ROOT_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "common.fullname" . }}
+ key: db-root-password
+ - name: ODL_ADMIN_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "common.fullname" . }}-odl
+ key: odl-password
+ - name: SDNC_CONFIG_DIR
+ value: "{{ .Values.config.configDir }}"
+ - name: ENABLE_ODL_CLUSTER
+ value: "{{ .Values.config.enableClustering }}"
+ - name: MY_ODL_CLUSTER
+ value: "{{ .Values.config.myODLCluster }}"
+ - name: PEER_ODL_CLUSTER
+ value: "{{ .Values.config.peerODLCluster }}"
+ - name: IS_PRIMARY_CLUSTER
+ value: "{{ .Values.config.isPrimaryCluster }}"
+ - name: GEO_ENABLED
+ value: "{{ .Values.config.geoEnabled}}"
+ - name: SDNC_REPLICAS
+ value: "{{ .Values.replicaCount }}"
+ - name: MYSQL_HOST
+ value: "{{.Release.Name}}-{{.Values.mysql.nameOverride}}-0.{{.Values.mysql.service.name}}.{{.Release.Namespace}}"
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /opt/opendaylight/current/etc/org.ops4j.pax.logging.cfg
+ name: sdnc-logging-cfg-config
+ subPath: org.ops4j.pax.logging.cfg
+ - mountPath: {{ .Values.config.binDir }}/startODL.sh
+ name: bin
+ subPath: startODL.sh
+ - mountPath: {{ .Values.config.binDir }}/installSdncDb.sh
+ name: bin
+ subPath: installSdncDb.sh
+ - mountPath: {{ .Values.config.configDir }}/aaiclient.properties
+ name: properties
+ subPath: aaiclient.properties
+ - mountPath: {{ .Values.config.configDir }}/dblib.properties
+ name: properties
+ subPath: dblib.properties
+ - mountPath: {{ .Values.config.configDir }}/lcm-dg.properties
+ name: properties
+ subPath: lcm-dg.properties
+ - mountPath: {{ .Values.config.configDir }}/svclogic.properties
+ name: properties
+ subPath: svclogic.properties
+ - mountPath: /opt/onap/sdnc/svclogic/config/svclogic.properties
+ name: properties
+ subPath: svclogic.properties
+ - mountPath: {{ .Values.persistence.mdsalPath }}
+ name: {{ include "common.fullname" . }}-mdsal
+ - mountPath: /var/log/onap
+ name: logs
+ resources:
+{{ toYaml .Values.resources | indent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+
+ # side car containers
+ - name: filebeat-onap
+ image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ volumeMounts:
+ - mountPath: /usr/share/filebeat/filebeat.yml
+ name: filebeat-conf
+ subPath: filebeat.yml
+ - mountPath: /var/log/onap
+ name: logs
+ - mountPath: /usr/share/filebeat/data
+ name: data-filebeat
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: logs
+ emptyDir: {}
+ - name: data-filebeat
+ emptyDir: {}
+ - name: filebeat-conf
+ configMap:
+ name: {{ include "common.fullname" . }}-filebeat-configmap
+ - name: sdnc-logging-cfg-config
+ configMap:
+ name: {{ include "common.fullname" . }}-log-configmap
+ - name: bin
+ configMap:
+ name: {{ include "common.fullname" . }}-bin
+ defaultMode: 0755
+ - name: properties
+ configMap:
+ name: {{ include "common.fullname" . }}-properties
+ defaultMode: 0644
+ {{ if not .Values.persistence.enabled }}
+ - name: {{ include "common.fullname" . }}-mdsal
+ emptyDir: {}
+ {{ else }}
+ volumeClaimTemplates:
+ - metadata:
+ name: {{ include "common.fullname" . }}-mdsal
+ labels:
+ name: {{ include "common.fullname" . }}
+ spec:
+ accessModes: [ {{ .Values.persistence.accessMode }} ]
+ storageClassName: {{ include "common.fullname" . }}-mdsal
+ resources:
+ requests:
+ storage: {{ .Values.persistence.size }}
+ {{ end }}
diff --git a/kubernetes/sdnc/templates/ueb-deployment-configmap.yaml b/kubernetes/sdnc/templates/ueb-deployment-configmap.yaml
deleted file mode 100644
index 0e5b3ac62e..0000000000
--- a/kubernetes/sdnc/templates/ueb-deployment-configmap.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright © 2017 Amdocs, 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.
-
-#{{ if not .Values.disableSdncUeb }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: sdnc-ueb-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/ueb/*").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/sdnc/templates/ueb-deployment.yaml b/kubernetes/sdnc/templates/ueb-deployment.yaml
deleted file mode 100644
index f785cf7411..0000000000
--- a/kubernetes/sdnc/templates/ueb-deployment.yaml
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright © 2017 Amdocs, 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.
-
-#{{ if not .Values.disableSdncUeb }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: sdnc-ueb-listener
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.uebReplicas }}
- selector:
- matchLabels:
- app: ueb-listener
- template:
- metadata:
- labels:
- app: ueb-listener
- name: sdnc-ueb-listener
- spec:
- initContainers:
- - command:
- - /root/ready.py
- args:
- - --container-name
- - sdnc-db-container
- - --container-name
- - sdnc-controller-container
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: sdnc-ueb-readiness
- containers:
- - command:
- - /opt/onap/sdnc/ueb-listener/bin/start-ueb-listener.sh
- env:
- - name: PROPERTY_DIR
- value: /opt/onap/sdnc/data/properties
- - name: SDNC_CONFIG_DIR
- value: /opt/onap/sdnc/data/properties
- image: {{ .Values.image.ueblistener }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: ueb-listener-container
- volumeMounts:
- - mountPath: /etc/localtime
- name: localtime
- readOnly: true
- - mountPath: /opt/onap/sdnc/data/properties/ueb-listener.properties
- subPath: ueb-listener.properties
- name: ueb-config
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: ueb-config
- configMap:
- name: sdnc-ueb-configmap
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/sdnc/templates/web-deployment.yaml b/kubernetes/sdnc/templates/web-deployment.yaml
deleted file mode 100644
index ef469ac523..0000000000
--- a/kubernetes/sdnc/templates/web-deployment.yaml
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright © 2017 Amdocs, 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.
-
-#{{ if not .Values.disableSdncSdncPortal }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: sdnc-portal
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.portalReplicas }}
- selector:
- matchLabels:
- app: sdnc-portal
- template:
- metadata:
- labels:
- app: sdnc-portal
- name: sdnc-portal
- spec:
- initContainers:
- - command:
- - /root/ready.py
- args:
- - --container-name
- - sdnc-db-container
- - --container-name
- - sdnc-controller-container
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: sdnc-portal-readiness
- containers:
- - command:
- - /bin/bash
- - -c
- - cd /opt/onap/sdnc/admportal/shell && ./start_portal.sh
- env:
- - name: MYSQL_ROOT_PASSWORD
- value: openECOMP1.0
- - name: SDNC_CONFIG_DIR
- value: /opt/onap/sdnc/data/properties
- image: {{ .Values.image.admportalSdnc }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: sdnc-portal-container
- ports:
- - containerPort: 8843
- volumeMounts:
- - name: localtime
- mountPath: /etc/localtime
- readOnly: true
- - mountPath: /opt/onap/sdnc/data/properties/
- name: sdnc-conf
- readinessProbe:
- tcpSocket:
- port: 8843
- initialDelaySeconds: 5
- periodSeconds: 10
- restartPolicy: Always
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: sdnc-conf
- configMap:
- name: sdnc-conf-configmap
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}