From: Mike Elliott Date: Tue, 6 Nov 2018 16:45:38 +0000 (+0000) Subject: Merge "vvp -- VNF Validation Platform" X-Git-Tag: 3.0.0-ONAP~73 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=0146d732319280a75a39daed993d128ef388e487;hp=c2cc5ff1d2520267f9ebabb02eced6ea2a1dc9f6;p=oom.git Merge "vvp -- VNF Validation Platform" --- diff --git a/docs/oom_project_description.rst b/docs/oom_project_description.rst index 5cedf79eca..6486f4bab7 100644 --- a/docs/oom_project_description.rst +++ b/docs/oom_project_description.rst @@ -32,7 +32,7 @@ OOM supports a wide variety of Kubernetes private clouds - built with Rancher, Kubeadm or Cloudify - and public cloud infrastructures such as: Microsoft Azure, Amazon AWS, Google GCD, VMware VIO, and Openstack. -The OOM documentation is broken into four different areas each targeted at a differnet user: +The OOM documentation is broken into four different areas each targeted at a different user: - :ref:`quick-start-label` - deploy ONAP on an existing cloud - :ref:`user-guide-label` - a guide for operators of an ONAP instance diff --git a/docs/release-notes.rst b/docs/release-notes.rst index 3cb547cce3..c87eee0114 100644 --- a/docs/release-notes.rst +++ b/docs/release-notes.rst @@ -425,7 +425,7 @@ The Amsterdam release is the first release of the ONAP Operations Manager (OOM). The main goal of the Amsterdam release was to: - - Support Flexible Platform Deployment via Kubernetes of fully containerized OMAP components - on any type of environment. + - Support Flexible Platform Deployment via Kubernetes of fully containerized ONAP components - on any type of environment. - Support State Management of ONAP platform components. - Support full production ONAP deployment and any variation of component level deployment for development. - Platform Operations Orchestration / Control Loop Actions. diff --git a/kubernetes/aaf/charts/aaf-cm/templates/deployment.yaml b/kubernetes/aaf/charts/aaf-cm/templates/deployment.yaml index 39544258fd..f78dfdc541 100644 --- a/kubernetes/aaf/charts/aaf-cm/templates/deployment.yaml +++ b/kubernetes/aaf/charts/aaf-cm/templates/deployment.yaml @@ -31,20 +31,27 @@ spec: release: {{ .Release.Name }} spec: initContainers: - - name: {{ include "common.name" . }}-job-complete - command: - - /root/job_complete.py - args: - - --job-name - - {{ .Release.Name }}-create-config - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" + - name: {{ include "common.name" . }}-config-container + image: "{{ include "common.repository" . }}/{{ .Values.global.configImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + volumeMounts: + - mountPath: "/opt/app/osaaf" + name: {{ include "common.name" . }}-config-vol + env: + - name: HOSTNAME + value: "{{ .Values.global.cadi.hostname }}" + - name: AAF_ENV + value: "{{ .Values.global.cadi.aaf_env }}" + - name: AAF_REGISTER_AS + value: "{{ .Values.aaf_register_as }}" + - name: LATITUDE + value: "{{ .Values.global.cadi.cadi_latitude }}" + - name: LONGITUDE + value: "{{ .Values.global.cadi.cadi_longitude }}" + - name: CASS_HOST + value: "{{ .Values.global.cadi.cass_host }}" + - name: AAF_LOCATOR_AS + value: "{{ .Values.global.cadi.cadi_locator_as }}" - name: {{ include "common.name" . }}-readiness command: - /root/ready.py @@ -61,12 +68,12 @@ spec: imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} containers: - name: {{ include "common.name" . }} - command: ["/bin/bash","/opt/app/aaf/bin/cm"] + command: ["/bin/bash","/opt/app/aaf/pod/pod_wait.sh","aaf_cm","sleep","0","cd /opt/app/aaf;bin/cm"] image: "{{ include "common.repository" . }}/{{ .Values.image }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} volumeMounts: - mountPath: "/opt/app/osaaf" - name: shared-config-volume + name: {{ include "common.name" . }}-config-vol - mountPath: /etc/localtime name: localtime readOnly: true @@ -96,12 +103,7 @@ spec: - name: localtime hostPath: path: /etc/localtime - - name: shared-config-volume - {{- if .Values.global.persistence.enabled }} - persistentVolumeClaim: - claimName: {{ .Release.Name }}-config - {{- else }} + - name: {{ include "common.name" . }}-config-vol emptyDir: {} - {{- end }} imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key" \ No newline at end of file + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/aaf/charts/aaf-cm/values.yaml b/kubernetes/aaf/charts/aaf-cm/values.yaml index 9ddb366064..6bd03cf6bd 100644 --- a/kubernetes/aaf/charts/aaf-cm/values.yaml +++ b/kubernetes/aaf/charts/aaf-cm/values.yaml @@ -25,7 +25,8 @@ flavor: small ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/aaf/aaf_cm:2.1.2-SNAPSHOT +image: onap/aaf/aaf_cm:2.1.7-SNAPSHOT +aaf_register_as: "aaf-cm.onap" pullPolicy: Always @@ -76,4 +77,4 @@ resources: requests: cpu: 40m memory: 600Mi - unlimited: {} \ No newline at end of file + unlimited: {} diff --git a/kubernetes/aaf/charts/aaf-cs/templates/deployment.yaml b/kubernetes/aaf/charts/aaf-cs/templates/deployment.yaml index e0d500c420..3abdcb3c7f 100644 --- a/kubernetes/aaf/charts/aaf-cs/templates/deployment.yaml +++ b/kubernetes/aaf/charts/aaf-cs/templates/deployment.yaml @@ -63,8 +63,8 @@ spec: periodSeconds: {{ .Values.liveness.periodSeconds }} {{ end -}} readinessProbe: - exec: - command: ["/bin/bash","/opt/app/aaf/cass_init/cmd.sh","wait"] + tcpSocket: + port: {{ .Values.service.internalPort3 }} initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} periodSeconds: {{ .Values.readiness.periodSeconds }} resources: @@ -89,4 +89,4 @@ spec: emptyDir: {} {{- end }} imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key" \ No newline at end of file + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/aaf/charts/aaf-cs/values.yaml b/kubernetes/aaf/charts/aaf-cs/values.yaml index a914b542f4..a81bfed3ef 100644 --- a/kubernetes/aaf/charts/aaf-cs/values.yaml +++ b/kubernetes/aaf/charts/aaf-cs/values.yaml @@ -24,7 +24,7 @@ flavor: small ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/aaf/aaf_cass:2.1.2-SNAPSHOT +image: onap/aaf/aaf_cass:2.1.7-SNAPSHOT pullPolicy: Always # application configuration @@ -94,4 +94,4 @@ persistence: volumeReclaimPolicy: Retain accessMode: ReadWriteOnce size: 10Gi - storageClass: "manual" \ No newline at end of file + storageClass: "manual" diff --git a/kubernetes/aaf/charts/aaf-fs/templates/deployment.yaml b/kubernetes/aaf/charts/aaf-fs/templates/deployment.yaml index 5125eb161e..b93844849e 100644 --- a/kubernetes/aaf/charts/aaf-fs/templates/deployment.yaml +++ b/kubernetes/aaf/charts/aaf-fs/templates/deployment.yaml @@ -31,20 +31,27 @@ spec: release: {{ .Release.Name }} spec: initContainers: - - name: {{ include "common.name" . }}-job-complete - command: - - /root/job_complete.py - args: - - --job-name - - {{ .Release.Name }}-create-config - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" + - name: {{ include "common.name" . }}-config-container + image: "{{ include "common.repository" . }}/{{ .Values.global.configImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + volumeMounts: + - mountPath: "/opt/app/osaaf" + name: {{ include "common.name" . }}-config-vol + env: + - name: HOSTNAME + value: "{{ .Values.global.cadi.hostname }}" + - name: AAF_ENV + value: "{{ .Values.global.cadi.aaf_env }}" + - name: AAF_REGISTER_AS + value: "{{ .Values.aaf_register_as }}" + - name: LATITUDE + value: "{{ .Values.global.cadi.cadi_latitude }}" + - name: LONGITUDE + value: "{{ .Values.global.cadi.cadi_longitude }}" + - name: CASS_HOST + value: "{{ .Values.global.cadi.cass_host }}" + - name: AAF_LOCATOR_AS + value: "{{ .Values.global.cadi.cadi_locator_as }}" - name: {{ include "common.name" . }}-readiness command: - /root/ready.py @@ -61,12 +68,12 @@ spec: imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} containers: - name: {{ include "common.name" . }} - command: ["/bin/bash","/opt/app/aaf/bin/fs"] + command: ["/bin/bash","/opt/app/aaf/pod/pod_wait.sh","aaf_fs","sleep","0","cd /opt/app/aaf;bin/fs"] image: "{{ include "common.repository" . }}/{{ .Values.image }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} volumeMounts: - mountPath: "/opt/app/osaaf" - name: shared-config-volume + name: {{ include "common.name" . }}-config-vol - mountPath: /etc/localtime name: localtime readOnly: true @@ -96,12 +103,7 @@ spec: - name: localtime hostPath: path: /etc/localtime - - name: shared-config-volume - {{- if .Values.global.persistence.enabled }} - persistentVolumeClaim: - claimName: {{ .Release.Name }}-config - {{- else }} + - name: {{ include "common.name" . }}-config-vol emptyDir: {} - {{- end }} imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key" \ No newline at end of file + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/aaf/charts/aaf-fs/values.yaml b/kubernetes/aaf/charts/aaf-fs/values.yaml index 0f0d7c47e7..07e832b48f 100644 --- a/kubernetes/aaf/charts/aaf-fs/values.yaml +++ b/kubernetes/aaf/charts/aaf-fs/values.yaml @@ -25,7 +25,8 @@ flavor: small ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/aaf/aaf_fs:2.1.2-SNAPSHOT +image: onap/aaf/aaf_fs:2.1.7-SNAPSHOT +aaf_register_as: "aaf-fs.onap" pullPolicy: Always @@ -76,4 +77,4 @@ resources: requests: cpu: 100m memory: 400Mi - unlimited: {} \ No newline at end of file + unlimited: {} diff --git a/kubernetes/aaf/charts/aaf-gui/templates/deployment.yaml b/kubernetes/aaf/charts/aaf-gui/templates/deployment.yaml index 24c8e68cec..9dd87948eb 100644 --- a/kubernetes/aaf/charts/aaf-gui/templates/deployment.yaml +++ b/kubernetes/aaf/charts/aaf-gui/templates/deployment.yaml @@ -31,20 +31,27 @@ spec: release: {{ .Release.Name }} spec: initContainers: - - name: {{ include "common.name" . }}-job-complete - command: - - /root/job_complete.py - args: - - --job-name - - {{ .Release.Name }}-create-config - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" + - name: {{ include "common.name" . }}-config-container + image: "{{ include "common.repository" . }}/{{ .Values.global.configImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + volumeMounts: + - mountPath: "/opt/app/osaaf" + name: {{ include "common.name" . }}-config-vol + env: + - name: HOSTNAME + value: "{{ .Values.global.cadi.hostname }}" + - name: AAF_ENV + value: "{{ .Values.global.cadi.aaf_env }}" + - name: AAF_REGISTER_AS + value: "{{ .Values.aaf_register_as }}" + - name: LATITUDE + value: "{{ .Values.global.cadi.cadi_latitude }}" + - name: LONGITUDE + value: "{{ .Values.global.cadi.cadi_longitude }}" + - name: CASS_HOST + value: "{{ .Values.global.cadi.cass_host }}" + - name: AAF_LOCATOR_AS + value: "{{ .Values.global.cadi.cadi_locator_as }}" - name: {{ include "common.name" . }}-readiness command: - /root/ready.py @@ -61,12 +68,12 @@ spec: imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} containers: - name: {{ include "common.name" . }} - command: ["/bin/bash","/opt/app/aaf/bin/gui"] + command: ["/bin/bash","/opt/app/aaf/pod/pod_wait.sh","aaf_gui","sleep","0","cd /opt/app/aaf;bin/gui"] image: "{{ include "common.repository" . }}/{{ .Values.image }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} volumeMounts: - mountPath: "/opt/app/osaaf" - name: shared-config-volume + name: {{ include "common.name" . }}-config-vol - mountPath: /etc/localtime name: localtime readOnly: true @@ -96,12 +103,7 @@ spec: - name: localtime hostPath: path: /etc/localtime - - name: shared-config-volume - {{- if .Values.global.persistence.enabled }} - persistentVolumeClaim: - claimName: {{ .Release.Name }}-config - {{- else }} + - name: {{ include "common.name" . }}-config-vol emptyDir: {} - {{- end }} imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key" \ No newline at end of file + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/aaf/charts/aaf-gui/values.yaml b/kubernetes/aaf/charts/aaf-gui/values.yaml index d44ac5ed46..dd8162b660 100644 --- a/kubernetes/aaf/charts/aaf-gui/values.yaml +++ b/kubernetes/aaf/charts/aaf-gui/values.yaml @@ -1,3 +1,4 @@ + # Copyright © 2017 Amdocs, Bell Canada # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -25,7 +26,8 @@ flavor: small ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/aaf/aaf_gui:2.1.2-SNAPSHOT +image: onap/aaf/aaf_gui:2.1.7-SNAPSHOT +aaf_register_as: "aaf-gui.onap" pullPolicy: Always @@ -77,4 +79,4 @@ resources: requests: cpu: 100m memory: 500Mi - unlimited: {} \ No newline at end of file + unlimited: {} diff --git a/kubernetes/aaf/charts/aaf-hello/templates/deployment.yaml b/kubernetes/aaf/charts/aaf-hello/templates/deployment.yaml index f932228cd9..c57e57f017 100644 --- a/kubernetes/aaf/charts/aaf-hello/templates/deployment.yaml +++ b/kubernetes/aaf/charts/aaf-hello/templates/deployment.yaml @@ -31,20 +31,27 @@ spec: release: {{ .Release.Name }} spec: initContainers: - - name: {{ include "common.name" . }}-job-complete - command: - - /root/job_complete.py - args: - - --job-name - - {{ .Release.Name }}-create-config - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" + - name: {{ include "common.name" . }}-config-container + image: "{{ include "common.repository" . }}/{{ .Values.global.configImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + volumeMounts: + - mountPath: "/opt/app/osaaf" + name: {{ include "common.name" . }}-config-vol + env: + - name: HOSTNAME + value: "{{ .Values.global.cadi.hostname }}" + - name: AAF_ENV + value: "{{ .Values.global.cadi.aaf_env }}" + - name: AAF_REGISTER_AS + value: "{{ .Values.aaf_register_as }}" + - name: LATITUDE + value: "{{ .Values.global.cadi.cadi_latitude }}" + - name: LONGITUDE + value: "{{ .Values.global.cadi.cadi_longitude }}" + - name: CASS_HOST + value: "{{ .Values.global.cadi.cass_host }}" + - name: AAF_LOCATOR_AS + value: "{{ .Values.global.cadi.cadi_locator_as }}" - name: {{ include "common.name" . }}-readiness command: - /root/ready.py @@ -61,12 +68,12 @@ spec: imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} containers: - name: {{ include "common.name" . }} - command: ["/bin/bash","/opt/app/aaf/bin/hello"] + command: ["/bin/bash","/opt/app/aaf/pod/pod_wait.sh","aaf_hello","sleep","0","cd /opt/app/aaf;bin/hello"] image: "{{ include "common.repository" . }}/{{ .Values.image }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} volumeMounts: - mountPath: "/opt/app/osaaf" - name: shared-config-volume + name: {{ include "common.name" . }}-config-vol - mountPath: /etc/localtime name: localtime readOnly: true @@ -96,12 +103,7 @@ spec: - name: localtime hostPath: path: /etc/localtime - - name: shared-config-volume - {{- if .Values.global.persistence.enabled }} - persistentVolumeClaim: - claimName: {{ .Release.Name }}-config - {{- else }} + - name: {{ include "common.name" . }}-config-vol emptyDir: {} - {{- end }} imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key" \ No newline at end of file + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/aaf/charts/aaf-hello/values.yaml b/kubernetes/aaf/charts/aaf-hello/values.yaml index 9f694be8b8..fb5914d51b 100644 --- a/kubernetes/aaf/charts/aaf-hello/values.yaml +++ b/kubernetes/aaf/charts/aaf-hello/values.yaml @@ -25,7 +25,8 @@ flavor: small ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/aaf/aaf_hello:2.1.2-SNAPSHOT +image: onap/aaf/aaf_hello:2.1.7-SNAPSHOT +aaf_register_as: "aaf-hello.onap" pullPolicy: Always @@ -76,4 +77,4 @@ resources: requests: cpu: 20m memory: 500Mi - unlimited: {} \ No newline at end of file + unlimited: {} diff --git a/kubernetes/aaf/charts/aaf-locate/templates/deployment.yaml b/kubernetes/aaf/charts/aaf-locate/templates/deployment.yaml index a3a9e285cf..a2f9f55c56 100644 --- a/kubernetes/aaf/charts/aaf-locate/templates/deployment.yaml +++ b/kubernetes/aaf/charts/aaf-locate/templates/deployment.yaml @@ -31,20 +31,27 @@ spec: release: {{ .Release.Name }} spec: initContainers: - - name: {{ include "common.name" . }}-job-complete - command: - - /root/job_complete.py - args: - - --job-name - - {{ .Release.Name }}-create-config - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" + - name: {{ include "common.name" . }}-config-container + image: "{{ include "common.repository" . }}/{{ .Values.global.configImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + volumeMounts: + - mountPath: "/opt/app/osaaf" + name: {{ include "common.name" . }}-config-vol + env: + - name: HOSTNAME + value: "{{ .Values.global.cadi.hostname }}" + - name: AAF_ENV + value: "{{ .Values.global.cadi.aaf_env }}" + - name: AAF_REGISTER_AS + value: "{{ .Values.aaf_register_as }}" + - name: LATITUDE + value: "{{ .Values.global.cadi.cadi_latitude }}" + - name: LONGITUDE + value: "{{ .Values.global.cadi.cadi_longitude }}" + - name: CASS_HOST + value: "{{ .Values.global.cadi.cass_host }}" + - name: AAF_LOCATOR_AS + value: "{{ .Values.global.cadi.cadi_locator_as }}" - name: {{ include "common.name" . }}-readiness command: - /root/ready.py @@ -61,12 +68,12 @@ spec: imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} containers: - name: {{ include "common.name" . }} - command: ["/bin/bash","/opt/app/aaf/bin/locate"] + command: ["/bin/bash","/opt/app/aaf/pod/pod_wait.sh","aaf_locate","sleep","0","cd /opt/app/aaf;bin/locate"] image: "{{ include "common.repository" . }}/{{ .Values.image }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} volumeMounts: - mountPath: "/opt/app/osaaf" - name: shared-config-volume + name: {{ include "common.name" . }}-config-vol - mountPath: /etc/localtime name: localtime readOnly: true @@ -96,12 +103,7 @@ spec: - name: localtime hostPath: path: /etc/localtime - - name: shared-config-volume - {{- if .Values.global.persistence.enabled }} - persistentVolumeClaim: - claimName: {{ .Release.Name }}-config - {{- else }} + - name: {{ include "common.name" . }}-config-vol emptyDir: {} - {{- end }} imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key" \ No newline at end of file + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/aaf/charts/aaf-locate/values.yaml b/kubernetes/aaf/charts/aaf-locate/values.yaml index ba1e56373c..e65d6e3381 100644 --- a/kubernetes/aaf/charts/aaf-locate/values.yaml +++ b/kubernetes/aaf/charts/aaf-locate/values.yaml @@ -25,7 +25,8 @@ flavor: small ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/aaf/aaf_locate:2.1.2-SNAPSHOT +image: onap/aaf/aaf_locate:2.1.7-SNAPSHOT +aaf_register_as: "aaf-locate.onap" pullPolicy: Always @@ -76,4 +77,4 @@ resources: requests: cpu: 40m memory: 500Mi - unlimited: {} \ No newline at end of file + unlimited: {} diff --git a/kubernetes/aaf/charts/aaf-oauth/templates/deployment.yaml b/kubernetes/aaf/charts/aaf-oauth/templates/deployment.yaml index 06cf2736ef..f7a34f440c 100644 --- a/kubernetes/aaf/charts/aaf-oauth/templates/deployment.yaml +++ b/kubernetes/aaf/charts/aaf-oauth/templates/deployment.yaml @@ -31,23 +31,30 @@ spec: release: {{ .Release.Name }} spec: initContainers: - - name: {{ include "common.name" . }}-job-complete - command: - - /root/job_complete.py - args: - - --job-name - - {{ .Release.Name }}-create-config - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" + - name: {{ include "common.name" . }}-config-container + image: "{{ include "common.repository" . }}/{{ .Values.global.configImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + volumeMounts: + - mountPath: "/opt/app/osaaf" + name: {{ include "common.name" . }}-config-vol + env: + - name: HOSTNAME + value: "{{ .Values.global.cadi.hostname }}" + - name: AAF_ENV + value: "{{ .Values.global.cadi.aaf_env }}" + - name: AAF_REGISTER_AS + value: "{{ .Values.aaf_register_as }}" + - name: LATITUDE + value: "{{ .Values.global.cadi.cadi_latitude }}" + - name: LONGITUDE + value: "{{ .Values.global.cadi.cadi_longitude }}" + - name: CASS_HOST + value: "{{ .Values.global.cadi.cass_host }}" + - name: AAF_LOCATOR_AS + value: "{{ .Values.global.cadi.cadi_locator_as }}" - name: {{ include "common.name" . }}-readiness command: - - /root/ready.py + - /root/ready.py args: - --container-name - aaf-locate @@ -61,12 +68,12 @@ spec: imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} containers: - name: {{ include "common.name" . }} - command: ["/bin/bash","/opt/app/aaf/bin/oauth"] + command: ["/bin/bash","/opt/app/aaf/pod/pod_wait.sh","aaf_oauth","sleep","0","cd /opt/app/aaf;bin/oauth"] image: "{{ include "common.repository" . }}/{{ .Values.image }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} volumeMounts: - mountPath: "/opt/app/osaaf" - name: shared-config-volume + name: {{ include "common.name" . }}-config-vol - mountPath: /etc/localtime name: localtime readOnly: true @@ -96,12 +103,7 @@ spec: - name: localtime hostPath: path: /etc/localtime - - name: shared-config-volume - {{- if .Values.global.persistence.enabled }} - persistentVolumeClaim: - claimName: {{ .Release.Name }}-config - {{- else }} + - name: {{ include "common.name" . }}-config-vol emptyDir: {} - {{- end }} imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key" \ No newline at end of file + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/aaf/charts/aaf-oauth/values.yaml b/kubernetes/aaf/charts/aaf-oauth/values.yaml index e52075a447..99de329a29 100644 --- a/kubernetes/aaf/charts/aaf-oauth/values.yaml +++ b/kubernetes/aaf/charts/aaf-oauth/values.yaml @@ -25,7 +25,8 @@ flavor: small ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/aaf/aaf_oauth:2.1.2-SNAPSHOT +image: onap/aaf/aaf_oauth:2.1.7-SNAPSHOT +aaf_register_as: "aaf-oauth.onap" pullPolicy: Always @@ -76,4 +77,4 @@ resources: requests: cpu: 40m memory: 200Mi - unlimited: {} \ No newline at end of file + unlimited: {} diff --git a/kubernetes/aaf/charts/aaf-service/templates/deployment.yaml b/kubernetes/aaf/charts/aaf-service/templates/deployment.yaml index c3c140a35d..92d23126f4 100644 --- a/kubernetes/aaf/charts/aaf-service/templates/deployment.yaml +++ b/kubernetes/aaf/charts/aaf-service/templates/deployment.yaml @@ -31,20 +31,27 @@ spec: release: {{ .Release.Name }} spec: initContainers: - - name: {{ include "common.name" . }}-job-complete - command: - - /root/job_complete.py - args: - - --job-name - - {{ .Release.Name }}-create-config - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" + - name: {{ include "common.name" . }}-config-container + image: "{{ include "common.repository" . }}/{{ .Values.global.configImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + volumeMounts: + - mountPath: "/opt/app/osaaf" + name: {{ include "common.name" . }}-config-vol + env: + - name: HOSTNAME + value: "{{ .Values.global.cadi.hostname }}" + - name: AAF_ENV + value: "{{ .Values.global.cadi.aaf_env }}" + - name: AAF_REGISTER_AS + value: "{{ .Values.aaf_register_as }}" + - name: LATITUDE + value: "{{ .Values.global.cadi.cadi_latitude }}" + - name: LONGITUDE + value: "{{ .Values.global.cadi.cadi_longitude }}" + - name: CASS_HOST + value: "{{ .Values.global.cadi.cass_host }}" + - name: AAF_LOCATOR_AS + value: "{{ .Values.global.cadi.cadi_locator_as }}" - name: {{ include "common.name" . }}-readiness command: - /root/ready.py @@ -61,12 +68,12 @@ spec: imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} containers: - name: {{ include "common.name" . }} - command: ["/bin/bash","/opt/app/aaf/bin/service"] + command: ["/bin/bash","/opt/app/aaf/pod/pod_wait.sh","aaf_service","sleep","0","cd /opt/app/aaf;bin/service"] image: "{{ include "common.repository" . }}/{{ .Values.image }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} volumeMounts: - mountPath: "/opt/app/osaaf" - name: shared-config-volume + name: {{ include "common.name" . }}-config-vol - mountPath: /etc/localtime name: localtime readOnly: true @@ -96,12 +103,7 @@ spec: - name: localtime hostPath: path: /etc/localtime - - name: shared-config-volume - {{- if .Values.global.persistence.enabled }} - persistentVolumeClaim: - claimName: {{ .Release.Name }}-config - {{- else }} + - name: {{ include "common.name" . }}-config-vol emptyDir: {} - {{- end }} imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key" \ No newline at end of file + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/aaf/charts/aaf-service/values.yaml b/kubernetes/aaf/charts/aaf-service/values.yaml index 7ec6364f3c..a3f154519b 100644 --- a/kubernetes/aaf/charts/aaf-service/values.yaml +++ b/kubernetes/aaf/charts/aaf-service/values.yaml @@ -25,7 +25,8 @@ flavor: small ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/aaf/aaf_service:2.1.2-SNAPSHOT +image: onap/aaf/aaf_service:2.1.7-SNAPSHOT +aaf_register_as: "aaf-service.onap" pullPolicy: Always @@ -77,4 +78,4 @@ resources: requests: cpu: 40m memory: 300Mi - unlimited: {} \ No newline at end of file + unlimited: {} diff --git a/kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/values.yaml b/kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/values.yaml index d6ac1cb881..7cd5938a62 100644 --- a/kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/values.yaml +++ b/kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/values.yaml @@ -28,7 +28,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/aaf/smsquorumclient:latest +image: onap/aaf/smsquorumclient:3.0.1 pullPolicy: Always # flag to enable debugging - application support required @@ -72,4 +72,4 @@ resources: requests: cpu: 10m memory: 100Mi - unlimited: {} \ No newline at end of file + unlimited: {} diff --git a/kubernetes/aaf/charts/aaf-sms/resources/config/has.json b/kubernetes/aaf/charts/aaf-sms/resources/config/has.json new file mode 100644 index 0000000000..4f48771275 --- /dev/null +++ b/kubernetes/aaf/charts/aaf-sms/resources/config/has.json @@ -0,0 +1,44 @@ +{ + "domain": { + "name": "has", + "secrets": [ + { + "name": "aai", + "values": { + "username": "oof@oof.onap.org", + "password": "demo123456!" + } + }, + { + "name": "conductor_api", + "values": { + "username": "admin1", + "password": "plan.15" + } + }, + { + "name": "sdnc", + "values": { + "username": "admin", + "password": "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" + } + }, + { + "name": "music_api", + "values": { + "aafuser": "conductor", + "aafpass": "c0nduct0r", + "aafns": "conductor" + } + }, + { + "name": "aaf_api", + "values": { + "username": "aaf_admin@people.osaaf.org", + "password": "demo123456!", + "aaf_conductor_user": "oof@oof.onap.org" + } + } + ] + } +} diff --git a/kubernetes/aaf/charts/aaf-sms/resources/config/osdf.json b/kubernetes/aaf/charts/aaf-sms/resources/config/osdf.json new file mode 100644 index 0000000000..0950957b11 --- /dev/null +++ b/kubernetes/aaf/charts/aaf-sms/resources/config/osdf.json @@ -0,0 +1,98 @@ +{ + "domain": { + "name": "osdf", + "secrets": [ + { + "name": "so", + "values": { + "UserName": "", + "Password": "" + } + }, + { + "name": "conductor", + "values": { + "UserName": "admin1", + "Password": "plan.15" + } + }, + { + "name": "policyPlatform", + "values": { + "UserName": "testpdp", + "Password": "alpha123" + } + }, + { + "name": "policyClient", + "values": { + "UserName": "python", + "Password": "test" + } + }, + { + "name": "dmaap", + "values": { + "UserName": "NA", + "Password": "NA" + } + }, + { + "name": "sdc", + "values": { + "UserName": "NA", + "Password": "NA" + } + }, + { + "name": "osdfPlacement", + "values": { + "UserName": "test", + "Password": "testpwd" + } + }, + { + "name": "osdfPlacementSO", + "values": { + "UserName": "so_test", + "Password": "so_testpwd" + } + }, + { + "name": "osdfPlacementVFC", + "values": { + "UserName": "vfc_test", + "Password": "vfc_testpwd" + } + }, + { + "name": "osdfCMScheduler", + "values": { + "UserName": "test1", + "Password": "testpwd1" + } + }, + { + "name": "configDb", + "values": { + "UserName": "osdf", + "Password": "passwd" + } + }, + { + "name": "pciHMS", + "values": { + "UserName": "", + "Password": "" + } + }, + { + "name": "osdfPCIOpt", + "values": { + "UserName": "pci_test", + "Password": "pci_testpwd" + } + } + ] + } +} \ No newline at end of file diff --git a/kubernetes/aaf/charts/aaf-sms/templates/configmap.yaml b/kubernetes/aaf/charts/aaf-sms/templates/configmap.yaml index 72ce6fbadb..b513d992ef 100644 --- a/kubernetes/aaf/charts/aaf-sms/templates/configmap.yaml +++ b/kubernetes/aaf/charts/aaf-sms/templates/configmap.yaml @@ -1,3 +1,4 @@ +{{/* # Copyright 2018 Intel Corporation, Inc # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -11,6 +12,7 @@ # 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 @@ -25,3 +27,16 @@ metadata: data: smsconfig.json: | {{ .Values.config | toJson }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-preload + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }}-preload + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +data: +{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }} diff --git a/kubernetes/aaf/charts/aaf-sms/templates/job.yaml b/kubernetes/aaf/charts/aaf-sms/templates/job.yaml new file mode 100644 index 0000000000..2cee8d5e90 --- /dev/null +++ b/kubernetes/aaf/charts/aaf-sms/templates/job.yaml @@ -0,0 +1,92 @@ +{{/* +# Copyright 2018 Intel Corporation, Inc +# +# 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: batch/v1 +kind: Job +metadata: + name: {{ include "common.fullname" . }}-preload + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.replicaCount }} + template: + metadata: + labels: + app: {{ include "common.name" . }} + release: {{ .Release.Name }} + spec: + initContainers: + - image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + name: {{ include "common.name" . }}-readiness + command: + - /root/ready.py + args: + - --container-name + - "aaf-sms" + - --container-name + - "aaf-sms-quorumclient" + env: + - name: NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + containers: + - image: "{{ include "common.repository" . }}/{{ .Values.image }}" + imagePullPolicy: {{ .Values.pullPolicy }} + name: {{ include "common.name" . }}-preload + command: + - "/sms/bin/preload" + - "-cacert" + - "/sms/certs/aaf_root_ca.cer" + - "-jsondir" + - "/preload/config" + - "-serviceport" + - "{{ .Values.service.internalPort }}" + - "-serviceurl" + - "https://aaf-sms.{{ include "common.namespace" . }}" + workingDir: /sms + volumeMounts: + - mountPath: /etc/localtime + name: localtime + readOnly: true + - mountPath: /preload/config + name: {{ include "common.name" . }}-preload + resources: +{{ include "common.resources" . | indent 10 }} + {{- if .Values.nodeSelector }} + nodeSelector: +{{ toYaml .Values.nodeSelector | indent 10 }} + {{- end -}} + {{- if .Values.affinity }} + affinity: +{{ toYaml .Values.affinity | indent 10 }} + {{- end }} + volumes: + - name: localtime + hostPath: + path: /etc/localtime + - name : {{ include "common.name" . }}-preload + configMap: + name: {{ include "common.fullname" . }}-preload + restartPolicy: OnFailure + imagePullSecrets: + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/aaf/charts/aaf-sms/values.yaml b/kubernetes/aaf/charts/aaf-sms/values.yaml index 7a25581908..8e7ea29300 100644 --- a/kubernetes/aaf/charts/aaf-sms/values.yaml +++ b/kubernetes/aaf/charts/aaf-sms/values.yaml @@ -28,7 +28,7 @@ flavor: small ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/aaf/sms:latest +image: onap/aaf/sms:3.0.1 pullPolicy: Always # flag to enable debugging - application support required @@ -100,4 +100,4 @@ resources: requests: cpu: 10m memory: 100Mi - unlimited: {} \ No newline at end of file + unlimited: {} diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/Chart.yaml b/kubernetes/aaf/charts/aaf-sshsm/Chart.yaml similarity index 80% rename from kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/Chart.yaml rename to kubernetes/aaf/charts/aaf-sshsm/Chart.yaml index 5c12786a97..78b10c5764 100644 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/Chart.yaml +++ b/kubernetes/aaf/charts/aaf-sshsm/Chart.yaml @@ -1,5 +1,4 @@ -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware +# Copyright 2018 Intel Corporation, Inc # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,6 +13,6 @@ # limitations under the License. apiVersion: v1 -description: OOF-HAS Cassandra -name: oof-has-cassandra +description: ONAP Hardware Security Components +name: aaf-sshsm version: 3.0.0 diff --git a/kubernetes/aaf/charts/aaf-sshsm/README.md b/kubernetes/aaf/charts/aaf-sshsm/README.md new file mode 100644 index 0000000000..a6f2e62cb9 --- /dev/null +++ b/kubernetes/aaf/charts/aaf-sshsm/README.md @@ -0,0 +1,24 @@ +# Copyright 2018 Intel Corporation, Inc +# +# 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. + +# Helm Chart for ONAP Hardware Security Components + +This includes the following Kubernetes services: + +1. dist-center - A service that is used to create and distribute private keys +2. abrmd - A service that manages access to the TPM device + +# Service Dependencies + +All services depend on AAF \ No newline at end of file diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/Chart.yaml b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-abrmd/Chart.yaml similarity index 80% rename from kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/Chart.yaml rename to kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-abrmd/Chart.yaml index ad3b82726c..9e8b16af04 100644 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/Chart.yaml +++ b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-abrmd/Chart.yaml @@ -1,5 +1,4 @@ -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware +# Copyright 2018 Intel Corporation, Inc # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,6 +13,6 @@ # limitations under the License. apiVersion: v1 -description: ONAP OOF Zookeeper -name: oof-has-zookeeper +description: ONAP Trusted Platform Module Resource Manager +name: aaf-sshsm-abrmd version: 3.0.0 diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/configmap.yaml b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-abrmd/templates/configmap.yaml similarity index 76% rename from kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/configmap.yaml rename to kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-abrmd/templates/configmap.yaml index 6d7dad9bc1..61aa095e3b 100644 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/configmap.yaml +++ b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-abrmd/templates/configmap.yaml @@ -1,5 +1,5 @@ -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware +{{/* +# Copyright 2018 Intel Corporation, Inc # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,11 +12,14 @@ # 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.global.tpm.enabled .Values.global.abrmd.enabled -}} apiVersion: v1 kind: ConfigMap metadata: - name: {{ include "common.fullname" . }}-docker-entry-initd + name: {{ include "common.fullname" . }} namespace: {{ include "common.namespace" . }} labels: app: {{ include "common.name" . }} @@ -24,5 +27,6 @@ metadata: release: {{ .Release.Name }} heritage: {{ .Release.Service }} data: -{{ tpl (.Files.Glob "resources/config/cassandra/docker-entrypoint-initdb.d/*").AsConfig . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }} +{{- end -}} \ No newline at end of file diff --git a/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-abrmd/templates/job.yaml b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-abrmd/templates/job.yaml new file mode 100644 index 0000000000..8b2e0b8162 --- /dev/null +++ b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-abrmd/templates/job.yaml @@ -0,0 +1,87 @@ +{{/* +# Copyright 2018 Intel Corporation, Inc +# +# 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.global.tpm.enabled .Values.global.abrmd.enabled -}} + +apiVersion: batch/v1 +kind: Job +metadata: + name: {{ include "common.fullname" . }}-init + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }}-job + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + backoffLimit: 2 + template: + metadata: + labels: + app: {{ include "common.name" . }}-job + release: {{ .Release.Name }} + spec: + restartPolicy: Never + containers: + - name: {{ include "common.name" . }}-job + image: "{{ include "common.repository" . }}/{{ .Values.image }}" + imagePullPolicy: {{ .Values.pullPolicy }} + command: ["/abrmd/bin/initialize_tpm.sh"] + workingDir: /abrmd/bin + securityContext: + privileged: true + env: + - name: TPM_NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + - name: ABRMD_DATA + value: /abrmd/data + volumeMounts: + - name: {{ include "common.fullname" . }}-data + mountPath: /abrmd/data + - name: {{ include "common.fullname" . }}-tpm-device + mountPath: /dev/tpm0 + - name: {{ include "common.fullname" . }}-tpmconfig + mountPath: "/abrmd/cred/" + readOnly: true + resources: +{{ toYaml .Values.resources | indent 10 }} + nodeSelector: + {{- if .Values.nodeSelector }} +{{ toYaml .Values.nodeSelector | indent 8 }} + {{- end -}} + {{- if .Values.global.tpm.enabled }} + {{ (printf "%s: \"%s\"" .Values.global.tpm.nodeLabel .Values.global.tpm.nodeLabelValue) }} + {{- end -}} + {{- if .Values.affinity }} + affinity: +{{ toYaml .Values.affinity | indent 8 }} + {{- end }} + volumes: + - name: {{ include "common.fullname" . }}-data + persistentVolumeClaim: + claimName: {{ .Release.Name }}-aaf-sshsm-data + - name: {{ include "common.fullname" . }}-tpm-device + hostPath: + path: /dev/tpm0 + - name: {{ include "common.fullname" . }}-tpmconfig + secret: + secretName: {{ .Release.Name }}-aaf-sshsm + imagePullSecrets: + - name: "{{ include "common.namespace" . }}-docker-registry-key" + +{{- end -}} diff --git a/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-abrmd/templates/statefulset.yaml b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-abrmd/templates/statefulset.yaml new file mode 100644 index 0000000000..a3a2004216 --- /dev/null +++ b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-abrmd/templates/statefulset.yaml @@ -0,0 +1,93 @@ +{{/* +# Copyright 2018 Intel Corporation, Inc +# +# 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.global.tpm.enabled .Values.global.abrmd.enabled -}} + +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: + replicas: {{ .Values.replicaCount }} + serviceName: + template: + metadata: + labels: + app: {{ include "common.name" . }} + release: {{ .Release.Name }} + spec: + initContainers: + - image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + name: {{ include "common.name" . }}-job-complete + command: + - /root/job_complete.py + args: + - -j + - "{{ include "common.fullname" . }}-init" + env: + - name: NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + containers: + - image: "{{ include "common.repository" . }}/{{ .Values.image }}" + name: {{ include "common.name" . }} + imagePullPolicy: {{ .Values.pullPolicy }} + command: ["/abrmd/bin/run_abrmd.sh"] + workingDir: /abrmd/bin + securityContext: + privileged: true + volumeMounts: + - name: {{ include "common.fullname" . }}-dbus + mountPath: /var/run/dbus + - name: {{ include "common.fullname" . }}-tpm-device + mountPath: /dev/tpm0 + - mountPath: /etc/localtime + name: localtime + readOnly: true + resources: +{{ toYaml .Values.resources | indent 10 }} + nodeSelector: + {{- if .Values.nodeSelector }} +{{ toYaml .Values.nodeSelector | indent 8 }} + {{- end -}} + {{- if .Values.global.tpm.enabled }} + {{ (printf "%s: \"%s\"" .Values.global.tpm.nodeLabel .Values.global.tpm.nodeLabelValue) }} + {{- end -}} + {{- if .Values.affinity }} + affinity: +{{ toYaml .Values.affinity | indent 8 }} + {{- end }} + volumes: + - name: localtime + hostPath: + path: /etc/localtime + - name: {{ include "common.fullname" . }}-dbus + persistentVolumeClaim: + claimName: {{ .Release.Name }}-aaf-sshsm-dbus + - name: {{ include "common.fullname" . }}-tpm-device + hostPath: + path: /dev/tpm0 + +{{- end -}} diff --git a/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-abrmd/values.yaml b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-abrmd/values.yaml new file mode 100644 index 0000000000..bf64c6d120 --- /dev/null +++ b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-abrmd/values.yaml @@ -0,0 +1,60 @@ +# Copyright 2018 Intel Corporation, Inc +# +# 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 configuration defaults. +################################################################# + +################################################################# +# Application configuration defaults. +################################################################# +# application image +repository: nexus3.onap.org:10001 +image: onap/aaf/abrmd:3.0.0 +pullPolicy: Always + +# flag to enable debugging - application support required +debugEnabled: false + +# application configuration +# Example: +# default number of instances +replicaCount: 1 + +# TPM specific node selection is done at parent chart aaf-sshsm +nodeSelector: {} + +affinity: {} + +ingress: + enabled: false + +# Configure resource requests and limits +flavor: small +resources: + small: + limits: + cpu: 200m + memory: 500Mi + requests: + cpu: 10m + memory: 10Mi + large: + limits: + cpu: 400m + memory: 1Gi + requests: + cpu: 10m + memory: 100Mi + unlimited: {} diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-music/Chart.yaml b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/Chart.yaml similarity index 78% rename from kubernetes/oof/charts/oof-has/charts/oof-has-music/Chart.yaml rename to kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/Chart.yaml index cb070a5036..3bb88466ef 100644 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-music/Chart.yaml +++ b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/Chart.yaml @@ -1,5 +1,4 @@ -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware +# Copyright 2018 Intel Corporation, Inc # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,6 +13,6 @@ # limitations under the License. apiVersion: v1 -description: ONAP OOF-MUSIC Container -name: oof-has-music -version: 2.5.3 +description: ONAP Trusted Platform Module Distribution Center +name: aaf-sshsm-distcenter +version: 3.0.0 diff --git a/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/templates/configmap.yaml b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/templates/configmap.yaml new file mode 100644 index 0000000000..ea0ea6062d --- /dev/null +++ b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/templates/configmap.yaml @@ -0,0 +1,32 @@ +{{/* +# Copyright 2018 Intel Corporation, Inc +# +# 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 .Values.global.distcenter.enabled -}} + +apiVersion: v1 +kind: ConfigMap +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 }} +data: +{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }} + +{{- end -}} \ No newline at end of file diff --git a/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/templates/job.yaml b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/templates/job.yaml new file mode 100644 index 0000000000..69a9956611 --- /dev/null +++ b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/templates/job.yaml @@ -0,0 +1,105 @@ +{{/* +# Copyright 2018 Intel Corporation, Inc +# +# 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 .Values.global.distcenter.enabled -}} + +apiVersion: batch/v1 +kind: Job +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: + replicas: {{ .Values.replicaCount }} + serviceName: + template: + metadata: + labels: + app: {{ include "common.name" . }} + release: {{ .Release.Name }} + spec: + restartPolicy: Never + initContainers: +{{- if .Values.global.tpm.enabled }} + - image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + name: {{ include "common.name" . }}-readiness + command: + - /root/job_complete.py + args: + - -j + - "{{ .Release.Name }}-aaf-sshsm-abrmd-init" + env: + - name: NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace +{{ else }} + - image: "{{ include "common.repository" . }}/{{ .Values.image }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + name: {{ include "common.name" . }}-gen-passphrase + command: ["sh", "-c", "/usr/bin/openssl rand -base64 12 >/distcenter/data/passphrase"] + env: + - name: NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + volumeMounts: + - mountPath: /etc/localtime + name: localtime + readOnly: true + - name: {{ include "common.fullname" . }}-data + mountPath: /distcenter/data +{{- end }} + containers: + - image: "{{ include "common.repository" . }}/{{ .Values.image }}" + name: {{ include "common.name" . }} + imagePullPolicy: {{ .Values.pullPolicy }} + command: ["/entrypoint.sh"] + workingDir: /distcenter + volumeMounts: + - mountPath: /etc/localtime + name: localtime + readOnly: true + - name: {{ include "common.fullname" . }}-data + mountPath: /distcenter/data + resources: +{{ toYaml .Values.resources | indent 10 }} + {{- if .Values.nodeSelector }} + nodeSelector: +{{ toYaml .Values.nodeSelector | indent 8 }} + {{- end -}} + {{- if .Values.affinity }} + affinity: +{{ toYaml .Values.affinity | indent 8 }} + {{- end }} + volumes: + - name: localtime + hostPath: + path: /etc/localtime + - name: {{ include "common.fullname" . }}-data + persistentVolumeClaim: + claimName: {{ .Release.Name }}-aaf-sshsm-data + imagePullSecrets: + - name: "{{ include "common.namespace" . }}-docker-registry-key" + +{{- end -}} \ No newline at end of file diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/pv.yaml b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/templates/pv.yaml similarity index 93% rename from kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/pv.yaml rename to kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/templates/pv.yaml index 0fa33fc6fb..fa5fd16c7f 100644 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/pv.yaml +++ b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/templates/pv.yaml @@ -1,6 +1,5 @@ {{/* -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware +# Copyright 2018 Intel Corporation, Inc # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,6 +14,8 @@ # limitations under the License. */}} +{{- if .Values.global.distcenter.enabled -}} + {{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}} kind: PersistentVolume apiVersion: v1 @@ -36,3 +37,5 @@ spec: hostPath: path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }} {{- end -}} + +{{- end -}} \ No newline at end of file diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/pvc.yaml b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/templates/pvc.yaml similarity index 94% rename from kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/pvc.yaml rename to kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/templates/pvc.yaml index 0f4de0c9e2..6497639a77 100644 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/pvc.yaml +++ b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/templates/pvc.yaml @@ -1,6 +1,5 @@ {{/* -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware +# Copyright 2018 Intel Corporation, Inc # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,6 +14,8 @@ # limitations under the License. */}} +{{- if .Values.global.distcenter.enabled -}} + {{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}} kind: PersistentVolumeClaim apiVersion: v1 @@ -47,3 +48,4 @@ spec: {{- end }} {{- end }} {{- end -}} +{{- end -}} \ No newline at end of file diff --git a/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/values.yaml b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/values.yaml new file mode 100644 index 0000000000..3993cfc281 --- /dev/null +++ b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/values.yaml @@ -0,0 +1,69 @@ +# Copyright 2018 Intel Corporation, Inc +# +# 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 configuration defaults. +################################################################# +global: + persistence: {} + +################################################################# +# Application configuration defaults. +################################################################# +# application image +repository: nexus3.onap.org:10001 +image: onap/aaf/distcenter:3.0.0 +pullPolicy: Always + +# flag to enable debugging - application support required +debugEnabled: false + +# application configuration +# Example: +# default number of instances +replicaCount: 1 + +nodeSelector: {} + +affinity: {} + +persistence: + enabled: true + volumeReclaimPolicy: Retain + accessMode: ReadWriteOnce + size: 10Mi + mountPath: /dockerdata-nfs + mountSubPath: sshsm/distcenter/data + +ingress: + enabled: false + +# Configure resource requests and limits +flavor: small +resources: + small: + limits: + cpu: 200m + memory: 500Mi + requests: + cpu: 10m + memory: 10Mi + large: + limits: + cpu: 400m + memory: 1Gi + requests: + cpu: 10m + memory: 100Mi + unlimited: {} diff --git a/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-testca/Chart.yaml b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-testca/Chart.yaml new file mode 100644 index 0000000000..3855b04f2c --- /dev/null +++ b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-testca/Chart.yaml @@ -0,0 +1,18 @@ +# Copyright 2018 Intel Corporation, Inc +# +# 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 +description: ONAP Trusted Platform Module Test CA Service +name: aaf-sshsm-testca +version: 3.0.0 diff --git a/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-testca/templates/job.yaml b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-testca/templates/job.yaml new file mode 100644 index 0000000000..304f974d9d --- /dev/null +++ b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-testca/templates/job.yaml @@ -0,0 +1,130 @@ +{{/* +# Copyright 2018 Intel Corporation, Inc +# +# 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 .Values.global.testca.enabled -}} + +apiVersion: batch/v1 +kind: Job +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: + replicas: {{ .Values.replicaCount }} + serviceName: + template: + metadata: + labels: + app: {{ include "common.name" . }} + release: {{ .Release.Name }} + spec: + restartPolicy: Never + initContainers: + - image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + name: {{ include "common.name" . }}-distcenter-ready + command: + - /root/job_complete.py + args: + - -j + - "{{ .Release.Name }}-aaf-sshsm-distcenter" + env: + - name: NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace +{{- if .Values.global.tpm.enabled }} + - image: "{{ include "common.repository" . }}/{{ .Values.image }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + name: {{ include "common.name" . }}-abrmd-ready + command: ["sh", "/sshsm/bin/abrmd_ready.sh", "300"] + workingDir: /testca/bin + env: + - name: NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + volumeMounts: + - name: {{ include "common.fullname" . }}-dbus + mountPath: /var/run/dbus +{{- end }} + containers: + - image: "{{ include "common.repository" . }}/{{ .Values.image }}" + name: {{ include "common.name" . }} + imagePullPolicy: {{ .Values.pullPolicy }} + command: ["./import.sh"] + workingDir: /testca/bin + env: +{{- if .Values.global.tpm.enabled }} + - name: TPM_NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + - name: DATA_FOLDER + value: /testca/data/host_$(TPM_NODE_NAME) +{{ else }} + - name: DATA_FOLDER + value: /testca/data +{{- end }} + - name: SECRETS_FOLDER + value: /testca/secrets + volumeMounts: + - mountPath: /etc/localtime + name: localtime + readOnly: true + - name: {{ include "common.fullname" . }}-data + mountPath: /testca/data + - name: {{ include "common.fullname" . }}-dbus + mountPath: /var/run/dbus + - name: {{ include "common.fullname" . }}-secrets + mountPath: /testca/secrets + readOnly: true + resources: +{{ toYaml .Values.resources | indent 10 }} + nodeSelector: + {{- if .Values.nodeSelector }} +{{ toYaml .Values.nodeSelector | indent 8 }} + {{- end -}} + {{- if .Values.global.tpm.enabled }} + {{ (printf "%s: \"%s\"" .Values.global.tpm.nodeLabel .Values.global.tpm.nodeLabelValue) }} + {{- end -}} + {{- if .Values.affinity }} + affinity: +{{ toYaml .Values.affinity | indent 8 }} + {{- end }} + volumes: + - name: localtime + hostPath: + path: /etc/localtime + - name: {{ include "common.fullname" . }}-data + persistentVolumeClaim: + claimName: {{ .Release.Name }}-aaf-sshsm-data + - name: {{ include "common.fullname" . }}-dbus + persistentVolumeClaim: + claimName: {{ .Release.Name }}-aaf-sshsm-dbus + - name: {{ include "common.fullname" . }}-secrets + secret: + secretName: {{ .Release.Name }}-aaf-sshsm + imagePullSecrets: + - name: "{{ include "common.namespace" . }}-docker-registry-key" + +{{- end -}} diff --git a/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-testca/values.yaml b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-testca/values.yaml new file mode 100644 index 0000000000..3fd53d28cb --- /dev/null +++ b/kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-testca/values.yaml @@ -0,0 +1,61 @@ +# Copyright 2018 Intel Corporation, Inc +# +# 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 configuration defaults. +################################################################# + +enabled: true + +################################################################# +# Application configuration defaults. +################################################################# +# application image +repository: nexus3.onap.org:10001 +image: onap/aaf/testcaservice:3.0.0 +pullPolicy: Always + +# flag to enable debugging - application support required +debugEnabled: false + +# application configuration +# Example: +# default number of instances +replicaCount: 1 + +nodeSelector: {} + +affinity: {} + +ingress: + enabled: false + +# Configure resource requests and limits +flavor: small +resources: + small: + limits: + cpu: 200m + memory: 500Mi + requests: + cpu: 10m + memory: 10Mi + large: + limits: + cpu: 400m + memory: 1Gi + requests: + cpu: 10m + memory: 100Mi + unlimited: {} diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-music/requirements.yaml b/kubernetes/aaf/charts/aaf-sshsm/requirements.yaml similarity index 87% rename from kubernetes/oof/charts/oof-has/charts/oof-has-music/requirements.yaml rename to kubernetes/aaf/charts/aaf-sshsm/requirements.yaml index 14f1f9a82d..3192c43776 100644 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-music/requirements.yaml +++ b/kubernetes/aaf/charts/aaf-sshsm/requirements.yaml @@ -1,5 +1,4 @@ -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware +# Copyright 2018 Intel Corporation, Inc # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/kubernetes/aaf/charts/aaf-sshsm/resources/config/prk_passwd b/kubernetes/aaf/charts/aaf-sshsm/resources/config/prk_passwd new file mode 100644 index 0000000000..640b325898 --- /dev/null +++ b/kubernetes/aaf/charts/aaf-sshsm/resources/config/prk_passwd @@ -0,0 +1 @@ +cHJpbWFyeXBhc3N3b3JkCg== diff --git a/kubernetes/aaf/charts/aaf-sshsm/resources/config/srk_handle b/kubernetes/aaf/charts/aaf-sshsm/resources/config/srk_handle new file mode 100644 index 0000000000..b8b9d8ddb0 --- /dev/null +++ b/kubernetes/aaf/charts/aaf-sshsm/resources/config/srk_handle @@ -0,0 +1 @@ +MHg4MTAwMDAyMwo= diff --git a/kubernetes/aaf/templates/pv.yaml b/kubernetes/aaf/charts/aaf-sshsm/templates/pv.yaml similarity index 50% rename from kubernetes/aaf/templates/pv.yaml rename to kubernetes/aaf/charts/aaf-sshsm/templates/pv.yaml index 9d28184985..b4d283f1c7 100644 --- a/kubernetes/aaf/templates/pv.yaml +++ b/kubernetes/aaf/charts/aaf-sshsm/templates/pv.yaml @@ -1,5 +1,5 @@ {{/* -# Copyright © 2017 Amdocs, Bell Canada +# Copyright 2018 Intel Corporation, Inc # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,60 +14,44 @@ # limitations under the License. */}} -{{- if and .Values.global.persistence.enabled (not .Values.persistence.config.existingClaim) }} +{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}} kind: PersistentVolume apiVersion: v1 metadata: - name: {{ .Release.Name }}-config + name: {{ include "common.fullname" . }}-data namespace: {{ include "common.namespace" . }} labels: - app: {{ include "common.name" . }}-config + app: {{ include "common.name" . }} chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}" release: "{{ .Release.Name }}" heritage: "{{ .Release.Service }}" - name: {{ include "common.fullname" . }} + name: {{ include "common.fullname" . }}-data spec: capacity: - storage: {{ .Values.persistence.config.size}} + storage: {{ .Values.persistence.size}} accessModes: - - {{ .Values.persistence.config.accessMode }} - persistentVolumeReclaimPolicy: {{ .Values.persistence.config.volumeReclaimPolicy }} + - {{ .Values.persistence.accessMode }} + persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }} hostPath: - path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.config.mountSubPath }} -{{- if .Values.persistence.config.storageClass }} -{{- if (eq "-" .Values.persistence.config.storageClass) }} - storageClassName: "" -{{- else }} - storageClassName: "{{ .Values.persistence.config.storageClass }}" -{{- end }} -{{- end }} -{{- end }} + path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.dataMountSubPath }} --- -{{- if and .Values.global.persistence.enabled (not .Values.persistence.logs.existingClaim) }} kind: PersistentVolume apiVersion: v1 metadata: - name: {{ .Release.Name }}-logs + name: {{ include "common.fullname" . }}-dbus namespace: {{ include "common.namespace" . }} labels: - app: {{ include "common.name" . }}-logs + app: {{ include "common.name" . }} chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}" release: "{{ .Release.Name }}" heritage: "{{ .Release.Service }}" - name: {{ include "common.fullname" . }} + name: {{ include "common.fullname" . }}-dbus spec: capacity: - storage: {{ .Values.persistence.logs.size}} + storage: {{ .Values.persistence.size}} accessModes: - - {{ .Values.persistence.logs.accessMode }} - persistentVolumeReclaimPolicy: {{ .Values.persistence.logs.volumeReclaimPolicy }} + - {{ .Values.persistence.accessMode }} + persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }} hostPath: - path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.logs.mountSubPath }} -{{- if .Values.persistence.logs.storageClass }} -{{- if (eq "-" .Values.persistence.logs.storageClass) }} - storageClassName: "" -{{- else }} - storageClassName: "{{ .Values.persistence.logs.storageClass }}" -{{- end }} -{{- end }} -{{- end }} \ No newline at end of file + path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.dbusMountSubPath }} +{{- end -}} diff --git a/kubernetes/aaf/templates/pvc.yaml b/kubernetes/aaf/charts/aaf-sshsm/templates/pvc.yaml similarity index 51% rename from kubernetes/aaf/templates/pvc.yaml rename to kubernetes/aaf/charts/aaf-sshsm/templates/pvc.yaml index a9c8b908eb..c50a0bc587 100644 --- a/kubernetes/aaf/templates/pvc.yaml +++ b/kubernetes/aaf/charts/aaf-sshsm/templates/pvc.yaml @@ -1,5 +1,5 @@ {{/* -# Copyright © 2017 Amdocs, Bell Canada +# Copyright 2018 Intel Corporation, Inc # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,68 +14,66 @@ # limitations under the License. */}} -{{- if and .Values.global.persistence.enabled (not .Values.persistence.config.existingClaim) }} +{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}} kind: PersistentVolumeClaim apiVersion: v1 metadata: - name: {{ .Release.Name }}-config + name: {{ include "common.fullname" . }}-data namespace: {{ include "common.namespace" . }} labels: - app: {{ include "common.name" . }}-config + app: {{ include "common.name" . }} chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" release: "{{ .Release.Name }}" heritage: "{{ .Release.Service }}" -{{- if .Values.persistence.config.annotations }} +{{- if .Values.persistence.annotations }} annotations: -{{ toYaml .Values.persistence.config.annotations | indent 4 }} +{{ toYaml .Values.persistence.annotations | indent 4 }} {{- end }} spec: selector: matchLabels: - app: {{ include "common.name" . }}-config + name: {{ include "common.fullname" . }}-data accessModes: - - {{ .Values.persistence.config.accessMode }} + - {{ .Values.persistence.accessMode }} resources: requests: - storage: {{ .Values.persistence.config.size }} -{{- if .Values.persistence.config.storageClass }} -{{- if (eq "-" .Values.persistence.config.storageClass) }} + storage: {{ .Values.persistence.size }} +{{- if .Values.persistence.storageClass }} +{{- if (eq "-" .Values.persistence.storageClass) }} storageClassName: "" {{- else }} - storageClassName: "{{ .Values.persistence.config.storageClass }}" -{{- end }} + storageClassName: "{{ .Values.persistence.storageClass }}" {{- end }} {{- end }} --- -{{- if and .Values.global.persistence.enabled (not .Values.persistence.logs.existingClaim) }} kind: PersistentVolumeClaim apiVersion: v1 metadata: - name: {{ .Release.Name }}-logs + name: {{ include "common.fullname" . }}-dbus namespace: {{ include "common.namespace" . }} labels: - app: {{ include "common.name" . }}-logs + app: {{ include "common.name" . }} chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" release: "{{ .Release.Name }}" heritage: "{{ .Release.Service }}" -{{- if .Values.persistence.logs.annotations }} +{{- if .Values.persistence.annotations }} annotations: -{{ toYaml .Values.persistence.logs.annotations | indent 4 }} +{{ toYaml .Values.persistence.annotations | indent 4 }} {{- end }} spec: selector: matchLabels: - app: {{ include "common.name" . }}-logs + name: {{ include "common.fullname" . }}-dbus accessModes: - - {{ .Values.persistence.logs.accessMode }} + - {{ .Values.persistence.accessMode }} resources: requests: - storage: {{ .Values.persistence.logs.size }} -{{- if .Values.persistence.logs.storageClass }} -{{- if (eq "-" .Values.persistence.logs.storageClass) }} + storage: {{ .Values.persistence.size }} +{{- if .Values.persistence.storageClass }} +{{- if (eq "-" .Values.persistence.storageClass) }} storageClassName: "" {{- else }} - storageClassName: "{{ .Values.persistence.logs.storageClass }}" + storageClassName: "{{ .Values.persistence.storageClass }}" {{- end }} {{- end }} -{{- end -}} \ No newline at end of file +{{- end -}} diff --git a/kubernetes/aaf/charts/aaf-sshsm/templates/secret.yaml b/kubernetes/aaf/charts/aaf-sshsm/templates/secret.yaml new file mode 100644 index 0000000000..50b6f36cd3 --- /dev/null +++ b/kubernetes/aaf/charts/aaf-sshsm/templates/secret.yaml @@ -0,0 +1,22 @@ +# Copyright 2018 Intel Corporation, Inc +# +# 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: Secret +metadata: + name: {{ include "common.fullname" . }} + namespace: {{ include "common.namespace" . }} +type: Opaque +data: +{{ (.Files.Glob "resources/config/*").AsSecrets | indent 2 }} \ No newline at end of file diff --git a/kubernetes/aaf/charts/aaf-sshsm/values.yaml b/kubernetes/aaf/charts/aaf-sshsm/values.yaml new file mode 100644 index 0000000000..d06884652d --- /dev/null +++ b/kubernetes/aaf/charts/aaf-sshsm/values.yaml @@ -0,0 +1,65 @@ +# Copyright 2018 Intel Corporation, Inc +# +# 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 configuration defaults. +################################################################# +global: + nodePortPrefix: 302 + readinessRepository: oomk8s + readinessImage: readiness-check:2.0.0 + loggingRepository: docker.elastic.co + loggingImage: beats/filebeat:5.5.0 + ubuntuInitRepository: oomk8s + ubuntuInitImage: ubuntu-init:1.0.0 + tpm: + enabled: false + # if enabled, nodeselector will use the below + # values in the nodeselector section of the pod + nodeLabel: "tpm-node" + nodeLabelValue: "true" + abrmd: + enabled: true + distcenter: + enabled: true + testca: + enabled: true + persistence: {} + +persistence: + enabled: true + volumeReclaimPolicy: Retain + accessMode: ReadWriteOnce + size: 10Mi + mountPath: /dockerdata-nfs + dataMountSubPath: sshsm/data + dbusMountSubPath: sshsm/dbus + +# Configure resource requests and limits +resources: + small: + limits: + cpu: 200m + memory: 500Mi + requests: + cpu: 10m + memory: 10Mi + large: + limits: + cpu: 400m + memory: 1Gi + requests: + cpu: 10m + memory: 100Mi + unlimited: {} \ No newline at end of file diff --git a/kubernetes/aaf/templates/job.yaml b/kubernetes/aaf/templates/job.yaml deleted file mode 100644 index 103b908491..0000000000 --- a/kubernetes/aaf/templates/job.yaml +++ /dev/null @@ -1,74 +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: batch/v1 -kind: Job -metadata: - name: {{ .Release.Name }}-create-config - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -spec: - template: - metadata: - labels: - app: aaf-init-job - release: {{ .Release.Name }} - spec: - containers: - - name: {{ include "common.name" . }}-config-container - image: "{{ include "common.repository" . }}/{{ .Values.aaf_config.image }}" - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - volumeMounts: - - mountPath: "/opt/app/osaaf" - name: {{ include "common.name" . }}-config-vol - env: - - name: HOSTNAME - value: "{{ .Values.global.cadi.hostname }}" - - name: AAF_ENV - value: "{{ .Values.global.cadi.aaf_env }}" - - name: AAF_REGISTER_AS - value: "{{ .Values.global.cadi.aaf_register_as }}" - - name: LATITUDE - value: "{{ .Values.global.cadi.cadi_latitude }}" - - name: LONGITUDE - value: "{{ .Values.global.cadi.cadi_longitude }}" - - name: CASS_HOST - value: "{{ .Values.global.cassandraServiceName }}" - - name: AAF_LOCATOR_AS - value: "{{ .Values.global.locateServiceName }}" - resources: -{{ include "common.resources" . | indent 12 }} - {{- if .Values.nodeSelector }} - nodeSelector: -{{ toYaml .Values.nodeSelector | indent 10 }} - {{- end -}} - {{- if .Values.affinity }} - affinity: -{{ toYaml .Values.affinity | indent 10 }} - {{- end }} - volumes: - - name: {{ include "common.name" . }}-config-vol - {{- if .Values.global.persistence.enabled }} - persistentVolumeClaim: - claimName: {{ .Release.Name }}-config - {{- else }} - emptyDir: {} - {{- end }} - restartPolicy: OnFailure - imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/aaf/values.yaml b/kubernetes/aaf/values.yaml index 4cc69c264b..ea0827f68b 100644 --- a/kubernetes/aaf/values.yaml +++ b/kubernetes/aaf/values.yaml @@ -21,6 +21,7 @@ global: readinessImage: readiness-check:2.0.0 ubuntuInitRepository: registry.hub.docker.com ubuntuInitImage: oomk8s/ubuntu-init:2.0.0 + configImage: onap/aaf/aaf_config:2.1.7-SNAPSHOT persistence: enabled: true @@ -29,16 +30,13 @@ global: cadi_latitude: "38.0" cadi_longitude: "-72.0" aaf_env: "DEV" - aaf_register_as: "aaf.onap" - cassandraServiceName: aaf-cass - locateServiceName: aaf-locate + cass_host: "aaf-cass.onap" + cadi_locator_as: "aaf-locate.onap" ################################################################# # Application configuration defaults. ################################################################# repository: nexus3.onap.org:10001 -aaf_config: - image: onap/aaf/aaf_config:2.1.2-SNAPSHOT flavor: small # default number of instances @@ -92,4 +90,4 @@ aaf-cs: size: 10Gi storageClass: "manual" -resources: {} \ No newline at end of file +resources: {} diff --git a/kubernetes/aai/charts/aai-babel/values.yaml b/kubernetes/aai/charts/aai-babel/values.yaml index 59c336660c..8e55d49075 100644 --- a/kubernetes/aai/charts/aai-babel/values.yaml +++ b/kubernetes/aai/charts/aai-babel/values.yaml @@ -25,7 +25,7 @@ global: ################################################################# # application image -image: onap/babel:1.3-STAGING-latest +image: onap/babel:1.3.0 flavor: small diff --git a/kubernetes/aai/charts/aai-cassandra/templates/statefulset.yaml b/kubernetes/aai/charts/aai-cassandra/templates/statefulset.yaml index 891526bc21..4a8ae39270 100644 --- a/kubernetes/aai/charts/aai-cassandra/templates/statefulset.yaml +++ b/kubernetes/aai/charts/aai-cassandra/templates/statefulset.yaml @@ -125,4 +125,7 @@ spec: resources: requests: storage: {{ .Values.persistence.size | quote }} + selector: + matchLabels: + release: "{{ .Release.Name }}" {{- end }} diff --git a/kubernetes/aai/charts/aai-champ/resources/config/log/logback.xml b/kubernetes/aai/charts/aai-champ/resources/config/log/logback.xml index 1fbd913907..67f6ac34f1 100644 --- a/kubernetes/aai/charts/aai-champ/resources/config/log/logback.xml +++ b/kubernetes/aai/charts/aai-champ/resources/config/log/logback.xml @@ -143,27 +143,12 @@ limitations under the License. - - - - - - - - - - - - - - - - - + + @@ -188,4 +173,4 @@ limitations under the License. - + \ No newline at end of file diff --git a/kubernetes/aai/charts/aai-champ/templates/deployment.yaml b/kubernetes/aai/charts/aai-champ/templates/deployment.yaml index 0c125b126f..4e1866c8b9 100644 --- a/kubernetes/aai/charts/aai-champ/templates/deployment.yaml +++ b/kubernetes/aai/charts/aai-champ/templates/deployment.yaml @@ -31,6 +31,21 @@ spec: app: {{ include "common.name" . }} release: {{ .Release.Name }} spec: + initContainers: + - command: + - /root/ready.py + args: + - --container-name + - aai-cassandra + 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 }}" diff --git a/kubernetes/aai/charts/aai-champ/values.yaml b/kubernetes/aai/charts/aai-champ/values.yaml index 9e1c9bd23b..c247313a39 100644 --- a/kubernetes/aai/charts/aai-champ/values.yaml +++ b/kubernetes/aai/charts/aai-champ/values.yaml @@ -25,7 +25,7 @@ global: ################################################################# # application image -image: onap/champ:1.3-STAGING-latest +image: onap/champ:1.3.0 flavor: small @@ -57,6 +57,7 @@ service: type: NodePort portName: aai-champ internalPort: 9522 + externalPort: 9522 nodePort: 78 ingress: diff --git a/kubernetes/aai/charts/aai-data-router/values.yaml b/kubernetes/aai/charts/aai-data-router/values.yaml index c1fa49f3f0..64a0fe1ab4 100644 --- a/kubernetes/aai/charts/aai-data-router/values.yaml +++ b/kubernetes/aai/charts/aai-data-router/values.yaml @@ -21,7 +21,7 @@ global: # global defaults # application image repository: nexus3.onap.org:10001 -image: onap/data-router:1.3-STAGING-latest +image: onap/data-router:1.3.0 pullPolicy: Always restartPolicy: Always flavor: small diff --git a/kubernetes/aai/charts/aai-elasticsearch/templates/deployment.yaml b/kubernetes/aai/charts/aai-elasticsearch/templates/deployment.yaml index 24cdb921b2..586d64f9ab 100644 --- a/kubernetes/aai/charts/aai-elasticsearch/templates/deployment.yaml +++ b/kubernetes/aai/charts/aai-elasticsearch/templates/deployment.yaml @@ -39,6 +39,7 @@ spec: - /bin/sh - -c - | + sysctl -w vm.max_map_count=262144 mkdir -p /logroot/elasticsearch/logs mkdir -p /logroot/elasticsearch/data chmod -R 777 /logroot/elasticsearch diff --git a/kubernetes/aai/charts/aai-gizmo/resources/fproxy/config/auth/client-cert.p12 b/kubernetes/aai/charts/aai-gizmo/resources/fproxy/config/auth/client-cert.p12 index dbf4fcacec..7a4979a7a3 100644 Binary files a/kubernetes/aai/charts/aai-gizmo/resources/fproxy/config/auth/client-cert.p12 and b/kubernetes/aai/charts/aai-gizmo/resources/fproxy/config/auth/client-cert.p12 differ diff --git a/kubernetes/aai/charts/aai-gizmo/templates/NOTES.txt b/kubernetes/aai/charts/aai-gizmo/templates/NOTES.txt index 1b36fa7016..0def4edf1e 100644 --- a/kubernetes/aai/charts/aai-gizmo/templates/NOTES.txt +++ b/kubernetes/aai/charts/aai-gizmo/templates/NOTES.txt @@ -27,7 +27,7 @@ export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/kubernetes/aai/charts/aai-gizmo/templates/service.yaml b/kubernetes/aai/charts/aai-gizmo/templates/service.yaml index ac34ed9248..a584800bb8 100644 --- a/kubernetes/aai/charts/aai-gizmo/templates/service.yaml +++ b/kubernetes/aai/charts/aai-gizmo/templates/service.yaml @@ -29,8 +29,9 @@ spec: ports: {{ if .Values.global.installSidecarSecurity }} {{if eq .Values.service.type "NodePort" -}} - - port: {{ .Values.global.rproxy.port }} + - port: {{ .Values.service.internalPort }} nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }} + targetPort: {{ .Values.global.rproxy.port }} name: {{ .Values.service.portName }} {{- else -}} - port: {{ .Values.service.externalPort }} diff --git a/kubernetes/aai/charts/aai-gizmo/values.yaml b/kubernetes/aai/charts/aai-gizmo/values.yaml index 6ad25c5246..7220cd52fd 100644 --- a/kubernetes/aai/charts/aai-gizmo/values.yaml +++ b/kubernetes/aai/charts/aai-gizmo/values.yaml @@ -23,7 +23,7 @@ global: ################################################################# # application image -image: onap/gizmo:1.3-STAGING-latest +image: onap/gizmo:1.3.0 flavor: small # application configuration config: @@ -54,6 +54,7 @@ service: name: aai-crud-service portName: aai-crud-service internalPort: 9520 + externalPort: 9520 nodePort: 68 ingress: diff --git a/kubernetes/aai/charts/aai-graphadmin/resources/config/application.properties b/kubernetes/aai/charts/aai-graphadmin/resources/config/application.properties index 75572479b6..81a9c7b27d 100644 --- a/kubernetes/aai/charts/aai-graphadmin/resources/config/application.properties +++ b/kubernetes/aai/charts/aai-graphadmin/resources/config/application.properties @@ -55,6 +55,7 @@ server.ssl.key-store-type=JKS # JMS bind address host port jms.bind.address=tcp://localhost:61649 dmaap.ribbon.listOfServers=message-router.{{.Release.Namespace}}:3905 +dmaap.ribbon.transportType=https # Schema related attributes for the oxm and edges # Any additional schema related attributes should start with prefix schema diff --git a/kubernetes/aai/charts/aai-graphadmin/templates/job.yaml b/kubernetes/aai/charts/aai-graphadmin/templates/job.yaml index fb2ee005d4..cdcf2b1d9f 100644 --- a/kubernetes/aai/charts/aai-graphadmin/templates/job.yaml +++ b/kubernetes/aai/charts/aai-graphadmin/templates/job.yaml @@ -68,7 +68,7 @@ spec: imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} name: {{ include "common.name" . }}-readiness containers: - - name: {{ include "common.name" . }} + - name: {{ include "common.name" . }}-job image: "{{ include "common.repository" . }}/{{ .Values.image }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} command: diff --git a/kubernetes/aai/charts/aai-graphadmin/values.yaml b/kubernetes/aai/charts/aai-graphadmin/values.yaml index b7af3d0bd7..b1fd98e5ee 100644 --- a/kubernetes/aai/charts/aai-graphadmin/values.yaml +++ b/kubernetes/aai/charts/aai-graphadmin/values.yaml @@ -28,7 +28,7 @@ global: # global defaults # application image repository: nexus3.onap.org:10001 -image: onap/aai-graphadmin:1.0-STAGING-latest +image: onap/aai-graphadmin:1.0.0 pullPolicy: Always restartPolicy: Always flavor: small diff --git a/kubernetes/aai/charts/aai-modelloader/values.yaml b/kubernetes/aai/charts/aai-modelloader/values.yaml index 1617fc08a7..a2b64f2318 100644 --- a/kubernetes/aai/charts/aai-modelloader/values.yaml +++ b/kubernetes/aai/charts/aai-modelloader/values.yaml @@ -21,7 +21,7 @@ global: # global defaults # application image repository: nexus3.onap.org:10001 -image: onap/model-loader:1.3-STAGING-latest +image: onap/model-loader:1.3.0 pullPolicy: Always restartPolicy: Always flavor: small diff --git a/kubernetes/aai/charts/aai-resources/resources/config/aaf/bath_config.csv b/kubernetes/aai/charts/aai-resources/resources/config/aaf/bath_config.csv new file mode 100644 index 0000000000..b926dfd260 --- /dev/null +++ b/kubernetes/aai/charts/aai-resources/resources/config/aaf/bath_config.csv @@ -0,0 +1,33 @@ +# AAI -> aai@aai.onap.org +Basic QUFJOkFBSQ==,Basic YWFpQGFhaS5vbmFwLm9yZzpkZW1vMTIzNDU2IQ==,2050-03-03 + +# ModelLoader -> aai@aai.onap.org +Basic TW9kZWxMb2FkZXI6TW9kZWxMb2FkZXI=,Basic YWFpQGFhaS5vbmFwLm9yZzpkZW1vMTIzNDU2IQ==,2050-03-03 + +# AaiUI -> aai@aai.onap.org, +Basic QWFpVUk6QWFpVUk=,Basic YWFpQGFhaS5vbmFwLm9yZzpkZW1vMTIzNDU2IQ==,2050-03-03 + +# MSO -> so@so.onap.org +Basic TVNPOk1TTw==,Basic c29Ac28ub25hcC5vcmc6ZGVtbzEyMzQ1NiE=,2050-03-03 + +# SDNC -> sdnc@sdnc.onap.org +Basic U0ROQzpTRE5D,Basic c2RuY0BzZG5jLm9uYXAub3JnOmRlbW8xMjM0NTYh,2050-03-03 + +# DCAE -> dcae@dcae.onap.org +Basic RENBRTpEQ0FF,Basic ZGNhZUBkY2FlLm9uYXAub3JnOmRlbW8xMjMzNDU2IQ==,2050-03-03 + +# POLICY -> policy@policy.onap.org +Basic UE9MSUNZOlBPTElDWQ==,Basic cG9saWN5QHBvbGljeS5vbmFwLm9yZzpkZW1vMTIzNDU2IQ==,2050-03-03 + +# ASDC -> sdc@sdc.onap.org +Basic QVNEQzpBU0RD,Basic c2RjQHNkYy5vbmFwLm9yZzpkZW1vMTIzNDU2IQ==,2050-03-03 + +# VID -> vid@vid.onap.org +Basic VklEOlZJRA==,Basic dmlkQHZpZC5vbmFwLm9yZzpkZW1vMTIzNDU2IQ==,2050-03-03 + +# APPC -> appc@appc.onap.org +Basic QVBQQzpBUFBD,Basic YXBwY0BhcHBjLm9uYXAub3JnOmRlbW8xMjM0NTYh,2050-03-03 + +# OOF -> oof@oof.onap.org +Basic T09GOk9PRg==,Basic b29mQG9vZi5vbmFwLm9yZzpkZW1vMTIzNDQ2IQ==,2050-03-03 + diff --git a/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.props b/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.props index 906f170f56..78e4e71dc6 100644 --- a/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.props +++ b/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.props @@ -10,4 +10,5 @@ cadi_keystore_password=enc:383RDJRFA6yQz9AOxUxC1iIg3xTJXityw05MswnpnEtelRQy2D4r5 cadi_alias=aai@aai.onap.org cadi_truststore=/opt/app/aai-resources/resources/aaf/truststoreONAPall.jks cadi_truststore_password=enc:s77wlnZFoQ08NhnU3OSeWO6uKgRwC6sAK-wTvVubNz2 -cadi_loglevel=INFO \ No newline at end of file +cadi_loglevel=INFO +cadi_bath_convert=/opt/app/aai-resources/resources/aaf/bath_config.csv diff --git a/kubernetes/aai/charts/aai-resources/resources/config/application.properties b/kubernetes/aai/charts/aai-resources/resources/config/application.properties index 29a6d23341..c8648e499e 100644 --- a/kubernetes/aai/charts/aai-resources/resources/config/application.properties +++ b/kubernetes/aai/charts/aai-resources/resources/config/application.properties @@ -50,6 +50,7 @@ server.ssl.key-store-type=JKS # JMS bind address host port jms.bind.address=tcp://localhost:61647 dmaap.ribbon.listOfServers=message-router.{{.Release.Namespace}}:3905 +dmaap.ribbon.transportType=https # Schema related attributes for the oxm and edges # Any additional schema related attributes should start with prefix schema diff --git a/kubernetes/aai/charts/aai-resources/templates/configmap.yaml b/kubernetes/aai/charts/aai-resources/templates/configmap.yaml index 60fb645475..001f5ead65 100644 --- a/kubernetes/aai/charts/aai-resources/templates/configmap.yaml +++ b/kubernetes/aai/charts/aai-resources/templates/configmap.yaml @@ -135,3 +135,4 @@ data: {{ tpl (.Files.Glob "resources/config/aaf/org.onap.aai.keyfile").AsSecrets . | indent 2 }} {{ tpl (.Files.Glob "resources/config/aaf/org.onap.aai.p12").AsSecrets . | indent 2 }} {{ tpl (.Files.Glob "resources/config/aaf/truststoreONAPall.jks").AsSecrets . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/aaf/bath_config.csv").AsSecrets . | indent 2 }} diff --git a/kubernetes/aai/charts/aai-resources/templates/deployment.yaml b/kubernetes/aai/charts/aai-resources/templates/deployment.yaml index 2b124f01d4..4dcfa2cf9c 100644 --- a/kubernetes/aai/charts/aai-resources/templates/deployment.yaml +++ b/kubernetes/aai/charts/aai-resources/templates/deployment.yaml @@ -478,6 +478,9 @@ spec: - mountPath: /opt/app/aai-resources/resources/aaf/org.onap.aai.keyfile name: {{ include "common.fullname" . }}-aaf-certs subPath: org.onap.aai.keyfile + - mountPath: /opt/app/aai-resources/resources/aaf/bath_config.csv + name: {{ include "common.fullname" . }}-aaf-certs + subPath: bath_config.csv - mountPath: /opt/app/aai-resources/resources/aaf/org.onap.aai.props name: {{ include "common.fullname" . }}-aaf-properties subPath: org.onap.aai.props diff --git a/kubernetes/aai/charts/aai-resources/values.yaml b/kubernetes/aai/charts/aai-resources/values.yaml index 8e50ba0421..5055fedb11 100644 --- a/kubernetes/aai/charts/aai-resources/values.yaml +++ b/kubernetes/aai/charts/aai-resources/values.yaml @@ -22,7 +22,7 @@ global: # global defaults # application image repository: nexus3.onap.org:10001 -image: onap/aai-resources:1.3-STAGING-latest +image: onap/aai-resources:1.3.1 pullPolicy: Always restartPolicy: Always flavor: small diff --git a/kubernetes/aai/charts/aai-search-data/values.yaml b/kubernetes/aai/charts/aai-search-data/values.yaml index b58350cac4..292e23c59c 100644 --- a/kubernetes/aai/charts/aai-search-data/values.yaml +++ b/kubernetes/aai/charts/aai-search-data/values.yaml @@ -23,7 +23,7 @@ global: # global defaults # application image repository: nexus3.onap.org:10001 -image: onap/search-data-service:1.3-STAGING-latest +image: onap/search-data-service:1.3.1 pullPolicy: Always restartPolicy: Always flavor: small diff --git a/kubernetes/aai/charts/aai-sparky-be/values.yaml b/kubernetes/aai/charts/aai-sparky-be/values.yaml index a323d2987a..fdcb2ab6e9 100644 --- a/kubernetes/aai/charts/aai-sparky-be/values.yaml +++ b/kubernetes/aai/charts/aai-sparky-be/values.yaml @@ -28,7 +28,7 @@ global: # global defaults # application image repository: nexus3.onap.org:10001 -image: onap/sparky-be:1.3-STAGING-latest +image: onap/sparky-be:1.3.0 pullPolicy: Always restartPolicy: Always flavor: small diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/aaf/bath_config.csv b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/bath_config.csv new file mode 100644 index 0000000000..b926dfd260 --- /dev/null +++ b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/bath_config.csv @@ -0,0 +1,33 @@ +# AAI -> aai@aai.onap.org +Basic QUFJOkFBSQ==,Basic YWFpQGFhaS5vbmFwLm9yZzpkZW1vMTIzNDU2IQ==,2050-03-03 + +# ModelLoader -> aai@aai.onap.org +Basic TW9kZWxMb2FkZXI6TW9kZWxMb2FkZXI=,Basic YWFpQGFhaS5vbmFwLm9yZzpkZW1vMTIzNDU2IQ==,2050-03-03 + +# AaiUI -> aai@aai.onap.org, +Basic QWFpVUk6QWFpVUk=,Basic YWFpQGFhaS5vbmFwLm9yZzpkZW1vMTIzNDU2IQ==,2050-03-03 + +# MSO -> so@so.onap.org +Basic TVNPOk1TTw==,Basic c29Ac28ub25hcC5vcmc6ZGVtbzEyMzQ1NiE=,2050-03-03 + +# SDNC -> sdnc@sdnc.onap.org +Basic U0ROQzpTRE5D,Basic c2RuY0BzZG5jLm9uYXAub3JnOmRlbW8xMjM0NTYh,2050-03-03 + +# DCAE -> dcae@dcae.onap.org +Basic RENBRTpEQ0FF,Basic ZGNhZUBkY2FlLm9uYXAub3JnOmRlbW8xMjMzNDU2IQ==,2050-03-03 + +# POLICY -> policy@policy.onap.org +Basic UE9MSUNZOlBPTElDWQ==,Basic cG9saWN5QHBvbGljeS5vbmFwLm9yZzpkZW1vMTIzNDU2IQ==,2050-03-03 + +# ASDC -> sdc@sdc.onap.org +Basic QVNEQzpBU0RD,Basic c2RjQHNkYy5vbmFwLm9yZzpkZW1vMTIzNDU2IQ==,2050-03-03 + +# VID -> vid@vid.onap.org +Basic VklEOlZJRA==,Basic dmlkQHZpZC5vbmFwLm9yZzpkZW1vMTIzNDU2IQ==,2050-03-03 + +# APPC -> appc@appc.onap.org +Basic QVBQQzpBUFBD,Basic YXBwY0BhcHBjLm9uYXAub3JnOmRlbW8xMjM0NTYh,2050-03-03 + +# OOF -> oof@oof.onap.org +Basic T09GOk9PRg==,Basic b29mQG9vZi5vbmFwLm9yZzpkZW1vMTIzNDQ2IQ==,2050-03-03 + diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.props b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.props index 4596d91cfe..7cb0d492ce 100644 --- a/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.props +++ b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.props @@ -10,4 +10,5 @@ cadi_keystore_password=enc:383RDJRFA6yQz9AOxUxC1iIg3xTJXityw05MswnpnEtelRQy2D4r5 cadi_alias=aai@aai.onap.org cadi_truststore=/opt/app/aai-traversal/resources/aaf/truststoreONAPall.jks cadi_truststore_password=enc:s77wlnZFoQ08NhnU3OSeWO6uKgRwC6sAK-wTvVubNz2 -cadi_loglevel=INFO \ No newline at end of file +cadi_loglevel=INFO +cadi_bath_convert=/opt/app/aai-traversal/resources/aaf/bath_config.csv diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/application.properties b/kubernetes/aai/charts/aai-traversal/resources/config/application.properties index 1ad208fd86..8d35e2f5d6 100644 --- a/kubernetes/aai/charts/aai-traversal/resources/config/application.properties +++ b/kubernetes/aai/charts/aai-traversal/resources/config/application.properties @@ -50,6 +50,7 @@ server.ssl.key-store-type=JKS # JMS bind address host port jms.bind.address=tcp://localhost:61647 dmaap.ribbon.listOfServers=message-router.{{ include "common.namespace" . }}:3905 +dmaap.ribbon.transportType=https # Schema related attributes for the oxm and edges # Any additional schema related attributes should start with prefix schema diff --git a/kubernetes/aai/charts/aai-traversal/templates/configmap.yaml b/kubernetes/aai/charts/aai-traversal/templates/configmap.yaml index 8b93e8b3ae..79d6abd6c0 100644 --- a/kubernetes/aai/charts/aai-traversal/templates/configmap.yaml +++ b/kubernetes/aai/charts/aai-traversal/templates/configmap.yaml @@ -134,3 +134,4 @@ data: {{ tpl (.Files.Glob "resources/config/aaf/org.onap.aai.keyfile").AsSecrets . | indent 2 }} {{ tpl (.Files.Glob "resources/config/aaf/org.onap.aai.p12").AsSecrets . | indent 2 }} {{ tpl (.Files.Glob "resources/config/aaf/truststoreONAPall.jks").AsSecrets . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/aaf/bath_config.csv").AsSecrets . | indent 2 }} diff --git a/kubernetes/aai/charts/aai-traversal/templates/deployment.yaml b/kubernetes/aai/charts/aai-traversal/templates/deployment.yaml index 6a5a7db6f0..834ab322cd 100644 --- a/kubernetes/aai/charts/aai-traversal/templates/deployment.yaml +++ b/kubernetes/aai/charts/aai-traversal/templates/deployment.yaml @@ -310,6 +310,9 @@ spec: - mountPath: /opt/app/aai-traversal/resources/aaf/org.onap.aai.keyfile name: {{ include "common.fullname" . }}-aaf-certs subPath: org.onap.aai.keyfile + - mountPath: /opt/app/aai-traversal/resources/aaf/bath_config.csv + name: {{ include "common.fullname" . }}-aaf-certs + subPath: bath_config.csv - mountPath: /opt/app/aai-traversal/resources/aaf/org.onap.aai.props name: {{ include "common.fullname" . }}-aaf-properties subPath: org.onap.aai.props diff --git a/kubernetes/aai/charts/aai-traversal/templates/job.yaml b/kubernetes/aai/charts/aai-traversal/templates/job.yaml index a018ede1a3..c8efed74ae 100644 --- a/kubernetes/aai/charts/aai-traversal/templates/job.yaml +++ b/kubernetes/aai/charts/aai-traversal/templates/job.yaml @@ -58,6 +58,7 @@ spec: - | set -x mkdir -p /opt/aai/logroot/AAI-GQ/misc + until nc -w10 -z -v aai.{{.Release.Namespace}} 8443; do echo "Retrying to reach aai on port 8443"; done; bash -x /opt/app/aai-traversal/docker-entrypoint.sh install/updateQueryData.sh env: - name: LOCAL_USER_ID @@ -77,7 +78,7 @@ spec: - mountPath: /opt/app/aai-traversal/resources/etc/appprops/aaiconfig.properties name: {{ include "common.fullname" . }}-aaiconfig-conf subPath: aaiconfig.properties - - mountPath: /var/log/onap + - mountPath: /opt/aai/logroot/AAI-GQ/ name: {{ include "common.fullname" . }}-logs - mountPath: /opt/app/aai-traversal/resources/logback.xml name: {{ include "common.fullname" . }}-log-conf diff --git a/kubernetes/aai/charts/aai-traversal/values.yaml b/kubernetes/aai/charts/aai-traversal/values.yaml index 4e651259b3..cd496d01c2 100644 --- a/kubernetes/aai/charts/aai-traversal/values.yaml +++ b/kubernetes/aai/charts/aai-traversal/values.yaml @@ -23,7 +23,7 @@ global: # global defaults # application image repository: nexus3.onap.org:10001 -image: onap/aai-traversal:1.3-STAGING-latest +image: onap/aai-traversal:1.3.1 pullPolicy: Always restartPolicy: Always flavor: small diff --git a/kubernetes/aai/templates/deployment.yaml b/kubernetes/aai/templates/deployment.yaml index d32db1794c..3f16e25ffd 100644 --- a/kubernetes/aai/templates/deployment.yaml +++ b/kubernetes/aai/templates/deployment.yaml @@ -39,7 +39,11 @@ spec: - /root/ready.py args: - --container-name + - aai-resources + - --container-name - aai-traversal + - --container-name + - aai-graphadmin env: - name: NAMESPACE valueFrom: @@ -75,8 +79,17 @@ spec: periodSeconds: {{ .Values.liveness.periodSeconds }} {{ end -}} readinessProbe: - tcpSocket: + httpGet: + path: /aai/util/echo port: {{ .Values.service.internalPort2 }} + scheme: HTTPS + httpHeaders: + - name: X-FromAppId + value: OOM_ReadinessCheck + - name: X-TransactionId + value: {{ uuidv4 }} + - name: Accept + value: application/json initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} periodSeconds: {{ .Values.readiness.periodSeconds }} resources: diff --git a/kubernetes/aai/templates/service.yaml b/kubernetes/aai/templates/service.yaml index 29c13f97fa..91bdb2e904 100644 --- a/kubernetes/aai/templates/service.yaml +++ b/kubernetes/aai/templates/service.yaml @@ -39,7 +39,7 @@ spec: name: {{ .Values.service.portName }} - port: {{ .Values.service.externalPort2 }} targetPort: {{ .Values.service.internalPort2 }} - name: {{ .Values.service.portName }} + name: {{ .Values.service.portName2 }} {{- end}} type: {{ .Values.service.type }} selector: diff --git a/kubernetes/aai/values.yaml b/kubernetes/aai/values.yaml index 0bc707e4e5..e216b35cf6 100644 --- a/kubernetes/aai/values.yaml +++ b/kubernetes/aai/values.yaml @@ -150,7 +150,7 @@ global: # global defaults # Active spring profiles for the resources microservice profiles: - active: production,dmaap,one-way-ssl + active: production,dmaap,aaf-auth # Notification event specific properties notification: diff --git a/kubernetes/appc/charts/appc-ansible-server/values.yaml b/kubernetes/appc/charts/appc-ansible-server/values.yaml index d971192eb8..1fb191f249 100644 --- a/kubernetes/appc/charts/appc-ansible-server/values.yaml +++ b/kubernetes/appc/charts/appc-ansible-server/values.yaml @@ -29,7 +29,7 @@ flavor: small # application image repository: nexus3.onap.org:10001 -image: onap/sdnc-ansible-server-image:1.4-STAGING-latest +image: onap/sdnc-ansible-server-image:1.4.1 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/appc/charts/appc-cdt/values.yaml b/kubernetes/appc/charts/appc-cdt/values.yaml index 881887014f..dfebe57d21 100644 --- a/kubernetes/appc/charts/appc-cdt/values.yaml +++ b/kubernetes/appc/charts/appc-cdt/values.yaml @@ -26,7 +26,7 @@ flavor: small # application image repository: nexus3.onap.org:10001 -image: onap/appc-cdt-image:1.4.0-SNAPSHOT-latest +image: onap/appc-cdt-image:1.4.0 pullPolicy: Always # application configuration diff --git a/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh b/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh index 3cbee8db5f..705f3effb5 100755 --- a/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh +++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh @@ -50,15 +50,12 @@ function enable_odl_cluster(){ } ODL_HOME=${ODL_HOME:-/opt/opendaylight/current} -ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-admin} SDNC_HOME=${SDNC_HOME:-/opt/onap/ccsdk} APPC_HOME=${APPC_HOME:-/opt/onap/appc} SLEEP_TIME=${SLEEP_TIME:-120} MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.mariadbRootPassword}}} ENABLE_ODL_CLUSTER=${ENABLE_ODL_CLUSTER:-false} -ENABLE_AAF=${ENABLE_AAF:-false} -AAF_EXT_IP=${AAF_EXT_IP:-{{.Values.config.aafExtIP}}} -AAF_EXT_FQDN=${AAF_EXT_FQDN:-{{.Values.config.aafExtFQDN}}} +ENABLE_AAF=${ENABLE_AAF:-true} appcInstallStartTime=$(date +%s) @@ -149,7 +146,6 @@ then echo "Copying the aaa shiro configuration into opendaylight" if $ENABLE_AAF then - echo "${AAF_EXT_IP} ${AAF_EXT_FQDN}" >> /etc/hosts cp ${APPC_HOME}/data/properties/aaa-app-config.xml ${ODL_HOME}/etc/opendaylight/datastore/initial/config/aaa-app-config.xml else cp ${APPC_HOME}/data/aaa-app-config.xml ${ODL_HOME}/etc/opendaylight/datastore/initial/config/aaa-app-config.xml diff --git a/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/aaa-app-config.xml b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/aaa-app-config.xml index 3dd78d3cdf..81834eaafc 100644 --- a/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/aaa-app-config.xml +++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/aaa-app-config.xml @@ -80,37 +80,37 @@ /auth/** - authcBasic, roles[org.onap.appc.odl|odl-admin|*] + authcBasic, roles[org.onap.appc.odl|odl-api|*] /restconf/config/aaa-cert-mdsal** - authcBasic, roles[org.onap.appc.odl|odl-admin|*] + authcBasic, roles[org.onap.appc.odl|odl-api|*] /restconf/operational/aaa-cert-mdsal** - authcBasic, roles[org.onap.appc.odl|odl-admin|*] + authcBasic, roles[org.onap.appc.odl|odl-api|*] /restconf/operations/aaa-cert-rpc** - authcBasic, roles[org.onap.appc.odl|odl-admin|*] + authcBasic, roles[org.onap.appc.odl|odl-api|*] /restconf/config/aaa-authn-model** - authcBasic, roles[org.onap.appc.odl|odl-admin|*] + authcBasic, roles[org.onap.appc.odl|odl-api|*] /restconf/operational/aaa-authn-model** - authcBasic, roles[org.onap.appc.odl|odl-admin|*] + authcBasic, roles[org.onap.appc.odl|odl-api|*] /restconf/operations/cluster-admin** - authcBasic, roles[org.onap.appc.odl|odl-admin|*] + authcBasic, roles[org.onap.appc.odl|odl-api|*] /** diff --git a/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/aaiclient.properties b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/aaiclient.properties index 6bd48e31ae..70285069ff 100644 --- a/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/aaiclient.properties +++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/aaiclient.properties @@ -2,7 +2,7 @@ # ============LICENSE_START======================================================= # APPC # ================================================================================ -# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. +# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. # Modifications Copyright © 2018 Amdocs,Bell Canada # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); @@ -26,18 +26,17 @@ # # Certificate keystore and truststore # -org.onap.ccsdk.sli.adaptors.aai.ssl.trust=/opt/onap/appc/data/stores/ONAPall.p12 +org.onap.ccsdk.sli.adaptors.aai.ssl.trust=/opt/onap/appc/data/stores/truststoreONAPall.jks org.onap.ccsdk.sli.adaptors.aai.ssl.trust.psswd=changeit -org.onap.ccsdk.sli.adaptors.aai.ssl.key=/opt/onap/appc/data/stores/ONAPall.p12 +org.onap.ccsdk.sli.adaptors.aai.ssl.key=/opt/onap/appc/data/stores/truststoreONAPall.jks org.onap.ccsdk.sli.adaptors.aai.ssl.key.psswd=changeit -org.onap.ccsdk.sli.adaptors.aai.host.certificate.ignore=true -org.onap.ccsdk.sli.adaptors.aai.client.name=AAI -org.onap.ccsdk.sli.adaptors.aai.client.psswd=AAI +org.onap.ccsdk.sli.adaptors.aai.client.name=appc@appc.onap.org +org.onap.ccsdk.sli.adaptors.aai.client.psswd=demo123456! org.onap.ccsdk.sli.adaptors.aai.application=openECOMP -#connection.timeout=1000 -#read.timeout=2000 +connection.timeout=60000 +read.timeout=60000 # # Configuration file for A&AI Client @@ -45,102 +44,102 @@ org.onap.ccsdk.sli.adaptors.aai.application=openECOMP org.onap.ccsdk.sli.adaptors.aai.uri=https://aai.{{.Release.Namespace}}:8443 # query -org.onap.ccsdk.sli.adaptors.aai.path.query=/aai/v13/search/sdn-zone-query -org.onap.ccsdk.sli.adaptors.aai.query.nodes=/aai/v13/search/nodes-query?search-node-type={node-type}&filter={entity-identifier}:EQUALS:{entity-name} -org.onap.ccsdk.sli.adaptors.aai.query.generic=/aai/v13/search/generic-query?key={identifier}:{value}&start-node-type={start-node-type}&include=complex&depth=3 +org.onap.ccsdk.sli.adaptors.aai.path.query=/aai/v14/search/sdn-zone-query +org.onap.ccsdk.sli.adaptors.aai.query.nodes=/aai/v14/search/nodes-query?search-node-type={node-type}&filter={entity-identifier}:EQUALS:{entity-name} +org.onap.ccsdk.sli.adaptors.aai.query.generic=/aai/v14/search/generic-query?key={identifier}:{value}&start-node-type={start-node-type}&include=complex&depth=3 # named query org.onap.ccsdk.sli.adaptors.aai.query.named=/aai/search/named-query #update -org.onap.ccsdk.sli.adaptors.aai.update=/aai/v13/actions/update +org.onap.ccsdk.sli.adaptors.aai.update=/aai/v14/actions/update # vce -org.onap.ccsdk.sli.adaptors.aai.path.vce =/aai/v13/network/vces/vce/ -org.onap.ccsdk.sli.adaptors.aai.path.vces=/aai/v13/network/vces/ +org.onap.ccsdk.sli.adaptors.aai.path.vce =/aai/v14/network/vces/vce/ +org.onap.ccsdk.sli.adaptors.aai.path.vces=/aai/v14/network/vces/ # vpe -org.onap.ccsdk.sli.adaptors.aai.path.vpe =/aai/v13/network/vpes/vpe/ -org.onap.ccsdk.sli.adaptors.aai.path.vpes=/aai/v13/network/vpes/ +org.onap.ccsdk.sli.adaptors.aai.path.vpe =/aai/v14/network/vpes/vpe/ +org.onap.ccsdk.sli.adaptors.aai.path.vpes=/aai/v14/network/vpes/ # customer -org.onap.ccsdk.sli.adaptors.aai.path.customer=/aai/v13/business/customers/customer/{customer-id} +org.onap.ccsdk.sli.adaptors.aai.path.customer=/aai/v14/business/customers/customer/{customer-id} # service subscription -org.onap.ccsdk.sli.adaptors.aai.path.service.subscription=/aai/v13/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type} +org.onap.ccsdk.sli.adaptors.aai.path.service.subscription=/aai/v14/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type} # service instance -org.onap.ccsdk.sli.adaptors.aai.path.svcinst=/aai/v13/business/customers/customer/{customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances -org.onap.ccsdk.sli.adaptors.aai.path.svcinst.query=/aai/v13/search/generic-query?key=service-instance.service-instance-id:{svc-instance-id}&start-node-type=service-instance&include=service-instance -org.onap.ccsdk.sli.adaptors.aai.path.service.instance=/aai/v13/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id} +org.onap.ccsdk.sli.adaptors.aai.path.svcinst=/aai/v14/business/customers/customer/{customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances +org.onap.ccsdk.sli.adaptors.aai.path.svcinst.query=/aai/v14/search/generic-query?key=service-instance.service-instance-id:{svc-instance-id}&start-node-type=service-instance&include=service-instance +org.onap.ccsdk.sli.adaptors.aai.path.service.instance=/aai/v14/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id} # complex -org.onap.ccsdk.sli.adaptors.aai.path.complexes=/aai/v13/cloud-infrastructure/complexes -org.onap.ccsdk.sli.adaptors.aai.path.complex=/aai/v13/cloud-infrastructure/complexes/complex/{physical-location-id} +org.onap.ccsdk.sli.adaptors.aai.path.complexes=/aai/v14/cloud-infrastructure/complexes +org.onap.ccsdk.sli.adaptors.aai.path.complex=/aai/v14/cloud-infrastructure/complexes/complex/{physical-location-id} # tenant -org.onap.ccsdk.sli.adaptors.aai.path.tenant=/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id} -org.onap.ccsdk.sli.adaptors.aai.path.tenant.query=/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant?tenant-name={tenant-name} +org.onap.ccsdk.sli.adaptors.aai.path.tenant=/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id} +org.onap.ccsdk.sli.adaptors.aai.path.tenant.query=/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant?tenant-name={tenant-name} # vservers -org.onap.ccsdk.sli.adaptors.aai.path.vservers=/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/ -org.onap.ccsdk.sli.adaptors.aai.path.vserver=/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id} +org.onap.ccsdk.sli.adaptors.aai.path.vservers=/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/ +org.onap.ccsdk.sli.adaptors.aai.path.vserver=/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id} # vpls-pe -org.onap.ccsdk.sli.adaptors.aai.path.vpls.pes=/aai/v13/network/vpls-pes/ -org.onap.ccsdk.sli.adaptors.aai.path.vpls.pe =/aai/v13/network/vpls-pes/vpls-pe/ +org.onap.ccsdk.sli.adaptors.aai.path.vpls.pes=/aai/v14/network/vpls-pes/ +org.onap.ccsdk.sli.adaptors.aai.path.vpls.pe =/aai/v14/network/vpls-pes/vpls-pe/ # ctag-pool -org.onap.ccsdk.sli.adaptors.aai.path.ctag.pools=/aai/v13/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools -org.onap.ccsdk.sli.adaptors.aai.path.ctag.pool=/aai/v13/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name} +org.onap.ccsdk.sli.adaptors.aai.path.ctag.pools=/aai/v14/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools +org.onap.ccsdk.sli.adaptors.aai.path.ctag.pool=/aai/v14/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name} # #-------------- 1510 ---------------------- # # pservers -org.onap.ccsdk.sli.adaptors.aai.path.pservers=/aai/v13/cloud-infrastructure/pservers -org.onap.ccsdk.sli.adaptors.aai.path.pserver=/aai/v13/cloud-infrastructure/pservers/pserver/{hostname} +org.onap.ccsdk.sli.adaptors.aai.path.pservers=/aai/v14/cloud-infrastructure/pservers +org.onap.ccsdk.sli.adaptors.aai.path.pserver=/aai/v14/cloud-infrastructure/pservers/pserver/{hostname} # generic-vnf -org.onap.ccsdk.sli.adaptors.aai.path.generic.vnfs=/aai/v13/network/generic-vnfs -org.onap.ccsdk.sli.adaptors.aai.path.generic.vnf=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id} +org.onap.ccsdk.sli.adaptors.aai.path.generic.vnfs=/aai/v14/network/generic-vnfs +org.onap.ccsdk.sli.adaptors.aai.path.generic.vnf=/aai/v14/network/generic-vnfs/generic-vnf/{vnf-id} # dvs-switch -org.onap.ccsdk.sli.adaptors.aai.path.dvsswitches=/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches -org.onap.ccsdk.sli.adaptors.aai.path.dvsswitch=/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches/dvs-switch/{switch-name} +org.onap.ccsdk.sli.adaptors.aai.path.dvsswitches=/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches +org.onap.ccsdk.sli.adaptors.aai.path.dvsswitch=/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches/dvs-switch/{switch-name} # L3 Networks -org.onap.ccsdk.sli.adaptors.aai.path.l3networks=/aai/v13/network/l3-networks -org.onap.ccsdk.sli.adaptors.aai.path.l3network=/aai/v13/network/l3-networks/l3-network/{network-id} -org.onap.ccsdk.sli.adaptors.aai.path.l3network.query.name=/aai/v13/network/l3-networks/l3-network?network-name={network-name} +org.onap.ccsdk.sli.adaptors.aai.path.l3networks=/aai/v14/network/l3-networks +org.onap.ccsdk.sli.adaptors.aai.path.l3network=/aai/v14/network/l3-networks/l3-network/{network-id} +org.onap.ccsdk.sli.adaptors.aai.path.l3network.query.name=/aai/v14/network/l3-networks/l3-network?network-name={network-name} # P-Interfaces -org.onap.ccsdk.sli.adaptors.aai.path.pserver.pinterfaces=/aai/v13/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces -org.onap.ccsdk.sli.adaptors.aai.path.pserver.pinterface=/aai/v13/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name} +org.onap.ccsdk.sli.adaptors.aai.path.pserver.pinterfaces=/aai/v14/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces +org.onap.ccsdk.sli.adaptors.aai.path.pserver.pinterface=/aai/v14/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name} # Physical Link -org.onap.ccsdk.sli.adaptors.aai.path.physical.links=/aai/v13/network/physical-links -org.onap.ccsdk.sli.adaptors.aai.path.physical.link=/aai/v13/network/physical-links/physical-link/{link-name} +org.onap.ccsdk.sli.adaptors.aai.path.physical.links=/aai/v14/network/physical-links +org.onap.ccsdk.sli.adaptors.aai.path.physical.link=/aai/v14/network/physical-links/physical-link/{link-name} # VPN Bindings -org.onap.ccsdk.sli.adaptors.aai.path.vpn.bindings=/aai/v13/network/vpn-bindings/ -org.onap.ccsdk.sli.adaptors.aai.path.vpn.binding=/aai/v13/network/vpn-bindings/vpn-binding/{vpn-id} +org.onap.ccsdk.sli.adaptors.aai.path.vpn.bindings=/aai/v14/network/vpn-bindings/ +org.onap.ccsdk.sli.adaptors.aai.path.vpn.binding=/aai/v14/network/vpn-bindings/vpn-binding/{vpn-id} # VNF IMAGES -org.onap.ccsdk.sli.adaptors.aai.path.vnf.images=/aai/v13/service-design-and-creation/vnf-images -org.onap.ccsdk.sli.adaptors.aai.path.vnf.image=/aai/v13/service-design-and-creation/vnf-images/vnf-image/{att-uuid} -org.onap.ccsdk.sli.adaptors.aai.path.vnf.image.query=/aai/v13/service-design-and-creation/vnf-images/vnf-image?application={application_model}&application-vendor={application_vendor} +org.onap.ccsdk.sli.adaptors.aai.path.vnf.images=/aai/v14/service-design-and-creation/vnf-images +org.onap.ccsdk.sli.adaptors.aai.path.vnf.image=/aai/v14/service-design-and-creation/vnf-images/vnf-image/{att-uuid} +org.onap.ccsdk.sli.adaptors.aai.path.vnf.image.query=/aai/v14/service-design-and-creation/vnf-images/vnf-image?application={application_model}&application-vendor={application_vendor} # UBB Notify -org.onap.ccsdk.sli.adaptors.aai.path.notify=/aai/v13/actions/notify +org.onap.ccsdk.sli.adaptors.aai.path.notify=/aai/v14/actions/notify org.onap.ccsdk.sli.adaptors.aai.notify.selflink.fqdn=https://aai.{{.Release.Namespace}}:8443/restconf/config/L3SDN-API:services/layer3-service-list/{service-instance-id} org.onap.ccsdk.sli.adaptors.aai.notify.selflink.avpn=https://aai.{{.Release.Namespace}}:8443/restconf/config/L3AVPN-EVC-API:services/service-list/{service-instance-id}/service-data/avpn-logicalchannel-information # Service -org.onap.ccsdk.sli.adaptors.aai.path.service=/aai/v13/service-design-and-creation/services/service/{service-id} -org.onap.ccsdk.sli.adaptors.aai.path.services=/aai/v13/service-design-and-creation/services +org.onap.ccsdk.sli.adaptors.aai.path.service=/aai/v14/service-design-and-creation/services/service/{service-id} +org.onap.ccsdk.sli.adaptors.aai.path.services=/aai/v14/service-design-and-creation/services # @@ -148,98 +147,98 @@ org.onap.ccsdk.sli.adaptors.aai.path.services=/aai/v13/service-design-and-creati # # VNFC -org.onap.ccsdk.sli.adaptors.aai.path.vnfc=/aai/v13/network/vnfcs/vnfc/{vnfc-name} +org.onap.ccsdk.sli.adaptors.aai.path.vnfc=/aai/v14/network/vnfcs/vnfc/{vnfc-name} # class-of-service -org.onap.ccsdk.sli.adaptors.aai.path.class.of.service=/aai/v13/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id}/site-pairs/site-pair/{site-pair-id}/classes-of-service/class-of-service/{cos-id} +org.onap.ccsdk.sli.adaptors.aai.path.class.of.service=/aai/v14/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id}/site-pairs/site-pair/{site-pair-id}/classes-of-service/class-of-service/{cos-id} # site-pair -org.onap.ccsdk.sli.adaptors.aai.path.site.pair=/aai/v13/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id}/site-pairs/site-pair/{site-pair-id} +org.onap.ccsdk.sli.adaptors.aai.path.site.pair=/aai/v14/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id}/site-pairs/site-pair/{site-pair-id} # routing-instance -org.onap.ccsdk.sli.adaptors.aai.path.routing.instance=/aai/v13/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id} +org.onap.ccsdk.sli.adaptors.aai.path.routing.instance=/aai/v14/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id} # site-pair-set -org.onap.ccsdk.sli.adaptors.aai.path.site.pair.set=/aai/v13/network/site-pair-sets/site-pair-set/{site-pair-set-id} +org.onap.ccsdk.sli.adaptors.aai.path.site.pair.set=/aai/v14/network/site-pair-sets/site-pair-set/{site-pair-set-id} # license key resource -org.onap.ccsdk.sli.adaptors.aai.path.license.acquire=/aai/v13/actions/assignment/license-management/assignment-group-uuid/{assignment-group-uuid} -org.onap.ccsdk.sli.adaptors.aai.path.license=/aai/v13/license-management/license-key-resources/license-key-resource/{att-uuid} +org.onap.ccsdk.sli.adaptors.aai.path.license.acquire=/aai/v14/actions/assignment/license-management/assignment-group-uuid/{assignment-group-uuid} +org.onap.ccsdk.sli.adaptors.aai.path.license=/aai/v14/license-management/license-key-resources/license-key-resource/{att-uuid} # logical-link -org.onap.ccsdk.sli.adaptors.aai.path.logical.link =/aai/v13/network/logical-links/logical-link/{link-name} +org.onap.ccsdk.sli.adaptors.aai.path.logical.link =/aai/v14/network/logical-links/logical-link/{link-name} # virtual-data-center -org.onap.ccsdk.sli.adaptors.aai.path.virtual.data.center=/aai/v13/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id} +org.onap.ccsdk.sli.adaptors.aai.path.virtual.data.center=/aai/v14/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id} # wan-connector -org.onap.ccsdk.sli.adaptors.aai.path.wan.connector=/aai/v13/business/connectors/connector/{resource-instance-id} +org.onap.ccsdk.sli.adaptors.aai.path.wan.connector=/aai/v14/business/connectors/connector/{resource-instance-id} # l-interface -org.onap.ccsdk.sli.adaptors.aai.path.lag.interface.l.interface=/aai/v13/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{lag-interface.interface-name}/l-interfaces/l-interface/{interface-name} -org.onap.ccsdk.sli.adaptors.aai.path.p.interface.l.interface=/aai/v13/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{p-interface.interface-name}/l-interfaces/l-interface/{interface-name} +org.onap.ccsdk.sli.adaptors.aai.path.lag.interface.l.interface=/aai/v14/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{lag-interface.interface-name}/l-interfaces/l-interface/{interface-name} +org.onap.ccsdk.sli.adaptors.aai.path.p.interface.l.interface=/aai/v14/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{p-interface.interface-name}/l-interfaces/l-interface/{interface-name} # l-interface pnf -org.onap.ccsdk.sli.adaptors.aai.path.lag.interface.l.interface.pnf=/aai/v13/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{lag-interface.interface-name}/l-interfaces/l-interface/{interface-name} -org.onap.ccsdk.sli.adaptors.aai.path.p.interface.l.interface.pnf=/aai/v13/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{p-interface.interface-name}/l-interfaces/l-interface/{interface-name} +org.onap.ccsdk.sli.adaptors.aai.path.lag.interface.l.interface.pnf=/aai/v14/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{lag-interface.interface-name}/l-interfaces/l-interface/{interface-name} +org.onap.ccsdk.sli.adaptors.aai.path.p.interface.l.interface.pnf=/aai/v14/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{p-interface.interface-name}/l-interfaces/l-interface/{interface-name} # subinterface -org.onap.ccsdk.sli.adaptors.aai.path.pnf.lag.interface.subinterface=/aai/v13/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{lag-interface.interface-name}/l-interfaces/l-interface/{interface-name} -org.onap.ccsdk.sli.adaptors.aai.path.pnf.p.interface.l.interface=/aai/v13/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{p-interface.interface-name}/l-interfaces/l-interface/{interface-name} +org.onap.ccsdk.sli.adaptors.aai.path.pnf.lag.interface.subinterface=/aai/v14/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{lag-interface.interface-name}/l-interfaces/l-interface/{interface-name} +org.onap.ccsdk.sli.adaptors.aai.path.pnf.p.interface.l.interface=/aai/v14/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{p-interface.interface-name}/l-interfaces/l-interface/{interface-name} # vlans -org.onap.ccsdk.sli.adaptors.aai.path.vlan=/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} -org.onap.ccsdk.sli.adaptors.aai.path.generic.vnf.vlan=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} +org.onap.ccsdk.sli.adaptors.aai.path.vlan=/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} +org.onap.ccsdk.sli.adaptors.aai.path.generic.vnf.vlan=/aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} # l3-interface-ipv4-address-list -org.onap.ccsdk.sli.adaptors.aai.path.l3.interface.ipv4.address.list=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -org.onap.ccsdk.sli.adaptors.aai.path.vlan.l3.interface.ipv4.address.list=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +org.onap.ccsdk.sli.adaptors.aai.path.l3.interface.ipv4.address.list=/aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +org.onap.ccsdk.sli.adaptors.aai.path.vlan.l3.interface.ipv4.address.list=/aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} # l3-interface-ipv6-address-list -org.onap.ccsdk.sli.adaptors.aai.path.l3.interface.ipv6.address.list=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -org.onap.ccsdk.sli.adaptors.aai.path.vlan.l3.interface.ipv6.address.list=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +org.onap.ccsdk.sli.adaptors.aai.path.l3.interface.ipv6.address.list=/aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +org.onap.ccsdk.sli.adaptors.aai.path.vlan.l3.interface.ipv6.address.list=/aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} # ipsec-configuration -org.onap.ccsdk.sli.adaptors.aai.path.ipsec.configuration=/aai/v13/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id} +org.onap.ccsdk.sli.adaptors.aai.path.ipsec.configuration=/aai/v14/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id} # vig server -org.onap.ccsdk.sli.adaptors.aai.path.vig.server=/aai/v13/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}/vig-servers/vig-server/{vig-address-type} +org.onap.ccsdk.sli.adaptors.aai.path.vig.server=/aai/v14/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}/vig-servers/vig-server/{vig-address-type} # l3-network -org.onap.ccsdk.sli.adaptors.aai.path.l3.network=/aai/v13/network/l3-networks/l3-network/{network-id} +org.onap.ccsdk.sli.adaptors.aai.path.l3.network=/aai/v14/network/l3-networks/l3-network/{network-id} # subnet -org.onap.ccsdk.sli.adaptors.aai.path.subnet=/aai/v13/network/l3-networks/l3-network/{network-id}/subnets/subnet/{subnet-id} +org.onap.ccsdk.sli.adaptors.aai.path.subnet=/aai/v14/network/l3-networks/l3-network/{network-id}/subnets/subnet/{subnet-id} # multicast-configuration -org.onap.ccsdk.sli.adaptors.aai.path.multicast.configuration=/aai/v13/network/multicast-configurations/multicast-configuration/{multicast-configuration-id} +org.onap.ccsdk.sli.adaptors.aai.path.multicast.configuration=/aai/v14/network/multicast-configurations/multicast-configuration/{multicast-configuration-id} # org.onap.ccsdk.sli.adaptors.aai.path.l.interface.ipv4.address.list -org.onap.ccsdk.sli.adaptors.aai.path.l3-interface.ipv4.address.list=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +org.onap.ccsdk.sli.adaptors.aai.path.l3-interface.ipv4.address.list=/aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} # org.onap.ccsdk.sli.adaptors.aai.path.l.interface.vlan.ipv4.address.list -org.onap.ccsdk.sli.adaptors.aai.path.l3-interface.vlan.ipv4.address.list=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +org.onap.ccsdk.sli.adaptors.aai.path.l3-interface.vlan.ipv4.address.list=/aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} # org.onap.ccsdk.sli.adaptors.aai.path.l.interface.ipv6.address.list -org.onap.ccsdk.sli.adaptors.aai.path.l3-interface.ipv6.address.list=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +org.onap.ccsdk.sli.adaptors.aai.path.l3-interface.ipv6.address.list=/aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} # volume.group -org.onap.ccsdk.sli.adaptors.aai.path.volume.group=/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/volume-groups/volume-group/{volume-group-id} +org.onap.ccsdk.sli.adaptors.aai.path.volume.group=/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/volume-groups/volume-group/{volume-group-id} #cloud region -org.onap.ccsdk.sli.adaptors.aai.path.cloud.region=/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id} +org.onap.ccsdk.sli.adaptors.aai.path.cloud.region=/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id} # vf-module -org.onap.ccsdk.sli.adaptors.aai.path.vf.module=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id}/vf-modules/vf-module/{vf-module-id} +org.onap.ccsdk.sli.adaptors.aai.path.vf.module=/aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/vf-modules/vf-module/{vf-module-id} # l-interface through generic-vnf -org.onap.ccsdk.sli.adaptors.aai.path.generic.vnf.linterface=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name} +org.onap.ccsdk.sli.adaptors.aai.path.generic.vnf.linterface=/aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name} # network-policy -org.onap.ccsdk.sli.adaptors.aai.path.network.policy=/aai/v13/network/network-policies/network-policy/{network-policy-id} +org.onap.ccsdk.sli.adaptors.aai.path.network.policy=/aai/v14/network/network-policies/network-policy/{network-policy-id} # pnf -org.onap.ccsdk.sli.adaptors.aai.path.pnf=/aai/v13/network/pnfs/pnf/{pnf-name} +org.onap.ccsdk.sli.adaptors.aai.path.pnf=/aai/v14/network/pnfs/pnf/{pnf-name} # # Formatting diff --git a/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/appc.properties b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/appc.properties index 47c6788f9f..8553fcda02 100644 --- a/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/appc.properties +++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/appc.properties @@ -31,10 +31,10 @@ appc.demo.threads.queuesize.min=1 appc.demo.threads.queuesize.max=1000 appc.demo.threads.poolsize.min=1 appc.demo.threads.poolsize.max=2 -appc.demo.provider.user=admin +appc.demo.provider.user={{.Values.config.odlUser}} appc.demo.provider.pass={{.Values.config.odlPassword}} appc.demo.provider.url=http://localhost:8181/restconf/operations/appc-provider -appc.provider.vfodl.url=http://admin:{{.Values.config.odlPassword}}@{{.Values.service.name}}:{{.Values.service.externalPort}}/restconf/config/network-topology:network-topology/topology/topology-netconf/node/NODE_NAME/yang-ext:mount/sample-plugin:sample-plugin/pg-streams/ +appc.provider.vfodl.url=http://{{.Values.config.odlUser}}:{{.Values.config.odlPassword}}@{{.Values.service.name}}:{{.Values.service.externalPort}}/restconf/config/network-topology:network-topology/topology/topology-netconf/node/NODE_NAME/yang-ext:mount/sample-plugin:sample-plugin/pg-streams/ # The properties right below are needed to properly call the Master DG to serve demo purposes appc.service.logic.module.name=APPC @@ -79,7 +79,7 @@ appc.LCM.poolMembers=message-router.{{.Release.Namespace}}:3904 appc.LCM.topic.read=APPC-LCM-READ appc.LCM.topic.write=APPC-LCM-WRITE appc.LCM.client.name=APPC-EVENT-LISTENER-TEST -appc.LCM.provider.user=admin +appc.LCM.provider.user={{.Values.config.odlUser}} appc.LCM.provider.pass={{.Values.config.odlPassword}} appc.LCM.provider.url=http://localhost:8181/restconf/operations/appc-provider-lcm appc.LCM.scopeOverlap.endpoint=http://localhost:8181/restconf/operations/interfaces-service:execute-service @@ -87,7 +87,7 @@ appc.LCM.scopeOverlap.endpoint=http://localhost:8181/restconf/operations/interfa # properties from appc-netconf-adapter-bundle, appc-dg-common, appc-dmaap-adapter-bundle poolMembers=message-router.{{.Release.Namespace}}:3904 event.pool.members=message-router.{{.Release.Namespace}}:3904 -restconf.user=admin +restconf.user={{.Values.config.odlUser}} restconf.pass={{.Values.config.odlPassword}} @@ -126,5 +126,5 @@ appc.OAM.service=ueb appc.OAM.topic.read=testOAM appc.OAM.topic.write=testOAM appc.OAM.client.name=testOAM -appc.OAM.provider.user=admin +appc.OAM.provider.user={{.Values.config.odlUser}} appc.OAM.provider.pass={{.Values.config.odlPassword}} diff --git a/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/cadi.properties b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/cadi.properties new file mode 100644 index 0000000000..7ce85c388e --- /dev/null +++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/cadi.properties @@ -0,0 +1,57 @@ +### +# ============LICENSE_START======================================================= +# APPC +# ================================================================================ +# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# 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. +# ============LICENSE_END========================================================= +### +#hostname=localhost + +cadi_loglevel=INFO + +############################################################ +# Properties Generated by AT&T Certificate Manager +# @copyright 2016, AT&T +############################################################ +cadi_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US +cadi_keyfile=/opt/onap/appc/data/stores/org.onap.appc.keyfile +cadi_keystore=/opt/onap/appc/data/stores/org.onap.appc.p12 +cadi_keystore_password=enc:4DVUTKvRCCtebQrKskDsuKFIHLzOf2M9XxNOhVIK4xb +#cadi_key_password=enc: +cadi_alias=appc@appc.onap.org +cadi_truststore=/opt/onap/appc/data/stores/truststoreONAPall.jks +cadi_truststore_password=enc:O3Vtv5e77OQWJ_OiLC9Atj3ngyYfulRK519JYFmbKl7 + +## +## org.osaaf.location.props +## +## Localized Machine Information +## +# Almeda California ? +cadi_latitude=37.78187 +cadi_longitude=-122.26147 + +# Locate URL (which AAF Env) +aaf_locate_url=https://aaf-locate.{{.Release.Namespace}}:8095 + +# AAF URL +aaf_url=https://AAF_LOCATE_URL/AAF_NS.service:2.0 + +# AAF Environment Designation +aaf_env=DEV + +# OAuth2 Endpoints +aaf_oauth2_token_url=https://AAF_LOCATE_URL/AAF_NS.token:2.0/token +aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/AAF_NS.introspect:2.0/introspect diff --git a/kubernetes/appc/templates/NOTES.txt b/kubernetes/appc/templates/NOTES.txt index 89c84b7183..455b030b0a 100644 --- a/kubernetes/appc/templates/NOTES.txt +++ b/kubernetes/appc/templates/NOTES.txt @@ -27,7 +27,7 @@ export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/kubernetes/appc/templates/statefulset.yaml b/kubernetes/appc/templates/statefulset.yaml index 8ecda882de..6b0373fbc8 100644 --- a/kubernetes/appc/templates/statefulset.yaml +++ b/kubernetes/appc/templates/statefulset.yaml @@ -98,6 +98,9 @@ spec: - mountPath: /opt/onap/appc/data/properties/aaiclient.properties name: onap-appc-data-properties subPath: aaiclient.properties + - mountPath: /opt/onap/appc/data/properties/cadi.properties + name: onap-appc-data-properties + subPath: cadi.properties - mountPath: /opt/onap/appc/data/properties/aaa-app-config.xml name: onap-appc-data-properties subPath: aaa-app-config.xml diff --git a/kubernetes/appc/values.yaml b/kubernetes/appc/values.yaml index d6a2ddf03a..ad6070a7c3 100644 --- a/kubernetes/appc/values.yaml +++ b/kubernetes/appc/values.yaml @@ -31,7 +31,7 @@ global: flavor: small # application image repository: nexus3.onap.org:10001 -image: onap/appc-image:1.4.0-SNAPSHOT-latest +image: onap/appc-image:1.4.1-SNAPSHOT-latest pullPolicy: Always # flag to enable debugging - application support required @@ -39,8 +39,6 @@ debugEnabled: false # application configuration config: - aafExtIP: 127.0.0.1 - aafExtFQDN: aaf-onap-beijing-test.osaaf.org ansibleServiceName: appc-ansible-server ansiblePort: 8000 mariadbRootPassword: secretpassword @@ -49,13 +47,13 @@ config: mysqlDatabase: my-database mariadbGaleraSVCName: appc-dbhost mariadbGaleraContName: appc-db - enableAAF: false - enableClustering: true + enableAAF: true + enableClustering: false configDir: /opt/onap/appc/data/properties dmaapTopic: SUCCESS logstashServiceName: log-ls logstashPort: 5044 - odlPassword: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U + odlPassword: demo123456! openStackType: OpenStackProvider openStackName: OpenStack openStackKeyStoneUrl: http://localhost:8181/apidoc/explorer/index.html @@ -63,6 +61,7 @@ config: openStackDomain: default openStackUserName: admin openStackEncryptedPassword: admin + odlUser: appc@appc.onap.org appc-ansible-server: service: diff --git a/kubernetes/clamp/charts/clamp-dash-kibana/templates/deployment.yaml b/kubernetes/clamp/charts/clamp-dash-kibana/templates/deployment.yaml index 0f5a93347a..d29148fe71 100644 --- a/kubernetes/clamp/charts/clamp-dash-kibana/templates/deployment.yaml +++ b/kubernetes/clamp/charts/clamp-dash-kibana/templates/deployment.yaml @@ -48,7 +48,7 @@ spec: name: {{ include "common.name" . }}-readiness containers: - name: {{ include "common.name" . }} - image: "{{ .Values.global.imageRepository | default .Values.imageRepository }}/{{ .Values.image }}" + image: "{{ include "common.repository" . }}/{{ .Values.image }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} ports: - containerPort: {{ .Values.service.internalPort }} diff --git a/kubernetes/clamp/charts/clamp-dash-kibana/values.yaml b/kubernetes/clamp/charts/clamp-dash-kibana/values.yaml index 88c541a091..d1e85aab32 100644 --- a/kubernetes/clamp/charts/clamp-dash-kibana/values.yaml +++ b/kubernetes/clamp/charts/clamp-dash-kibana/values.yaml @@ -32,8 +32,8 @@ busyboxRepository: registry.hub.docker.com busyboxImage: library/busybox:latest # application image -loggingRepository: nexus3.onap.org:10001 -image: onap/clamp-dashboard-kibana:3.0-STAGING-latest +repository: nexus3.onap.org:10001 +image: onap/clamp-dashboard-kibana:3.0.1 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/clamp/charts/clamp-dash-logstash/templates/deployment.yaml b/kubernetes/clamp/charts/clamp-dash-logstash/templates/deployment.yaml index aff9a0de71..6c6331a9c2 100644 --- a/kubernetes/clamp/charts/clamp-dash-logstash/templates/deployment.yaml +++ b/kubernetes/clamp/charts/clamp-dash-logstash/templates/deployment.yaml @@ -48,7 +48,7 @@ spec: name: {{ include "common.name" . }}-readiness containers: - name: {{ include "common.name" . }} - image: "{{ .Values.global.imageRepository| default .Values.imageRepository }}/{{ .Values.image }}" + image: "{{ include "common.repository" . }}/{{ .Values.image }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} env: - name: dmaap_consumer_group diff --git a/kubernetes/clamp/charts/clamp-dash-logstash/values.yaml b/kubernetes/clamp/charts/clamp-dash-logstash/values.yaml index 52b66c6824..a05564a719 100644 --- a/kubernetes/clamp/charts/clamp-dash-logstash/values.yaml +++ b/kubernetes/clamp/charts/clamp-dash-logstash/values.yaml @@ -28,8 +28,8 @@ global: ################################################################# # application image -imageRepository: nexus3.onap.org:10001 -image: onap/clamp-dashboard-logstash:3.0-STAGING-latest +repository: nexus3.onap.org:10001 +image: onap/clamp-dashboard-logstash:3.0.1 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/clamp/charts/mariadb/NOTES.txt b/kubernetes/clamp/charts/mariadb/NOTES.txt index 0a4bd8ecff..1103affff1 100644 --- a/kubernetes/clamp/charts/mariadb/NOTES.txt +++ b/kubernetes/clamp/charts/mariadb/NOTES.txt @@ -26,7 +26,7 @@ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-create-db-objects.sql b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-create-db-objects.sql index 308ec7da62..8bb0214f6e 100644 --- a/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-create-db-objects.sql +++ b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-create-db-objects.sql @@ -129,6 +129,53 @@ CREATE TABLE clds_service_cache ( PRIMARY KEY (invariant_service_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; +CREATE TABLE IF NOT EXISTS tosca_model ( + tosca_model_id VARCHAR(36) NOT NULL, + tosca_model_name VARCHAR(80) NOT NULL, + policy_type VARCHAR(80) NULL, + user_id VARCHAR(80), + timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (tosca_model_id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +CREATE TABLE IF NOT EXISTS tosca_model_revision ( + tosca_model_revision_id VARCHAR(36) NOT NULL, + tosca_model_id VARCHAR(36) NOT NULL, + version DOUBLE NOT NULL DEFAULT 1, + tosca_model_yaml MEDIUMTEXT NULL, + tosca_model_json MEDIUMTEXT NULL, + user_id VARCHAR(80), + createdTimestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + lastUpdatedTimestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (tosca_model_revision_id), + CONSTRAINT tosca_model_revision_ukey UNIQUE KEY (tosca_model_id, version), + CONSTRAINT tosca_model_revision_fkey01 FOREIGN KEY (tosca_model_id) REFERENCES tosca_model (tosca_model_id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +CREATE TABLE IF NOT EXISTS dictionary ( + dictionary_id VARCHAR(36) NOT NULL, + dictionary_name VARCHAR(80) NOT NULL, + created_by VARCHAR(80), + modified_by VARCHAR(80), + timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (dictionary_id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +CREATE TABLE IF NOT EXISTS dictionary_elements ( + dict_element_id VARCHAR(36) NOT NULL, + dictionary_id VARCHAR(36) NOT NULL, + dict_element_name VARCHAR(250) NOT NULL, + dict_element_short_name VARCHAR(80) NOT NULL, + dict_element_description VARCHAR(250), + dict_element_type VARCHAR(80) NOT NULL, + created_by VARCHAR(80), + modified_by VARCHAR(80), + timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (dict_element_id), + CONSTRAINT dictionary_elements_ukey UNIQUE KEY (dict_element_name, dict_element_short_name), + CONSTRAINT dictionary_elements_ukey_fkey01 FOREIGN KEY (dictionary_id) REFERENCES dictionary (dictionary_id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + ALTER TABLE template ADD CONSTRAINT template_bpmn_id_fkey01 FOREIGN KEY (template_bpmn_id) diff --git a/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-stored-procedures.sql b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-stored-procedures.sql index fb131cc371..f35d9da573 100644 --- a/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-stored-procedures.sql +++ b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-stored-procedures.sql @@ -29,6 +29,11 @@ DROP PROCEDURE IF EXISTS get_model; DROP PROCEDURE IF EXISTS get_model_template; DROP PROCEDURE IF EXISTS set_template; DROP PROCEDURE IF EXISTS get_template; +DROP PROCEDURE IF EXISTS del_model; +DROP PROCEDURE IF EXISTS set_new_tosca_model_version; +DROP PROCEDURE IF EXISTS set_tosca_model; +DROP PROCEDURE IF EXISTS set_dictionary; +DROP PROCEDURE IF EXISTS set_dictionary_elements; DELIMITER // CREATE PROCEDURE get_template (IN v_template_name VARCHAR(80), @@ -459,6 +464,77 @@ BEGIN UPDATE event SET process_instance_id = v_process_instance_id WHERE event_id = v_event_id; -END +END; +CREATE PROCEDURE del_model +(IN v_model_name VARCHAR(80)) +BEGIN + DECLARE v_model_id VARCHAR(36); + SELECT model_id INTO v_model_id from model where model_name = v_model_name; + UPDATE model set event_id = null, model_blueprint_id = null, model_prop_id = null where model_id = v_model_id; + DELETE from event where model_id = v_model_id; + DELETE from model_blueprint where model_id = v_model_id; + DELETE from model_properties where model_id = v_model_id; + DELETE from model where model_id = v_model_id; +END; + +CREATE PROCEDURE set_new_tosca_model_version + (IN v_tosca_model_id VARCHAR(36), + IN v_version DOUBLE, + IN v_tosca_model_yaml MEDIUMTEXT, + IN v_tosca_model_json MEDIUMTEXT, + IN v_user_id VARCHAR(80), + OUT v_revision_id VARCHAR(36)) +BEGIN + SET v_revision_id = UUID(); + INSERT INTO tosca_model_revision + (tosca_model_revision_id, tosca_model_id, version, tosca_model_yaml, tosca_model_json, user_id) + VALUES (v_revision_id, v_tosca_model_id, v_version, v_tosca_model_yaml, v_tosca_model_json, v_user_id); +END; + +CREATE PROCEDURE set_tosca_model + (IN v_tosca_model_name VARCHAR(80), + IN v_policy_type VARCHAR(80), + IN v_user_id VARCHAR(80), + IN v_tosca_model_yaml MEDIUMTEXT, + IN v_tosca_model_json MEDIUMTEXT, + IN v_version DOUBLE, + OUT v_tosca_model_id VARCHAR(36), + OUT v_revision_id VARCHAR(36)) +BEGIN + SET v_tosca_model_id = UUID(); + INSERT INTO tosca_model + (tosca_model_id, tosca_model_name, policy_type, user_id) + VALUES (v_tosca_model_id, v_tosca_model_name, v_policy_type, v_user_id); + SET v_revision_id = UUID(); + INSERT INTO tosca_model_revision + (tosca_model_revision_id, tosca_model_id, version, tosca_model_yaml, tosca_model_json, user_id) + VALUES (v_revision_id, v_tosca_model_id, v_version, v_tosca_model_yaml, v_tosca_model_json, v_user_id); +END; + +CREATE PROCEDURE set_dictionary + (IN v_dictionary_name VARCHAR(80), + IN v_user_id VARCHAR(80), + OUT v_dictionary_id VARCHAR(36)) +BEGIN + SET v_dictionary_id = UUID(); + INSERT INTO dictionary + (dictionary_id, dictionary_name, created_by, modified_by) + VALUES (v_dictionary_id, v_dictionary_name, v_user_id, v_user_id); +END; + +CREATE PROCEDURE set_dictionary_elements + (IN v_dictionary_id VARCHAR(36), + IN v_dict_element_name VARCHAR(250), + IN v_dict_element_short_name VARCHAR(80), + IN v_dict_element_description VARCHAR(250), + IN v_dict_element_type VARCHAR(80), + IN v_user_id VARCHAR(80), + OUT v_dict_element_id VARCHAR(36)) +BEGIN + SET v_dict_element_id = UUID(); + INSERT INTO dictionary_elements + (dict_element_id, dictionary_id, dict_element_name, dict_element_short_name, dict_element_description, dict_element_type, created_by, modified_by) + VALUES (v_dict_element_id, v_dictionary_id, v_dict_element_name, v_dict_element_short_name, v_dict_element_description, v_dict_element_type, v_user_id, v_user_id); +END; // DELIMITER ; diff --git a/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/drop/clds-drop-db-objects.sql b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/drop/clds-drop-db-objects.sql index eec9d52160..0412373d01 100644 --- a/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/drop/clds-drop-db-objects.sql +++ b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/drop/clds-drop-db-objects.sql @@ -46,3 +46,9 @@ DROP TABLE template_doc; DROP TABLE template_image; DROP TABLE template_bpmn; DROP TABLE template; + +DROP TABLE dictionary_elements; +DROP TABLE dictionary; +DROP TABLE tosca_model_revision; +DROP TABLE tosca_model; + diff --git a/kubernetes/clamp/values.yaml b/kubernetes/clamp/values.yaml index 4dd47a046f..24462d8b03 100644 --- a/kubernetes/clamp/values.yaml +++ b/kubernetes/clamp/values.yaml @@ -28,7 +28,7 @@ subChartsOnly: # application image repository: nexus3.onap.org:10001 -image: onap/clamp:3.0-STAGING-latest +image: onap/clamp:3.0.1 pullPolicy: Always # flag to enable debugging - application support required @@ -53,12 +53,12 @@ config: "clamp.config.sdc.servicePassword": "b7acccda32b98c5bb7acccda32b98c5b05D511BD6D93626E90D18E9D24D9B78CD34C7EE8012F0A189A28763E82271E50A5D4EC10C7D93E06E0A2D27CAE66B981", "clamp.config.files.sdcController": "file:/opt/clamp/sdc-controllers-config.json", "clamp.config.dcae.inventory.url": "http://inventory.{{ include "common.namespace" . }}:8080", - "clamp.config.dcae.dispatcher.url": "http://deployment-handler.{{ include "common.namespace" . }}:8443", - "clamp.config.policy.pdpUrl1": "http://pdp.{{ include "common.namespace" . }}:8081/pdp/ , testpdp, alpha123", - "clamp.config.policy.pdpUrl2": "http://pdp.{{ include "common.namespace" . }}:8081/pdp/ , testpdp, alpha123", - "clamp.config.policy.papUrl": "http://pap.{{ include "common.namespace" . }}:9091/pap/ , testpap, alpha123", + "clamp.config.dcae.dispatcher.url": "https://deployment-handler.{{ include "common.namespace" . }}:8443", + "clamp.config.policy.pdpUrl1": "https://pdp.{{ include "common.namespace" . }}:8081/pdp/ , testpdp, alpha123", + "clamp.config.policy.pdpUrl2": "https://pdp.{{ include "common.namespace" . }}:8081/pdp/ , testpdp, alpha123", + "clamp.config.policy.papUrl": "https://pap.{{ include "common.namespace" . }}:9091/pap/ , testpap, alpha123", "clamp.config.policy.clientKey": "dGVzdA==", - "clamp.config.cadi.aafLocateUrl": "https://aaf-onap-test.osaaf.org:8095", + "clamp.config.cadi.aafLocateUrl": "https://aaf-locate.{{ include "common.namespace" . }}:8095", "com.att.eelf.logging.path": "/opt/clamp", "com.att.eelf.logging.file": "logback.xml" } @@ -93,9 +93,11 @@ service: name: clamp portName: clamp internalPort: 8080 + externalPort: 8080 nodePort: 95 portName2: clamp-ssl internalPort2: 8443 + externalPort2: 8443 # as of 20180904 port 58 is reserved for clamp from log/logdemonode # see https://wiki.onap.org/display/DW/OOM+NodePort+List nodePort2: 58 diff --git a/kubernetes/cli/templates/NOTES.txt b/kubernetes/cli/templates/NOTES.txt index 21018aea02..f3fe9c9d55 100644 --- a/kubernetes/cli/templates/NOTES.txt +++ b/kubernetes/cli/templates/NOTES.txt @@ -27,7 +27,7 @@ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/kubernetes/cli/values.yaml b/kubernetes/cli/values.yaml index 1c511a335b..b20fb77bce 100644 --- a/kubernetes/cli/values.yaml +++ b/kubernetes/cli/values.yaml @@ -24,7 +24,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/cli:2.0.2 +image: onap/cli:2.0.4 pullPolicy: Always flavor: small diff --git a/kubernetes/common/cassandra/Chart.yaml b/kubernetes/common/cassandra/Chart.yaml new file mode 100644 index 0000000000..98f8ce0fa0 --- /dev/null +++ b/kubernetes/common/cassandra/Chart.yaml @@ -0,0 +1,19 @@ +# 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. + + +apiVersion: v1 +description: ONAP cassandra +name: cassandra +version: 3.0.0 diff --git a/kubernetes/common/cassandra/requirements.yaml b/kubernetes/common/cassandra/requirements.yaml new file mode 100644 index 0000000000..542342f5d2 --- /dev/null +++ b/kubernetes/common/cassandra/requirements.yaml @@ -0,0 +1,19 @@ +# Copyright © 2018 Amdocs, Bell Canada +# Modifications Copyright © 2018 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. + +dependencies: + - name: common + version: ~3.0.0 + repository: '@local' diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/service.yaml b/kubernetes/common/cassandra/templates/service.yaml similarity index 97% rename from kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/service.yaml rename to kubernetes/common/cassandra/templates/service.yaml index 7ec7f07020..467a6a9d44 100644 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/service.yaml +++ b/kubernetes/common/cassandra/templates/service.yaml @@ -1,5 +1,4 @@ -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware +# 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. diff --git a/kubernetes/common/cassandra/templates/statefulset.yaml b/kubernetes/common/cassandra/templates/statefulset.yaml new file mode 100644 index 0000000000..960d97ed52 --- /dev/null +++ b/kubernetes/common/cassandra/templates/statefulset.yaml @@ -0,0 +1,149 @@ +# 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. + +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" . }} + replicas: {{ .Values.replicaCount }} + podManagementPolicy: {{ .Values.podManagementPolicy }} + updateStrategy: + type: {{ .Values.updateStrategy.type }} + template: + metadata: + labels: + app: {{ include "common.name" . }} + release: {{ .Release.Name }} + name: {{ include "common.name" . }} + spec: + containers: + - name: {{ include "common.name" . }} + image: {{ .Values.image }} + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + ports: + - containerPort: {{ .Values.service.internalPort }} + - containerPort: {{ .Values.service.internalPort2 }} + - containerPort: {{ .Values.service.internalPort3 }} + - containerPort: {{ .Values.service.internalPort4 }} + - containerPort: {{ .Values.service.internalPort5 }} + volumeMounts: + - name: {{ .Values.service.name }} + mountPath: /var/lib/cassandra + {{ if eq .Values.configmapping true }} + - name: {{ .Values.service.name }}-docker-entry-initd + mountPath: /{{ .Values.service.name }}-docker-entrypoint-initdb.d/cassandra.cql + subPath: cassandra.cql + {{ end }} + {{- if eq .Values.liveness.enabled true }} + livenessProbe: + exec: + command: + - /bin/bash + - -c + - nodetool status | grep $POD_IP | awk '$1!="UN" { exit 1; }' + initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }} + periodSeconds: {{ .Values.liveness.periodSeconds }} + {{ end -}} + readinessProbe: + exec: + command: + - /bin/bash + - -c + - nodetool status | grep $POD_IP | awk '$1!="UN" { exit 1; }' + initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} + timeoutSeconds: {{ .Values.liveness.periodSeconds }} + env: + {{- $seed_size := default 1 .Values.replicaCount | int -}} + {{- $global := . }} + - name: MAX_HEAP_SIZE + value: {{ .Values.config.heap.max }} + - name: HEAP_NEWSIZE + value: {{ .Values.config.heap.min }} + - name: JVM_OPTS + value: {{ .Values.config.jvmOpts | quote }} + - name: CASSANDRA_CLUSTER_NAME + value: {{ .Values.config.clusterName | quote }} + - name: CASSANDRA_DC + value: {{ .Values.config.dataCenter | quote }} + - name: CASSANDRA_RACK + value: {{ .Values.config.rackName | quote }} + - name: CASSANDRA_AUTO_BOOTSTRAP + value: {{ .Values.config.autoBootstrap | quote }} + - name: POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + {{ if eq .Values.configmapping true }} + lifecycle: + postStart: + exec: + command: + - /bin/sh + - -c + - > + /bin/sleep {{ .Values.readiness.initialDelaySeconds }}; + cd /{{ .Values.service.name }}-docker-entrypoint-initdb.d; + cqlsh -u root -p root -f cassandra.cql + {{ end }} + resources: +{{ toYaml .Values.resources | indent 10 }} + {{- if .Values.nodeSelector }} + nodeSelector: +{{ toYaml .Values.nodeSelector | indent 8 }} + {{- end -}} + {{- if .Values.affinity }} + affinity: +{{ toYaml .Values.affinity | indent 8 }} + {{- end }} + volumes: + - name: localtime + hostPath: + path: /etc/localtime + {{ if eq .Values.configmapping true }} + - name: {{ .Values.service.name }}-docker-entry-initd + configMap: + name: {{ .Values.service.name }}-docker-entry-initd + {{ end }} + {{- if not .Values.persistence.enabled }} + - name: {{ .Values.service.name }} + emptyDir: {} + {{- else }} + volumeClaimTemplates: + - metadata: + name: {{ .Values.service.name }} + labels: + app: {{ template "common.fullname" . }} + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" + annotations: + volume.beta.kubernetes.io/storage-class: {{ .Values.persistence.storageClass }} + spec: + accessModes: + - {{ .Values.persistence.accessMode | quote }} + resources: + requests: + storage: {{ .Values.persistence.size | quote }} + selector: + matchLabels: + release: "{{ .Release.Name }}" + {{- end }} diff --git a/kubernetes/common/cassandra/templates/volumes.yaml b/kubernetes/common/cassandra/templates/volumes.yaml new file mode 100644 index 0000000000..9640aef7e3 --- /dev/null +++ b/kubernetes/common/cassandra/templates/volumes.yaml @@ -0,0 +1,39 @@ +# 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. + +#{{ if .Values.persistence.enabled }} +{{- $root := . -}} +{{ range $i, $e := until (int $root.Values.replicaCount) }} +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: {{ $root.Release.Name }}-{{ $root.Values.service.name }}-{{ $i }} + namespace: {{ $root.Release.Namespace }} + labels: + type: {{ $root.Values.persistence.storageType }} + app: {{ $root.Values.service.name }} + chart: {{ $root.Chart.Name }}-{{ $root.Chart.Version | replace "+" "_" }} + release: {{ $root.Release.Name }} + heritage: {{ $root.Release.Service }} +spec: + capacity: + storage: {{ $root.Values.persistence.size }} + accessModes: + - {{ $root.Values.persistence.accessMode }} + hostPath: + path: {{ $root.Values.persistence.mountPath }}/{{ $root.Release.Name }}/{{ $root.Values.persistence.mountSubPath }}-{{ $i }} + persistentVolumeReclaimPolicy: {{ $root.Values.persistence.volumeReclaimPolicy }} +{{ end }} +#{{ end }} diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/values.yaml b/kubernetes/common/cassandra/values.yaml similarity index 56% rename from kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/values.yaml rename to kubernetes/common/cassandra/values.yaml index 38d2d18eb2..375d7ae8dd 100644 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/values.yaml +++ b/kubernetes/common/cassandra/values.yaml @@ -1,5 +1,4 @@ -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware +# 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. @@ -13,23 +12,39 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Default values for mariadb. +# Default values for cassandra. # This is a YAML-formatted file. # Declare variables to be passed into your templates. global: # global defaults nodePortPrefix: 302 - persistence: {} # application image repository: nexus3.onap.org:10001 -image: onap/music/cassandra_music:3.0.0 +image: library/cassandra:3.11 pullPolicy: Always +# flag to enable debugging - application support required +debugEnabled: false + +# configmapping detail whether it exist locally or not +# by default it is false, if you wanna configure it then mention +# locally TRUE value in local values.yaml. + +configmapping: false + # application configuration config: + heap: + max: 512M + min: 100M + jvmOpts: -Dcassandra.consistent.rangemovement=false + clusterName: cassandra + dataCenter: Pod + rackName: Rack + autoBootstrap: true cassandraUsername: root - cassandraPassword: Aa123456 + cassandraPassword: root # default number of instances replicaCount: 1 @@ -38,38 +53,40 @@ nodeSelector: {} affinity: {} -# Resource Limit flavor -By Default using small -flavor: small -# Segregation for Different environment (Small and Large) -resources: - small: - limits: - memory: 16Gi - cpu: 8000m - requests: - memory: 8Gi - cpu: 4000m - large: - limits: - memory: 32Gi - cpu: 16000m - requests: - memory: 16Gi - cpu: 8000m - unlimited: {} # probe configuration parameters liveness: - initialDelaySeconds: 10 + initialDelaySeconds: 60 periodSeconds: 10 # necessary to disable liveness probe when setting breakpoints # in debugger so K8s doesn't restart unresponsive container enabled: true readiness: - initialDelaySeconds: 10 + initialDelaySeconds: 60 periodSeconds: 10 -## Persist data to a persitent volume +service: + type: ClusterIP + name: cassandra + portName: cassandra + externalPort: 9160 + internalPort: 9160 + externalPort2: 7000 + internalPort2: 7000 + externalPort3: 7001 + internalPort3: 7001 + externalPort4: 7199 + internalPort4: 7199 + externalPort5: 9042 + internalPort5: 9042 + +podManagementPolicy: OrderedReady +updateStrategy: + type: OnDelete + +ingress: + enabled: false + persistence: enabled: true @@ -86,25 +103,30 @@ persistence: ## set, choosing the default provisioner. (gp2 on AWS, standard on ## GKE, AWS & OpenStack) ## - # storageClass: "-" - accessMode: ReadWriteMany + ## storageClass: "-" + accessMode: ReadWriteOnce size: 2Gi mountPath: /dockerdata-nfs - mountSubPath: oof/cassandra/data -service: - type: ClusterIP - name: oof-has-cassandra - portName: oof-has-cassandra - externalPort: 9160 - internalPort: 9160 - externalPort2: 7000 - internalPort2: 7000 - externalPort3: 7001 - internalPort3: 7001 - externalPort4: 7199 - internalPort4: 7199 - externalPort5: 9042 - internalPort5: 9042 + mountSubPath: cassandra + storageType: local + storageClass: "" -ingress: - enabled: false + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # + # Example: + # Configure resource requests and limits + # ref: http://kubernetes.io/docs/user-guide/compute-resources/ + # Minimum memory for development is 2 CPU cores and 4GB memory + # Minimum memory for production is 4 CPU cores and 8GB memory +#resources: +# limits: +# cpu: 2 +# memory: 4Gi +# requests: +# cpu: 2 +# memory: 4Gi diff --git a/kubernetes/common/common/templates/_repository.tpl b/kubernetes/common/common/templates/_repository.tpl index 364ba7dc4c..272db42125 100644 --- a/kubernetes/common/common/templates/_repository.tpl +++ b/kubernetes/common/common/templates/_repository.tpl @@ -41,6 +41,7 @@ */}} {{- define "common.repository.secret" -}} {{- $repo := include "common.repository" . }} + {{- $repo := default "nexus3.onap.org:10001" $repo }} {{- $cred := .Values.global.repositoryCred }} {{- $mail := default "@" $cred.mail }} {{- $auth := printf "%s:%s" $cred.user $cred.password | b64enc }} diff --git a/kubernetes/common/dgbuilder/templates/NOTES.txt b/kubernetes/common/dgbuilder/templates/NOTES.txt index a70ad108e1..27db4f3535 100644 --- a/kubernetes/common/dgbuilder/templates/NOTES.txt +++ b/kubernetes/common/dgbuilder/templates/NOTES.txt @@ -19,7 +19,7 @@ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/kubernetes/common/dgbuilder/values.yaml b/kubernetes/common/dgbuilder/values.yaml index da712831f6..7f14d90b95 100644 --- a/kubernetes/common/dgbuilder/values.yaml +++ b/kubernetes/common/dgbuilder/values.yaml @@ -47,7 +47,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/ccsdk-dgbuilder-image:0.3-STAGING-latest +image: onap/ccsdk-dgbuilder-image:0.3.1 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/common/mariadb-galera/templates/configmap.yaml b/kubernetes/common/mariadb-galera/templates/configmap.yaml index 54096cf5c0..4f99da1692 100644 --- a/kubernetes/common/mariadb-galera/templates/configmap.yaml +++ b/kubernetes/common/mariadb-galera/templates/configmap.yaml @@ -24,9 +24,9 @@ data: apiVersion: v1 kind: ConfigMap metadata: - name: {{ include "common.fullname" . }}-externalConfig + name: {{ include "common.fullname" . }}-external-config namespace: {{ include "common.namespace" . }} data: - my_extra.cnf: |- -{{ toYaml .Values.externalConfig | indent 4 }} + my_extra.cnf: | +{{ .Values.externalConfig | indent 4 }} {{- end -}} \ No newline at end of file diff --git a/kubernetes/common/mariadb-galera/templates/statefulset.yaml b/kubernetes/common/mariadb-galera/templates/statefulset.yaml index d3bad4f5b6..7ca207f7e9 100644 --- a/kubernetes/common/mariadb-galera/templates/statefulset.yaml +++ b/kubernetes/common/mariadb-galera/templates/statefulset.yaml @@ -40,7 +40,7 @@ spec: {{- if .Values.externalConfig }} - name: config configMap: - name: {{ include "common.fullname" . }}-externalConfig + name: {{ include "common.fullname" . }}-external-config {{- end}} - name: localtime hostPath: @@ -126,4 +126,7 @@ spec: resources: requests: storage: {{ .Values.persistence.size | quote }} + selector: + matchLabels: + name: {{ include "common.fullname" . }} {{- end }} diff --git a/kubernetes/common/mongo/templates/pvc.yaml b/kubernetes/common/mongo/templates/pvc.yaml index d1558f131f..372c106800 100644 --- a/kubernetes/common/mongo/templates/pvc.yaml +++ b/kubernetes/common/mongo/templates/pvc.yaml @@ -25,6 +25,7 @@ metadata: chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" release: "{{ .Release.Name }}" heritage: "{{ .Release.Service }}" + name: {{ include "common.fullname" . }} {{- if .Values.persistence.annotations }} annotations: {{ toYaml .Values.persistence.annotations | indent 4 }} @@ -35,5 +36,8 @@ spec: resources: requests: storage: {{ .Values.persistence.size }} + selector: + matchLabels: + name: {{ include "common.fullname" . }} storageClassName: "{{ include "common.fullname" . }}-data" {{- end -}} diff --git a/kubernetes/common/music/Chart.yaml b/kubernetes/common/music/Chart.yaml new file mode 100644 index 0000000000..680216389a --- /dev/null +++ b/kubernetes/common/music/Chart.yaml @@ -0,0 +1,18 @@ +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. +# +# 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 +description: MUSIC - Multi-site State Coordination Service +name: music +version: 3.0.0 diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/.helmignore b/kubernetes/common/music/charts/music-cassandra-job/.helmignore similarity index 100% rename from kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/.helmignore rename to kubernetes/common/music/charts/music-cassandra-job/.helmignore diff --git a/kubernetes/common/music/charts/music-cassandra-job/Chart.yaml b/kubernetes/common/music/charts/music-cassandra-job/Chart.yaml new file mode 100644 index 0000000000..fd421764fa --- /dev/null +++ b/kubernetes/common/music/charts/music-cassandra-job/Chart.yaml @@ -0,0 +1,19 @@ +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. +# +# 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 +description: Cassandra Job - Run CQL Scripts after Cassandra Starts. +name: music-cassandra-job +version: 3.0.0 + diff --git a/kubernetes/common/music/charts/music-cassandra-job/resources/LICENSE.txt b/kubernetes/common/music/charts/music-cassandra-job/resources/LICENSE.txt new file mode 100644 index 0000000000..7f60913d26 --- /dev/null +++ b/kubernetes/common/music/charts/music-cassandra-job/resources/LICENSE.txt @@ -0,0 +1,13 @@ +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. +# +# 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. \ No newline at end of file diff --git a/kubernetes/common/music/charts/music-cassandra-job/resources/cql/admin.cql b/kubernetes/common/music/charts/music-cassandra-job/resources/cql/admin.cql new file mode 100644 index 0000000000..a76d774bd3 --- /dev/null +++ b/kubernetes/common/music/charts/music-cassandra-job/resources/cql/admin.cql @@ -0,0 +1,19 @@ +CREATE KEYSPACE IF NOT EXISTS admin + WITH REPLICATION = { + 'class' : '{{.Values.cql.keyspace.replicationClass}}', + 'replication_factor': {{.Values.cql.keyspace.replicationFactor}} + } + AND DURABLE_WRITES = true; + +CREATE TABLE IF NOT EXISTS admin.keyspace_master ( + uuid uuid, + keyspace_name text, + application_name text, + is_api boolean, + password text, + username text, + is_aaf boolean, + PRIMARY KEY (uuid) +); + +describe keyspaces; diff --git a/kubernetes/common/music/charts/music-cassandra-job/resources/cql/admin_pw.cql b/kubernetes/common/music/charts/music-cassandra-job/resources/cql/admin_pw.cql new file mode 100644 index 0000000000..24f2ad77f7 --- /dev/null +++ b/kubernetes/common/music/charts/music-cassandra-job/resources/cql/admin_pw.cql @@ -0,0 +1,8 @@ +CREATE ROLE IF NOT EXISTS {{.Values.cql.adminUser.username}} +WITH PASSWORD = '{{.Values.cql.adminUser.password}}' +AND SUPERUSER = true +AND LOGIN = true; + +ALTER ROLE cassandra +WITH PASSWORD = '{{.Values.cql.adminUser.passwordReplace}}'; + diff --git a/kubernetes/common/music/charts/music-cassandra-job/resources/cql/extra/check.cql b/kubernetes/common/music/charts/music-cassandra-job/resources/cql/extra/check.cql new file mode 100644 index 0000000000..a516be857b --- /dev/null +++ b/kubernetes/common/music/charts/music-cassandra-job/resources/cql/extra/check.cql @@ -0,0 +1,23 @@ +CREATE KEYSPACE testks + WITH REPLICATION = { + 'class' : '{{.Values.cql.keyspace.replicationClass}}', + 'replication_factor': {{.Values.cql.keyspace.replicationFactor}} + } + AND DURABLE_WRITES = true; + +CREATE TABLE testks.keyspace_master_table ( + uuid uuid, + keyspace_name text, + application_name text, + is_api boolean, + password text, + username text, + is_aaf boolean, + PRIMARY KEY (uuid) +); + +DESCRIBE KEYSPACES; +DESCRIBE keyspace testks; +SELECT * FROM system_auth.roles; +DROP keyspace testks; + diff --git a/kubernetes/common/music/charts/music-cassandra-job/templates/configmap.yaml b/kubernetes/common/music/charts/music-cassandra-job/templates/configmap.yaml new file mode 100755 index 0000000000..011dccda25 --- /dev/null +++ b/kubernetes/common/music/charts/music-cassandra-job/templates/configmap.yaml @@ -0,0 +1,24 @@ +{{/* +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. +# +# 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: {{ include "common.fullname" . }}-cql + namespace: {{ include "common.namespace" . }} +data: +{{ tpl (.Files.Glob "resources/cql/*").AsConfig . | indent 2 }} + diff --git a/kubernetes/common/music/charts/music-cassandra-job/templates/configmap_extra.yaml b/kubernetes/common/music/charts/music-cassandra-job/templates/configmap_extra.yaml new file mode 100755 index 0000000000..72733b3088 --- /dev/null +++ b/kubernetes/common/music/charts/music-cassandra-job/templates/configmap_extra.yaml @@ -0,0 +1,24 @@ +{{/* +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. +# +# 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: {{ include "common.fullname" . }}-extra-cql + namespace: {{ include "common.namespace" . }} +data: +{{ tpl (.Files.Glob "resources/cql/extra/*").AsConfig . | indent 2 }} + diff --git a/kubernetes/common/music/charts/music-cassandra-job/templates/job.yaml b/kubernetes/common/music/charts/music-cassandra-job/templates/job.yaml new file mode 100644 index 0000000000..6ec282e44e --- /dev/null +++ b/kubernetes/common/music/charts/music-cassandra-job/templates/job.yaml @@ -0,0 +1,88 @@ +{{/* +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. +# +# 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: batch/v1 +kind: Job +metadata: + name: {{ include "common.fullname" . }}-config + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }}-job + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + template: + metadata: + labels: + app: {{ include "common.name" . }}-job + release: {{ .Release.Name }} + spec: + restartPolicy: Never + initContainers: + - name: {{ include "common.name" . }}-readiness + image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + command: + - /root/ready.py + args: + - --container-name + - music-cassandra + env: + - name: NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + containers: + - name: {{ include "common.name" . }}-update-job + image: "{{ .Values.global.repository }}/{{ .Values.job.cassandra.image }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + env: + - name: CASS_HOSTNAME + value: "{{ .Values.job.host }}" + - name: USERNAME + value: "{{ .Values.cql.adminUser.username }}" + - name: PORT + value: "{{ .Values.job.port }}" + - name: PASSWORD + value: "{{ .Values.cql.adminUser.password }}" + - name: TIMEOUT + value: "{{ .Values.job.timeout }}" + - name: DELAY + value: "{{ .Values.job.delay }}" + volumeMounts: + # Admin cql Files that setup Admin Keyspace and Change Admin user. + - name: {{ include "common.name" . }}-cql + mountPath: /cql/admin.cql + subPath: admin.cql + - name: {{ include "common.name" . }}-cql + mountPath: /cql/admin_pw.cql + subPath: admin_pw.cql + # This is where Apps or MISC will put any of their own startup cql scripts. + - name: {{ include "common.name" . }}-extra-cql + mountPath: /cql/extra + volumes: + - name: {{ include "common.name" . }}-cql + configMap: + name: {{ include "common.fullname" . }}-cql + - name: {{ include "common.name" . }}-extra-cql + configMap: + name: {{ include "common.fullname" . }}-extra-cql + restartPolicy: Never + imagePullSecrets: + - name: "{{ include "common.namespace" . }}-docker-registry-key" + diff --git a/kubernetes/common/music/charts/music-cassandra-job/values.yaml b/kubernetes/common/music/charts/music-cassandra-job/values.yaml new file mode 100644 index 0000000000..5d9b564abf --- /dev/null +++ b/kubernetes/common/music/charts/music-cassandra-job/values.yaml @@ -0,0 +1,70 @@ +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. +# +# 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. + +# Default values for cassandra. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. +global: + pullPolicy: Always + repository: nexus3.onap.org:10001 + + # readiness check + readinessRepository: oomk8s + readinessImage: readiness-check:2.0.0 + + # logging agent + loggingRepository: docker.elastic.co + loggingImage: beats/filebeat:5.5.0 + + replicaCount: 3 + +job: + host: music-cassandra + port: 9042 + busybox: + image: library/busybox:latest + cassandra: + image: onap/music/cassandra_job:3.0.23 + timeout: 30 + delay: 120 +cql: + keyspace: + replicationClass: "SimpleStrategy" + replicationFactor: 3 + adminUser: + username: nelson24 + password: nelson24 + passwordReplace: A2C4E6G8I0J2L4O6Q8S0U2W4Y6 + +podManagementPolicy: OrderedReady +updateStrategy: + type: OnDelete + +ingress: + enabled: false + +tolerations: [] + +affinity: {} + +persistence: + enabled: true + +resources: + limits: + cpu: 1 + memory: 1Gi + requests: + cpu: 1 + memory: 1Gi diff --git a/kubernetes/common/music/charts/music-cassandra/.helmignore b/kubernetes/common/music/charts/music-cassandra/.helmignore new file mode 100644 index 0000000000..f0c1319444 --- /dev/null +++ b/kubernetes/common/music/charts/music-cassandra/.helmignore @@ -0,0 +1,21 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj diff --git a/kubernetes/common/music/charts/music-cassandra/Chart.yaml b/kubernetes/common/music/charts/music-cassandra/Chart.yaml new file mode 100644 index 0000000000..7aae51ac98 --- /dev/null +++ b/kubernetes/common/music/charts/music-cassandra/Chart.yaml @@ -0,0 +1,19 @@ +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. +# +# 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 +description: ONAP - Cassandra Database +name: music-cassandra +version: 3.0.0 + diff --git a/kubernetes/common/music/charts/music-cassandra/requirements.yaml b/kubernetes/common/music/charts/music-cassandra/requirements.yaml new file mode 100644 index 0000000000..a22007c38a --- /dev/null +++ b/kubernetes/common/music/charts/music-cassandra/requirements.yaml @@ -0,0 +1,18 @@ +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. +# +# 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. + +dependencies: + - name: common + version: ~3.0.0 + repository: '@local' \ No newline at end of file diff --git a/kubernetes/common/music/charts/music-cassandra/templates/service.yaml b/kubernetes/common/music/charts/music-cassandra/templates/service.yaml new file mode 100644 index 0000000000..818c70e8f3 --- /dev/null +++ b/kubernetes/common/music/charts/music-cassandra/templates/service.yaml @@ -0,0 +1,54 @@ +{{/* +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. +# +# 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: + service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" +spec: + type: {{ .Values.service.type }} + # Not working, open k8s bug: https://github.com/kubernetes/kubernetes/issues/58662 + publishNotReadyAddresses: true + ports: + {{if eq .Values.service.type "NodePort" -}} + - port: {{ .Values.service.internalPort }} + nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }} + name: {{ .Values.service.portName }} + - port: {{ .Values.service.internalPort2 }} + nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }} + name: {{ .Values.service.portName3 }} + - port: {{ .Values.service.internalPort3 }} + nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }} + name: {{ .Values.service.portName3 }} + {{- else -}} + - port: {{ .Values.service.internalPort }} + name: {{ .Values.service.portName }} + - port: {{ .Values.service.internalPort2 }} + name: {{ .Values.service.portName2 }} + - port: {{ .Values.service.internalPort3 }} + name: {{ .Values.service.portName3 }} + {{- end}} + selector: + app: {{ include "common.name" . }} + release: {{ .Release.Name }} + clusterIP: None diff --git a/kubernetes/common/music/charts/music-cassandra/templates/statefulset.yaml b/kubernetes/common/music/charts/music-cassandra/templates/statefulset.yaml new file mode 100644 index 0000000000..009c40dbcc --- /dev/null +++ b/kubernetes/common/music/charts/music-cassandra/templates/statefulset.yaml @@ -0,0 +1,138 @@ +{{/* +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. +# +# 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: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 1 + podAffinityTerm: + labelSelector: + matchExpressions: + - key: app + operator: In + values: + - {{ .Chart.Name }} + topologyKey: kubernetes.io/hostname + serviceName: {{ include "common.servicename" . }} + replicas: {{ .Values.replicaCount }} + podManagementPolicy: {{ .Values.podManagementPolicy }} + updateStrategy: + type: {{ .Values.updateStrategy.type }} + template: + metadata: + labels: + app: {{ include "common.name" . }} + release: {{ .Release.Name }} + name: {{ include "common.name" . }} + spec: + containers: + - name: {{ include "common.name" . }} + image: "{{ .Values.global.repository }}/{{ .Values.image.image }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + ports: + - containerPort: {{ .Values.service.internalPort }} + - containerPort: {{ .Values.service.internalPort2 }} + - containerPort: {{ .Values.service.internalPort3 }} + {{- if eq .Values.liveness.enabled true }} + livenessProbe: + exec: + command: + - /bin/bash + - -c + - nodetool status | grep $POD_IP | awk '$1!="UN" { exit 1; }' + initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }} + periodSeconds: {{ .Values.liveness.periodSeconds }} + {{ end -}} + readinessProbe: + exec: + command: + - /bin/bash + - -c + - nodetool status | grep $POD_IP | awk '$1!="UN" { exit 1; }' + initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} + timeoutSeconds: {{ .Values.liveness.periodSeconds }} + lifecycle: + preStop: + exec: + command: ["/bin/sh", "-c", "PID=$(pidof java) && kill $PID && while ps -p $PID > /dev/null; do sleep 1; done"] + env: + {{- $seed_size := default 1 .Values.replicaCount | int -}} + {{- $global := . }} + - name: MAX_HEAP_SIZE + value: {{ .Values.config.heap.max }} + - name: HEAP_NEWSIZE + value: {{ .Values.config.heap.min }} + - name: CASSANDRA_SEEDS + value: "{{- range $i, $e := until $seed_size }}{{ template "common.fullname" $global }}-{{ $i }}.{{ include "common.servicename" $global }}{{- if (lt ( add 1 $i ) $seed_size ) }},{{- end }}{{- end }}" + - name: JVM_OPTS + value: {{ .Values.config.jvmOpts | quote }} + - name: CASSANDRA_CLUSTER_NAME + value: {{ .Values.config.clusterName | quote }} + - name: CASSANDRA_DC + value: {{ .Values.config.dataCenter | quote }} + - name: CASSANDRA_RACK + value: {{ .Values.config.rackName | quote }} + - name: CASSANDRA_AUTO_BOOTSTRAP + value: {{ .Values.config.autoBootstrap | quote }} + - name: POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + volumeMounts: + - name: {{ template "common.name" . }}-data + mountPath: /var/lib/cassandra + resources: +{{ toYaml .Values.resources | indent 10 }} + volumes: + - name: localtime + hostPath: + path: /etc/localtime + {{- if not .Values.persistence.enabled }} + - name: {{ template "common.name" . }}-data + emptyDir: {} + {{- else }} + volumeClaimTemplates: + - metadata: + name: {{ template "common.name" . }}-data + labels: + app: {{ template "common.fullname" . }} + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" + annotations: + volume.beta.kubernetes.io/storage-class: {{ .Values.persistence.storageClass }} + spec: + storageClassName: {{ .Values.persistence.storageClass }} + accessModes: + - {{ .Values.persistence.accessMode | quote }} + resources: + requests: + storage: {{ .Values.persistence.size | quote }} + selector: + matchLabels: + release: "{{ .Release.Name }}" + {{- end }} diff --git a/kubernetes/common/music/charts/music-cassandra/templates/volumes.yaml b/kubernetes/common/music/charts/music-cassandra/templates/volumes.yaml new file mode 100644 index 0000000000..83e7e189b5 --- /dev/null +++ b/kubernetes/common/music/charts/music-cassandra/templates/volumes.yaml @@ -0,0 +1,52 @@ +{{/* +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. +# +# 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 .Values.persistence.enabled }} +{{- $root := . -}} +{{ range $i, $e := until (atoi (quote $root.Values.replicaCount) | default 3) }} +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: {{ $root.Release.Name }}-{{ $root.Values.service.name }}-{{ $i }} + namespace: {{ $root.Release.Namespace }} + labels: + type: {{ $root.Values.persistence.storageType }} + app: {{ $root.Values.service.name }} + chart: {{ $root.Chart.Name }}-{{ $root.Chart.Version | replace "+" "_" }} + release: {{ $root.Release.Name }} + heritage: {{ $root.Release.Service }} +spec: + capacity: + storage: {{ $root.Values.persistence.size }} + accessModes: + - {{ $root.Values.persistence.accessMode }} + hostPath: + path: {{ $root.Values.persistence.mountPath }}/{{ $root.Release.Name }}/{{ $root.Values.persistence.mountSubPath }}-{{$i}} + persistentVolumeReclaimPolicy: {{ $root.Values.persistence.volumeReclaimPolicy }} + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 1 + podAffinityTerm: + labelSelector: + matchExpressions: + - key: app + operator: In + values: + - "{{ $root.Chart.Name }}" + topologyKey: kubernetes.io/hostname +{{ end }} +{{ end }} diff --git a/kubernetes/common/music/charts/music-cassandra/values.yaml b/kubernetes/common/music/charts/music-cassandra/values.yaml new file mode 100644 index 0000000000..2c75c58fa1 --- /dev/null +++ b/kubernetes/common/music/charts/music-cassandra/values.yaml @@ -0,0 +1,119 @@ +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. +# +# 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. + +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. +global: + nodePortPrefix: 302 + + pullPolicy: Always + repository: nexus3.onap.org:10001 + + # readiness check + readinessRepository: oomk8s + readinessImage: readiness-check:2.0.0 + + # logging agent + loggingRepository: docker.elastic.co + loggingImage: beats/filebeat:5.5.0 + +replicaCount: 3 + +# Cassandra Image - This image is modified from the original on +# Docker Hub where the Security has been turned on. +# When logging into DB the default username and password are 'cassandra' +# kubectl exec -it -n cqlsh -u cassandra -p cassandra +image: + image: onap/music/cassandra_3_11:3.0.23 + pullPolicy: Always + +# Cassandra ENV configuration +config: + heap: + max: 512M + min: 100M + jvmOpts: -Dcassandra.consistent.rangemovement=false + clusterName: music-cluster + dataCenter: onap-1 + rackName: Rack1 + autoBootstrap: true + ports: + cql: 9042 + thrift: 9160 + # If a JVM Agent is in place + # agent: 61621 + +service: + expose: true + type: ClusterIP + name: music-cassandra + internalPort: 9042 + portName: cql + internalPort2: 9160 + portName2: thrift + internalPort3: 61621 + portName3: agent + +# probe configuration parameters +liveness: + initialDelaySeconds: 120 + periodSeconds: 10 + # necessary to disable liveness probe when setting breakpoints + # in debugger so K8s doesn't restart unresponsive container + enabled: true + +readiness: + initialDelaySeconds: 10 + periodSeconds: 10 + +podManagementPolicy: OrderedReady +updateStrategy: + type: OnDelete + +ingress: + enabled: false + +tolerations: [] + +persistence: + enabled: true + + ## A manually managed Persistent Volume and Claim + ## Requires persistence.enabled: true + ## If defined, PVC must be created manually before volume will be bound + # existingClaim: + volumeReclaimPolicy: Retain + + ## database data Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + ## + ## storageClass: "-" + accessMode: ReadWriteOnce + size: 2Gi + mountPath: /dockerdata-nfs/ + mountSubPath: common/cassandra/data + storageType: local + storageClass: "" + +resources: + limits: + cpu: 4 + memory: 8Gi + requests: + cpu: 2 + memory: 4Gi diff --git a/kubernetes/common/music/charts/music-tomcat/Chart.yaml b/kubernetes/common/music/charts/music-tomcat/Chart.yaml new file mode 100755 index 0000000000..d0fdc6088c --- /dev/null +++ b/kubernetes/common/music/charts/music-tomcat/Chart.yaml @@ -0,0 +1,18 @@ +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. +# +# 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 +description: ONAP - MUSIC Tomcat Container +name: music-tomcat +version: 3.0.0 diff --git a/kubernetes/common/music/charts/music-tomcat/requirements.yaml b/kubernetes/common/music/charts/music-tomcat/requirements.yaml new file mode 100755 index 0000000000..28352e407c --- /dev/null +++ b/kubernetes/common/music/charts/music-tomcat/requirements.yaml @@ -0,0 +1,19 @@ +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. +# +# 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. + + +dependencies: + - name: common + version: ~3.0.0 + repository: '@local' \ No newline at end of file diff --git a/kubernetes/common/music/charts/music-tomcat/resources/config/music.properties b/kubernetes/common/music/charts/music-tomcat/resources/config/music.properties new file mode 100755 index 0000000000..b977ca58ee --- /dev/null +++ b/kubernetes/common/music/charts/music-tomcat/resources/config/music.properties @@ -0,0 +1,32 @@ +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. +# +# 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. + +my.public.ip=localhost +all.public.ips=localhost +my.id=0 +all.ids=0 +### Host Info ### +zookeeper.host={{.Values.properties.zookeeperHost}} +cassandra.host={{.Values.properties.cassandraHost}} +### User Info ### +cassandra.user={{.Values.properties.cassandraUser}} +cassandra.password={{.Values.properties.cassandraPassword}} +### AAF Endpoint ### +aaf.endpoint.url={{.Values.properties.aafEndpointUrl}} +### Admin API ### +# AAF UAT +aaf.admin.url={{.Values.properties.aafAdminUrl}} +# AAF PROD +admin.aaf.role={{.Values.properties.adminAafRole}} +music.namespace={{.Values.properties.musicNamespace}} diff --git a/kubernetes/common/music/charts/music-tomcat/templates/configmap.yaml b/kubernetes/common/music/charts/music-tomcat/templates/configmap.yaml new file mode 100755 index 0000000000..15859345e8 --- /dev/null +++ b/kubernetes/common/music/charts/music-tomcat/templates/configmap.yaml @@ -0,0 +1,23 @@ +{{/* +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. +# +# 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: {{ include "common.fullname" . }}-configmap + namespace: {{ include "common.namespace" . }} +data: +{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }} diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/deployment.yaml b/kubernetes/common/music/charts/music-tomcat/templates/deployment.yaml old mode 100644 new mode 100755 similarity index 62% rename from kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/deployment.yaml rename to kubernetes/common/music/charts/music-tomcat/templates/deployment.yaml index 9dc160f2fa..1fec55caca --- a/kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/deployment.yaml +++ b/kubernetes/common/music/charts/music-tomcat/templates/deployment.yaml @@ -1,5 +1,5 @@ -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware +{{/* +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,6 +12,7 @@ # 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: extensions/v1beta1 kind: Deployment @@ -32,22 +33,48 @@ spec: release: {{ .Release.Name }} spec: initContainers: + - name: {{ include "common.name" . }}-zookeeper-readiness + image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + command: + - /root/ready.py + args: + - --container-name + - zookeeper + env: + - name: NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + - name: {{ include "common.name" . }}-cassandra-readiness + image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + command: + - /root/job_complete.py + args: + - -j + - "{{ .Release.Name }}-music-cassandra-job-config" + env: + - name: NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace # War Container - - name: "{{ include "common.name" . }}-war" - image: "{{ include "common.repository" . }}/{{ .Values.warImage }}" #" - command: ["cp","/app/MUSIC.war","/webapps"] - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - ports: - volumeMounts: - - mountPath: /webapps - name: shared-data + - name: "{{ .Chart.Name }}-war" + image: "{{ .Values.repository }}/{{ .Values.warImage }}" + command: ["cp","/app/MUSIC.war","/webapps"] + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + ports: + volumeMounts: + - mountPath: /webapps + name: shared-data containers: # Tomcat Container - - name: {{ include "common.name" . }} - image: "{{ include "common.repository" . }}/{{ .Values.image }}" #" + - name: "{{ include "common.name" . }}" + image: "{{ .Values.repository }}/{{ .Values.image }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - resources: -{{ include "common.resources" . | indent 12 }} ports: - containerPort: {{ .Values.service.internalPort }} # disable liveness probe when breakpoints set in debugger @@ -73,9 +100,8 @@ spec: - name: properties-music mountPath: /opt/app/music/etc/music.properties subPath: music.properties - - name: properties-music - mountPath: /opt/app/music/startup.sh - subPath: startup.sh + resources: +{{ toYaml .Values.resources | indent 10 }} volumes: - name: shared-data emptyDir: {} diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/templates/service.yaml b/kubernetes/common/music/charts/music-tomcat/templates/service.yaml old mode 100644 new mode 100755 similarity index 78% rename from kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/templates/service.yaml rename to kubernetes/common/music/charts/music-tomcat/templates/service.yaml index f2eed43608..f6a086cc99 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/templates/service.yaml +++ b/kubernetes/common/music/charts/music-tomcat/templates/service.yaml @@ -1,5 +1,5 @@ -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware +{{/* +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,6 +12,7 @@ # 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 @@ -23,17 +24,19 @@ metadata: chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} + annotations: spec: type: {{ .Values.service.type }} ports: {{if eq .Values.service.type "NodePort" -}} - - port: {{ .Values.service.internalPort }} - nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.externalPort }} + - port: {{ .Values.service.externalPort }} + nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.nodePort }} + name: {{ .Values.service.portName }} {{- else -}} - port: {{ .Values.service.externalPort }} targetPort: {{ .Values.service.internalPort }} - {{- end}} name: {{ .Values.service.portName }} + {{- end}} selector: app: {{ include "common.name" . }} release: {{ .Release.Name }} diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-music/values.yaml b/kubernetes/common/music/charts/music-tomcat/values.yaml old mode 100644 new mode 100755 similarity index 75% rename from kubernetes/oof/charts/oof-has/charts/oof-has-music/values.yaml rename to kubernetes/common/music/charts/music-tomcat/values.yaml index f848162ce6..5527800e41 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-music/values.yaml +++ b/kubernetes/common/music/charts/music-tomcat/values.yaml @@ -1,5 +1,4 @@ -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,14 +12,20 @@ # See the License for the specific language governing permissions and # limitations under the License. + ################################################################# # Global configuration defaults. ################################################################# global: nodePortPrefix: 302 + nodePortPrefixExt: 304 repository: nexus3.onap.org:10001 + + # readiness check readinessRepository: oomk8s readinessImage: readiness-check:2.0.0 + + # logging agent loggingRepository: docker.elastic.co loggingImage: beats/filebeat:5.5.0 @@ -31,7 +36,7 @@ global: repository: nexus3.onap.org:10001 image: library/tomcat:8.5 pullPolicy: Always -warImage: onap/music/music:2.5.3 +warImage: onap/music/music:3.0.23 # flag to enable debugging - application support required debugEnabled: false @@ -42,31 +47,18 @@ config: passwordCassandra: cassandra1 # default number of instances -replicaCount: 1 +replicaCount: 3 + +job: + host: cassandra + port: 9042 + busybox: + image: library/busybox:latest nodeSelector: {} affinity: {} -# Resource Limit flavor -By Default using small -flavor: small -# Segregation for Different environment (Small and Large) -resources: - small: - limits: - memory: 4Gi - cpu: 2000m - requests: - memory: 1Gi - cpu: 500m - large: - limits: - memory: 8Gi - cpu: 4000m - requests: - memory: 2Gi - cpu: 1000m - unlimited: {} # probe configuration parameters liveness: initialDelaySeconds: 10 @@ -81,10 +73,31 @@ readiness: service: type: NodePort - name: oof-has-music + name: music-tomcat externalPort: 8080 internalPort: 8080 nodePort: 76 - portName: oof-has-music + portName: tomcat ingress: enabled: false + +#resources: {} +resources: + limits: + cpu: 2 + memory: 2Gi + requests: + cpu: 2 + memory: 1Gi + + +properties: + zookeeperHost: zookeeper + cassandraHost: music-cassandra + cassandraUser: nelson24 + cassandraPassword: nelson24 + + # Admin API + # ONAP AAF + aafAdminUrl: + diff --git a/kubernetes/common/music/charts/zookeeper/.helmignore b/kubernetes/common/music/charts/zookeeper/.helmignore new file mode 100644 index 0000000000..f0c1319444 --- /dev/null +++ b/kubernetes/common/music/charts/zookeeper/.helmignore @@ -0,0 +1,21 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj diff --git a/kubernetes/common/music/charts/zookeeper/Chart.yaml b/kubernetes/common/music/charts/zookeeper/Chart.yaml new file mode 100644 index 0000000000..01e81736f6 --- /dev/null +++ b/kubernetes/common/music/charts/zookeeper/Chart.yaml @@ -0,0 +1,15 @@ +name: zookeeper +home: https://zookeeper.apache.org/ +version: 1.0.2 +appVersion: 3.4.10 +description: Centralized service for maintaining configuration information, naming, + providing distributed synchronization, and providing group services. +icon: https://zookeeper.apache.org/images/zookeeper_small.gif +sources: +- https://github.com/apache/zookeeper +- https://github.com/kubernetes/contrib/tree/master/statefulsets/zookeeper +maintainers: +- name: lachie83 + email: lachlan.evenson@microsoft.com +- name: kow3ns + email: owensk@google.com diff --git a/kubernetes/common/music/charts/zookeeper/OWNERS b/kubernetes/common/music/charts/zookeeper/OWNERS new file mode 100644 index 0000000000..dd9facde2a --- /dev/null +++ b/kubernetes/common/music/charts/zookeeper/OWNERS @@ -0,0 +1,6 @@ +approvers: +- lachie83 +- kow3ns +reviewers: +- lachie83 +- kow3ns diff --git a/kubernetes/common/music/charts/zookeeper/README.md b/kubernetes/common/music/charts/zookeeper/README.md new file mode 100644 index 0000000000..22bbac49dc --- /dev/null +++ b/kubernetes/common/music/charts/zookeeper/README.md @@ -0,0 +1,140 @@ +# incubator/zookeeper + +This helm chart provides an implementation of the ZooKeeper [StatefulSet](http://kubernetes.io/docs/concepts/abstractions/controllers/statefulsets/) found in Kubernetes Contrib [Zookeeper StatefulSet](https://github.com/kubernetes/contrib/tree/master/statefulsets/zookeeper). + +## Prerequisites +* Kubernetes 1.6+ +* PersistentVolume support on the underlying infrastructure +* A dynamic provisioner for the PersistentVolumes +* A familiarity with [Apache ZooKeeper 3.4.x](https://zookeeper.apache.org/doc/current/) + +## Chart Components +This chart will do the following: + +* Create a fixed size ZooKeeper ensemble using a [StatefulSet](http://kubernetes.io/docs/concepts/abstractions/controllers/statefulsets/). +* Create a [PodDisruptionBudget](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-disruption-budget/) so kubectl drain will respect the Quorum size of the ensemble. +* Create a [Headless Service](https://kubernetes.io/docs/concepts/services-networking/service/) to control the domain of the ZooKeeper ensemble. +* Create a Service configured to connect to the available ZooKeeper instance on the configured client port. +* Optionally apply a [Pod Anti-Affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#inter-pod-affinity-and-anti-affinity-beta-feature) to spread the ZooKeeper ensemble across nodes. +* Optionally start JMX Exporter and Zookeeper Exporter containers inside Zookeeper pods. +* Optionally create a job which creates Zookeeper chroots (e.g. `/kafka1`). + +## Installing the Chart +You can install the chart with the release name `zookeeper` as below. + +```console +$ helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator +$ helm install --name zookeeper incubator/zookeeper +``` + +If you do not specify a name, helm will select a name for you. + +### Installed Components +You can use `kubectl get` to view all of the installed components. + +```console{%raw} +$ kubectl get all -l app=zookeeper +NAME: zookeeper +LAST DEPLOYED: Wed Apr 11 17:09:48 2018 +NAMESPACE: default +STATUS: DEPLOYED + +RESOURCES: +==> v1beta1/PodDisruptionBudget +NAME MIN AVAILABLE MAX UNAVAILABLE ALLOWED DISRUPTIONS AGE +zookeeper N/A 1 1 2m + +==> v1/Service +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +zookeeper-headless ClusterIP None 2181/TCP,3888/TCP,2888/TCP 2m +zookeeper ClusterIP 10.98.179.165 2181/TCP 2m + +==> v1beta1/StatefulSet +NAME DESIRED CURRENT AGE +zookeeper 3 3 2m +``` + +1. `statefulsets/zookeeper` is the StatefulSet created by the chart. +1. `po/zookeeper-<0|1|2>` are the Pods created by the StatefulSet. Each Pod has a single container running a ZooKeeper server. +1. `svc/zookeeper-headless` is the Headless Service used to control the network domain of the ZooKeeper ensemble. +1. `svc/zookeeper` is a Service that can be used by clients to connect to an available ZooKeeper server. + +## Configuration +You can specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. + +Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example, + +```console +$ helm install --name my-release -f values.yaml incubator/zookeeper +``` + +## Default Values + +- You can find all user-configurable settings, their defaults and commentary about them in [values.yaml](values.yaml). + +## Deep Dive + +## Image Details +The image used for this chart is based on Ubuntu 16.04 LTS. This image is larger than Alpine or BusyBox, but it provides glibc, rather than ulibc or mucl, and a JVM release that is built against it. You can easily convert this chart to run against a smaller image with a JVM that is built against that image's libc. However, as far as we know, no Hadoop vendor supports, or has verified, ZooKeeper running on such a JVM. + +## JVM Details +The Java Virtual Machine used for this chart is the OpenJDK JVM 8u111 JRE (headless). + +## ZooKeeper Details +The ZooKeeper version is the latest stable version (3.4.10). The distribution is installed into /opt/zookeeper-3.4.10. This directory is symbolically linked to /opt/zookeeper. Symlinks are created to simulate a rpm installation into /usr. + +## Failover +You can test failover by killing the leader. Insert a key: +```console +$ kubectl exec zookeeper-0 -- /opt/zookeeper/bin/zkCli.sh create /foo bar; +$ kubectl exec zookeeper-2 -- /opt/zookeeper/bin/zkCli.sh get /foo; +``` + +Watch existing members: +```console +$ kubectl run --attach bbox --image=busybox --restart=Never -- sh -c 'while true; do for i in 0 1 2; do echo zk-${i} $(echo stats | nc -${i}.:2181 | grep Mode); sleep 1; done; done'; + +zk-2 Mode: follower +zk-0 Mode: follower +zk-1 Mode: leader +zk-2 Mode: follower +``` + +Delete Pods and wait for the StatefulSet controller to bring them back up: +```console +$ kubectl delete po -l app=zookeeper +$ kubectl get po --watch-only +NAME READY STATUS RESTARTS AGE +zookeeper-0 0/1 Running 0 35s +zookeeper-0 1/1 Running 0 50s +zookeeper-1 0/1 Pending 0 0s +zookeeper-1 0/1 Pending 0 0s +zookeeper-1 0/1 ContainerCreating 0 0s +zookeeper-1 0/1 Running 0 19s +zookeeper-1 1/1 Running 0 40s +zookeeper-2 0/1 Pending 0 0s +zookeeper-2 0/1 Pending 0 0s +zookeeper-2 0/1 ContainerCreating 0 0s +zookeeper-2 0/1 Running 0 19s +zookeeper-2 1/1 Running 0 41s +``` + +Check the previously inserted key: +```console +$ kubectl exec zookeeper-1 -- /opt/zookeeper/bin/zkCli.sh get /foo +ionid = 0x354887858e80035, negotiated timeout = 30000 + +WATCHER:: + +WatchedEvent state:SyncConnected type:None path:null +bar +``` + +## Scaling +ZooKeeper can not be safely scaled in versions prior to 3.5.x. This chart currently uses 3.4.x. There are manual procedures for scaling a 3.4.x ensemble, but as noted in the [ZooKeeper 3.5.2 documentation](https://zookeeper.apache.org/doc/r3.5.2-alpha/zookeeperReconfig.html) these procedures require a rolling restart, are known to be error prone, and often result in a data loss. + +While ZooKeeper 3.5.x does allow for dynamic ensemble reconfiguration (including scaling membership), the current status of the release is still alpha, and 3.5.x is therefore not recommended for production use. + +## Limitations +* StatefulSet and PodDisruptionBudget are beta resources. +* Only supports storage options that have backends for persistent volume claims. diff --git a/kubernetes/common/music/charts/zookeeper/templates/NOTES.txt b/kubernetes/common/music/charts/zookeeper/templates/NOTES.txt new file mode 100644 index 0000000000..4f7a27bd99 --- /dev/null +++ b/kubernetes/common/music/charts/zookeeper/templates/NOTES.txt @@ -0,0 +1,7 @@ +Thank you for installing ZooKeeper on your Kubernetes cluster. More information +about ZooKeeper can be found at https://zookeeper.apache.org/doc/current/ + +Your connection string should look like: + {{ template "common.fullname" . }}-0.{{ template "common.fullname" . }}-headless:{{ .Values.service.ports.client.port }},{{ template "common.fullname" . }}-1.{{ template "common.fullname" . }}-headless:{{ .Values.service.ports.client.port }},... + +You can also use the client service {{ template "common.fullname" . }}:{{ .Values.service.ports.client.port }} to connect to an available ZooKeeper server. diff --git a/kubernetes/common/music/charts/zookeeper/templates/_helpers.tpl b/kubernetes/common/music/charts/zookeeper/templates/_helpers.tpl new file mode 100644 index 0000000000..1ef5353fa1 --- /dev/null +++ b/kubernetes/common/music/charts/zookeeper/templates/_helpers.tpl @@ -0,0 +1,32 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "common.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "common.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "zookeeper.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} diff --git a/kubernetes/common/music/charts/zookeeper/templates/config-jmx-exporter.yaml b/kubernetes/common/music/charts/zookeeper/templates/config-jmx-exporter.yaml new file mode 100644 index 0000000000..aeb9a2c031 --- /dev/null +++ b/kubernetes/common/music/charts/zookeeper/templates/config-jmx-exporter.yaml @@ -0,0 +1,19 @@ +{{- if .Values.exporters.jmx.enabled }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-jmx-exporter + labels: + app: {{ template "common.name" . }} + chart: {{ .Chart.Name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +data: + config.yml: |- + hostPort: 127.0.0.1:{{ .Values.env.JMXPORT }} + lowercaseOutputName: {{ .Values.exporters.jmx.config.lowercaseOutputName }} + rules: +{{ .Values.exporters.jmx.config.rules | toYaml | indent 6 }} + ssl: false + startDelaySeconds: {{ .Values.exporters.jmx.config.startDelaySeconds }} +{{- end }} diff --git a/kubernetes/common/music/charts/zookeeper/templates/job-chroots.yaml b/kubernetes/common/music/charts/zookeeper/templates/job-chroots.yaml new file mode 100644 index 0000000000..38592ddeac --- /dev/null +++ b/kubernetes/common/music/charts/zookeeper/templates/job-chroots.yaml @@ -0,0 +1,62 @@ +{{- if .Values.jobs.chroots.enabled }} +{{- $root := . }} +{{- $job := .Values.jobs.chroots }} +apiVersion: batch/v1 +kind: Job +metadata: + name: {{ template "common.fullname" . }}-chroots + annotations: + "helm.sh/hook": post-install,post-upgrade + "helm.sh/hook-weight": "-5" + "helm.sh/hook-delete-policy": hook-succeeded + labels: + app: {{ template "common.name" . }} + chart: {{ .Chart.Name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} + component: jobs + job: chroots +spec: + activeDeadlineSeconds: {{ $job.activeDeadlineSeconds }} + backoffLimit: {{ $job.backoffLimit }} + completions: {{ $job.completions }} + parallelism: {{ $job.parallelism }} + template: + metadata: + labels: + app: {{ template "common.name" . }} + release: {{ .Release.Name }} + component: jobs + job: chroots + spec: + restartPolicy: {{ $job.restartPolicy }} + containers: + - name: main + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + command: + - /bin/bash + - -o + - pipefail + - -euc + {{- $port := .Values.service.ports.client.port }} + - > + sleep 15; + export SERVER={{ template "common.fullname" $root }}:{{ $port }}; + {{- range $job.config.create }} + echo '==> {{ . }}'; + echo '====> Create chroot if does not exist.'; + zkCli.sh -server {{ template "common.fullname" $root }}:{{ $port }} get {{ . }} 2>&1 >/dev/null | grep 'cZxid' + || zkCli.sh -server {{ template "common.fullname" $root }}:{{ $port }} create {{ . }} ""; + echo '====> Confirm chroot exists.'; + zkCli.sh -server {{ template "common.fullname" $root }}:{{ $port }} get {{ . }} 2>&1 >/dev/null | grep 'cZxid'; + echo '====> Chroot exists.'; + {{- end }} + env: + {{- range $key, $value := $job.env }} + - name: {{ $key | upper | replace "." "_" }} + value: {{ $value | quote }} + {{- end }} + resources: +{{ toYaml $job.resources | indent 12 }} +{{- end -}} diff --git a/kubernetes/common/music/charts/zookeeper/templates/poddisruptionbudget.yaml b/kubernetes/common/music/charts/zookeeper/templates/poddisruptionbudget.yaml new file mode 100644 index 0000000000..7a9f3fe105 --- /dev/null +++ b/kubernetes/common/music/charts/zookeeper/templates/poddisruptionbudget.yaml @@ -0,0 +1,17 @@ +apiVersion: policy/v1beta1 +kind: PodDisruptionBudget +metadata: + name: {{ template "common.fullname" . }} + labels: + app: {{ template "common.name" . }} + chart: {{ .Chart.Name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} + component: server +spec: + selector: + matchLabels: + app: {{ template "common.name" . }} + release: {{ .Release.Name }} + component: server +{{ toYaml .Values.podDisruptionBudget | indent 2 }} diff --git a/kubernetes/common/music/charts/zookeeper/templates/service-headless.yaml b/kubernetes/common/music/charts/zookeeper/templates/service-headless.yaml new file mode 100644 index 0000000000..70ebf6013e --- /dev/null +++ b/kubernetes/common/music/charts/zookeeper/templates/service-headless.yaml @@ -0,0 +1,21 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ template "common.fullname" . }}-headless + labels: + app: {{ template "common.name" . }} + chart: {{ .Chart.Name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + clusterIP: None + ports: +{{- range $key, $port := .Values.ports }} + - name: {{ $key }} + port: {{ $port.containerPort }} + targetPort: {{ $port.name }} + protocol: {{ $port.protocol }} +{{- end }} + selector: + app: {{ template "common.name" . }} + release: {{ .Release.Name }} diff --git a/kubernetes/common/music/charts/zookeeper/templates/service.yaml b/kubernetes/common/music/charts/zookeeper/templates/service.yaml new file mode 100644 index 0000000000..6ac3066ecf --- /dev/null +++ b/kubernetes/common/music/charts/zookeeper/templates/service.yaml @@ -0,0 +1,23 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Values.service.name }} + labels: + app: {{ template "common.name" . }} + chart: {{ .Chart.Name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} + annotations: +{{- with .Values.service.annotations }} +{{ toYaml . | indent 4 }} +{{- end }} +spec: + type: {{ .Values.service.type }} + ports: + {{- range $key, $value := .Values.service.ports }} + - name: {{ $key }} +{{ toYaml $value | indent 6 }} + {{- end }} + selector: + app: {{ template "common.name" . }} + release: {{ .Release.Name }} diff --git a/kubernetes/common/music/charts/zookeeper/templates/statefulset.yaml b/kubernetes/common/music/charts/zookeeper/templates/statefulset.yaml new file mode 100644 index 0000000000..135b59e2b6 --- /dev/null +++ b/kubernetes/common/music/charts/zookeeper/templates/statefulset.yaml @@ -0,0 +1,191 @@ +apiVersion: apps/v1beta1 +kind: StatefulSet +metadata: + name: {{ template "common.fullname" . }} + labels: + app: {{ template "common.name" . }} + chart: {{ .Chart.Name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} + component: server +spec: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 1 + podAffinityTerm: + labelSelector: + matchExpressions: + - key: app + operator: In + values: + - "{{ .Chart.Name }}" + serviceName: {{ template "common.fullname" . }}-headless + replicas: {{ .Values.replicaCount }} + terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }} + selector: + matchLabels: + app: {{ template "common.name" . }} + release: {{ .Release.Name }} + component: server + updateStrategy: +{{ toYaml .Values.updateStrategy | indent 4 }} + template: + metadata: + labels: + app: {{ template "common.name" . }} + release: {{ .Release.Name }} + component: server + {{- if .Values.podLabels }} + ## Custom pod labels + {{- range $key, $value := .Values.podLabels }} + {{ $key }}: {{ $value | quote }} + {{- end }} + {{- end }} + annotations: + {{- if .Values.podAnnotations }} + ## Custom pod annotations + {{- range $key, $value := .Values.podAnnotations }} + {{ $key }}: {{ $value | quote }} + {{- end }} + {{- end }} + spec: +{{- if .Values.schedulerName }} + schedulerName: "{{ .Values.schedulerName }}" +{{- end }} + securityContext: +{{ toYaml .Values.securityContext | indent 8 }} + containers: + + - name: zookeeper + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + command: + - /bin/bash + - -xec + - zkGenConfig.sh && exec zkServer.sh start-foreground + ports: +{{- range $key, $port := .Values.ports }} + - name: {{ $key }} +{{ toYaml $port | indent 14 }} +{{- end }} + livenessProbe: +{{ toYaml .Values.livenessProbe | indent 12 }} + readinessProbe: +{{ toYaml .Values.readinessProbe | indent 12 }} + env: + - name: ZK_REPLICAS + value: {{ .Values.replicaCount | quote }} + {{- range $key, $value := .Values.env }} + - name: {{ $key | upper | replace "." "_" }} + value: {{ $value | quote }} + {{- end }} + resources: +{{ include "common.resources" . }} + volumeMounts: + - name: zookeeper-data + mountPath: /var/lib/zookeeper + +{{- if .Values.exporters.jmx.enabled }} + - name: jmx-exporter + image: "{{ .Values.exporters.jmx.image.repository }}:{{ .Values.exporters.jmx.image.tag }}" + imagePullPolicy: {{ .Values.exporters.jmx.image.pullPolicy }} + ports: + {{- range $key, $port := .Values.exporters.jmx.ports }} + - name: {{ $key }} +{{ toYaml $port | indent 14 }} + {{- end }} + livenessProbe: +{{ toYaml .Values.exporters.jmx.livenessProbe | indent 12 }} + readinessProbe: +{{ toYaml .Values.exporters.jmx.readinessProbe | indent 12 }} + env: + - name: SERVICE_PORT + value: {{ .Values.exporters.jmx.ports.jmxxp.containerPort | quote }} + {{- with .Values.exporters.jmx.env }} + {{- range $key, $value := . }} + - name: {{ $key | upper | replace "." "_" }} + value: {{ $value | quote }} + {{- end }} + {{- end }} + resources: +{{ toYaml .Values.exporters.jmx.resources | indent 12 }} + volumeMounts: + - name: config-jmx-exporter + mountPath: /opt/jmx_exporter/config.yml + subPath: config.yml +{{- end }} + +{{- if .Values.exporters.zookeeper.enabled }} + - name: zookeeper-exporter + image: "{{ .Values.exporters.zookeeper.image.repository }}:{{ .Values.exporters.zookeeper.image.tag }}" + imagePullPolicy: {{ .Values.exporters.zookeeper.image.pullPolicy }} + args: + - -bind-addr=:{{ .Values.exporters.zookeeper.ports.zookeeperxp.containerPort }} + - -metrics-path={{ .Values.exporters.zookeeper.path }} + - -zookeeper=localhost:{{ .Values.ports.client.containerPort }} + - -log-level={{ .Values.exporters.zookeeper.config.logLevel }} + - -reset-on-scrape={{ .Values.exporters.zookeeper.config.resetOnScrape }} + ports: + {{- range $key, $port := .Values.exporters.zookeeper.ports }} + - name: {{ $key }} +{{ toYaml $port | indent 14 }} + {{- end }} + livenessProbe: +{{ toYaml .Values.exporters.zookeeper.livenessProbe | indent 12 }} + readinessProbe: +{{ toYaml .Values.exporters.zookeeper.readinessProbe | indent 12 }} + env: + {{- range $key, $value := .Values.exporters.zookeeper.env }} + - name: {{ $key | upper | replace "." "_" }} + value: {{ $value | quote }} + {{- end }} + resources: +{{ toYaml .Values.exporters.zookeeper.resources | indent 12 }} +{{- end }} + + {{- with .Values.nodeSelector }} + nodeSelector: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: +{{ toYaml . | indent 8 }} + {{- end }} + {{- if (or .Values.exporters.jmx.enabled (not .Values.persistence.enabled)) }} + volumes: + {{- if .Values.exporters.jmx.enabled }} + - name: config-jmx-exporter + configMap: + name: {{ .Release.Name }}-jmx-exporter + {{- end }} + {{- if not .Values.persistence.enabled }} + - name: zookeeper-data + emptyDir: {} + {{- end }} + {{- end }} + {{- if .Values.persistence.enabled }} + volumeClaimTemplates: + - metadata: + name: zookeeper-data + labels: + app: {{ .Chart.Name }} + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" + annotations: + volume.beta.kubernetes.io/storage-class: {{ .Values.persistence.storageClass }} + spec: + storageClassName: {{ .Values.persistence.storageClass }} + accessModes: + - {{ .Values.persistence.accessMode | quote }} + resources: + requests: + storage: {{ .Values.persistence.size | quote }} + selector: + matchLabels: + release: "{{ .Release.Name }}" + {{- end }} diff --git a/kubernetes/common/music/charts/zookeeper/templates/volumes.yaml b/kubernetes/common/music/charts/zookeeper/templates/volumes.yaml new file mode 100644 index 0000000000..b0c05fdbfd --- /dev/null +++ b/kubernetes/common/music/charts/zookeeper/templates/volumes.yaml @@ -0,0 +1,25 @@ +{{ if .Values.persistence.enabled }} +{{- $root := . -}} +{{ range $i, $e := until (atoi (quote $root.Values.replicaCount) | default 3) }} +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: {{ $root.Release.Name }}-{{ $root.Values.service.name }}-{{ $i }} + namespace: {{ $root.Release.Namespace }} + labels: + type: {{ $root.Values.persistence.storageType }} + app: {{ $root.Values.service.name }} + chart: {{ $root.Chart.Name }}-{{ $root.Chart.Version | replace "+" "_" }} + release: {{ $root.Release.Name }} + heritage: {{ $root.Release.Service }} +spec: + capacity: + storage: {{ $root.Values.persistence.size }} + accessModes: + - {{ $root.Values.persistence.accessMode }} + hostPath: + path: {{ $root.Values.persistence.mountPath }}/{{ $root.Release.Name }}/{{ $root.Values.persistence.mountSubPath }}-{{$i}} + persistentVolumeReclaimPolicy: {{ $root.Values.persistence.volumeReclaimPolicy }} +{{ end }} +{{ end }} diff --git a/kubernetes/common/music/charts/zookeeper/values.yaml b/kubernetes/common/music/charts/zookeeper/values.yaml new file mode 100644 index 0000000000..ea02e6151e --- /dev/null +++ b/kubernetes/common/music/charts/zookeeper/values.yaml @@ -0,0 +1,284 @@ +## As weighted quorums are not supported, it is imperative that an odd number of replicas +## be chosen. Moreover, the number of replicas should be either 1, 3, 5, or 7. +## +## ref: https://github.com/kubernetes/contrib/tree/master/statefulsets/zookeeper#stateful-set +replicaCount: 3 # Desired quantity of ZooKeeper pods. This should always be (1,3,5, or 7) + +podDisruptionBudget: + maxUnavailable: 1 # Limits how many Zokeeper pods may be unavailable due to voluntary disruptions. + +terminationGracePeriodSeconds: 1800 # Duration in seconds a Zokeeper pod needs to terminate gracefully. + +## OnDelete requires you to manually delete each pod when making updates. +## This approach is at the moment safer than RollingUpdate because replication +## may be incomplete when replication source pod is killed. +## +## ref: http://blog.kubernetes.io/2017/09/kubernetes-statefulsets-daemonsets.html +updateStrategy: + type: OnDelete # Pods will only be created when you manually delete old pods. + +## refs: +## - https://github.com/kubernetes/contrib/tree/master/statefulsets/zookeeper +## - https://github.com/kubernetes/contrib/blob/master/statefulsets/zookeeper/Makefile#L1 +image: + #repository: nexus3.onap.org:10001/library/zookeeper + #tag: 3.3 + repository: gcr.io/google_samples/k8szk # Container image repository for zookeeper container. + tag: v3 # Container image tag for zookeeper container. + pullPolicy: IfNotPresent # Image pull criteria for zookeeper container. + +service: + name: zookeeper + type: ClusterIP # Exposes zookeeper on a cluster-internal IP. + annotations: {} # Arbitrary non-identifying metadata for zookeeper service. + ## AWS example for use with LoadBalancer service type. + # external-dns.alpha.kubernetes.io/hostname: zookeeper.cluster.local + # service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true" + # service.beta.kubernetes.io/aws-load-balancer-internal: "true" + ports: + client: + port: 2181 # Service port number for client port. + targetPort: client # Service target port for client port. + protocol: TCP # Service port protocol for client port. + + +ports: + client: + containerPort: 2181 # Port number for zookeeper container client port. + protocol: TCP # Protocol for zookeeper container client port. + election: + containerPort: 3888 # Port number for zookeeper container election port. + protocol: TCP # Protocol for zookeeper container election port. + server: + containerPort: 2888 # Port number for zookeeper container server port. + protocol: TCP # Protocol for zookeeper container server port. + +# Resource Limit flavor -By Default using small +flavor: large +# Segregation for Different environment (Small and Large) +resources: + small: + limits: + cpu: 1 + memory: 1Gi + requests: + cpu: 500m + memory: 500Mi + large: + limits: + cpu: 3 + memory: 2Gi + requests: + cpu: 2 + memory: 1Gi + unlimited: {} + +nodeSelector: {} # Node label-values required to run zookeeper pods. + +tolerations: [] # Node taint overrides for zookeeper pods. + +affinity: {} # Criteria by which pod label-values influence scheduling for zookeeper pods. +affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - topologyKey: "kubernetes.io/hostname" + labelSelector: + matchLabels: + release: zookeeper + +podAnnotations: {} # Arbitrary non-identifying metadata for zookeeper pods. + +podLabels: {} # Key/value pairs that are attached to zookeeper pods. + +livenessProbe: + exec: + command: + - zkOk.sh + initialDelaySeconds: 20 + +readinessProbe: + exec: + command: + - zkOk.sh + initialDelaySeconds: 20 + +securityContext: + fsGroup: 1000 + #runAsUser: 1000 + +persistence: + enabled: true + ## zookeeper data Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + ## + volumeReclaimPolicy: Retain + accessMode: ReadWriteOnce + mountPath: /dockerdata-nfs + mountSubPath: music/zookeeper + storageType: local + storageClass: "" + size: 4Gi + +## Exporters query apps for metrics and make those metrics available for +## Prometheus to scrape. +exporters: + + jmx: + enabled: false + image: + repository: sscaling/jmx-prometheus-exporter + tag: 0.3.0 + pullPolicy: IfNotPresent + config: + lowercaseOutputName: false + rules: + - pattern: "org.apache.ZooKeeperService<>(\\w+)" + name: "zookeeper_$2" + - pattern: "org.apache.ZooKeeperService<>(\\w+)" + name: "zookeeper_$3" + labels: + replicaId: "$2" + - pattern: "org.apache.ZooKeeperService<>(\\w+)" + name: "zookeeper_$4" + labels: + replicaId: "$2" + memberType: "$3" + - pattern: "org.apache.ZooKeeperService<>(\\w+)" + name: "zookeeper_$4_$5" + labels: + replicaId: "$2" + memberType: "$3" + startDelaySeconds: 30 + env: {} + resources: {} + path: /metrics + ports: + jmxxp: + containerPort: 9404 + protocol: TCP + livenessProbe: + httpGet: + path: /metrics + port: jmxxp + initialDelaySeconds: 30 + periodSeconds: 15 + timeoutSeconds: 60 + failureThreshold: 8 + successThreshold: 1 + readinessProbe: + httpGet: + path: /metrics + port: jmxxp + initialDelaySeconds: 30 + periodSeconds: 15 + timeoutSeconds: 60 + failureThreshold: 8 + successThreshold: 1 + + zookeeper: + enabled: false + image: + repository: josdotso/zookeeper-exporter + tag: v1.1.2 + pullPolicy: IfNotPresent + config: + logLevel: info + resetOnScrape: "true" + env: {} + resources: {} + path: /metrics + ports: + zookeeperxp: + containerPort: 9141 + protocol: TCP + livenessProbe: + httpGet: + path: /metrics + port: zookeeperxp + initialDelaySeconds: 30 + periodSeconds: 15 + timeoutSeconds: 60 + failureThreshold: 8 + successThreshold: 1 + readinessProbe: + httpGet: + path: /metrics + port: zookeeperxp + initialDelaySeconds: 30 + periodSeconds: 15 + timeoutSeconds: 60 + failureThreshold: 8 + successThreshold: 1 + +env: + + ## Options related to JMX exporter. + JMXAUTH: "false" + JMXDISABLE: "false" + JMXPORT: 1099 + JMXSSL: "false" + + ## The port on which the server will accept client requests. + ZK_CLIENT_PORT: 2181 + + ## The port on which the ensemble performs leader election. + ZK_ELECTION_PORT: 3888 + + ## The JVM heap size. + ZK_HEAP_SIZE: 2G + + ## The number of Ticks that an ensemble member is allowed to perform leader + ## election. + ZK_INIT_LIMIT: 5 + + ## The Log Level that for the ZooKeeper processes logger. + ## Choices are `TRACE,DEBUG,INFO,WARN,ERROR,FATAL`. + ZK_LOG_LEVEL: INFO + + ## The maximum number of concurrent client connections that + ## a server in the ensemble will accept. + ZK_MAX_CLIENT_CNXNS: 60 + + ## The maximum session timeout that the ensemble will allow a client to request. + ## Upstream default is `20 * ZK_TICK_TIME` + ZK_MAX_SESSION_TIMEOUT: 40000 + + ## The minimum session timeout that the ensemble will allow a client to request. + ## Upstream default is `2 * ZK_TICK_TIME`. + ZK_MIN_SESSION_TIMEOUT: 4000 + + ## The delay, in hours, between ZooKeeper log and snapshot cleanups. + ZK_PURGE_INTERVAL: 0 + + ## The port on which the leader will send events to followers. + ZK_SERVER_PORT: 2888 + + ## The number of snapshots that the ZooKeeper process will retain if + ## `ZK_PURGE_INTERVAL` is set to a value greater than `0`. + ZK_SNAP_RETAIN_COUNT: 3 + + ## The number of Tick by which a follower may lag behind the ensembles leader. + ZK_SYNC_LIMIT: 10 + + ## The number of wall clock ms that corresponds to a Tick for the ensembles + ## internal time. + ZK_TICK_TIME: 2000 + +jobs: + chroots: + enabled: false + activeDeadlineSeconds: 300 + backoffLimit: 5 + completions: 1 + config: + create: [] + # - /kafka + # - /ureplicator + env: [] + parallelism: 1 + resources: {} + restartPolicy: Never diff --git a/kubernetes/common/music/requirements.yaml b/kubernetes/common/music/requirements.yaml new file mode 100644 index 0000000000..220dc4619b --- /dev/null +++ b/kubernetes/common/music/requirements.yaml @@ -0,0 +1,18 @@ +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. +# +# 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. + +dependencies: + - name: common + version: ~3.0.0 + repository: '@local' diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/values.yaml b/kubernetes/common/music/values.yaml similarity index 51% rename from kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/values.yaml rename to kubernetes/common/music/values.yaml index 64e0550da2..51c467cf2f 100644 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/values.yaml +++ b/kubernetes/common/music/values.yaml @@ -1,5 +1,4 @@ -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,42 +12,28 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Default values for mariadb. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. -global: # global defaults +################################################################# +# Global configuration defaults. +################################################################# +global: nodePortPrefix: 302 - persistence: {} + repository: nexus3.onap.org:10001 + readinessRepository: oomk8s + readinessImage: readiness-check:2.0.0 + loggingRepository: docker.elastic.co + loggingImage: beats/filebeat:5.5.0 -# application image -repository: nexus3.onap.org:10001 -image: zookeeper:3.4 -pullPolicy: Always +# flag to enable debugging - application support required +debugEnabled: false # default number of instances -replicaCount: 1 +replicaCount: 3 + nodeSelector: {} + affinity: {} -# Resource Limit flavor -By Default using small -flavor: small -# Segregation for Different environment (Small and Large) -resources: - small: - limits: - memory: 4Gi - cpu: 2000m - requests: - memory: 1Gi - cpu: 500m - large: - limits: - memory: 8Gi - cpu: 4000m - requests: - memory: 2Gi - cpu: 1000m - unlimited: {} + # probe configuration parameters liveness: initialDelaySeconds: 10 @@ -56,14 +41,10 @@ liveness: # necessary to disable liveness probe when setting breakpoints # in debugger so K8s doesn't restart unresponsive container enabled: true + readiness: initialDelaySeconds: 10 periodSeconds: 10 -service: - type: ClusterIP - name: oof-has-zk - externalPort: 2181 - internalPort: 2181 - portName: oof-has-zookeeper -ingress: - enabled: false + +resources: {} + diff --git a/kubernetes/common/mysql/templates/statefulset.yaml b/kubernetes/common/mysql/templates/statefulset.yaml index 1744940868..f73b10f460 100644 --- a/kubernetes/common/mysql/templates/statefulset.yaml +++ b/kubernetes/common/mysql/templates/statefulset.yaml @@ -251,4 +251,7 @@ spec: resources: requests: storage: {{ .Values.persistence.size }} + selector: + matchLabels: + name: {{ include "common.fullname" . }} {{ end }} diff --git a/kubernetes/common/network-name-gen/values.yaml b/kubernetes/common/network-name-gen/values.yaml index 67ba1ce274..7e9ef34200 100644 --- a/kubernetes/common/network-name-gen/values.yaml +++ b/kubernetes/common/network-name-gen/values.yaml @@ -54,7 +54,7 @@ mariadb-galera: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/ccsdk-apps-ms-neng:latest +image: onap/ccsdk-apps-ms-neng:0.3.1 pullPolicy: IfNotPresent # application configuration diff --git a/kubernetes/common/postgres/templates/statefulset.yaml b/kubernetes/common/postgres/templates/statefulset.yaml index 3c7ae65e4a..db4a256f12 100644 --- a/kubernetes/common/postgres/templates/statefulset.yaml +++ b/kubernetes/common/postgres/templates/statefulset.yaml @@ -149,4 +149,7 @@ spec: resources: requests: storage: {{ .Values.persistence.size }} + selector: + matchLabels: + name: {{ include "common.fullname" . }} #{{ end }} diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-datafile-collector-inputs.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-datafile-collector-inputs.yaml index ce7aa1e998..09d0db005c 100644 --- a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-datafile-collector-inputs.yaml +++ b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-datafile-collector-inputs.yaml @@ -20,7 +20,7 @@ tag_version: {{ include "common.repository" . }}/{{ .Values.componentImages.datafile_collector }} {{ end }} host_port: 30223 -host_port_secure: 30224 +host_port_secure: 30262 dmaap_mr_host: "{{ .Values.config.address.message_router }}" dmaap_mr_port: 3904 dmaap_mr_user: "admin" diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-holmes_engine-inputs.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-holmes_engine-inputs.yaml index 24980e5f20..f6a4c7cf85 100644 --- a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-holmes_engine-inputs.yaml +++ b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-holmes_engine-inputs.yaml @@ -20,7 +20,7 @@ {{ if .Values.componentImages.holmes_engine }} "he_image" : '{{ include "common.repository" . }}/{{ .Values.componentImages.holmes_engine }}', {{ end }} - "msb_hostname": "{{ .Values.config.address.msb_discovery }}.{{include "common.namespace" . }}", + "msb_hostname": "{{ .Values.config.address.msb_iag }}.{{include "common.namespace" . }}", "dcae_CL_publish_url": "http://{{ .Values.config.address.message_router }}.{{include "common.namespace" . }}:3904/events/unauthenticated.DCAE_CL_OUTPUT", "ves_fault_publish_url": "http://{{ .Values.config.address.message_router }}.{{include "common.namespace" . }}:3904/events/unauthenticated.SEC_FAULT_OUTPUT", "pgaas_cluster_name" : "{{ .Values.postgres.service.name2 }}.{{include "common.namespace" . }}", diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-holmes_rules-inputs.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-holmes_rules-inputs.yaml index c5a73e5053..7ede89e521 100644 --- a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-holmes_rules-inputs.yaml +++ b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-holmes_rules-inputs.yaml @@ -21,7 +21,7 @@ "hr_image" : '{{ include "common.repository" . }}/{{ .Values.componentImages.holmes_rules }}', {{ end }} - "msb_hostname": "{{ .Values.config.address.msb_discovery }}.{{include "common.namespace" . }}", + "msb_hostname": "{{ .Values.config.address.msb_iag }}.{{include "common.namespace" . }}", "pgaas_cluster_name" : "{{ .Values.postgres.service.name2 }}.{{include "common.namespace" . }}", "database_name":"holmes" } diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/values.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/values.yaml index 18632d1d39..6e4ad08963 100644 --- a/kubernetes/dcaegen2/charts/dcae-bootstrap/values.yaml +++ b/kubernetes/dcaegen2/charts/dcae-bootstrap/values.yaml @@ -38,6 +38,7 @@ config: dmaap_dr_prov: dmaap-dr-prov message_router: message-router msb_discovery: msb-discovery + msb_iag: msb-iag policy_pdp: pdp sdc: sdc-be # redisCaching is a string not a boolean! @@ -73,24 +74,24 @@ postgres: # application image repository: nexus3.onap.org:10001 -image: onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:1.4.3 +image: onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:1.4.5 # DCAE component images to be deployed via Cloudify Manager # Use to override default setting in blueprints componentImages: config_binding_service: onap/org.onap.dcaegen2.platform.configbinding.app-app:2.2.3 - datafile_collector: onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.0.0 + datafile_collector: onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.0.3 deployment_handler: onap/org.onap.dcaegen2.platform.deployment-handler:3.0.3 - holmes_rules: onap/holmes/rule-management:1.2.0-STAGING-latest - holmes_engine: onap/holmes/engine-management:1.2.0-STAGING-latest + holmes_rules: onap/holmes/rule-management:1.2.0 + holmes_engine: onap/holmes/engine-management:1.2.0 inventory: onap/org.onap.dcaegen2.platform.inventory-api:3.0.4 policy_handler: onap/org.onap.dcaegen2.platform.policy-handler:4.4.0 service_change_handler: onap/org.onap.dcaegen2.platform.servicechange-handler:1.1.5 tca: onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.1.0 ves: onap/org.onap.dcaegen2.collectors.ves.vescollector:1.3.1 snmptrap: onap/org.onap.dcaegen2.collectors.snmptrap:1.4.0 - prh: onap/org.onap.dcaegen2.services.prh.prh-app-server:1.0.0 - hv_ves: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.0.0-SNAPSHOT + prh: onap/org.onap.dcaegen2.services.prh.prh-app-server:1.1.1 + hv_ves: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.0.0 # Resource Limit flavor -By Default using small flavor: small diff --git a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/values.yaml b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/values.yaml index cd1b833087..08e01d6258 100644 --- a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/values.yaml +++ b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/values.yaml @@ -43,7 +43,7 @@ config: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/org.onap.dcaegen2.deployments.cm-container:1.4.1 +image: onap/org.onap.dcaegen2.deployments.cm-container:1.4.2 pullPolicy: Always # probe configuration parameters @@ -52,7 +52,8 @@ liveness: periodSeconds: 10 # necessary to disable liveness probe when setting breakpoints # in debugger so K8s doesn't restart unresponsive container - enabled: true + # liveness not desirable for Cloudify Manager container + enabled: false readiness: initialDelaySeconds: 10 diff --git a/kubernetes/dcaegen2/charts/dcae-redis/templates/NOTES.txt b/kubernetes/dcaegen2/charts/dcae-redis/templates/NOTES.txt index d333bfc159..0a386aa131 100644 --- a/kubernetes/dcaegen2/charts/dcae-redis/templates/NOTES.txt +++ b/kubernetes/dcaegen2/charts/dcae-redis/templates/NOTES.txt @@ -28,7 +28,7 @@ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/kubernetes/dcaegen2/charts/dcae-redis/templates/statefulset.yaml b/kubernetes/dcaegen2/charts/dcae-redis/templates/statefulset.yaml index 3e20e37dd4..5a5b220e61 100644 --- a/kubernetes/dcaegen2/charts/dcae-redis/templates/statefulset.yaml +++ b/kubernetes/dcaegen2/charts/dcae-redis/templates/statefulset.yaml @@ -113,3 +113,6 @@ spec: resources: requests: storage: {{ .Values.persistence.size }} + selector: + matchLabels: + name: {{ include "common.fullname" . }} diff --git a/kubernetes/dmaap/charts/dmaap-bus-controller/resources/config/buscontroller.env b/kubernetes/dmaap/charts/dmaap-bus-controller/resources/config/buscontroller.env index 2a801f0ffe..cde43f95b7 100644 --- a/kubernetes/dmaap/charts/dmaap-bus-controller/resources/config/buscontroller.env +++ b/kubernetes/dmaap/charts/dmaap-bus-controller/resources/config/buscontroller.env @@ -12,17 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. +# Environment settings for starting a container DMAAPBC_WAIT_TO_EXIT=Y -DMAAPBC_PG_ENABLED=true -# Need to connect to PG primary service, designated by service.name2 -DMAAPBC_PGHOST={{ .Values.postgres.service.name2 }} -DMAAPBC_PGDBNAME={{ .Values.postgres.config.pgDatabase }} -DMAAPBC_PGCRED={{ .Values.postgres.config.pgUserPassword }} -DMAAPBC_PGUSER={{ .Values.postgres.config.pgUserName }} -DMAAPBC_MR_CNAME={{ .Values.dmaapMessageRouterService }} -DMAAPBC_AAF_URL={{ .Values.aafURL }} -DMAAPBC_TOPICMGR_USER={{ .Values.topicMgrUser }} -DMAAPBC_TOPICMGR_PWD={{ .Values.topicMgrPwd }} -DMAAPBC_ADMIN_USER={{ .Values.adminUser }} -DMAAPBC_ADMIN_PWD={{ .Values.adminPwd }} diff --git a/kubernetes/dmaap/charts/dmaap-bus-controller/resources/config/dmaapbc.properties b/kubernetes/dmaap/charts/dmaap-bus-controller/resources/config/dmaapbc.properties new file mode 100644 index 0000000000..f2a6dd9648 --- /dev/null +++ b/kubernetes/dmaap/charts/dmaap-bus-controller/resources/config/dmaapbc.properties @@ -0,0 +1,214 @@ +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. +# +# 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. + +##################################################### +# +# ONAP Casablanca oom configurable deployment params: +# +##################################################### + + +##################################################### +# +# Hooks for specific environment configurations +# +##################################################### +# Indicator for whether to use AAF +UseAAF: false + +# csit: stubs out some southbound APIs for csit +csit: No + +# name of this DMaaP instance (deprecated) +DmaapName: demo + +##################################################### +# +# Settings for Southbound API: Datarouter +# +##################################################### +# FQDN of DR Prov Server (deprecated) +DR.provhost: dcae-drps.domain.not.set + +# URI to retrieve dynamic DR configuration +ProvisioningURI: /internal/prov + +# indicator for handling feed delete: +# DeleteOnDR - means use the DR API to DELETE a feed. (default for backwards compatibility) +# SimulateDelete - means preserve the feed on DR (after cleaning it up), and mark as DELETED in DBCL. Better for cfy environments. +Feed.deleteHandling: SimulateDelete + +##################################################### +# +# Settings for Soutbound API: Postgresql +# +##################################################### +# flag indieonapdemodbates if we are using postgresql +UsePGSQL: true + +# postgres host name +# Need to connect to PG primary service, designated by service.name2 +DB.host: {{ .Values.postgres.service.name2 }} + +# postgres schema name +#DB.schema: {{ .Values.postgres.config.pgDatabase }} + +# postgres user name +#DB.user: {{ .Values.postgres.config.pgUserName }} + +# postgres user password +DB.cred: {{ .Values.postgres.config.pgUserPassword }} + + +##################################################### +# +# Settings for Soutbound API: Message Router +# +##################################################### +# indicator for multi-site (locations) deployment. Give clue to buscontroller whether +# there is a need for message replication between edge and central. +# ONAP Casablanca is a single site deployment +MR.multisite: false + +# FQDN of primary message router. +# In ONAP Casablanca, there is only 1 message router service, so use that. +# In a multi-site, MR cluster deployment, use the CNAME DNS entry which resolves to the primary central MR +MR.CentralCname: {{ .Values.dmaapMessageRouterService }} + +# MR Client Delete Level thoroughness: +# 0 = don't delete +# 1 = delete from persistent store +# 2 = delete from persistent store (DB) and authorization store (AAF) +MR.ClientDeleteLevel: 1 + +# namespace of MR Topic Factory +MR.TopicFactoryNS: org.onap.dmaap.mr.topicFactory + +# AAF Role assigned to Topic Manager Identity +MR.TopicMgrRole: org.onap.dmaap-bc-topic-mgr.client + +# MR topic ProjectID (used in certain topic name generation formats) +MR.projectID: ONAP + + +##################################################### +# +# Settings for Southbound API: CADI +# +##################################################### +# path to cadi.properties +cadi.properties: /opt/app/osaaf/lcoal/org.onap.dmaap-bc.props + +##################################################### +# +# Settings for Southbound API: AAF proxy +# +##################################################### +# URL of the AAF server +aaf.URL: {{ .Values.aafURL }} + +# TopicMgr Identity +aaf.TopicMgrUser: {{ .Values.topicMgrUser }} + +# Password for TopicMgr identity +aaf.TopicMgrPassword: {{ .Values.topicMgrPwd }} + +# Buscontroller Admin Identity +aaf.AdminUser: {{ .Values.adminUser }} + +# Admin Password +aaf.AdminPassword: {{ .Values.adminPwd }} + +# location of the codec keyfile used to decrypt passwords in this properties file before they are passed to AAF +CredentialCodeKeyfile: etc/LocalKey + +# this overrides the Class used for Decryption. +# This allows for a plugin encryption/decryption method if needed. +# Call this Class for decryption at runtime. +#AafDecryption.Class: com.company.proprietaryDecryptor + + +##################################################### +# +# Settings for authorization of DBCAPI +# +##################################################### +# Namespace for URI values for the API used to create AAF permissions +# e.g. if ApiNamespace is X.Y.dmaapbc.api then for URI /mr_clients we create AAF perm X.Y.dmaapbc.api.mr_clients +ApiNamespace: org.onap.dmaap-bc.api + +# If API authorization is required, then implement a class to enforce it. +# This overrides the Class used for API permission check. +#ApiPermission.Class: com.company.policy.DecisionPolicy + +##################################################### +# +# Settings for Southbound API: MirrorMaker provisioning +# +##################################################### +# AAF Role of client publishing MM prov cmds +MM.ProvRole: org.onap.dmaap-bc-mm-prov.prov + +# AAF identity when publishing MM prov cmds +MM.ProvUserMechId: dmaap-bc-mm-prov@dmaap-bc-mm-prov.onap.org + +# pwd for Identity used to publish MM prov cmds +MM.ProvUserPwd: demo123456! + +# AAF Role of MirrorMaker agent subscribed to prov cmds +MM.AgentRole: org.onal.dmaap-bc-mm-prov.agent + +##################################################### +# +# HTTP Server Configuration +# +##################################################### + +# Allow http access to dbcapi +HttpAllowed: true + +# listen to http port within this container (server) +IntHttpPort: 8080 + +# listen to https port within this container (server) +# set to 0 if no certificates are available. +IntHttpsPort: 8443 + +# external port number for https taking port mapping into account +ExtHttpsPort: 443 + +# the type of keystore for https +KeyStoreType: jks + +# path to the keystore file +KeyStoreFile: etc/keystore + +# password for the https keystore +KeyStorePassword: *j&Z*Ma;.4My4M]W0eB*fal$ + +# password for the private key in the https keystore +KeyPassword: *j&Z*Ma;.4My4M]W0eB*fal$ + +# type of truststore for https +TrustStoreType: jks + +# path to the truststore for https +TrustStoreFile: etc/org.onap.dmaap-bc.trust.jks + +# password for the https truststore +TrustStorePassword: pi8HuuSbN03MtQQ7(5TcyQ6; + +# path to the file used to trigger an orderly shutdown +QuiesceFile: etc/SHUTDOWN + diff --git a/kubernetes/dmaap/charts/dmaap-bus-controller/resources/dmaap/onap.json b/kubernetes/dmaap/charts/dmaap-bus-controller/resources/dmaap/onap.json index 27411c64d2..9099e046ed 100644 --- a/kubernetes/dmaap/charts/dmaap-bus-controller/resources/dmaap/onap.json +++ b/kubernetes/dmaap/charts/dmaap-bus-controller/resources/dmaap/onap.json @@ -1,5 +1,9 @@ { +{{ if eq .Values.fixedTopicNamespace true }} + "dmaapName": "mr", +{{- else -}} "dmaapName": "{{ include "common.namespace" . }}", +{{- end}} "drProvUrl": "https://dmaap-dr-prov:8443", "version": "1", "topicNsRoot": "org.onap.dmaap", diff --git a/kubernetes/dmaap/charts/dmaap-bus-controller/resources/feeds/DefaultPM.json b/kubernetes/dmaap/charts/dmaap-bus-controller/resources/feeds/DefaultPM.json index e8073474b1..411d7f41e1 100644 --- a/kubernetes/dmaap/charts/dmaap-bus-controller/resources/feeds/DefaultPM.json +++ b/kubernetes/dmaap/charts/dmaap-bus-controller/resources/feeds/DefaultPM.json @@ -3,6 +3,14 @@ "feedVersion": "m1.1", "feedDescription": "Default feed provisioned for PM File collector", "asprClassification" : "unclassified", - "owner": "onap" + "owner": "onap", + "pubs": [ + { + "dcaeLocationName" : "san-francisco", + "username": "dradmin", + "userpwd": "dradmin" + } + + ] } diff --git a/kubernetes/dmaap/charts/dmaap-bus-controller/resources/topics/PNF_READY.json b/kubernetes/dmaap/charts/dmaap-bus-controller/resources/topics/PNF_READY.json index 0010f22cb4..8f4cf8bd64 100644 --- a/kubernetes/dmaap/charts/dmaap-bus-controller/resources/topics/PNF_READY.json +++ b/kubernetes/dmaap/charts/dmaap-bus-controller/resources/topics/PNF_READY.json @@ -2,5 +2,16 @@ "topicName": "PNF_READY", "topicDescription": "This topic will be used to publish the PNF_READY events generated by the PNF REgistration Handler service in the DCAE platform.", "owner": "PNFRegistrationHandler", - "txenabled": false + "txenabled": false, + "clients": [ + { + "dcaeLocationName": "san-francisco", + "clientRole": "org.onap.dmaap.mr.PNF_READY.pub", + "action": [ + "pub", + "view" + ] + + } + ] } diff --git a/kubernetes/dmaap/charts/dmaap-bus-controller/resources/topics/PNF_REGISTRATION.json b/kubernetes/dmaap/charts/dmaap-bus-controller/resources/topics/PNF_REGISTRATION.json index 2b5c8a523d..f0dd2c7829 100644 --- a/kubernetes/dmaap/charts/dmaap-bus-controller/resources/topics/PNF_REGISTRATION.json +++ b/kubernetes/dmaap/charts/dmaap-bus-controller/resources/topics/PNF_REGISTRATION.json @@ -2,5 +2,16 @@ "topicName": "PNF_REGISTRATION", "topicDescription": "the VES collector will be publishing pnfRegistration events in this topic", "owner": "VEScollector", - "txenabled": false + "txenabled": false, + "clients": [ + { + "dcaeLocationName": "san-francisco", + "clientRole": "org.onap.dmaap.mr.PNF_REGISTRATION.sub", + "action": [ + "sub", + "view" + ] + + } + ] } diff --git a/kubernetes/dmaap/charts/dmaap-bus-controller/templates/deployment.yaml b/kubernetes/dmaap/charts/dmaap-bus-controller/templates/deployment.yaml index 778005db45..9cf147fdab 100644 --- a/kubernetes/dmaap/charts/dmaap-bus-controller/templates/deployment.yaml +++ b/kubernetes/dmaap/charts/dmaap-bus-controller/templates/deployment.yaml @@ -59,11 +59,12 @@ spec: port: {{ .Values.service.internalPort }} path: /webapi/info initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }} - periodSeconds: {{ .Values.liveness.periodSeconds }} + periodSeconds: {{ .Values.liveness.periodSeconds }} readinessProbe: httpGet: - port: {{ .Values.service.internalPort }} - path: /webapi/info + host: {{ .Values.dmaapMessageRouterService }} + port: 3904 + path: /topics initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} periodSeconds: {{ .Values.readiness.periodSeconds }} {{ end -}} @@ -71,9 +72,11 @@ spec: - mountPath: /etc/localtime name: localtime readOnly: true + +# NOTE: on the following several configMaps, careful to include / at end +# since there may be more than one file in each mountPath - name: {{ include "common.name" . }}-config - mountPath: /opt/app/config/conf - subPath: buscontroller.env + mountPath: /opt/app/config/conf/ # NOTE: the basename of the subdirectory is important - it matches the DBCL API URI - name: {{ include "common.name" . }}-dmaap diff --git a/kubernetes/dmaap/charts/dmaap-bus-controller/values.yaml b/kubernetes/dmaap/charts/dmaap-bus-controller/values.yaml index e79a693382..0483ce5db2 100644 --- a/kubernetes/dmaap/charts/dmaap-bus-controller/values.yaml +++ b/kubernetes/dmaap/charts/dmaap-bus-controller/values.yaml @@ -31,16 +31,21 @@ pullPolicy: Always # application images repository: nexus3.onap.org:10001 -image: onap/dmaap/buscontroller:1.0.19 +image: onap/dmaap/buscontroller:1.0.23 # application configuration dmaapMessageRouterService: message-router aafURL: https://aaf-authz/ -topicMgrUser: m23456@dmaapbc.onap.org -topicMgrPwd: onapdemo -adminUser: m12345@dmaapbc.onap.org -adminPwd: onapdemo +topicMgrUser: dmaap-bc-topic-mgr@dmaap-bc-topic-mgr.onap.org +topicMgrPwd: demo123456! +adminUser: aaf_admin@people.osaaf.org +adminPwd: demo123456! + +# for Casablanca default deployment, leave this true to +# get a topic namespace that matches MR. When set to false, +# it will compose the topic namespace using the kubernetes namespace value +fixedTopicNamespace: true nodeSelector: {} diff --git a/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/values.yaml b/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/values.yaml index f8600b5825..8062a33517 100644 --- a/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/values.yaml +++ b/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/values.yaml @@ -26,7 +26,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/dmaap/datarouter-node:1.0.2 +image: onap/dmaap/datarouter-node:1.0.3 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-prov/values.yaml b/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-prov/values.yaml index dfdd38bfbf..25e058d4f6 100644 --- a/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-prov/values.yaml +++ b/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-prov/values.yaml @@ -27,7 +27,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/dmaap/datarouter-prov:1.0.2 +image: onap/dmaap/datarouter-prov:1.0.3 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/dmaap/charts/message-router/resources/config/dmaap/MsgRtrApi.properties b/kubernetes/dmaap/charts/message-router/resources/config/dmaap/MsgRtrApi.properties index 4015e941a6..9d1febe27d 100755 --- a/kubernetes/dmaap/charts/message-router/resources/config/dmaap/MsgRtrApi.properties +++ b/kubernetes/dmaap/charts/message-router/resources/config/dmaap/MsgRtrApi.properties @@ -1,17 +1,24 @@ -# Copyright © 2017 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 +############################################################################### +# ============LICENSE_START======================================================= +# org.onap.dmaap +# ================================================================================ +# Copyright © 2017 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# 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. +# ============LICENSE_END========================================================= # -# 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. - +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# +############################################################################### ############################################################################### ## ## Cambria API Server config @@ -19,7 +26,7 @@ ## - Default values are shown as commented settings. ## -############################################################################## +############################################################################### ## ## HTTP service ## @@ -29,7 +36,9 @@ ## ## Both Cambria and Kafka make use of Zookeeper. ## +#config.zk.servers=172.18.1.1 config.zk.servers={{.Values.zookeeper.name}}:{{.Values.zookeeper.port}} +#config.zk.root=/fe3c/cambria/config ############################################################################### @@ -39,17 +48,22 @@ config.zk.servers={{.Values.zookeeper.name}}:{{.Values.zookeeper.port}} ## Items below are passed through to Kafka's producer and consumer ## configurations (after removing "kafka.") ## if you want to change request.required.acks it can take this one value +#kafka.metadata.broker.list=localhost:9092,localhost:9093 kafka.metadata.broker.list={{.Values.kafka.name}}:{{.Values.kafka.port}} ##kafka.request.required.acks=-1 #kafka.client.zookeeper=${config.zk.servers} consumer.timeout.ms=100 zookeeper.connection.timeout.ms=6000 -zookeeper.session.timeout.ms=6000 +zookeeper.session.timeout.ms=20000 zookeeper.sync.time.ms=2000 auto.commit.interval.ms=1000 fetch.message.max.bytes =1000000 auto.commit.enable=false +#(backoff*retries > zksessiontimeout) +kafka.rebalance.backoff.ms=10000 +kafka.rebalance.max.retries=6 + ############################################################################### ## @@ -86,7 +100,7 @@ authentication.adminSecret=fe3cCompound ## which would substantially impact a high volume consumer's performance. ## ## This complicates Cambria server failover, because we often need server -## A to close its connection before server B brings up the replacement. +## A to close its connection before server B brings up the replacement. ## ## The consumer cache is normally enabled. @@ -96,8 +110,8 @@ authentication.adminSecret=fe3cCompound ## consumers every sweepFreqSeconds and will clean up any connections that are ## dormant for touchFreqMs. #cambria.consumer.cache.sweepFreqSeconds=15 -#cambria.consumer.cache.touchFreqMs=120000 - +cambria.consumer.cache.touchFreqMs=120000 +##stickforallconsumerrequests=false ## The cache is managed through ZK. The default value for the ZK connection ## string is the same as config.zk.servers. #cambria.consumer.cache.zkConnect=${config.zk.servers} @@ -110,6 +124,9 @@ authentication.adminSecret=fe3cCompound ## #cambria.api.node.identifier= +#cambria.rateLimit.maxEmptyPollsPerMinute=30 +#cambria.rateLimitActual.delay.ms=10 + ############################################################################### ## ## Metrics Reporting @@ -117,7 +134,7 @@ authentication.adminSecret=fe3cCompound ## This server can report its metrics periodically on a topic. ## #metrics.send.cambria.enabled=true -#metrics.send.cambria.topic=cambria.apinode.metrics #msgrtr.apinode.metrics.dmaap +#metrics.send.cambria.topic=cambria.apinode.metrics #msgrtr.apinode.metrics.dmaap #metrics.send.cambria.sendEverySeconds=60 cambria.consumer.cache.zkBasePath=/fe3c/cambria/consumerCache @@ -129,18 +146,23 @@ maxcontentlength=10000 ############################################################################## #AAF Properties -msgRtr.namespace.aaf=org.openecomp.dcae.dmaap.mtnje2.mr.topic -msgRtr.topicfactory.aaf=org.openecomp.dcae.dmaap.topicFactory|:org.openecomp.dcae.dmaap.mtnje2.mr.topic: -enforced.topic.name.AAF=org.openecomp +msgRtr.namespace.aaf=org.onap.dmaap.mr.topic +msgRtr.topicfactory.aaf=org.onap.dmaap.mr.topicFactory|:org.onap.dmaap.mr.topic: +enforced.topic.name.AAF=org.onap forceAAF=false transidUEBtopicreqd=false -defaultNSforUEB=org.openecomp.dmaap.mr.ueb +defaultNSforUEB=org.onap.dmaap.mr ############################################################################## #Mirror Maker Agent -msgRtr.mirrormakeradmin.aaf=org.openecomp.dmaap.mr.dev.mirrormaker|*|admin -msgRtr.mirrormakeruser.aaf=org.openecomp.dmaap.mr.dev.mirrormaker|*|user -msgRtr.mirrormakeruser.aaf.create=org.openecomp.dmaap.mr.dev.topicFactory|:org.openecomp.dmaap.mr.dev.topic: +msgRtr.mirrormakeradmin.aaf=com.onap.dmaap.mr.dev.mirrormaker|*|admin +msgRtr.mirrormakeruser.aaf=com.onap.dmaap.mr.dev.mirrormaker|*|user +msgRtr.mirrormakeruser.aaf.create=com.onap.dmaap.mr.dev.topicFactory|:com.onap.dmaap.mr.dev.topic: msgRtr.mirrormaker.timeout=15000 -msgRtr.mirrormaker.topic=org.openecomp.dmaap.mr.prod.mm.agent +msgRtr.mirrormaker.topic=com.onap.dmaap.mr.prod.mm.agent msgRtr.mirrormaker.consumergroup=mmagentserver msgRtr.mirrormaker.consumerid=1 + +kafka.max.poll.interval.ms=300000 +kafka.heartbeat.interval.ms=60000 +kafka.session.timeout.ms=240000 +kafka.max.poll.records=1000 \ No newline at end of file diff --git a/kubernetes/dmaap/charts/message-router/resources/config/dmaap/cadi.properties b/kubernetes/dmaap/charts/message-router/resources/config/dmaap/cadi.properties index 9079794517..a79bb8d40a 100755 --- a/kubernetes/dmaap/charts/message-router/resources/config/dmaap/cadi.properties +++ b/kubernetes/dmaap/charts/message-router/resources/config/dmaap/cadi.properties @@ -1,35 +1,20 @@ -# Copyright © 2017 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. +aaf_locate_url=https://aaf-onap-test.osaaf.org:8095 +aaf_url=https://AAF_LOCATE_URL/AAF_NS.service:2.1 +aaf_env=DEV +aaf_lur=org.onap.aaf.cadi.aaf.v2_0.AAFLurPerm -basic_realm=openecomp.org -basic_warn=TRUE +cadi_truststore=/appl/dmaapMR1/etc/truststoreONAPall.jks +cadi_truststore_password=changeit -cadi_loglevel=DEBUG -#cadi_keyfile=target/swm/package/nix/dist_files/appl/${artifactId}/etc/keyfile2 -cadi_keyfile=/appl/dmaapMR1/etc/keyfile -# Configure AAF -aaf_url=https://DME2RESOLVE/service=org.openecomp.authz.AuthorizationService/version=2.0/envContext=DEV/routeOffer=BAU_SE +cadi_keyfile=/appl/dmaapMR1/etc/keyfilenew -aaf_id=dgl@openecomp.org -aaf_password=enc:f2u5br1mh29M02- -aaf_timeout=5000 -aaf_clean_interval=1200000 -aaf_user_expires=60000 -aaf_high_count=1000000 +cadi_alias=dmaapmr@mr.dmaap.onap.org +cadi_keystore=/appl/dmaapMR1/etc/org.onap.dmaap.mr.p12 +cadi_keystore_password=Messaging for All +cadi_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US -# The following properties are being set by the AJSC Container and should NOT need to be set here. -AFT_LATITUDE=33.823589 -AFT_LONGITUDE=-84.366982 -AFT_ENVIRONMENT=AFTUAT +cadi_loglevel=INFO +cadi_protocols=TLSv1.1,TLSv1.2 +cadi_latitude=37.78187 +cadi_longitude=-122.26147 \ No newline at end of file diff --git a/kubernetes/dmaap/charts/message-router/templates/deployment.yaml b/kubernetes/dmaap/charts/message-router/templates/deployment.yaml index 1798092eb4..4e12ded493 100644 --- a/kubernetes/dmaap/charts/message-router/templates/deployment.yaml +++ b/kubernetes/dmaap/charts/message-router/templates/deployment.yaml @@ -66,6 +66,9 @@ spec: port: {{ .Values.service.externalPort }} initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} periodSeconds: {{ .Values.readiness.periodSeconds }} + env: + - name: enableCadi + value: "false" volumeMounts: - mountPath: /etc/localtime name: localtime diff --git a/kubernetes/dmaap/charts/message-router/values.yaml b/kubernetes/dmaap/charts/message-router/values.yaml index 94b7a44c51..9ba34884da 100644 --- a/kubernetes/dmaap/charts/message-router/values.yaml +++ b/kubernetes/dmaap/charts/message-router/values.yaml @@ -28,7 +28,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/dmaap/dmaap-mr:1.1.6 +image: onap/dmaap/dmaap-mr:1.1.7 pullPolicy: Always kafka: @@ -53,14 +53,14 @@ affinity: {} # probe configuration parameters liveness: - initialDelaySeconds: 10 + initialDelaySeconds: 120 periodSeconds: 10 # necessary to disable liveness probe when setting breakpoints # in debugger so K8s doesn't restart unresponsive container enabled: true readiness: - initialDelaySeconds: 10 + initialDelaySeconds: 120 periodSeconds: 10 service: diff --git a/kubernetes/esr/charts/esr-gui/values.yaml b/kubernetes/esr/charts/esr-gui/values.yaml index 9beb17d168..004d473b99 100644 --- a/kubernetes/esr/charts/esr-gui/values.yaml +++ b/kubernetes/esr/charts/esr-gui/values.yaml @@ -24,7 +24,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/aai/esr-gui:1.1.0 +image: onap/aai/esr-gui:1.2.1 pullPolicy: Always msbaddr: msb-iag.{{ include "common.namespace" . }}:80 diff --git a/kubernetes/esr/charts/esr-server/values.yaml b/kubernetes/esr/charts/esr-server/values.yaml index 8f66148169..ce5688f267 100644 --- a/kubernetes/esr/charts/esr-server/values.yaml +++ b/kubernetes/esr/charts/esr-server/values.yaml @@ -27,7 +27,7 @@ subChartsOnly: # application image repository: nexus3.onap.org:10001 -image: onap/aai/esr-server:1.1.0 +image: onap/aai/esr-server:1.2.1 pullPolicy: Always msbaddr: msb-iag.{{ include "common.namespace" . }}:80 diff --git a/kubernetes/helm/plugins/deploy/deploy.sh b/kubernetes/helm/plugins/deploy/deploy.sh index 07455d7db4..9195f161f6 100755 --- a/kubernetes/helm/plugins/deploy/deploy.sh +++ b/kubernetes/helm/plugins/deploy/deploy.sh @@ -38,25 +38,10 @@ Flags: --set stringArray set values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2) --set-string stringArray set STRING values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2) -f, --values valueFiles specify values in a YAML file or a URL(can specify multiple) (default []) + --verbose enables full helm install/upgrade output during deploy EOF } -parse_yaml() { - local prefix=$2 - local s='[[:space:]]*' w='[a-zA-Z0-9_]*' fs=$(echo @|tr @ '\034') - sed -ne "s|^\($s\)\($w\)$s:$s\"\(.*\)\"$s\$|\1$fs\2$fs\3|p" \ - -e "s|^\($s\)\($w\)$s:$s\(.*\)$s\$|\1$fs\2$fs\3|p" $1 | - awk -F$fs '{ - indent = length($1)/2; - vname[indent] = $2; - for (i in vname) {if (i > indent) {delete vname[i]}} - if (length($3) > 0) { - vn=""; for (i=0; i $GLOBAL_OVERRIDES cat $COMPUTED_OVERRIDES | sed '/common:/,/consul:/d' \ - | sed -n '/'"$START"'/,/'log:'/p' | sed '1d;$d' >> $GLOBAL_OVERRIDES + | sed -n '/'"$START"'/,/'log:'/p' | sed '1d;$d' >> $GLOBAL_OVERRIDES else SUBCHART_DIR="$CACHE_SUBCHART_DIR/$(cut -d':' -f1 <<<"$START")" if [[ -d "$SUBCHART_DIR" ]]; then - cat $COMPUTED_OVERRIDES | sed -n '/'"$START"'/,/'"$END"'/p' \ - | sed '1d;$d' | cut -c3- > $SUBCHART_DIR/subchart-overrides.yaml + if [[ -z "$END" ]]; then + cat $COMPUTED_OVERRIDES | sed -n '/^'"$START"'/,/'"$END"'/p' \ + | sed '1d;$d' | cut -c3- > $SUBCHART_DIR/subchart-overrides.yaml + else + cat $COMPUTED_OVERRIDES | sed -n '/^'"$START"'/,/^'"$END"'/p' \ + | sed '1d;$d' | cut -c3- > $SUBCHART_DIR/subchart-overrides.yaml + fi fi fi done } +resolve_deploy_flags() { + flags=($1) + n=${#flags[*]} + for (( i = 0; i < n; i++ )); do + PARAM=${flags[i]} + if [[ $PARAM == "-f" || \ + $PARAM == "--values" || \ + $PARAM == "--set" || \ + $PARAM == "--set-string" ]]; then + # skip param and its value + i=$((i + 1)) + else + DEPLOY_FLAGS="$DEPLOY_FLAGS $PARAM" + fi + done + echo "$DEPLOY_FLAGS" +} + deploy() { + # validate params + if [[ -z "$1" || -z "$2" ]]; then + usage + exit 0 + fi + RELEASE=$1 CHART_URL=$2 FLAGS=${@:3} @@ -86,23 +100,54 @@ deploy() { CACHE_DIR=~/.helm/plugins/deploy/cache CHART_DIR=$CACHE_DIR/$CHART_NAME CACHE_SUBCHART_DIR=$CHART_DIR-subcharts + LOG_DIR=$CHART_DIR/logs + + # determine if verbose output is enabled + VERBOSE="false" + if [[ $FLAGS = *"--verbose"* ]]; then + FLAGS="$(echo $FLAGS| sed -n 's/--verbose//p')" + VERBOSE="true" + fi + if [[ $FLAGS = *"--dry-run"* ]]; then + VERBOSE="true" + FLAGS="$FLAGS --debug" + fi + # should pass all flags instead - NAMESPACE="$(echo $FLAGS | sed -n 's/.*\(namespace\).\s*/\1/p' | cut -c10-)" - + NAMESPACE="$(echo $FLAGS | sed -n 's/.*\(namespace\).\s*/\1/p' | cut -c10- | cut -d' ' -f1)" + + # Remove all override values passed in as arguments. These will be used during dry run + # to resolve computed override values. Remaining flags will be passed on during + # actual upgrade/install of parent and subcharts. + DEPLOY_FLAGS=$(resolve_deploy_flags "$FLAGS") + + # determine if upgrading individual subchart or entire parent + subcharts + SUBCHART_RELEASE="$(cut -d'-' -f2 <<<"$RELEASE")" + if [[ ! -d "$CACHE_SUBCHART_DIR/$SUBCHART_RELEASE" ]]; then + SUBCHART_RELEASE= + else + # update specified subchart without parent + RELEASE="$(cut -d'-' -f1 <<<"$RELEASE")" + fi + # clear previously cached charts rm -rf $CACHE_DIR + # create log driectory + mkdir -p $LOG_DIR + # fetch umbrella chart (parent chart containing subcharts) if [[ -d "$CHART_URL" ]]; then mkdir -p $CHART_DIR cp -R $CHART_URL/* $CHART_DIR/ - cd $CHART_DIR/charts/ - for subchart in * ; do - tar xzf ${subchart} + charts=$CHART_DIR/charts/* + for subchart in $charts ; do + tar xzf ${subchart} -C $CHART_DIR/charts/ done - rm -rf *.tgz + rm -rf $CHART_DIR/charts/*.tgz else + echo "fetching $CHART_URL" helm fetch $CHART_URL --untar --untardir $CACHE_DIR fi @@ -126,29 +171,57 @@ deploy() { generate_overrides $COMPUTED_OVERRIDES $GLOBAL_OVERRIDES # upgrade/install parent chart first - helm upgrade -i $RELEASE $CHART_DIR --namespace $NAMESPACE -f $COMPUTED_OVERRIDES + if [[ -z "$SUBCHART_RELEASE" ]]; then + LOG_FILE=$LOG_DIR/${RELEASE}.log + :> $LOG_FILE + + helm upgrade -i $RELEASE $CHART_DIR $DEPLOY_FLAGS -f $COMPUTED_OVERRIDES \ + > $LOG_FILE.log 2>&1 - # parse computed overrides - will use to determine if a subchart is "enabled" - eval $(parse_yaml $COMPUTED_OVERRIDES "computed_") + if [[ $VERBOSE == "true" ]]; then + cat $LOG_FILE + else + echo "release \"$RELEASE\" deployed" + fi + fi # upgrade/install each "enabled" subchart - cd $CACHE_SUBCHART_DIR + cd $CACHE_SUBCHART_DIR/ for subchart in * ; do - VAR="computed_${subchart}_enabled" - COMMAND="$"$VAR - eval "SUBCHART_ENABLED=$COMMAND" - if [[ $SUBCHART_ENABLED == "true" ]]; then - SUBCHART_OVERRIDES=$CACHE_SUBCHART_DIR/$subchart/subchart-overrides.yaml - helm upgrade -i "${RELEASE}-${subchart}" $CACHE_SUBCHART_DIR/$subchart \ - --namespace $NAMESPACE -f $GLOBAL_OVERRIDES -f $SUBCHART_OVERRIDES + SUBCHART_OVERRIDES=$CACHE_SUBCHART_DIR/$subchart/subchart-overrides.yaml + + SUBCHART_ENABLED=0 + if [[ -f $SUBCHART_OVERRIDES ]]; then + SUBCHART_ENABLED=$(cat $SUBCHART_OVERRIDES | grep -c "^enabled: true") + fi + + if [[ $SUBCHART_ENABLED -eq 1 ]]; then + if [[ -z "$SUBCHART_RELEASE" || $SUBCHART_RELEASE == "$subchart" ]]; then + LOG_FILE=$LOG_DIR/"${RELEASE}-${subchart}".log + :> $LOG_FILE + + helm upgrade -i "${RELEASE}-${subchart}" $CACHE_SUBCHART_DIR/$subchart \ + $DEPLOY_FLAGS -f $GLOBAL_OVERRIDES -f $SUBCHART_OVERRIDES \ + > $LOG_FILE 2>&1 + + if [[ $VERBOSE == "true" ]]; then + cat $LOG_FILE + else + echo "release \"${RELEASE}-${subchart}\" deployed" + fi + fi + else + array=($(helm ls -q | grep "${RELEASE}-${subchart}")) + n=${#array[*]} + for (( i = n-1; i >= 0; i-- )); do + helm del "${array[i]}" --purge + done fi done -} -if [[ $# < 2 ]]; then - usage - exit 0 -fi + # report on success/failures of installs/upgrades + helm ls | grep FAILED | grep $RELEASE +} case "${1:-"help"}" in "help") diff --git a/kubernetes/helm/plugins/undeploy/undeploy.sh b/kubernetes/helm/plugins/undeploy/undeploy.sh index 02b5d34c65..8191174314 100755 --- a/kubernetes/helm/plugins/undeploy/undeploy.sh +++ b/kubernetes/helm/plugins/undeploy/undeploy.sh @@ -21,7 +21,7 @@ undeploy() { RELEASE=$1 FLAGS=$2 - array=($(helm ls -q | grep $RELEASE)) + array=($(helm ls -q --all | grep $RELEASE)) n=${#array[*]} for (( i = n-1; i >= 0; i-- )) do diff --git a/kubernetes/helm/starters/onap-app/README.md b/kubernetes/helm/starters/onap-app/README.md index edb0a78197..41d002bdb0 100644 --- a/kubernetes/helm/starters/onap-app/README.md +++ b/kubernetes/helm/starters/onap-app/README.md @@ -12,8 +12,8 @@ Helm Charts for specific applications should be moved into the oom/kubernetes directory. If the application is a common reusable Helm Chart (eg. mariadb), a more appropriate location might be the oom/kubernetes/common directory. -Edit each yaml file in the new Helm Chart directoy, substituing real values -for those inside brackets (eg. ``). Some comments have been provided in +Edit each yaml file in the new Helm Chart directory, substituting real values +for those inside brackets (e.g. ``). Some comments have been provided in the file to help guide changes that need to be made. This starter Helm Chart is in no way complete. It can serve as the basis for creating a new Helm Chart that attempts to apply Helm best practices to ONAP applications being configured, diff --git a/kubernetes/helm/starters/onap-app/templates/NOTES.txt b/kubernetes/helm/starters/onap-app/templates/NOTES.txt index 4ca95aacbb..649b388bf7 100644 --- a/kubernetes/helm/starters/onap-app/templates/NOTES.txt +++ b/kubernetes/helm/starters/onap-app/templates/NOTES.txt @@ -19,7 +19,7 @@ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/kubernetes/msb/charts/msb-consul/templates/NOTES.txt b/kubernetes/msb/charts/msb-consul/templates/NOTES.txt index 1ebb593958..e0cea22074 100644 --- a/kubernetes/msb/charts/msb-consul/templates/NOTES.txt +++ b/kubernetes/msb/charts/msb-consul/templates/NOTES.txt @@ -26,7 +26,7 @@ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/kubernetes/msb/charts/msb-discovery/templates/NOTES.txt b/kubernetes/msb/charts/msb-discovery/templates/NOTES.txt index 1ebb593958..e0cea22074 100644 --- a/kubernetes/msb/charts/msb-discovery/templates/NOTES.txt +++ b/kubernetes/msb/charts/msb-discovery/templates/NOTES.txt @@ -26,7 +26,7 @@ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/kubernetes/msb/charts/msb-discovery/values.yaml b/kubernetes/msb/charts/msb-discovery/values.yaml index d36c153cac..42bf084324 100644 --- a/kubernetes/msb/charts/msb-discovery/values.yaml +++ b/kubernetes/msb/charts/msb-discovery/values.yaml @@ -24,7 +24,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/msb/msb_discovery:1.2.0-SNAPSHOT-latest +image: onap/msb/msb_discovery:1.2.1 pullPolicy: Always istioSidecar: true diff --git a/kubernetes/msb/charts/msb-eag/templates/NOTES.txt b/kubernetes/msb/charts/msb-eag/templates/NOTES.txt index 1ebb593958..e0cea22074 100644 --- a/kubernetes/msb/charts/msb-eag/templates/NOTES.txt +++ b/kubernetes/msb/charts/msb-eag/templates/NOTES.txt @@ -26,7 +26,7 @@ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/kubernetes/msb/charts/msb-eag/values.yaml b/kubernetes/msb/charts/msb-eag/values.yaml index cf20fdcbab..fabbed28a1 100644 --- a/kubernetes/msb/charts/msb-eag/values.yaml +++ b/kubernetes/msb/charts/msb-eag/values.yaml @@ -24,7 +24,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/msb/msb_apigateway:1.2.0-SNAPSHOT-latest +image: onap/msb/msb_apigateway:1.2.1 pullPolicy: Always istioSidecar: true diff --git a/kubernetes/msb/charts/msb-iag/templates/NOTES.txt b/kubernetes/msb/charts/msb-iag/templates/NOTES.txt index 1ebb593958..e0cea22074 100644 --- a/kubernetes/msb/charts/msb-iag/templates/NOTES.txt +++ b/kubernetes/msb/charts/msb-iag/templates/NOTES.txt @@ -26,7 +26,7 @@ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/kubernetes/msb/charts/msb-iag/values.yaml b/kubernetes/msb/charts/msb-iag/values.yaml index b6417de382..07eb045c14 100644 --- a/kubernetes/msb/charts/msb-iag/values.yaml +++ b/kubernetes/msb/charts/msb-iag/values.yaml @@ -24,7 +24,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/msb/msb_apigateway:1.2.0-SNAPSHOT-latest +image: onap/msb/msb_apigateway:1.2.1 pullPolicy: Always istioSidecar: true diff --git a/kubernetes/multicloud/charts/multicloud-azure/values.yaml b/kubernetes/multicloud/charts/multicloud-azure/values.yaml index 7b9d9c7e4b..1a168e9249 100644 --- a/kubernetes/multicloud/charts/multicloud-azure/values.yaml +++ b/kubernetes/multicloud/charts/multicloud-azure/values.yaml @@ -24,7 +24,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/multicloud/azure:1.2.0-SNAPSHOT +image: onap/multicloud/azure:1.2.0 pullPolicy: Always #Istio sidecar injection policy diff --git a/kubernetes/multicloud/charts/multicloud-ocata/templates/service.yaml b/kubernetes/multicloud/charts/multicloud-ocata/templates/service.yaml index cbe426edae..fda5ecefc8 100644 --- a/kubernetes/multicloud/charts/multicloud-ocata/templates/service.yaml +++ b/kubernetes/multicloud/charts/multicloud-ocata/templates/service.yaml @@ -18,7 +18,7 @@ apiVersion: v1 kind: Service metadata: - name: {{ .Values.service.name }} + name: {{ include "common.servicename" . }} namespace: {{ include "common.namespace" . }} labels: app: {{ include "common.name" . }} @@ -34,18 +34,26 @@ metadata: "protocol": "REST", "port": "{{ .Values.service.externalPort }}", "visualRange": "1" + }, + { + "serviceName": "multicloud-ocata", + "version": "v1", + "url": "/api/multicloud-ocata/v1", + "protocol": "REST", + "port": "{{ .Values.service.externalPort }}", + "visualRange": "1" } ]' spec: ports: {{if eq .Values.service.type "NodePort" -}} - - name: http-{{ .Values.service.name }} - port: {{ .Values.service.externalPort }} + - port: {{ .Values.service.externalPort }} nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }} + name: {{ .Values.service.portName }} {{- else -}} - port: {{ .Values.service.externalPort }} targetPort: {{ .Values.service.internalPort }} - name: http-{{ .Values.service.name }} + name: {{ .Values.service.portName }} {{- end}} selector: app: {{ include "common.name" . }} diff --git a/kubernetes/multicloud/charts/multicloud-ocata/values.yaml b/kubernetes/multicloud/charts/multicloud-ocata/values.yaml index 699b908c43..11badedbf9 100644 --- a/kubernetes/multicloud/charts/multicloud-ocata/values.yaml +++ b/kubernetes/multicloud/charts/multicloud-ocata/values.yaml @@ -24,7 +24,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/multicloud/openstack-ocata:1.2.0-STAGING +image: onap/multicloud/openstack-ocata:1.2.0 pullPolicy: Always #Istio sidecar injection policy @@ -59,6 +59,7 @@ liveness: service: type: NodePort name: multicloud-ocata + portName: multicloud-ocata externalPort: 9006 internalPort: 9006 nodePort: 93 @@ -84,4 +85,4 @@ resources: requests: cpu: 20m memory: 2Gi - unlimited: {} \ No newline at end of file + unlimited: {} diff --git a/kubernetes/multicloud/charts/multicloud-pike/values.yaml b/kubernetes/multicloud/charts/multicloud-pike/values.yaml index ee937ae2ac..47e1406a10 100644 --- a/kubernetes/multicloud/charts/multicloud-pike/values.yaml +++ b/kubernetes/multicloud/charts/multicloud-pike/values.yaml @@ -23,7 +23,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/multicloud/openstack-pike:1.2.0-STAGING +image: onap/multicloud/openstack-pike:1.2.0 pullPolicy: Always #Istio sidecar injection policy diff --git a/kubernetes/multicloud/charts/multicloud-vio/templates/service.yaml b/kubernetes/multicloud/charts/multicloud-vio/templates/service.yaml index b53aef4bed..b34cbecb9d 100644 --- a/kubernetes/multicloud/charts/multicloud-vio/templates/service.yaml +++ b/kubernetes/multicloud/charts/multicloud-vio/templates/service.yaml @@ -18,7 +18,7 @@ apiVersion: v1 kind: Service metadata: - name: {{ .Values.service.name }} + name: {{ include "common.servicename" . }} namespace: {{ include "common.namespace" . }} labels: app: {{ include "common.name" . }} @@ -34,18 +34,26 @@ metadata: "protocol": "REST", "port": "{{ .Values.service.externalPort }}", "visualRange": "1" + }, + { + "serviceName": "multicloud-vio", + "version": "v1", + "url": "/api/multicloud-vio/v1", + "protocol": "REST", + "port": "{{ .Values.service.externalPort }}", + "visualRange": "1" } ]' spec: ports: {{if eq .Values.service.type "NodePort" -}} - - name: http-{{ .Values.service.name }} - port: {{ .Values.service.externalPort }} + - port: {{ .Values.service.externalPort }} nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }} + name: {{ .Values.service.portName }} {{- else -}} - port: {{ .Values.service.externalPort }} targetPort: {{ .Values.service.internalPort }} - name: http-{{ .Values.service.name }} + name: {{ .Values.service.portName }} {{- end}} selector: app: {{ include "common.name" . }} diff --git a/kubernetes/multicloud/charts/multicloud-vio/values.yaml b/kubernetes/multicloud/charts/multicloud-vio/values.yaml index 810646dc13..edd19b872a 100644 --- a/kubernetes/multicloud/charts/multicloud-vio/values.yaml +++ b/kubernetes/multicloud/charts/multicloud-vio/values.yaml @@ -24,7 +24,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/multicloud/vio:1.1.2 +image: onap/multicloud/vio:1.2.0 pullPolicy: Always #Istio sidecar injection policy @@ -59,6 +59,7 @@ liveness: service: type: NodePort name: multicloud-vio + portName: multicloud-vio externalPort: 9004 internalPort: 9004 nodePort: 92 @@ -84,4 +85,4 @@ resources: requests: cpu: 20m memory: 2Gi - unlimited: {} \ No newline at end of file + unlimited: {} diff --git a/kubernetes/multicloud/charts/multicloud-windriver/templates/service.yaml b/kubernetes/multicloud/charts/multicloud-windriver/templates/service.yaml index f876bb97ac..c1128bbf47 100644 --- a/kubernetes/multicloud/charts/multicloud-windriver/templates/service.yaml +++ b/kubernetes/multicloud/charts/multicloud-windriver/templates/service.yaml @@ -18,7 +18,7 @@ apiVersion: v1 kind: Service metadata: - name: {{ .Values.service.name }} + name: {{ include "common.servicename" . }} namespace: {{ include "common.namespace" . }} labels: app: {{ include "common.name" . }} @@ -32,7 +32,7 @@ metadata: "version": "v0", "url": "/api/multicloud-titanium_cloud/v0", "protocol": "REST", - "port": "{{ .Values.service.internalPort }}", + "port": "{{ .Values.service.externalPort }}", "visualRange": "1" }, { @@ -40,7 +40,7 @@ metadata: "version": "v0", "url": "/api/multicloud-titaniumcloud/v0", "protocol": "REST", - "port": "{{ .Values.service.internalPort }}", + "port": "{{ .Values.service.externalPort }}", "visualRange": "1" }, { @@ -48,7 +48,7 @@ metadata: "version": "v1", "url": "/api/multicloud-titaniumcloud/v1", "protocol": "REST", - "port": "{{ .Values.service.internalPort }}", + "port": "{{ .Values.service.externalPort }}", "visualRange": "1" } ]' @@ -56,13 +56,13 @@ metadata: spec: ports: {{ if eq .Values.service.type "NodePort" }} - - name: http-{{ .Values.service.name }} - port: {{ .Values.service.externalPort }} + - port: {{ .Values.service.externalPort }} nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }} + name: {{ .Values.service.portName }} {{ else }} - port: {{ .Values.service.externalPort }} targetPort: {{ .Values.service.internalPort }} - name: http-{{ .Values.service.name }} + name: {{ .Values.service.portName }} {{ end }} selector: app: {{ include "common.name" . }} diff --git a/kubernetes/multicloud/charts/multicloud-windriver/values.yaml b/kubernetes/multicloud/charts/multicloud-windriver/values.yaml index 4ebf84399f..ee2143a96b 100644 --- a/kubernetes/multicloud/charts/multicloud-windriver/values.yaml +++ b/kubernetes/multicloud/charts/multicloud-windriver/values.yaml @@ -24,7 +24,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/multicloud/openstack-windriver:1.2.0-STAGING +image: onap/multicloud/openstack-windriver:1.2.0 pullPolicy: Always #Istio sidecar injection policy @@ -43,6 +43,7 @@ config: service: type: NodePort name: multicloud-titaniumcloud + portName: multicloud-titaniumcloud externalPort: 9005 internalPort: 9005 nodePort: 94 @@ -84,4 +85,4 @@ resources: requests: cpu: 20m memory: 2Gi - unlimited: {} \ No newline at end of file + unlimited: {} diff --git a/kubernetes/multicloud/templates/service.yaml b/kubernetes/multicloud/templates/service.yaml index 1ad3e5164c..e34bdf4502 100644 --- a/kubernetes/multicloud/templates/service.yaml +++ b/kubernetes/multicloud/templates/service.yaml @@ -18,7 +18,7 @@ apiVersion: v1 kind: Service metadata: - name: {{ .Values.service.name }} + name: {{ .Values.service.portName }} namespace: {{ include "common.namespace" . }} labels: app: {{ include "common.name" . }} @@ -34,18 +34,26 @@ metadata: "protocol": "REST", "port": "{{ .Values.service.externalPort }}", "visualRange": "1" + }, + { + "serviceName": "multicloud", + "version": "v1", + "url": "/api/multicloud/v1", + "protocol": "REST", + "port": "{{ .Values.service.externalPort }}", + "visualRange": "1" } ]' spec: ports: {{if eq .Values.service.type "NodePort" -}} - - name: {{ .Values.service.name }} - port: {{ .Values.service.externalPort }} + - port: {{ .Values.service.externalPort }} nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }} + name: {{ .Values.service.portName }} {{- else -}} - port: {{ .Values.service.externalPort }} targetPort: {{ .Values.service.internalPort }} - name: {{ .Values.service.name }} + name: {{ .Values.service.portName }} {{- end}} selector: app: {{ include "common.name" . }} diff --git a/kubernetes/multicloud/values.yaml b/kubernetes/multicloud/values.yaml index 3f1da7eb0c..79fbb9ba0f 100644 --- a/kubernetes/multicloud/values.yaml +++ b/kubernetes/multicloud/values.yaml @@ -26,7 +26,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/multicloud/framework:1.2.0-STAGING +image: onap/multicloud/framework:1.2.0 pullPolicy: Always #Istio sidecar injection policy @@ -63,6 +63,7 @@ liveness: service: type: NodePort name: multicloud + portName: multicloud-framework externalPort: 9001 internalPort: 9001 nodePort: 91 @@ -88,4 +89,4 @@ resources: requests: cpu: 20m memory: 2Gi - unlimited: {} \ No newline at end of file + unlimited: {} diff --git a/kubernetes/nbi/values.yaml b/kubernetes/nbi/values.yaml index 89a3f4b280..ac5d3266d5 100644 --- a/kubernetes/nbi/values.yaml +++ b/kubernetes/nbi/values.yaml @@ -87,8 +87,8 @@ liveness: httpGet: path: /nbi/api/v3/status port: 8080 - initialDelaySeconds: 120 - periodSeconds: 20 + initialDelaySeconds: 180 + periodSeconds: 30 # necessary to disable liveness probe when setting breakpoints # in debugger so K8s doesn't restart unresponsive container enabled: true @@ -97,8 +97,8 @@ readiness: httpGet: path: /nbi/api/v3/status port: 8080 - initialDelaySeconds: 125 - periodSeconds: 20 + initialDelaySeconds: 185 + periodSeconds: 30 service: type: NodePort diff --git a/kubernetes/onap/resources/environments/public-cloud.yaml b/kubernetes/onap/resources/environments/public-cloud.yaml index 35c164218d..489176b0a5 100644 --- a/kubernetes/onap/resources/environments/public-cloud.yaml +++ b/kubernetes/onap/resources/environments/public-cloud.yaml @@ -72,6 +72,17 @@ dmaap: initialDelaySeconds: 120 readiness: initialDelaySeconds: 120 + dmaap-dr-prov: + liveness: + initialDelaySeconds: 120 + readiness: + initialDelaySeconds: 120 + dmaap-dr-node: + liveness: + initialDelaySeconds: 120 + readiness: + initialDelaySeconds: 120 + portal: portal-app: liveness: diff --git a/kubernetes/onap/values.yaml b/kubernetes/onap/values.yaml index b486f16193..4950ae570b 100644 --- a/kubernetes/onap/values.yaml +++ b/kubernetes/onap/values.yaml @@ -47,15 +47,11 @@ global: persistence: mountPath: /dockerdata-nfs - # flag to enable debugging - application support required - debugEnabled: false - # override default resource limit flavor for all charts flavor: unlimited -# Repository for creation of nexus3.onap.org secret -repository: nexus3.onap.org:10001 - + # flag to enable debugging - application support required + debugEnabled: false ################################################################# # Enable/disable and configure helm charts (ie. applications) diff --git a/kubernetes/oof/Makefile b/kubernetes/oof/Makefile index 72f97ef44c..e27258aafc 100644 --- a/kubernetes/oof/Makefile +++ b/kubernetes/oof/Makefile @@ -14,3 +14,4 @@ make-has: cd charts && helm dep up oof-has + cd charts && helm dep up oof-cmso diff --git a/kubernetes/oof/charts/oof-cmso/Chart.yaml b/kubernetes/oof/charts/oof-cmso/Chart.yaml new file mode 100644 index 0000000000..eb5e97b58f --- /dev/null +++ b/kubernetes/oof/charts/oof-cmso/Chart.yaml @@ -0,0 +1,18 @@ +# Copyright © 2018 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. + +apiVersion: v1 +description: Chart for Change Management Service Orchestrator (CMSO) +name: oof-cmso +version: 3.0.0 diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/Chart.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/Chart.yaml new file mode 100644 index 0000000000..1af0d049fe --- /dev/null +++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/Chart.yaml @@ -0,0 +1,18 @@ +# Copyright © 2018 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. + +apiVersion: v1 +description: Chart for Change Management Service Orchestrator (CMSO) Service +name: oof-cmso-service +version: 3.0.0 diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/cmso.properties b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/cmso.properties new file mode 100644 index 0000000000..cf1d35e105 --- /dev/null +++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/cmso.properties @@ -0,0 +1,104 @@ + +#------------------------------------------------------------------------------- +# Copyright © 2017-2018 AT&T Intellectual Property. +# Modifications Copyright © 2018 IBM. +# +# 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. +# +# +# Unless otherwise specified, all documentation contained herein is licensed +# under the Creative Commons License, Attribution 4.0 Intl. (the â??Licenseâ?); +# you may not use this documentation except in compliance with the License. +# You may obtain a copy of the License at +# +# https://creativecommons.org/licenses/by/4.0/ +# +# Unless required by applicable law or agreed to in writing, documentation +# 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. +#------------------------------------------------------------------------------- +### + +### MySQL DB. +spring.datasource.url=jdbc:mariadb://${DB_HOST}:${DB_PORT}/${DB_SCHEMA} +spring.datasource.driver-class-name=org.mariadb.jdbc.Driver +spring.datasource.username=${DB_USERNAME} +spring.datasource.password=${DB_PASSWORD} +cmso.database.password=${DB_PASSWORD} + +spring.datasource.initialize=false +spring.datasource.tomcat.max-wait=10000 +spring.datasource.tomcat.initialSize=5 +spring.datasource.tomcat.max-active=25 +spring.datasource.tomcat.test-on-borrow=true + +spring.jpa.show-sql=true +spring.jpa.hibernate.ddl-auto=none +spring.jpa.hibernate.naming.strategy=org.hibernate.cfg.EJB3NamingStrategy +spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect +spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl +spring.jpa.hibernate.id.new_generator_mappings=false +hibernate.id.new_generator_mappings=false + +logging.level.org.hibernate.SQL=TRACE + +logging.level.org.hibernate=TRACE + +# +cmso.aaf.enabled=false + +# Enable swagger - Enable in development and test only +cmso.swagger.enabled=true + +# Enable schedule immediate to be dispatched without ticket approvals +# Has no effect when in vTM loopback mode as always approved. +cmso.cm.dispatch.immediate.enabled = true + +# NUmber of seconds between sniro dispatch jobs +cmso.optimizer.job.interval.ms=10000 + +# NUmber of seconds between change management cmso polling jobs +# Controls frequenct of polling to the ChangeManagementScheduler table... +cmso.cm.polling.job.interval.ms=10000 +# How many management cmso polling intervals to look ahead to dispatch +# (To account for possible latency of the polling job) +cmso.cm.polling.job.lookahead.intervals=5 +# Lead time before event time to enable dispatcher to +# test that it is safe to dispatch (i.e. meeting reminder lead time) +cmso.cm.dispatcher.lead.time.ms=5000 +# Lead time to prepare and call VID to dispatch work to MSO +# Includes latency from VID call to the start of the workflow +cmso.cm.dispatch.lead.time.ms=1000 + +# Interval between polling to check status of schedules in Notifications Initiated status +cmso.status.job.interval.ms=60000 + +org.quartz.jobStore.class=org.quartz.simpl.RAMJobStore + +loopback.mso.requestId=dummy123 + +so.polling.interval.ms=10000 +#mso.user=cmso@onap.org +#mso.pass=enc:bfodXf8qRfCqMvlxVBYNWQ== + +## loopback settings +so.url=http://localhost:8080/cmso/v1/loopbacktest/onap/so/infra/orchestrationRequests/v7 +so.user=cmso@onap.org +so.pass=enc:bfodXf8qRfCqMvlxVBYNWQ== + +mechid.user=cmso@onap.org +mechid.pass=enc:bfodXf8qRfCqMvlxVBYNWQ== + +cmso.dispatch.url=http://localhost:8089 diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/liquibase.properties b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/liquibase.properties new file mode 100644 index 0000000000..66dad37bd8 --- /dev/null +++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/liquibase.properties @@ -0,0 +1,54 @@ +### +# Copyright © 2017-2018 AT&T Intellectual Property. +# Modifications Copyright © 2018 IBM. +# +# 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. +# +# +# Unless otherwise specified, all documentation contained herein is licensed +# under the Creative Commons License, Attribution 4.0 Intl. (the ââ?¬Å"Licenseââ?¬); +# you may not use this documentation except in compliance with the License. +# You may obtain a copy of the License at +# +# https://creativecommons.org/licenses/by/4.0/ +# +# Unless required by applicable law or agreed to in writing, documentation +# 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. +### +spring.datasource.jdbcUrl=jdbc:mariadb://${DB_HOST}:${DB_PORT}/${DB_SCHEMA}?createDatabaseIfNotExist=true +spring.datasource.driver-class-name=org.mariadb.jdbc.Driver +spring.datasource.username=${DB_USERNAME} +spring.datasource.password=${DB_PASSWORD} + +spring.datasource.initialize=false +spring.datasource.tomcat.max-wait=10000 +spring.datasource.tomcat.initialSize=5 +spring.datasource.tomcat.max-active=25 +spring.datasource.tomcat.test-on-borrow=true + + +#changeLogFile=calendar-liquibase-changeLog.xml +changeLogFile=cmso-liquibase-changeLog.xml + + +#spring.main.web-environment=false +#outputChangeLogFile=src/main/resources/cmso-output-changelog.xml +#url=jdbc:mariadb://localhost:3306/calendar +#url=jdbc:mysql://localhost:3306/cmso +#username=root +#password=root +#driver=org.mariadb.jdbc.Driver +#driver=com.mysql.jdbc.Driver diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/logback.xml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/logback.xml new file mode 100644 index 0000000000..e4386fd249 --- /dev/null +++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/logback.xml @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + INFO + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n + + + + + + INFO + + ${logDirectory}/error2.log + true + + ${defaultPattern} + + + ${outputDirectory}/cmso/error.%d{yyyy-MM-dd}.%i.log.zip + 50MB + 30 + 10GB + + + 10MB + + + + + ${logDirectory}/debug.log + true + + ${debugPattern} + + + ${outputDirectory}/cmso/debug.%d{yyyy-MM-dd}.%i.log.zip + 50MB + 30 + 10GB + + + + + + ${logDirectory}/audit.log + true + + %X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n + + + + 10 + ${logDirectory}/audit.%i.log.zip + + + + 10MB + + + + 256 + + + + + ${logDirectory}/metric.log + true + + %X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| + %msg%n + + + 10 + ${logDirectory}/metric.%i.log.zip + + + + 10MB + + + + 256 + + + + + + ${logDirectory}/security.log + true + + %X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n + + + + 10 + ${logDirectory}/security.%i.log.zip + + + + 10MB + + + + 256 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${logDirectory}/Audit-${lrmRVer}-${lrmRO}-${Pid}.log + + ${logDirectory}/Audit-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip + + 1 + 9 + + + 5MB + + + "%d [%thread] %-5level %logger{1024} - %msg%n" + + + + + + ${logDirectory}/Perform-${lrmRVer}-${lrmRO}-${Pid}.log + + ${logDirectory}/Perform-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip + + 1 + 9 + + + 5MB + + + "%d [%thread] %-5level %logger{1024} - %msg%n" + + + + + + + + + + + + + + + + + + + diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/optimizer.properties b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/optimizer.properties new file mode 100644 index 0000000000..b222d7bf59 --- /dev/null +++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/optimizer.properties @@ -0,0 +1,34 @@ +#------------------------------------------------------------------------------- +# Copyright © 2017-2018 AT&T Intellectual Property. +# Modifications Copyright © 2018 IBM. +# +# 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. +# +# +# Unless otherwise specified, all documentation contained herein is licensed +# under the Creative Commons License, Attribution 4.0 Intl. (the â??Licenseâ?); +# you may not use this documentation except in compliance with the License. +# You may obtain a copy of the License at +# +# https://creativecommons.org/licenses/by/4.0/ +# +# Unless required by applicable law or agreed to in writing, documentation +# 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. +#------------------------------------------------------------------------------- + +cmso.optimizer.url=http://localhost:8080/cmso/v1/loopbacktest/optimizer +cmso.optimizer.callbackurl=http://localhost:8080/cmso/v1/optimizerCallback + diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/ticketmgt.properties b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/ticketmgt.properties new file mode 100644 index 0000000000..bfdaec6b8d --- /dev/null +++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/ticketmgt.properties @@ -0,0 +1,38 @@ +#------------------------------------------------------------------------------- +# Copyright © 2017-2018 AT&T Intellectual Property. +# Modifications Copyright © 2018 IBM. +# +# 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. +# +# +# Unless otherwise specified, all documentation contained herein is licensed +# under the Creative Commons License, Attribution 4.0 Intl. (the â??Licenseâ?); +# you may not use this documentation except in compliance with the License. +# You may obtain a copy of the License at +# +# https://creativecommons.org/licenses/by/4.0/ +# +# Unless required by applicable law or agreed to in writing, documentation +# 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. +#------------------------------------------------------------------------------- + +tm.vnfs.per.ticket=1 +tm.getPath=http://localhost:8080/cmso/v1/tm/getChangeRecord +tm.createPath=http://localhost:8080/cmso/v1/tm/createChangeRecord +tm.closePath=http://localhost:8080/cmso/v1/tm/closeCancelChangeRecord +tm.updatePath=http://localhost:8080/cmso/v1/tm/updateChangeRecord +tm.approvalStatus=Approved|Scheduled,Approved|Assigned +tm.template.folder=data/templates/tm diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/templates/NOTES.txt b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/templates/NOTES.txt similarity index 89% rename from kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/templates/NOTES.txt rename to kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/templates/NOTES.txt index 974fae450e..1103affff1 100644 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/templates/NOTES.txt +++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/templates/NOTES.txt @@ -1,5 +1,4 @@ -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware +# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,7 +11,6 @@ # 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. - 1. Get the application URL by running these commands: {{- if .Values.ingress.enabled }} {{- range .Values.ingress.hosts }} @@ -28,7 +26,7 @@ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/configmap.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/templates/configmap.yaml similarity index 86% rename from kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/configmap.yaml rename to kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/templates/configmap.yaml index 7a38efa8cc..c4397359dc 100644 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/configmap.yaml +++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/templates/configmap.yaml @@ -1,5 +1,4 @@ -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright (C) 2018 AT&T,VMware +# Copyright © 2018 AT&T # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -16,7 +15,7 @@ apiVersion: v1 kind: ConfigMap metadata: - name: {{ include "common.fullname" . }}-configmap + name: {{ include "common.fullname" . }} namespace: {{ include "common.namespace" . }} labels: app: {{ include "common.name" . }} diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/templates/deployment.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/templates/deployment.yaml new file mode 100644 index 0000000000..47f732aa1e --- /dev/null +++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/templates/deployment.yaml @@ -0,0 +1,140 @@ +# Copyright © 2018 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. + +apiVersion: extensions/v1beta1 +kind: Deployment +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: + replicas: {{ .Values.replicaCount }} + template: + metadata: + labels: + app: {{ include "common.name" . }} + release: {{ .Release.Name }} + spec: + initContainers: + - command: + - /root/ready.py + args: + - --container-name + - {{ .Values.mariadb.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 + - name: db-init + image: "{{ include "common.repository" . }}/{{ .Values.dbinit.image }}" + imagePullPolicy: Always + env: + - name: DB_HOST + value: {{ .Values.config.db_host }}.{{.Release.Namespace}} + - name: DB_PORT + value: {{ .Values.config.db_port | quote}} + - name: DB_USERNAME + value: {{ .Values.config.db_root }} + - name: DB_SCHEMA + value: {{ .Values.config.mysqlDatabase }} + - name: DB_PASSWORD + valueFrom: + secretKeyRef: + name: {{ .Release.Name}}-cmso-db + key: db-root-password + terminationMessagePolicy: File + volumeMounts: + - name: {{ include "common.fullname" . }}-config + mountPath: /share/etc/config + - name: {{ include "common.fullname" . }}-logs + mountPath: /share/logs + containers: + - name: {{ include "common.name" . }} + image: "{{ include "common.repository" . }}/{{ .Values.image }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + env: + - name: DB_HOST + value: {{ .Values.config.db_host }}.{{.Release.Namespace}} + - name: DB_PORT + value: {{ .Values.config.db_port | quote}} + - name: DB_USERNAME + value: {{ .Values.config.db_user }} + - name: DB_SCHEMA + value: {{ .Values.config.mysqlDatabase }} + - name: DB_PASSWORD + valueFrom: + secretKeyRef: + name: {{ .Release.Name}}-cmso-db + key: user-password + ports: + - containerPort: {{ .Values.service.internalPort }} + # disable liveness probe when breakpoints set in debugger + # so K8s doesn't restart unresponsive container + {{- if eq .Values.liveness.enabled true }} + livenessProbe: + tcpSocket: + port: {{ .Values.service.internalPort }} + initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }} + periodSeconds: {{ .Values.liveness.periodSeconds }} + {{ end -}} + readinessProbe: + tcpSocket: + port: {{ .Values.service.internalPort }} + initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} + periodSeconds: {{ .Values.readiness.periodSeconds }} + volumeMounts: + - name: {{ include "common.fullname" . }}-logs + mountPath: /share/logs + - name: {{ include "common.fullname" . }}-logs + mountPath: /share/debug-logs + - name: {{ include "common.fullname" . }}-config + mountPath: /share/etc/config + resources: +{{ include "common.resources" . | indent 12 }} + {{- if .Values.nodeSelector }} + nodeSelector: +{{ toYaml .Values.nodeSelector | indent 10 }} + {{- end -}} + {{- if .Values.affinity }} + affinity: +{{ toYaml .Values.affinity | indent 10 }} + {{- end }} + volumes: + - name: {{ include "common.fullname" . }}-config + configMap: + name: {{ include "common.fullname" . }} + items: + - key: logback.xml + path: logback.xml + - key: cmso.properties + path: cmso.properties + - key: optimizer.properties + path: optimizer.properties + - key: ticketmgt.properties + path: ticketmgt.properties + - key: liquibase.properties + path: liquibase.properties + - name: {{ include "common.fullname" . }}-logs + emptyDir: {} + imagePullSecrets: + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/service.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/templates/service.yaml similarity index 90% rename from kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/service.yaml rename to kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/templates/service.yaml index 097a44d2f6..1624a08b27 100644 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/service.yaml +++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/templates/service.yaml @@ -1,5 +1,4 @@ -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware +# Copyright © 2018 AT&T # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -23,12 +22,11 @@ metadata: chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} - annotations: spec: type: {{ .Values.service.type }} ports: {{if eq .Values.service.type "NodePort" -}} - - port: {{ .Values.service.externalPort }} + - port: {{ .Values.service.internalPort }} nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }} name: {{ .Values.service.portName }} {{- else -}} diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/values.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/values.yaml new file mode 100644 index 0000000000..a446929e97 --- /dev/null +++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/values.yaml @@ -0,0 +1,102 @@ +# Copyright © 2018 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 configuration defaults. +################################################################# +global: # global defaults + nodePortPrefix: 302 + readinessRepository: oomk8s + readinessImage: readiness-check:2.0.0 + +subChartsOnly: + enabled: true + +# application image +repository: nexus3.onap.org:10001 +image: onap/optf-cmso-service:latest +pullPolicy: Always + +#init container image +dbinit: + image: onap/optf-cmso-dbinit:latest + +# flag to enable debugging - application support required +debugEnabled: false + +################################################################# +# Application configuration defaults. +################################################################# +# default number of instances +replicaCount: 1 + +nodeSelector: {} + +affinity: {} + +# probe configuration parameters +liveness: + initialDelaySeconds: 120 + periodSeconds: 10 + # necessary to disable liveness probe when setting breakpoints + # in debugger so K8s doesn't restart unresponsive container + enabled: true + +readiness: + initialDelaySeconds: 10 + periodSeconds: 10 + + +service: + type: ClusterIP + name: oof-cmso + portName: cmso + internalPort: 8080 + externalPort: 8080 + #nodePort: 23 + # as of 20181022 port 23 is reserved for cmso + # see https://wiki.onap.org/display/DW/OOM+NodePort+List + + +config: + db_root: root + db_user: cmso-admin + mysqlDatabase: cmso + db_host: oof-cmso-dbhost + db_port: 3306 + +mariadb: + nameOverride: cmso-db + +ingress: + enabled: false + +#resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # + # Example: + # Configure resource requests and limits + # ref: http://kubernetes.io/docs/user-guide/compute-resources/ + # Minimum memory for development is 2 CPU cores and 4GB memory + # Minimum memory for production is 4 CPU cores and 8GB memory +resources: + limits: + cpu: 1 + memory: 1.2Gi + requests: + cpu: 10m + memory: 800Mi diff --git a/kubernetes/oof/charts/oof-cmso/requirements.yaml b/kubernetes/oof/charts/oof-cmso/requirements.yaml new file mode 100644 index 0000000000..2a3bb70ff1 --- /dev/null +++ b/kubernetes/oof/charts/oof-cmso/requirements.yaml @@ -0,0 +1,24 @@ +# Copyright © 2018 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. + +dependencies: + - name: common + version: ~3.0.0 + # local reference to common chart, as it is + # a part of this chart's package and will not + # be published independently to a repo (at this point) + repository: '@local' + - name: mariadb-galera + version: ~3.0.0 + repository: '@local' diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-music/resources/config/music.properties b/kubernetes/oof/charts/oof-cmso/values.yaml similarity index 52% rename from kubernetes/oof/charts/oof-has/charts/oof-has-music/resources/config/music.properties rename to kubernetes/oof/charts/oof-cmso/values.yaml index 0b4a973d4f..3c5edb3754 100644 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-music/resources/config/music.properties +++ b/kubernetes/oof/charts/oof-cmso/values.yaml @@ -1,5 +1,4 @@ -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware +# Copyright © 2018 AT&T # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,16 +12,24 @@ # See the License for the specific language governing permissions and # limitations under the License. -my.public.ip=localhost -all.public.ips=localhost -my.id=0 -all.ids=0 -####################################### -# Optional current values are defaults -####################################### -zookeeper.host=oof-has-zk -cassandra.host=oof-has-cassandra -cassandra.user=root -cassandra.password=Aa123456 -# AAF Endpoint if using AAF -aaf.endpoint.url=https://aaf.api.simpledemo.onap.org +mariadb-galera: + replicaCount: 1 + nameOverride: cmso-db + service: + type: ClusterIP + name: oof-cmso-dbhost + portName: cmso-dbhost + nfsprovisionerPrefix: cmso + sdnctlPrefix: cmso + persistence: + mountSubPath: cmso/data + enabled: true + disableNfsProvisioner: true + config: + mariadbRootPassword: beer + userName: cmso-admin + userPassword: nimda-osmc + mysqlDatabase: cmso + externalConfig: | + [mysqld] + lower_case_table_names = 1 \ No newline at end of file diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-api/templates/deployment.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-api/templates/deployment.yaml index 12bbeefb12..9940305659 100755 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-api/templates/deployment.yaml +++ b/kubernetes/oof/charts/oof-has/charts/oof-has-api/templates/deployment.yaml @@ -36,7 +36,9 @@ spec: - /root/ready.py args: - --container-name - - oof-has-music + - oof-has-controller + - --container-name + - aaf-service env: - name: NAMESPACE valueFrom: @@ -46,6 +48,38 @@ spec: image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} name: {{ include "common.name" . }}-readiness + - command: + - /root/job_complete.py + args: + - -j + - "{{ .Release.Name }}-oof-has-onboard" + 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" . }}-onboard-readiness + - command: + - sh + - -c + - resp="FAILURE"; + until [ $resp = "200" ]; do + resp=$(curl -s -o /dev/null -k --write-out %{http_code} https://aaf-sms.{{ include "common.namespace" . }}:10443/v1/sms/domain/has/secret); + echo $resp; + sleep 2; + done + 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" . }}-has-sms-readiness containers: - name: {{ include "common.name" . }} image: "{{ include "common.repository" . }}/{{ .Values.global.image.optf_has }}" @@ -84,6 +118,9 @@ spec: - mountPath: /usr/local/bin/log.conf name: {{ .Values.global.commonConfigPrefix }}-config subPath: log.conf + - mountPath: /usr/local/bin/AAF_RootCA.cer + name: {{ .Values.global.commonConfigPrefix }}-config + subPath: AAF_RootCA.cer resources: {{ include "common.resources" . | indent 12 }} {{- if .Values.nodeSelector }} @@ -106,5 +143,7 @@ spec: path: conductor.conf - key: log.conf path: log.conf + - key: AAF_RootCA.cer + path: AAF_RootCA.cer imagePullSecrets: - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/resources/config/cassandra/docker-entrypoint-initdb.d/zzz_conductor.cql b/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/resources/config/cassandra/docker-entrypoint-initdb.d/zzz_conductor.cql deleted file mode 100644 index c2593eb1dc..0000000000 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/resources/config/cassandra/docker-entrypoint-initdb.d/zzz_conductor.cql +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright © 2017 Amdocs, AT&T, Bell Canada, VMware -# -# 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. - - -CREATE KEYSPACE conductor WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'} AND durable_writes = true; - -CREATE TABLE conductor.plans ( - id text PRIMARY KEY, - created bigint, - message text, - name text, - recommend_max int, - reservation_counter int, - reservation_owner text, - solution text, - solver_counter int, - solver_owner text, - status text, - template text, - timeout int, - translation text, - translation_counter int, - translation_owner text, - updated bigint, - vector_ts text -); - -CREATE INDEX conductor_plans_index ON conductor.plans(status); - -CREATE KEYSPACE conductor_rpc WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'} AND durable_writes = true; - -CREATE TABLE conductor_rpc.controller ( - id text PRIMARY KEY, - action text, - args text, - created bigint, - ctxt text, - failure text, - method text, - owner text, - response text, - status text, - updated bigint, - vector_ts text -); - -CREATE TABLE conductor_rpc.data ( - id text PRIMARY KEY, - action text, - args text, - created bigint, - ctxt text, - failure text, - method text, - owner text, - response text, - status text, - updated bigint, - vector_ts text -); - -INSERT INTO admin.keyspace_master ( -uuid, application_name, is_aaf, is_api, keyspace_name, password,username) -VALUES ( now(), 'conductor', False, True, 'conductor', 'c0nduct0r', 'conductor'); - -INSERT INTO admin.keyspace_master ( -uuid, application_name, is_aaf, is_api, keyspace_name, password, username) -VALUES( now(), 'conductor', False, True, 'conductor_rpc', 'c0nduct0r', 'conductor'); - -CREATE ROLE IF NOT EXISTS conductor WITH PASSWORD = 'c0nduct0r' AND LOGIN = true; - -GRANT ALL PERMISSIONS on KEYSPACE conductor to 'conductor'; - -GRANT ALL PERMISSIONS on KEYSPACE conductor_rpc to 'conductor'; - -INSERT INTO conductor.plans (id, created, message, name, recommend_max, solution, status, template,timeout, translation,updated) VALUES('healthcheck',1479482603641,'','foo',1,'{"healthcheck": " healthcheck"}','solved','{"healthcheck": "healthcheck"}',3600,'{"healthcheck": "healthcheck"}',1484324150629); - - - diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/NOTES.txt b/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/NOTES.txt deleted file mode 100644 index 974fae450e..0000000000 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/NOTES.txt +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware -# -# 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. - -1. Get the application URL by running these commands: -{{- if .Values.ingress.enabled }} -{{- range .Values.ingress.hosts }} - http://{{ . }} -{{- end }} -{{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }}) - export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}") - echo http://$NODE_IP:$NODE_PORT -{{- else if contains "LoadBalancer" .Values.service.type }} - NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') - echo http://$SERVICE_IP:{{ .Values.service.externalPort }} -{{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") - echo "Visit http://127.0.0.1:8080 to use your application" - kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} -{{- end }} diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/deployment.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/deployment.yaml deleted file mode 100644 index aed92e5768..0000000000 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/deployment.yaml +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware -# -# 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: extensions/v1beta1 -kind: Deployment -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: - replicas: {{ .Values.replicaCount }} - template: - metadata: - labels: - app: {{ include "common.name" . }} - release: {{ .Release.Name }} - spec: - containers: - - name: {{ include "common.name" . }} - image: {{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - ports: - - containerPort: {{ .Values.service.internalPort }} - - containerPort: {{ .Values.service.internalPort2 }} - - containerPort: {{ .Values.service.internalPort3 }} - - containerPort: {{ .Values.service.internalPort4 }} - - containerPort: {{ .Values.service.internalPort5 }} - {{ if eq .Values.liveness.enabled true }} - livenessProbe: - exec: - command: - - /bin/bash - - -c - - nodetool status | grep $POD_IP | awk '$1!="UN" { exit 1; }' - initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }} - periodSeconds: {{ .Values.liveness.periodSeconds }} - {{ end }} - readinessProbe: - exec: - command: - - /bin/bash - - -c - - nodetool status | grep $POD_IP | awk '$1!="UN" { exit 1; }' - initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} - periodSeconds: {{ .Values.readiness.periodSeconds }} - env: - - name: CASSUSER - value: "{{ .Values.config.cassandraUsername }}" - - name: CASSPASS - value: "{{ .Values.config.cassandraPassword }}" - - name: POD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - volumeMounts: - - mountPath: /etc/localtime - name: localtime - readOnly: true - - name: cassandra-docker-entrypoint-initdb - mountPath: /docker-entrypoint-initdb.d/zzz_conductor.cql - subPath: zzz_conductor.cql - - name: {{ include "common.fullname" . }}-data - mountPath: /var/lib/cassandra/data - resources: -{{ include "common.resources" . | indent 12 }} - {{- if .Values.nodeSelector }} - nodeSelector: -{{ toYaml .Values.nodeSelector | indent 10 }} - {{- end -}} - {{- if .Values.affinity }} - affinity: -{{ toYaml .Values.affinity | indent 10 }} - {{- end }} - volumes: - - name: localtime - hostPath: - path: /etc/localtime - - name: cassandra-docker-entrypoint-initdb - configMap: - name: {{ include "common.fullname" . }}-docker-entry-initd - {{- if .Values.persistence.enabled }} - - name: {{ include "common.fullname" . }}-data - persistentVolumeClaim: - claimName: {{ include "common.fullname" . }} - {{- else }} - emptyDir: {} - {{- end }} - imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-controller/templates/deployment.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-controller/templates/deployment.yaml index 00f26255f7..c5646f6453 100755 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-controller/templates/deployment.yaml +++ b/kubernetes/oof/charts/oof-has/charts/oof-has-controller/templates/deployment.yaml @@ -36,7 +36,7 @@ spec: - /root/ready.py args: - --container-name - - oof-has-music + - music-tomcat env: - name: NAMESPACE valueFrom: @@ -46,6 +46,38 @@ spec: image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} name: {{ include "common.name" . }}-readiness + - command: + - /root/job_complete.py + args: + - -j + - "{{ .Release.Name }}-oof-has-onboard" + 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" . }}-onboard-readiness + - command: + - sh + - -c + - resp="FAILURE"; + until [ $resp = "200" ]; do + resp=$(curl -s -o /dev/null -k --write-out %{http_code} https://aaf-sms.{{ include "common.namespace" . }}:10443/v1/sms/domain/has/secret); + echo $resp; + sleep 2; + done + 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" . }}-cont-sms-readiness containers: - name: {{ include "common.name" . }} image: "{{ include "common.repository" . }}/{{ .Values.global.image.optf_has }}" @@ -87,6 +119,9 @@ spec: - mountPath: /usr/local/bin/healthy.sh name: {{ .Values.global.commonConfigPrefix }}-config subPath: healthy.sh + - mountPath: /usr/local/bin/AAF_RootCA.cer + name: {{ .Values.global.commonConfigPrefix }}-config + subPath: AAF_RootCA.cer resources: {{ include "common.resources" . | indent 12 }} {{- if .Values.nodeSelector }} @@ -111,5 +146,7 @@ spec: path: log.conf - key: healthy.sh path: healthy.sh + - key: AAF_RootCA.cer + path: AAF_RootCA.cer imagePullSecrets: - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-data/templates/deployment.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-data/templates/deployment.yaml index 3f64923a0e..e4ec820b1f 100755 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-data/templates/deployment.yaml +++ b/kubernetes/oof/charts/oof-has/charts/oof-has-data/templates/deployment.yaml @@ -36,7 +36,7 @@ spec: - /root/ready.py args: - --container-name - - oof-has-music + - music-tomcat env: - name: NAMESPACE valueFrom: @@ -46,6 +46,52 @@ spec: image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} name: {{ include "common.name" . }}-readiness + - command: + - /root/job_complete.py + args: + - -j + - "{{ .Release.Name }}-oof-has-onboard" + 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" . }}-onboard-readiness + - command: + - /root/job_complete.py + args: + - -j + - "{{ .Release.Name }}-oof-has-healthcheck" + 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" . }}-health-readiness + - command: + - sh + - -c + - resp="FAILURE"; + until [ $resp = "200" ]; do + resp=$(curl -s -o /dev/null -k --write-out %{http_code} https://aaf-sms.{{ include "common.namespace" . }}:10443/v1/sms/domain/has/secret); + echo $resp; + sleep 2; + done + 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" . }}-data-sms-readiness containers: - name: {{ include "common.name" . }} image: "{{ include "common.repository" . }}/{{ .Values.global.image.optf_has }}" diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-music/resources/config/startup.sh b/kubernetes/oof/charts/oof-has/charts/oof-has-music/resources/config/startup.sh deleted file mode 100755 index dd2c550f11..0000000000 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-music/resources/config/startup.sh +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware -# -# 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. - -OUT=$(curl -o /dev/null -s -w "%{http_code}\n" \ - http://localhost:8080/MUSIC/rest/v2/admin/onboardAppWithMusic \ - -H 'Cache-Control: no-cache' \ - -H 'Content-Type: application/json' \ - -H 'Postman-Token: 705d4a9d-aaf2-40b4-914a-e0ce1a79534c' \ - -d '{ - "appname": "conductor", - "userId" : "conductor", - "isAAF" : false, - "password" : "c0nduct0r" -} -') - -if [ ${OUT} = "200" ]; then - echo "Success" - echo 1 > /tmp/onboarded - exit 0; -else - echo "Failure" - exit 1; -fi diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/NOTES.txt b/kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/NOTES.txt deleted file mode 100644 index 2088e3305d..0000000000 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/NOTES.txt +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware -# -# 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. - -1. Get the application URL by running these commands: -{{- if .Values.ingress.enabled }} -{{- range .Values.ingress.hosts }} - http://{{ . }} -{{- end }} -{{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }}) - export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}") - echo http://$NODE_IP:$NODE_PORT -{{- else if contains "LoadBalancer" .Values.service.type }} - NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') - echo http://$SERVICE_IP:{{ .Values.service.externalPort }} -{{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") - echo "Visit http://127.0.0.1:8080 to use your application" - kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} -{{- end }} diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-reservation/templates/deployment.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-reservation/templates/deployment.yaml index a967bb50e1..7c30360cd6 100755 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-reservation/templates/deployment.yaml +++ b/kubernetes/oof/charts/oof-has/charts/oof-has-reservation/templates/deployment.yaml @@ -36,7 +36,7 @@ spec: - /root/ready.py args: - --container-name - - oof-has-music + - music-tomcat env: - name: NAMESPACE valueFrom: @@ -46,6 +46,52 @@ spec: image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} name: {{ include "common.name" . }}-readiness + - command: + - /root/job_complete.py + args: + - -j + - "{{ .Release.Name }}-oof-has-onboard" + 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" . }}-onboard-readiness + - command: + - /root/job_complete.py + args: + - -j + - "{{ .Release.Name }}-oof-has-healthcheck" + 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" . }}-health-readiness + - command: + - sh + - -c + - resp="FAILURE"; + until [ $resp = "200" ]; do + resp=$(curl -s -o /dev/null -k --write-out %{http_code} https://aaf-sms.{{ include "common.namespace" .}}:10443/v1/sms/domain/has/secret); + echo $resp; + sleep 2; + done + 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" . }}-resrv-sms-readiness containers: - name: {{ include "common.name" . }} image: "{{ include "common.repository" . }}/{{ .Values.global.image.optf_has }}" @@ -87,6 +133,9 @@ spec: - mountPath: /usr/local/bin/healthy.sh name: {{ .Values.global.commonConfigPrefix }}-config subPath: healthy.sh + - mountPath: /usr/local/bin/AAF_RootCA.cer + name: {{ .Values.global.commonConfigPrefix }}-config + subPath: AAF_RootCA.cer resources: {{ include "common.resources" . | indent 12 }} {{- if .Values.nodeSelector }} @@ -111,5 +160,7 @@ spec: path: log.conf - key: healthy.sh path: healthy.sh + - key: AAF_RootCA.cer + path: AAF_RootCA.cer imagePullSecrets: - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-solver/templates/deployment.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-solver/templates/deployment.yaml index 26ed7c75e3..0cc4ded3b5 100755 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-solver/templates/deployment.yaml +++ b/kubernetes/oof/charts/oof-has/charts/oof-has-solver/templates/deployment.yaml @@ -36,7 +36,7 @@ spec: - /root/ready.py args: - --container-name - - oof-has-music + - music-tomcat env: - name: NAMESPACE valueFrom: @@ -46,6 +46,52 @@ spec: image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} name: {{ include "common.name" . }}-readiness + - command: + - /root/job_complete.py + args: + - -j + - "{{ .Release.Name }}-oof-has-onboard" + 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" . }}-onboard-readiness + - command: + - /root/job_complete.py + args: + - -j + - "{{ .Release.Name }}-oof-has-healthcheck" + 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" . }}-health-readiness + - command: + - sh + - -c + - resp="FAILURE"; + until [ $resp = "200" ]; do + resp=$(curl -s -o /dev/null -k --write-out %{http_code} https://aaf-sms.{{ include "common.namespace" . }}:10443/v1/sms/domain/has/secret); + echo $resp; + sleep 2; + done + 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" . }}-solvr-sms-readiness containers: - name: {{ include "common.name" . }} image: "{{ include "common.repository" . }}/{{ .Values.global.image.optf_has }}" @@ -87,6 +133,9 @@ spec: - mountPath: /usr/local/bin/healthy.sh name: {{ .Values.global.commonConfigPrefix }}-config subPath: healthy.sh + - mountPath: /usr/local/bin/AAF_RootCA.cer + name: {{ .Values.global.commonConfigPrefix }}-config + subPath: AAF_RootCA.cer resources: {{ include "common.resources" . | indent 12 }} {{- if .Values.nodeSelector }} @@ -111,5 +160,7 @@ spec: path: log.conf - key: healthy.sh path: healthy.sh + - key: AAF_RootCA.cer + path: AAF_RootCA.cer imagePullSecrets: - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/templates/deployment.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/templates/deployment.yaml deleted file mode 100644 index 888bfd0555..0000000000 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-zookeeper/templates/deployment.yaml +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware -# -# 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: extensions/v1beta1 -kind: Deployment -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: - replicas: {{ .Values.replicaCount }} - template: - metadata: - labels: - app: {{ include "common.name" . }} - release: {{ .Release.Name }} - spec: - containers: - - name: {{ include "common.name" . }} - image: {{ include "common.repository" . }}/{{ .Values.image }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - ports: - - containerPort: {{ .Values.service.internalPort }} - {{- if .Values.liveness.enabled }} - livenessProbe: - tcpSocket: - port: {{ .Values.service.internalPort }} - initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }} - periodSeconds: {{ .Values.liveness.periodSeconds }} - {{end -}} - readinessProbe: - tcpSocket: - port: {{ .Values.service.internalPort }} - initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} - periodSeconds: {{ .Values.readiness.periodSeconds }} - volumeMounts: - - mountPath: /etc/localtime - name: localtime - readOnly: true - resources: -{{ include "common.resources" . | indent 12 }} - {{- if .Values.nodeSelector }} - nodeSelector: -{{ toYaml .Values.nodeSelector | indent 10 }} - {{- end -}} - {{- if .Values.affinity }} - affinity: -{{ toYaml .Values.affinity | indent 10 }} - {{- end }} - volumes: - - name: localtime - hostPath: - path: /etc/localtime - imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/oof/charts/oof-has/requirements.yaml b/kubernetes/oof/charts/oof-has/requirements.yaml index 14f1f9a82d..cda496bd87 100755 --- a/kubernetes/oof/charts/oof-has/requirements.yaml +++ b/kubernetes/oof/charts/oof-has/requirements.yaml @@ -17,3 +17,6 @@ dependencies: - name: common version: ~3.0.0 repository: '@local' + - name: music + version: ~3.0.0 + repository: '@local' diff --git a/kubernetes/oof/charts/oof-has/resources/config/conductor.conf b/kubernetes/oof/charts/oof-has/resources/config/conductor.conf index 00a65ce30d..4db857a898 100755 --- a/kubernetes/oof/charts/oof-has/resources/config/conductor.conf +++ b/kubernetes/oof/charts/oof-has/resources/config/conductor.conf @@ -1,5 +1,5 @@ # Copyright © 2017 Amdocs, Bell Canada -# Modifications Copyright © 2018 AT&T,VMware +# Modifications Copyright © 2018 AT&T,VMware, Intel Corporation. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -23,7 +23,14 @@ #api_paste_config = api_paste.ini # Music keyspace for content (string value) -keyspace = conductor +#keyspace = conductor + +# Delay time (Seconds) for MUSIC requests. Set it to 2 seconds by default. +# (integer value) +#delay_time = 2 + +# (boolean value) +#HPA_enabled = true # # From oslo.log @@ -32,14 +39,9 @@ keyspace = conductor # If set to true, the logging level will be set to DEBUG instead of the default # INFO level. (boolean value) # Note: This option can be changed without restarting. +#debug = false debug = true -# DEPRECATED: If set to false, the logging level will be set to WARNING instead -# of the default INFO level. (boolean value) -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -#verbose = true - # The name of a logging configuration file. This file is appended to any # existing logging configuration files. For details about logging configuration # files, see the Python logging module documentation. Note that when logging @@ -48,7 +50,8 @@ debug = true # example, logging_context_format_string). (string value) # Note: This option can be changed without restarting. # Deprecated group/name - [DEFAULT]/log_config -# log_config_append = /usr/local/bin/log.conf +#log_config_append = +log_config_append = /usr/local/bin/log.conf # Defines the format string for %%(asctime)s in log records. Default: # %(default)s . This option is ignored if log_config_append is set. (string @@ -78,10 +81,20 @@ debug = true # is set. (boolean value) #use_syslog = false +# Enable journald for logging. If running in a systemd environment you may wish +# to enable journal support. Doing so will use the journal native protocol +# which includes structured metadata in addition to log messages.This option is +# ignored if log_config_append is set. (boolean value) +#use_journal = false + # Syslog facility to receive log lines. This option is ignored if # log_config_append is set. (string value) #syslog_log_facility = LOG_USER +# Use JSON formatting for logging. This option is ignored if log_config_append +# is set. (boolean value) +#use_json = false + # Log output to standard error. This option is ignored if log_config_append is # set. (boolean value) #use_stderr = false @@ -106,7 +119,7 @@ debug = true # List of package logging levels in logger=LEVEL pairs. This option is ignored # if log_config_append is set. (list value) -#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO +#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,oslo_messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO # Enables or disables publication of error events. (boolean value) #publish_errors = false @@ -135,6 +148,65 @@ debug = true #fatal_deprecations = false +[aaf_api] + +# +# From conductor +# + +# is_aaf_enabled. (boolean value) +is_aaf_enabled = true + +# aaf_cache_expiry_hrs. (integer value) +aaf_cache_expiry_hrs = 3 + +# aaf_url. (string value) +aaf_url = https://{{.Values.config.aaf.serviceName}}:{{.Values.config.aaf.port}}/authz/perms/user/ + +# aaf_cert_file. (string value) +#aaf_cert_file = + +# aaf_cert_key_file. (string value) +#aaf_cert_key_file = + +# aaf_ca_bundle_file. (string value) +#aaf_ca_bundle_file = +aaf_ca_bundle_file = /usr/local/bin/AAF_RootCA.cer + +# aaf_retries. (integer value) +#aaf_retries = 3 + +# aaf_timeout. (integer value) +#aaf_timeout = 100 + +# aaf_user_roles. (list value) +#aaf_permissions = {"type": "org.onap.oof.access","instance": "*","action": "*"} + + +[aaf_sms] + +# +# From conductor +# + +# Base URL for SMS, up to and not including the version, and without a trailing +# slash. (string value) +aaf_sms_url = https://{{.Values.config.sms.serviceName}}.{{ include "common.namespace" . }}:{{.Values.config.sms.port}} + + +# Timeout for SMS API Call (integer value) +#aaf_sms_timeout = 30 + +# Path to the cacert that will be used to verify If this is None, verify will +# be False and the server certis not verified by the client. (string value) +#aaf_ca_certs = AAF_RootCA.cer +aaf_ca_certs = /usr/local/bin/AAF_RootCA.cer + +# Domain UUID - A unique UUID generated when the domainfor HAS is created by +# administrator during deployment (string value) +#secret_domain = has + + [aai] # @@ -142,7 +214,12 @@ debug = true # # Interval with which to refresh the local cache, in minutes. (integer value) +#cache_refresh_interval = 1440 cache_refresh_interval = 1 + +# Interval with which to refresh the local complex cache, in minutes. (integer +# value) +#complex_cache_refresh_interval = 1440 complex_cache_refresh_interval = 60 # Data Store table prefix. (string value) @@ -152,6 +229,12 @@ complex_cache_refresh_interval = 60 # trailing slash. (string value) server_url = https://{{.Values.config.aai.serviceName}}.{{ include "common.namespace" . }}:{{.Values.config.aai.port}}/aai +# Timeout for A&AI Rest Call (string value) +#aai_rest_timeout = 30 + +# Number of retry for A&AI Rest Call (string value) +#aai_retries = 3 + # The version of A&AI in v# format. (string value) server_url_version = v14 @@ -164,13 +247,13 @@ certificate_key_file = # Certificate Authority Bundle file in pem format. Must contain the appropriate # trust chain for the Certificate file. (string value) -#certificate_authority_bundle_file = /opt/app/conductor/etc/certs/ca_bundle.pem -certificate_authority_bundle_file =/usr/local/bin/AAF_RootCA.cer +#certificate_authority_bundle_file = certificate_authority_bundle.pem +certificate_authority_bundle_file = /usr/local/bin/AAF_RootCA.cer -# Basic Authentication Username (string value) +# Username for AAI. (string value) username = OOF -# Basic Authentication Password (string value) +# Password for AAI. (string value) password = OOF @@ -189,13 +272,24 @@ password = OOF [conductor_api] -# Basic Authentication Username (string value) +# +# From conductor +# + +# Base URL for plans. (string value) +#server_url = + +# username for plans. (string value) +#username = username = admin1 -# Basic Authentication Password (string value) +# password for plans. (string value) +#password = password = plan.15 -basic_auth_secure = False +# auth toggling. (boolean value) +basic_auth_secure = true + [controller] @@ -205,6 +299,7 @@ basic_auth_secure = False # Timeout for planning requests. Default value is 10. (integer value) # Minimum value: 1 +#timeout = 10 timeout = 200 # Maximum number of result sets to return. Default value is 1. (integer value) @@ -215,11 +310,47 @@ timeout = 200 # Minimum value: 1 #workers = 1 +# Set to True when controller will run in active-active mode. When set to +# False, controller will flush any abandoned messages at startup. The +# controller always restarts abandoned template translations at startup. +# (boolean value) +#concurrent = false +concurrent = true + # Time between checking for new plans. Default value is 1. (integer value) # Minimum value: 1 #polling_interval = 1 + +# (integer value) +# Minimum value: 1 +#max_translation_counter = 1 + + +[data] + +# +# From conductor +# + +# Number of workers for data service. Default value is 1. (integer value) +# Minimum value: 1 +#workers = 1 + +# Set to True when data will run in active-active mode. When set to False, data +# will flush any abandoned messages at startup. (boolean value) +#concurrent = false concurrent = true +# Default value is -8000, which is the diameter of the earth. The distance +# cannot larger than this value (floating point value) +#existing_placement_cost = -8000.0 + +# (floating point value) +#cloud_candidate_cost = 2.0 + +# (floating point value) +#service_candidate_cost = 1.0 + [inventory_provider] @@ -238,16 +369,21 @@ concurrent = true # # Music keyspace for messages (string value) -keyspace = conductor_rpc +#keyspace = conductor_rpc # Wait interval while checking for a message response. Default value is 1 # second. (integer value) # Minimum value: 1 #check_interval = 1 -# Overall message response timeout. Default value is 10 seconds. (integer +# Overall message response timeout. Default value is 120 seconds. (integer # value) # Minimum value: 1 +#response_timeout = 120 + +# Timeout for detecting a VM is down, and other VMs can pick the plan up. +# Default value is 5 minutes. (integer value) (integer value) +# Minimum value: 1 timeout = 300 # Number of workers for messaging service. Default value is 1. (integer value) @@ -262,19 +398,36 @@ timeout = 300 #debug = false +[multicloud] + +# +# From conductor +# + +# Base URL for Multicloud without a trailing slash. (string value) +#server_url = http://msb.onap.org/api/multicloud +server_url = http://{{.Values.config.msb.serviceName}}.{{ include "common.namespace" . }}:{{.Values.config.msb.port}}/api/multicloud + +# Timeout for Multicloud Rest Call (string value) +#multicloud_rest_timeout = 30 + +# Number of retry for Multicloud Rest Call (string value) +#multicloud_retries = 3 + +# The version of Multicloud API. (string value) +#server_url_version = v0 + + [music_api] # # From conductor # -music_new_version = True + # Base URL for Music REST API without a trailing slash. (string value) -server_url = http://oof-has-music:8080/MUSIC/rest/v2 +#server_url = http://oof-has-music:8080/MUSIC/rest/v2 +server_url = http://{{.Values.config.music.serviceName}}.{{ include "common.namespace" . }}:{{.Values.config.music.port}}/MUSIC/rest/v2 version = v2 -music_version = "2.5.3" -aafuser = conductor -aafpass = c0nduct0r -aafns = conductor # DEPRECATED: List of hostnames (round-robin access) (list value) # This option is deprecated for removal. @@ -294,21 +447,104 @@ aafns = conductor # Reason: Use server_url instead #path = +# Socket connection timeout (floating point value) +#connect_timeout = 3.05 + +# Socket read timeout (floating point value) +#read_timeout = 12.05 + # Lock timeout (integer value) #lock_timeout = 10 + +# Replication factor (integer value) +#replication_factor = 1 replication_factor = 1 -# Log debug messages. Default value is False. (boolean value) -#debug = false # Use mock API (boolean value) #mock = false -# Socket connection timeout (floating point value) -connect_timeout = 3.05 +# (string value) +#music_topology = SimpleStrategy -# Socket read timeout (floating point value) -read_timeout = 12.05 +# Name of the first data center (string value) +#first_datacenter_name = + +# Number of replicas in first data center (integer value) +#first_datacenter_replicas = +# Name of the second data center (string value) +#second_datacenter_name = + +# Number of replicas in second data center (integer value) +#second_datacenter_replicas = + +# Name of the third data center (string value) +#third_datacenter_name = + +# Number of replicas in third data center (integer value) +#third_datacenter_replicas = + +# new or old version (boolean value) +#music_new_version = +music_new_version = True + +# for version (string value) +#music_version = +music_version = "3.0.21" + +# username value that used for creating basic authorization header (string +# value) +#aafuser = +aafuser = conductor + +# password value that used for creating basic authorization header (string +# value) +#aafpass = +aafpass = c0nduct0r + +# AAF namespace field used in MUSIC request header (string value) +#aafns = +aafns = conductor + + +[prometheus] + +# +# From conductor +# + +# Prometheus Metrics Endpoint (list value) +#metrics_port = 8000,8001,8002,8003,8004 + + +[reservation] + +# +# From conductor +# + +# Number of workers for reservation service. Default value is 1. (integer +# value) +# Minimum value: 1 +#workers = 1 + +# Number of times reservation/release should be attempted. (integer value) +#reserve_retries = 1 + +# Timeout for detecting a VM is down, and other VMs can pick the plan up and +# resereve. Default value is 600 seconds. (integer value) (integer value) +# Minimum value: 1 +#timeout = 600 + +# Set to True when reservation will run in active-active mode. When set to +# False, reservation will restart any orphaned reserving requests at startup. +# (boolean value) +#concurrent = false +concurrent = true + +# (integer value) +# Minimum value: 1 +#max_reservation_counter = 1 [sdnc] @@ -324,13 +560,22 @@ read_timeout = 12.05 #table_prefix = sdnc # Base URL for SDN-C, up to and including the version. (string value) +#server_url = https://controller:8443/restconf/ server_url = https://sdncodl-conexus-e2e.ecomp.cci.att.com:8543/restconf/ # Basic Authentication Username (string value) +#username = username = admin # Basic Authentication Password (string value) -password = sdnc.15 +#password = +password = Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U + +# Timeout for SDNC Rest Call (string value) +#sdnc_rest_timeout = 30 + +# Retry Numbers for SDNC Rest Call (string value) +#sdnc_retries = 3 [service_controller] @@ -353,41 +598,32 @@ password = sdnc.15 # Minimum value: 1 #workers = 1 +# The timeout value for solver service. Default value is 480 seconds. (integer +# value) +# Minimum value: 1 +#solver_timeout = 480 + # Set to True when solver will run in active-active mode. When set to False, # solver will restart any orphaned solving requests at startup. (boolean value) #concurrent = false concurrent = true +# Timeout for detecting a VM is down, and other VMs can pick the plan up. This +# value should be larger than solver_timeoutDefault value is 10 minutes. +# (integer value) (integer value) +# Minimum value: 1 +#timeout = 600 - -[reservation] -concurrent = true - - -[multicloud] - -# -# From conductor -# - -# Base URL for Multicloud without a trailing slash. (string value) -server_url = http://{{.Values.config.msb.serviceName}}:{{.Values.config.msb.port}}/api/multicloud - -# Timeout for Multicloud Rest Call (string value) -multicloud_rest_timeout = 30 - -# Number of retry for Multicloud Rest Call (string value) -multicloud_retries = 3 - -# The version of Multicloud API. (string value) -server_url_version = v0 +# (integer value) +# Minimum value: 1 +#max_solver_counter = 1 [vim_controller] + # # From conductor # # Extensions list to use (list value) -extensions = multicloud - +#extensions = multicloud diff --git a/kubernetes/oof/charts/oof-has/resources/config/healthcheck.json b/kubernetes/oof/charts/oof-has/resources/config/healthcheck.json new file mode 100755 index 0000000000..833fa0f5d9 --- /dev/null +++ b/kubernetes/oof/charts/oof-has/resources/config/healthcheck.json @@ -0,0 +1,18 @@ +{ + "consistencyInfo": { + "type": "eventual" + }, + "values": { + "id": "healthcheck", + "created": 1479482603641, + "message": "", + "name": "foo", + "recommend_max": 1, + "solution": "{\"healthcheck\": \" healthcheck\"}", + "status": "solved", + "template": "{\"healthcheck\": \"healthcheck\"}", + "timeout": 3600, + "translation": "{\"healthcheck\": \" healthcheck\"}", + "updated": 1484324150629 + } +} diff --git a/kubernetes/oof/charts/oof-has/resources/config/onboard.json b/kubernetes/oof/charts/oof-has/resources/config/onboard.json new file mode 100755 index 0000000000..2c3d69be8d --- /dev/null +++ b/kubernetes/oof/charts/oof-has/resources/config/onboard.json @@ -0,0 +1,6 @@ +{ + "appname": "conductor", + "userId": "conductor", + "isAAF": "false", + "password": "c0nduct0r" +} diff --git a/kubernetes/oof/charts/oof-has/templates/job-healthcheck.yaml b/kubernetes/oof/charts/oof-has/templates/job-healthcheck.yaml new file mode 100755 index 0000000000..6e38034c46 --- /dev/null +++ b/kubernetes/oof/charts/oof-has/templates/job-healthcheck.yaml @@ -0,0 +1,100 @@ +{{/* +# Copyright 2018 Intel Corporation, Inc +# +# 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: batch/v1 +kind: Job +metadata: + name: {{ include "common.fullname" . }}-healthcheck + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.replicaCount }} + template: + metadata: + labels: + app: {{ include "common.name" . }} + release: {{ .Release.Name }} + spec: + initContainers: + - image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + name: {{ include "common.name" . }}-readiness + command: + - /root/ready.py + args: + - --container-name + - oof-has-api + env: + - name: NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + containers: + - image: "{{ include "common.repository" . }}/{{ .Values.global.image.optf_has }}" + imagePullPolicy: {{ .Values.pullPolicy }} + name: {{ include "common.name" . }}-healthcheck + command: + - "/bin/sh" + - "-c" + - | + echo "INSERT HEALTHCHECK PLAN"; + sleep 15; + resp="FAILURE"; + until [ $resp = "200" ]; do + resp=$(curl -s -o /dev/null --write-out %{http_code} -X POST http://{{.Values.config.music.serviceName}}.{{ include "common.namespace" . }}:{{.Values.config.music.port}}/MUSIC/rest/v2/keyspaces/conductor/tables/plans/rows?id=healthcheck \ + -H "Content-Type: application/json" \ + -H "ns: conductor" \ + -H "Authorization: Basic Y29uZHVjdG9yOmMwbmR1Y3Qwcg==" \ + --data @healthcheck.json); + echo $resp; + sleep 2; + done; + workingDir: /has + volumeMounts: + - mountPath: /etc/localtime + name: localtime + readOnly: true + - mountPath: /has/healthcheck.json + name: {{ .Values.global.commonConfigPrefix }}-config + subPath: healthcheck.json + resources: +{{ toYaml .Values.resources | indent 10 }} + nodeSelector: + {{- if .Values.nodeSelector }} +{{ toYaml .Values.nodeSelector | indent 8 }} + {{- end -}} + {{- if .Values.affinity }} + affinity: +{{ toYaml .Values.affinity | indent 8 }} + {{- end }} + volumes: + - name: localtime + hostPath: + path: /etc/localtime + - name: {{ .Values.global.commonConfigPrefix }}-config + configMap: + name: {{ .Values.global.commonConfigPrefix }}-configmap + items: + - key: healthcheck.json + path: healthcheck.json + restartPolicy: OnFailure + imagePullSecrets: + - name: "{{ include "common.namespace" . }}-docker-registry-key" \ No newline at end of file diff --git a/kubernetes/oof/charts/oof-has/templates/job-onboard.yaml b/kubernetes/oof/charts/oof-has/templates/job-onboard.yaml new file mode 100755 index 0000000000..2b24d4017d --- /dev/null +++ b/kubernetes/oof/charts/oof-has/templates/job-onboard.yaml @@ -0,0 +1,108 @@ +{{/* +# Copyright 2018 Intel Corporation, Inc +# +# 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: batch/v1 +kind: Job +metadata: + name: {{ include "common.fullname" . }}-onboard + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.replicaCount }} + template: + metadata: + labels: + app: {{ include "common.name" . }} + release: {{ .Release.Name }} + spec: + initContainers: + - image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + name: {{ include "common.name" . }}-readiness + command: + - /root/ready.py + args: + - --container-name + - "music-tomcat" + - --container-name + - "music-cassandra" + env: + - name: NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + - command: + - /root/job_complete.py + args: + - -j + - "{{ .Release.Name }}-music-cassandra-job-config" + 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" . }}-music-db-readiness + containers: + - image: "{{ include "common.repository" . }}/{{ .Values.global.image.optf_has }}" + imagePullPolicy: {{ .Values.pullPolicy }} + name: {{ include "common.name" . }}-onboard + command: + - "/bin/sh" + - "-c" + - | + curl -X POST http://{{.Values.config.music.serviceName}}.{{ include "common.namespace" . }}:{{.Values.config.music.port}}/MUSIC/rest/v2/admin/onboardAppWithMusic \ + -H "Content-Type: application/json" \ + -H "Authorization: Basic Y29uZHVjdG9yOmMwbmR1Y3Qwcg==" \ + --data @onboard.json + workingDir: /has + volumeMounts: + - mountPath: /etc/localtime + name: localtime + readOnly: true + - mountPath: /has/onboard.json + name: {{ .Values.global.commonConfigPrefix }}-config + subPath: onboard.json + resources: +{{ toYaml .Values.resources | indent 10 }} + nodeSelector: + {{- if .Values.nodeSelector }} +{{ toYaml .Values.nodeSelector | indent 8 }} + {{- end -}} + {{- if .Values.affinity }} + affinity: +{{ toYaml .Values.affinity | indent 8 }} + {{- end }} + volumes: + - name: localtime + hostPath: + path: /etc/localtime + - name: {{ .Values.global.commonConfigPrefix }}-config + configMap: + name: {{ .Values.global.commonConfigPrefix }}-configmap + items: + - key: onboard.json + path: onboard.json + restartPolicy: OnFailure + imagePullSecrets: + - name: "{{ include "common.namespace" . }}-docker-registry-key" \ No newline at end of file diff --git a/kubernetes/oof/charts/oof-has/values.yaml b/kubernetes/oof/charts/oof-has/values.yaml index fa6b4100d8..d825e4437b 100755 --- a/kubernetes/oof/charts/oof-has/values.yaml +++ b/kubernetes/oof/charts/oof-has/values.yaml @@ -1,4 +1,5 @@ # Copyright © 2017 Amdocs, AT&T, Bell Canada, VMware +# Modifications Copyright © 2018 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -24,17 +25,44 @@ global: commonConfigPrefix: onap-oof-has image: readiness: oomk8s/readiness-check:2.0.0 - optf_has: onap/optf-has:1.2.1 + optf_has: onap/optf-has:1.2.4 filebeat: docker.elastic.co/beats/filebeat:5.5.0 pullPolicy: Always nodePortPrefix: 302 dataRootDir: /dockerdata-nfs config: + aaf: + serviceName: aaf-service + port: 8100 aai: serviceName: aai port: 8443 msb: serviceName: msb-iag port: 80 - + music: + serviceName: music-tomcat + port: 8080 + sms: + serviceName: aaf-sms + port: 10443 +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) +resources: + small: + limits: + memory: 2Gi + cpu: 1000m + requests: + memory: 1Gi + cpu: 500m + large: + limits: + memory: 4Gi + cpu: 2000m + requests: + memory: 2Gi + cpu: 1000m + unlimited: {} diff --git a/kubernetes/oof/resources/config/osdf_config.yaml b/kubernetes/oof/resources/config/osdf_config.yaml index d39a83222f..fea3d908cf 100755 --- a/kubernetes/oof/resources/config/osdf_config.yaml +++ b/kubernetes/oof/resources/config/osdf_config.yaml @@ -68,7 +68,7 @@ aaf_user_roles: {{- end }} # Secret Management Service from AAF -aaf_sms_url: {{ .Values.config.aaf_sms_url }} +aaf_sms_url: {{ .Values.config.aaf_sms_url }}.{{ include "common.namespace" . }}:{{ .Values.config.aaf_sms_port }} aaf_sms_timeout: {{ .Values.config.aaf_sms_timeout }} secret_domain: {{ .Values.config.secret_domain }} aaf_ca_certs: {{ .Values.config.aaf_ca_certs }} diff --git a/kubernetes/oof/templates/NOTES.txt b/kubernetes/oof/templates/NOTES.txt index 682969afef..acb7dd94b3 100644 --- a/kubernetes/oof/templates/NOTES.txt +++ b/kubernetes/oof/templates/NOTES.txt @@ -28,7 +28,7 @@ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/kubernetes/oof/templates/deployment.yaml b/kubernetes/oof/templates/deployment.yaml index 07f1ff44a9..d4558b72dd 100644 --- a/kubernetes/oof/templates/deployment.yaml +++ b/kubernetes/oof/templates/deployment.yaml @@ -37,12 +37,6 @@ spec: args: - --container-name - pdp - - --container-name - - aaf-service - - --container-name - - aaf-sms - - --container-name - - oof-has-api env: - name: NAMESPACE valueFrom: @@ -52,6 +46,24 @@ spec: image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} name: {{ include "common.name" . }}-readiness + - command: + - sh + - -c + - resp="FAILURE"; + until [ $resp = "200" ]; do + resp=$(curl -s -o /dev/null -k --write-out %{http_code} https://aaf-sms.{{ include "common.namespace" . }}:10443/v1/sms/domain/osdf/secret); + echo $resp; + sleep 2; + done + 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" . }}-osdf-sms-readiness containers: - name: {{ include "common.name" . }} image: "{{ include "common.repository" . }}/{{ .Values.image }}" diff --git a/kubernetes/oof/values.yaml b/kubernetes/oof/values.yaml index da69c42b9e..24a0333e5a 100644 --- a/kubernetes/oof/values.yaml +++ b/kubernetes/oof/values.yaml @@ -26,7 +26,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/optf-osdf:1.2.1 +image: onap/optf-osdf:1.2.4 pullPolicy: Always # flag to enable debugging - application support required @@ -36,7 +36,7 @@ debugEnabled: false config: msbgateway: msb-iag msbPort: 80 - placementVersioningEnabled: False + placementVersioningEnabled: True # Placement API latest version numbers to be set in HTTP header placementMajorVersion: "1" placementMinorVersion: "0" @@ -57,7 +57,7 @@ config: # versions to be set in HTTP header conductorMinorVersion: 0 # Url and credentials for the Policy Platform - policyPlatformUrl: http://pdp:8081/pdp/api/getConfig # Policy Dev platform URL + policyPlatformUrl: https://pdp:8081/pdp/api/getConfig # Policy Dev platform URL policyPlatformEnv: TEST # Environment for policy platform policyPlatformUsername: testpdp # Policy platform username. policyPlatformPassword: alpha123 # Policy platform password. @@ -92,7 +92,8 @@ config: aaf_user_roles: - '/api/oof/v1/placement:org.onap.osdf.access|*|read ALL' # Secret Management Service from AAF - aaf_sms_url: https://aaf-sms:10443 + aaf_sms_url: https://aaf-sms + aaf_sms_port: 10443 aaf_sms_timeout: 30 secret_domain: osdf aaf_ca_certs: /opt/app/ssl_cert/aaf_root_ca.cer @@ -118,15 +119,15 @@ flavor: small resources: small: limits: - memory: 4Gi - cpu: 2000m + memory: 2Gi + cpu: 1000m requests: memory: 1Gi cpu: 500m large: limits: - memory: 8Gi - cpu: 4000m + memory: 4Gi + cpu: 2000m requests: memory: 2Gi cpu: 1000m diff --git a/kubernetes/policy/charts/brmsgw/resources/config/pe/brmsgw.conf b/kubernetes/policy/charts/brmsgw/resources/config/pe/brmsgw.conf index 2f65c87bc2..b074d48501 100644 --- a/kubernetes/policy/charts/brmsgw/resources/config/pe/brmsgw.conf +++ b/kubernetes/policy/charts/brmsgw/resources/config/pe/brmsgw.conf @@ -63,5 +63,5 @@ BRMS_UEB_API_KEY= BRMS_UEB_API_SECRET= #Dependency.json file version -BRMS_DEPENDENCY_VERSION=1.2.0 +BRMS_DEPENDENCY_VERSION=1.3.1 diff --git a/kubernetes/policy/charts/brmsgw/values.yaml b/kubernetes/policy/charts/brmsgw/values.yaml index 32059d637c..5109465837 100644 --- a/kubernetes/policy/charts/brmsgw/values.yaml +++ b/kubernetes/policy/charts/brmsgw/values.yaml @@ -26,7 +26,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/policy-pe:1.3-SNAPSHOT-latest +image: onap/policy-pe:1.3.1 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/base.conf b/kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/base.conf index a67f32f368..7afaeaea61 100644 --- a/kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/base.conf +++ b/kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/base.conf @@ -44,6 +44,7 @@ SQL_PASSWORD=policy_user # AAF +AAF=true AAF_NAMESPACE=org.onap.policy AAF_HOST=aaf-locate.{{.Release.Namespace}} @@ -90,7 +91,7 @@ AAI_PASSWORD=demo123456! # MSO -SO_URL=http://so.{{.Release.Namespace}}:8080/ecomp/mso/infra +SO_URL=http://so.{{.Release.Namespace}}:8080/onap/so/infra SO_USERNAME=InfraPortalClient SO_PASSWORD=password1$ diff --git a/kubernetes/policy/charts/drools/values.yaml b/kubernetes/policy/charts/drools/values.yaml index b4a848a02b..9dfefae61c 100644 --- a/kubernetes/policy/charts/drools/values.yaml +++ b/kubernetes/policy/charts/drools/values.yaml @@ -28,7 +28,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/policy-drools:1.3-SNAPSHOT-latest +image: onap/policy-drools:1.3.1 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/policy/charts/pdp/values.yaml b/kubernetes/policy/charts/pdp/values.yaml index 6559b42551..5496123104 100644 --- a/kubernetes/policy/charts/pdp/values.yaml +++ b/kubernetes/policy/charts/pdp/values.yaml @@ -28,7 +28,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/policy-pe:1.3-SNAPSHOT-latest +image: onap/policy-pe:1.3.1 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/policy/charts/policy-apex-pdp/values.yaml b/kubernetes/policy/charts/policy-apex-pdp/values.yaml index 5d7a4d64a0..96803cfd70 100644 --- a/kubernetes/policy/charts/policy-apex-pdp/values.yaml +++ b/kubernetes/policy/charts/policy-apex-pdp/values.yaml @@ -28,7 +28,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/policy-apex-pdp:2.0-SNAPSHOT-latest +image: onap/policy-apex-pdp:2.0.1 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/policy/charts/policy-distribution/templates/deployment.yaml b/kubernetes/policy/charts/policy-distribution/templates/deployment.yaml index 8722e03ad4..d6a6d2110a 100644 --- a/kubernetes/policy/charts/policy-distribution/templates/deployment.yaml +++ b/kubernetes/policy/charts/policy-distribution/templates/deployment.yaml @@ -18,7 +18,7 @@ spec: spec: containers: - name: {{ include "common.name" . }} - image: "{{ .Values.repository }}/{{ .Values.image }}" + image: "{{ include "common.repository" . }}/{{ .Values.image }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} command: ["/opt/app/policy/distribution/bin/policy-dist.sh"] args: ["/opt/app/policy/distribution/etc/mounted/config.json"] diff --git a/kubernetes/policy/charts/policy-distribution/values.yaml b/kubernetes/policy/charts/policy-distribution/values.yaml index d74d0018d1..cad79df99e 100644 --- a/kubernetes/policy/charts/policy-distribution/values.yaml +++ b/kubernetes/policy/charts/policy-distribution/values.yaml @@ -27,7 +27,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/policy-distribution:2.0.0-SNAPSHOT-latest +image: onap/policy-distribution:2.0.1 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/policy/resources/config/pe/console.conf b/kubernetes/policy/resources/config/pe/console.conf index deb213e4b6..1cd9290379 100644 --- a/kubernetes/policy/resources/config/pe/console.conf +++ b/kubernetes/policy/resources/config/pe/console.conf @@ -139,8 +139,8 @@ ONAP_REDIRECT_URL=https://portal-app.{{.Release.Namespace}}:30225/ONAPPORTAL/log ONAP_REST_URL=https://portal-app:8443/ONAPPORTAL/auxapi ONAP_UEB_URL_LIST= ONAP_PORTAL_INBOX_NAME= -ONAP_UEB_APP_KEY= -ONAP_UEB_APP_SECRET= +ONAP_UEB_APP_KEY=ueb_key_5 +ONAP_UEB_APP_SECRET=ueb_key_5 ONAP_UEB_APP_MAILBOX_NAME= APP_DISPLAY_NAME=ONAP Policy ONAP_SHARED_CONTEXT_REST_URL=http://portal-app.{{.Release.Namespace}}:8989/ONAPPORTAL/context diff --git a/kubernetes/policy/resources/config/pe/push-policies.sh b/kubernetes/policy/resources/config/pe/push-policies.sh index 2fe0ecb5cc..bdf5933318 100644 --- a/kubernetes/policy/resources/config/pe/push-policies.sh +++ b/kubernetes/policy/resources/config/pe/push-policies.sh @@ -1,4 +1,5 @@ # Copyright © 2017 Amdocs, Bell Canada, AT&T +# Modifications Copyright © 2018 AT&T. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -22,7 +23,7 @@ echo "Upload BRMS Param Template" sleep 2 -wget -O cl-amsterdam-template.drl https://git.onap.org/policy/drools-applications/plain/controlloop/templates/archetype-cl-amsterdam/src/main/resources/archetype-resources/src/main/resources/__closedLoopControlName__.drl +wget -O cl-amsterdam-template.drl https://git.onap.org/policy/drools-applications/plain/controlloop/templates/archetype-cl-amsterdam/src/main/resources/archetype-resources/src/main/resources/__closedLoopControlName__.drl?h=casablanca sleep 2 @@ -73,7 +74,7 @@ curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'A "RULE": { "templateName": "ClosedLoopControlName", "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", - "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3%0D%0A++trigger_policy%3A+unique-policy-id-1-scale-up%0D%0A++timeout%3A+1200%0D%0A++abatement%3A+false%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-scale-up%0D%0A++++name%3A+Create+a+new+VF+Module%0D%0A++++description%3A%0D%0A++++actor%3A+SO%0D%0A++++recipe%3A+VF+Module+Create%0D%0A++++target%3A%0D%0A++++++type%3A+VNF%0D%0A++++retry%3A+0%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard" + "controlLoopYaml": "controlLoop%3A%0A++version%3A+2.0.0%0A++controlLoopName%3A+ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3%0A++trigger_policy%3A+unique-policy-id-1-scale-up%0A++timeout%3A+1200%0A++abatement%3A+false%0Apolicies%3A%0A++-+id%3A+unique-policy-id-1-scale-up%0A++++name%3A+Create+a+new+VF+Module%0A++++description%3A%0A++++actor%3A+SO%0A++++recipe%3A+VF+Module+Create%0A++++target%3A%0A++++++type%3A+VNF%0A++++payload%3A%0A++++++requestParameters%3A+%27%7B%22usePreload%22%3Atrue%2C%22userParams%22%3A%5B%5D%7D%27%0A++++++configurationParameters%3A+%27%5B%7B%22ip-addr%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B9%5D%22%2C%22oam-ip-addr%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B16%5D%22%2C%22enabled%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B23%5D%22%7D%5D%27%0A++++retry%3A+0%0A++++timeout%3A+1200%0A++++success%3A+final_success%0A++++failure%3A+final_failure%0A++++failure_timeout%3A+final_failure_timeout%0A++++failure_retries%3A+final_failure_retries%0A++++failure_exception%3A+final_failure_exception%0A++++failure_guard%3A+final_failure_guard" } } }' 'https://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy' @@ -476,4 +477,4 @@ curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'A "pdpGroup": "default", "policyName": "com.OOF_PCI_CONFIG_POLICY", "policyType": "Base" -}' 'https://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy' \ No newline at end of file +}' 'https://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy' diff --git a/kubernetes/policy/values.yaml b/kubernetes/policy/values.yaml index 0813f4c9c5..8d72d1922b 100644 --- a/kubernetes/policy/values.yaml +++ b/kubernetes/policy/values.yaml @@ -41,7 +41,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/policy-pe:1.3-SNAPSHOT-latest +image: onap/policy-pe:1.3.1 pullPolicy: Always subChartsOnly: diff --git a/kubernetes/pomba/charts/pomba-aaictxbuilder/values.yaml b/kubernetes/pomba/charts/pomba-aaictxbuilder/values.yaml index 47ad5c328f..78c5367b8b 100644 --- a/kubernetes/pomba/charts/pomba-aaictxbuilder/values.yaml +++ b/kubernetes/pomba/charts/pomba-aaictxbuilder/values.yaml @@ -24,7 +24,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/pomba-aai-context-builder:latest +image: onap/pomba-aai-context-builder:1.3.1 pullPolicy: Always # flag to enable debugging - application support required @@ -38,8 +38,8 @@ config: aaiUsername: AAI aaiPassword: OBF:1gfr1ev31gg7 aaiHttpProtocol: https - aaiConnectionTimeout: 5000 - aaiReadTimeout: 1000 + aaiConnectionTimeout: 60000 + aaiReadTimeout: 60000 # HTTP Basic Authorization credentials for Rest Service API httpUserId: admin httpPassword: OBF:1u2a1toa1w8v1tok1u30 @@ -83,21 +83,22 @@ service: ingress: enabled: false -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # - # Example: - # Configure resource requests and limits - # ref: http://kubernetes.io/docs/user-guide/compute-resources/ - # Minimum memory for development is 2 CPU cores and 4GB memory - # Minimum memory for production is 4 CPU cores and 8GB memory -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) +resources: + small: + limits: + cpu: 1 + memory: 800Mi + requests: + cpu: 100m + memory: 400Mi + large: + limits: + cpu: 2 + memory: 1600Mi + requests: + cpu: 200m + memory: 800Mi + unlimited: {} diff --git a/kubernetes/pomba/charts/pomba-contextaggregator/resources/bin/pre_start.sh b/kubernetes/pomba/charts/pomba-contextaggregator/resources/bin/pre_start.sh new file mode 100644 index 0000000000..3ef1434f20 --- /dev/null +++ b/kubernetes/pomba/charts/pomba-contextaggregator/resources/bin/pre_start.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +# Get the list of topic from curl ressult +dmaap_mr_host=message-router +dmaap_mr_port=3904 +temp_output_file=".tmpoutput" +curl -X GET http://$dmaap_mr_host:$dmaap_mr_port/topics > $temp_output_file + +# Test topic POA-AUDIT-INIT, POA-AUDIT-RESULT, POA-RULE-VALIDATION +TOPICS="POA-AUDIT-INIT POA-RULE-VALIDATION POA-AUDIT-RESULT" +for i_topic in $TOPICS +do + echo "Looping ... topic: $i_topic" + if grep -iFq "$i_topic" $temp_output_file + then + # code if found + echo "$i_topic found." + else + # code if not found + echo "$i_topic NOT found." + curl -X POST -H "content-type: application/json" --data "Empty post to create topic" http://$dmaap_mr_host:$dmaap_mr_port/events/$i_topic + fi +done + +# remove the temp file +rm -f $temp_output_file diff --git a/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/aai.properties b/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/aai.properties index 7a119f9267..eab3864168 100755 --- a/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/aai.properties +++ b/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/aai.properties @@ -23,6 +23,6 @@ key.store.password=70c87528c88dcd9f9c2558d30e817868 key.store.type=PKCS12 key.manager.factory.algorithm=SunX509 security.protocol=TLS -connection.timeout.ms=15000 -read.timeout.ms=10000 +connection.timeout.ms=60000 +read.timeout.ms=60000 base.uri=/aaicontextbuilder/service/context diff --git a/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/sdc.properties b/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/sdc.properties index 80167d2257..9a27a6c8c8 100755 --- a/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/sdc.properties +++ b/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/sdc.properties @@ -22,6 +22,6 @@ key.store.password=70c87528c88dcd9f9c2558d30e817868 key.store.type=PKCS12 key.manager.factory.algorithm=SunX509 security.protocol=TLS -connection.timeout.ms=15000 -read.timeout.ms=10000 +connection.timeout.ms=60000 +read.timeout.ms=60000 base.uri=/sdccontextbuilder/service/context diff --git a/kubernetes/pomba/charts/pomba-contextaggregator/templates/configmap.yaml b/kubernetes/pomba/charts/pomba-contextaggregator/templates/configmap.yaml index 767b2407be..d5ce98e6f2 100755 --- a/kubernetes/pomba/charts/pomba-contextaggregator/templates/configmap.yaml +++ b/kubernetes/pomba/charts/pomba-contextaggregator/templates/configmap.yaml @@ -27,3 +27,11 @@ metadata: namespace: {{ include "common.namespace" . }} data: {{ tpl (.Files.Glob "resources/config/builders/*").AsConfig . | indent 2 }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-pre-start-configmap + namespace: {{ include "common.namespace" . }} +data: +{{ tpl (.Files.Glob "resources/bin/*").AsConfig . | indent 2 }} \ No newline at end of file diff --git a/kubernetes/pomba/charts/pomba-contextaggregator/templates/deployment.yaml b/kubernetes/pomba/charts/pomba-contextaggregator/templates/deployment.yaml index 44268db46e..52a28d012c 100755 --- a/kubernetes/pomba/charts/pomba-contextaggregator/templates/deployment.yaml +++ b/kubernetes/pomba/charts/pomba-contextaggregator/templates/deployment.yaml @@ -30,6 +30,21 @@ spec: app: {{ include "common.name" . }} release: {{ .Release.Name }} spec: + initContainers: + - command: + - /root/ready.py + args: + - --container-name + - message-router + 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 }}" @@ -63,6 +78,10 @@ spec: - mountPath: /opt/app/config/builders name: {{ include "common.fullname" . }}-config-builders readOnly: true + - mountPath: /opt/app/bin/pre_start.sh + name: {{ include "common.fullname" . }}-pre-start + subPath: pre_start.sh + readOnly: false resources: {{ include "common.resources" . | indent 12 }} {{- if .Values.nodeSelector }} @@ -83,5 +102,9 @@ spec: - name: {{ include "common.fullname" . }}-config-builders configMap: name: {{ include "common.fullname" . }}-configmap-builders + - name: {{ include "common.fullname" . }}-pre-start + configMap: + name: {{ include "common.fullname" . }}-pre-start-configmap + defaultMode: 0777 imagePullSecrets: - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/pomba/charts/pomba-contextaggregator/values.yaml b/kubernetes/pomba/charts/pomba-contextaggregator/values.yaml index 9535a7ebd5..9c9a6ff185 100755 --- a/kubernetes/pomba/charts/pomba-contextaggregator/values.yaml +++ b/kubernetes/pomba/charts/pomba-contextaggregator/values.yaml @@ -18,12 +18,14 @@ global: nodePortPrefix: 302 repository: nexus3.onap.org:10001 + readinessRepository: oomk8s + readinessImage: readiness-check:2.0.0 ################################################################# # Application configuration defaults. ################################################################# # application image -image: onap/pomba-context-aggregator:latest +image: onap/pomba-context-aggregator:1.3.2 pullPolicy: Always # flag to enable debugging - application support required @@ -83,21 +85,22 @@ service: ingress: enabled: false -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # - # Example: - # Configure resource requests and limits - # ref: http://kubernetes.io/docs/user-guide/compute-resources/ - # Minimum memory for development is 2 CPU cores and 4GB memory - # Minimum memory for production is 4 CPU cores and 8GB memory -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) +resources: + small: + limits: + cpu: 1 + memory: 800Mi + requests: + cpu: 10m + memory: 400Mi + large: + limits: + cpu: 2 + memory: 1600Mi + requests: + cpu: 20m + memory: 800Mi + unlimited: {} diff --git a/kubernetes/pomba/charts/pomba-data-router/templates/deployment.yaml b/kubernetes/pomba/charts/pomba-data-router/templates/deployment.yaml index ce62679ee0..3244a74f1f 100644 --- a/kubernetes/pomba/charts/pomba-data-router/templates/deployment.yaml +++ b/kubernetes/pomba/charts/pomba-data-router/templates/deployment.yaml @@ -35,6 +35,20 @@ spec: name: {{ include "common.name" . }} spec: initContainers: + - command: + - /root/ready.py + args: + - --container-name + - pomba-search-data + 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 - command: - /bin/sh - -c diff --git a/kubernetes/pomba/charts/pomba-data-router/values.yaml b/kubernetes/pomba/charts/pomba-data-router/values.yaml index 3cfcc97c5c..ff7f8a5ee5 100644 --- a/kubernetes/pomba/charts/pomba-data-router/values.yaml +++ b/kubernetes/pomba/charts/pomba-data-router/values.yaml @@ -22,10 +22,12 @@ global: nodePortPrefix: 302 persistence: {} - + readinessRepository: oomk8s + readinessImage: readiness-check:2.0.0 + # application image repository: nexus3.onap.org:10001 -image: onap/data-router:1.3-STAGING-latest +image: onap/data-router:1.3.0 pullPolicy: Always restartPolicy: Always @@ -91,21 +93,22 @@ persistence: mountPath: /dockerdata-nfs mountSubPath: pomba/data-router/logs -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # - # Example: - # Configure resource requests and limits - # ref: http://kubernetes.io/docs/user-guide/compute-resources/ - # Minimum memory for development is 2 CPU cores and 4GB memory - # Minimum memory for production is 4 CPU cores and 8GB memory -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) +resources: + small: + limits: + cpu: 1 + memory: 1400Mi + requests: + cpu: 100m + memory: 700Mi + large: + limits: + cpu: 2 + memory: 2800Mi + requests: + cpu: 200m + memory: 1400Mi + unlimited: {} diff --git a/kubernetes/pomba/charts/pomba-elasticsearch/values.yaml b/kubernetes/pomba/charts/pomba-elasticsearch/values.yaml index cdf1568b6b..f3d2aaa311 100644 --- a/kubernetes/pomba/charts/pomba-elasticsearch/values.yaml +++ b/kubernetes/pomba/charts/pomba-elasticsearch/values.yaml @@ -93,21 +93,22 @@ service: ingress: enabled: false -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # - # Example: - # Configure resource requests and limits - # ref: http://kubernetes.io/docs/user-guide/compute-resources/ - # Minimum memory for development is 2 CPU cores and 4GB memory - # Minimum memory for production is 4 CPU cores and 8GB memory -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) +resources: + small: + limits: + cpu: 2 + memory: 3Gi + requests: + cpu: 1 + memory: 1.5Gi + large: + limits: + cpu: 4 + memory: 6Gi + requests: + cpu: 2 + memory: 3Gi + unlimited: {} diff --git a/kubernetes/pomba/charts/pomba-kibana/templates/deployment.yaml b/kubernetes/pomba/charts/pomba-kibana/templates/deployment.yaml index e87a04faba..a4602e313c 100644 --- a/kubernetes/pomba/charts/pomba-kibana/templates/deployment.yaml +++ b/kubernetes/pomba/charts/pomba-kibana/templates/deployment.yaml @@ -45,6 +45,7 @@ spec: image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} name: {{ include "common.name" . }}-readiness + containers: - args: - --output=http://{{.Values.config.elasticsearchServiceName}}.{{ include "common.namespace" . }}:{{.Values.config.elasticsearchPort}}/.kibana - --input=/config/default-mapping.json diff --git a/kubernetes/pomba/charts/pomba-kibana/values.yaml b/kubernetes/pomba/charts/pomba-kibana/values.yaml index 5f553e40d8..a6ee772d9b 100644 --- a/kubernetes/pomba/charts/pomba-kibana/values.yaml +++ b/kubernetes/pomba/charts/pomba-kibana/values.yaml @@ -78,21 +78,22 @@ service: ingress: enabled: false -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # - # Example: - # Configure resource requests and limits - # ref: http://kubernetes.io/docs/user-guide/compute-resources/ - # Minimum memory for development is 2 CPU cores and 4GB memory - # Minimum memory for production is 4 CPU cores and 8GB memory -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) +resources: + small: + limits: + cpu: 2 + memory: 1200Mi + requests: + cpu: 1 + memory: 600Mi + large: + limits: + cpu: 4 + memory: 2400Mi + requests: + cpu: 2 + memory: 1200Mi + unlimited: {} diff --git a/kubernetes/pomba/charts/pomba-networkdiscovery/values.yaml b/kubernetes/pomba/charts/pomba-networkdiscovery/values.yaml index e10b6db668..bb4f24f91a 100644 --- a/kubernetes/pomba/charts/pomba-networkdiscovery/values.yaml +++ b/kubernetes/pomba/charts/pomba-networkdiscovery/values.yaml @@ -76,21 +76,22 @@ service: ingress: enabled: false -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # - # Example: - # Configure resource requests and limits - # ref: http://kubernetes.io/docs/user-guide/compute-resources/ - # Minimum memory for development is 2 CPU cores and 4GB memory - # Minimum memory for production is 4 CPU cores and 8GB memory -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) +resources: + small: + limits: + cpu: 1 + memory: 800Mi + requests: + cpu: 10m + memory: 400Mi + large: + limits: + cpu: 2 + memory: 1600Mi + requests: + cpu: 20m + memory: 800Mi + unlimited: {} \ No newline at end of file diff --git a/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/values.yaml b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/values.yaml index 2394ef1960..e1379b8aae 100644 --- a/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/values.yaml +++ b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/values.yaml @@ -24,7 +24,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/pomba-network-discovery-context-builder:latest +image: onap/pomba-network-discovery-context-builder:1.3.0 pullPolicy: Always # flag to enable debugging - application support required @@ -98,21 +98,22 @@ service: ingress: enabled: false -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # - # Example: - # Configure resource requests and limits - # ref: http://kubernetes.io/docs/user-guide/compute-resources/ - # Minimum memory for development is 2 CPU cores and 4GB memory - # Minimum memory for production is 4 CPU cores and 8GB memory -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) +resources: + small: + limits: + cpu: 1 + memory: 800Mi + requests: + cpu: 100m + memory: 400Mi + large: + limits: + cpu: 2 + memory: 1600Mi + requests: + cpu: 200m + memory: 800Mi + unlimited: {} \ No newline at end of file diff --git a/kubernetes/pomba/charts/pomba-sdcctxbuilder/resources/config/application.properties b/kubernetes/pomba/charts/pomba-sdcctxbuilder/resources/config/application.properties index 7eacd187aa..08879c5606 100644 --- a/kubernetes/pomba/charts/pomba-sdcctxbuilder/resources/config/application.properties +++ b/kubernetes/pomba/charts/pomba-sdcctxbuilder/resources/config/application.properties @@ -36,7 +36,7 @@ sdcConnect.consumerID={{ .Values.config.sdcConsumerId }} sdcConnect.sdcAddress={{ .Values.config.sdcServiceName }}.{{.Release.Namespace}}:{{ .Values.config.sdcPort }} # Minimum timeout value is 15 seconds; default is 120000s -sdcConnect.timeout.seconds=12000 +sdcConnect.timeout.seconds=60000 # {0} = UUID sdc.url.template=/sdc/v1/catalog/services/{0}/toscaModel diff --git a/kubernetes/pomba/charts/pomba-sdcctxbuilder/values.yaml b/kubernetes/pomba/charts/pomba-sdcctxbuilder/values.yaml index 0d17725c64..b813288baa 100644 --- a/kubernetes/pomba/charts/pomba-sdcctxbuilder/values.yaml +++ b/kubernetes/pomba/charts/pomba-sdcctxbuilder/values.yaml @@ -28,7 +28,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/pomba-sdc-context-builder:latest +image: onap/pomba-sdc-context-builder:1.3.1 pullPolicy: Always # flag to enable debugging - application support required @@ -39,7 +39,7 @@ debugEnabled: false config: #Application properties sdcUsername: pomba - sdcPassword: OBF:1uha1uh81w8v1ugi1ugg + sdcPassword: OBF:1ks51l8d1o3i1pcc1r2r1e211r391kls1pyj1z7u1njf1lx51go21hnj1y0k1mli1sop1k8o1j651vu91mxw1vun1mze1vv11j8x1k5i1sp11mjc1y161hlr1gm41m111nkj1z781pw31kku1r4p1e391r571pbm1o741l4x1ksp sdcConsumerId: pomba sdcServiceName: sdc-be sdcPort: 8443 @@ -85,21 +85,22 @@ service: ingress: enabled: false -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # - # Example: - # Configure resource requests and limits - # ref: http://kubernetes.io/docs/user-guide/compute-resources/ - # Minimum memory for development is 2 CPU cores and 4GB memory - # Minimum memory for production is 4 CPU cores and 8GB memory -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) +resources: + small: + limits: + cpu: 1 + memory: 800Mi + requests: + cpu: 100m + memory: 400Mi + large: + limits: + cpu: 2 + memory: 1600Mi + requests: + cpu: 200m + memory: 800Mi + unlimited: {} diff --git a/kubernetes/pomba/charts/pomba-search-data/templates/deployment.yaml b/kubernetes/pomba/charts/pomba-search-data/templates/deployment.yaml index fd03c6c92d..0a81e2615d 100644 --- a/kubernetes/pomba/charts/pomba-search-data/templates/deployment.yaml +++ b/kubernetes/pomba/charts/pomba-search-data/templates/deployment.yaml @@ -34,6 +34,21 @@ spec: release: {{ .Release.Name }} name: {{ include "common.name" . }} spec: + initContainers: + - command: + - /root/ready.py + args: + - --container-name + - pomba-elasticsearch + 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 }}" diff --git a/kubernetes/pomba/charts/pomba-search-data/values.yaml b/kubernetes/pomba/charts/pomba-search-data/values.yaml index c9eb6f94ec..6a3659e82d 100644 --- a/kubernetes/pomba/charts/pomba-search-data/values.yaml +++ b/kubernetes/pomba/charts/pomba-search-data/values.yaml @@ -9,7 +9,7 @@ global: # global defaults # application image repository: nexus3.onap.org:10001 -image: onap/search-data-service:1.3-STAGING-latest +image: onap/search-data-service:1.3.1 pullPolicy: Always restartPolicy: Always @@ -47,21 +47,22 @@ service: ingress: enabled: false -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # - # Example: - # Configure resource requests and limits - # ref: http://kubernetes.io/docs/user-guide/compute-resources/ - # Minimum memory for development is 2 CPU cores and 4GB memory - # Minimum memory for production is 4 CPU cores and 8GB memory -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) +resources: + small: + limits: + cpu: 1 + memory: 1800Mi + requests: + cpu: 50m + memory: 900Mi + large: + limits: + cpu: 2 + memory: 3600Mi + requests: + cpu: 100m + memory: 1800Mi + unlimited: {} \ No newline at end of file diff --git a/kubernetes/pomba/charts/pomba-servicedecomposition/resources/config/application.properties b/kubernetes/pomba/charts/pomba-servicedecomposition/resources/config/application.properties index bce6710a5e..5b64f841e2 100644 --- a/kubernetes/pomba/charts/pomba-servicedecomposition/resources/config/application.properties +++ b/kubernetes/pomba/charts/pomba-servicedecomposition/resources/config/application.properties @@ -32,14 +32,14 @@ basicAuth.username={{ .Values.config.serviceDecompositionUserId }} basicAuth.password={{ .Values.config.serviceDecompositionPassword }} # AAI REST Client Configuration -aai.serviceName=127.0.0.1 -aai.servicePort=8443 -aai.username=AAI -aai.password=OBF:1gfr1ev31gg7 -aai.httpProtocol=https +aai.serviceName={{ .Values.config.aaiServiceName }}.{{.Release.Namespace}} +aai.servicePort={{ .Values.config.aaiPort }} +aai.username={{ .Values.config.aaiUsername }} +aai.password={{ .Values.config.aaiPassword }} +aai.httpProtocol={{ .Values.config.aaiHttpProtocol }} aai.securityProtocol=TLS -aai.connectionTimeout=15000 -aai.readTimeout=15000 +aai.connectionTimeout=60000 +aai.readTimeout=60000 aai.resourceList=vnfc,vserver,l3-network aai.serviceInstancePath=/aai/v13/nodes/service-instance/{0} diff --git a/kubernetes/pomba/charts/pomba-servicedecomposition/values.yaml b/kubernetes/pomba/charts/pomba-servicedecomposition/values.yaml index f43eea1e53..a1ef2725d8 100644 --- a/kubernetes/pomba/charts/pomba-servicedecomposition/values.yaml +++ b/kubernetes/pomba/charts/pomba-servicedecomposition/values.yaml @@ -34,6 +34,11 @@ debugEnabled: false # Example: config: # Service Decomposition REST Client Configuration + aaiServiceName: aai + aaiPort: 8443 + aaiUsername: AAI + aaiPassword: OBF:1gfr1ev31gg7 + aaiHttpProtocol: https # Basic Authorization Client credentials for Service Decomposition REST service serviceDecompositionUserId: admin serviceDecompositionPassword: OBF:1u2a1toa1w8v1tok1u30 @@ -76,21 +81,22 @@ service: ingress: enabled: false -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # - # Example: - # Configure resource requests and limits - # ref: http://kubernetes.io/docs/user-guide/compute-resources/ - # Minimum memory for development is 2 CPU cores and 4GB memory - # Minimum memory for production is 4 CPU cores and 8GB memory -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) +resources: + small: + limits: + cpu: 1 + memory: 800Mi + requests: + cpu: 100m + memory: 400Mi + large: + limits: + cpu: 2 + memory: 1600Mi + requests: + cpu: 200m + memory: 800Mi + unlimited: {} diff --git a/kubernetes/pomba/charts/pomba-validation-service/values.yaml b/kubernetes/pomba/charts/pomba-validation-service/values.yaml index 9607671e45..76f29651b0 100644 --- a/kubernetes/pomba/charts/pomba-validation-service/values.yaml +++ b/kubernetes/pomba/charts/pomba-validation-service/values.yaml @@ -29,7 +29,7 @@ global: # application image #repository: nexus3.onap.org:10001 repository: nexus3.onap.org:10001 -image: onap/validation:1.3-STAGING-latest +image: onap/validation:1.3.0 #pullPolicy: Always pullPolicy: IfNotPresent @@ -87,21 +87,22 @@ service: ingress: enabled: false -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # - # Example: - # Configure resource requests and limits - # ref: http://kubernetes.io/docs/user-guide/compute-resources/ - # Minimum memory for development is 2 CPU cores and 4GB memory - # Minimum memory for production is 4 CPU cores and 8GB memory -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) +resources: + small: + limits: + cpu: 1 + memory: 1400Mi + requests: + cpu: 50m + memory: 700Mi + large: + limits: + cpu: 2 + memory: 2800Mi + requests: + cpu: 100m + memory: 1400Mi + unlimited: {} diff --git a/kubernetes/portal/charts/portal-app/resources/certs/keystoreONAPPortal.p12 b/kubernetes/portal/charts/portal-app/resources/certs/keystoreONAPPortal.p12 new file mode 100644 index 0000000000..df2f4f6cd3 Binary files /dev/null and b/kubernetes/portal/charts/portal-app/resources/certs/keystoreONAPPortal.p12 differ diff --git a/kubernetes/portal/charts/portal-app/resources/config/deliveries/properties/ONAPPORTAL/portal.properties b/kubernetes/portal/charts/portal-app/resources/config/deliveries/properties/ONAPPORTAL/portal.properties index 088dbc104b..06726702f0 100755 --- a/kubernetes/portal/charts/portal-app/resources/config/deliveries/properties/ONAPPORTAL/portal.properties +++ b/kubernetes/portal/charts/portal-app/resources/config/deliveries/properties/ONAPPORTAL/portal.properties @@ -19,7 +19,7 @@ max.idle.time = 5 user.attribute.name = user_attribute # for single sign on -ecomp_redirect_url = http://{{.Values.global.portalHostName}}:{{.Values.global.portalPort}}/ONAPPORTAL/login.htm +ecomp_redirect_url = http://{{.Values.global.portalHostName}}:{{.Values.global.portalFEPort}}/ONAPPORTAL/login.htm # URL of the ECOMP Portal REST API ecomp_rest_url = http://{{.Values.global.portalHostName}}:{{.Values.global.portalPort}}/ONAPPORTAL/auxapi diff --git a/kubernetes/portal/charts/portal-app/resources/config/deliveries/properties/ONAPPORTAL/system.properties b/kubernetes/portal/charts/portal-app/resources/config/deliveries/properties/ONAPPORTAL/system.properties index c4a27603ea..8d21859b29 100755 --- a/kubernetes/portal/charts/portal-app/resources/config/deliveries/properties/ONAPPORTAL/system.properties +++ b/kubernetes/portal/charts/portal-app/resources/config/deliveries/properties/ONAPPORTAL/system.properties @@ -58,7 +58,7 @@ log_cron = 0 * * * * ? * sessiontimeout_feed_cron = 0 0/5 * * * ? * #Front end URL -frontend_url = http://{{.Values.global.portalHostName}}:{{.Values.global.portalPort}}/ONAPPORTAL/applicationsHome +frontend_url = https://{{.Values.global.portalHostName}}:{{.Values.global.portalFEPort}}/ONAPPORTAL/applicationsHome # An Unqiue 128-bit value defined to indentify a specific version of @@ -112,13 +112,13 @@ auditlog_del_day_from = 365 external_system_notification_url= https://jira.onap.org/browse/ # External Access System Basic Auth Credentials & Rest endpoint(These credentials doesn't work as these are place holders for now) -ext_central_access_user_name = m00468@portal.onap.org -ext_central_access_password = ByC0BEX2v5+4HBv2GA4S+Mi2iML+GrGNJ5Gxo/V/iWM= -ext_central_access_url = https://aaftest.test.onap.org:8095/proxy/authz/ -ext_central_access_user_domain = @csp.onap.org +ext_central_access_user_name = aaf_admin@people.osaaf.org +ext_central_access_password = VTCIC7wfMI0Zy61wkqKQC0bF0EK2YmL2JLl1fQU2YC4= +ext_central_access_url = https://aaf-service:8100/authz/ +ext_central_access_user_domain = @people.osaaf.org # External Central Auth system access -remote_centralized_system_access = false +remote_centralized_system_access = true #cookie domain cookie_domain = onap.org diff --git a/kubernetes/portal/charts/portal-app/templates/NOTES.txt b/kubernetes/portal/charts/portal-app/templates/NOTES.txt index 1aa4c41458..9a67a4c9bb 100644 --- a/kubernetes/portal/charts/portal-app/templates/NOTES.txt +++ b/kubernetes/portal/charts/portal-app/templates/NOTES.txt @@ -13,7 +13,7 @@ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/kubernetes/portal/charts/portal-app/templates/deployment.yaml b/kubernetes/portal/charts/portal-app/templates/deployment.yaml index fb9f35ba19..5503328df4 100644 --- a/kubernetes/portal/charts/portal-app/templates/deployment.yaml +++ b/kubernetes/portal/charts/portal-app/templates/deployment.yaml @@ -56,6 +56,12 @@ spec: - -n - "" env: + - name: CATALINA_OPTS + value: > + -Djavax.net.ssl.keyStore={{ .Values.global.env.tomcatDir }}/{{ .Values.global.truststoreFile}} + -Djavax.net.ssl.keyStorePassword={{ .Values.global.trustpass }} + -Djavax.net.ssl.trustStore={{ .Values.global.env.tomcatDir }}/{{ .Values.global.truststoreFile}} + -Djavax.net.ssl.trustStorePassword={{ .Values.global.trustpass }} - name: javax.net.ssl.keyStore value: {{ .Values.global.env.tomcatDir }}/{{ .Values.global.truststoreFile}} - name: javax.net.ssl.keyStorePassword diff --git a/kubernetes/portal/charts/portal-app/templates/service.yaml b/kubernetes/portal/charts/portal-app/templates/service.yaml index 9d7073243d..0813682d95 100644 --- a/kubernetes/portal/charts/portal-app/templates/service.yaml +++ b/kubernetes/portal/charts/portal-app/templates/service.yaml @@ -36,7 +36,7 @@ metadata: spec: type: {{ .Values.service.type }} ports: - {{- if or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer") }} + {{ if or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer") -}} - port: {{ .Values.service.externalPort }} targetPort: {{ .Values.service.internalPort }} nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }} diff --git a/kubernetes/portal/charts/portal-app/values.yaml b/kubernetes/portal/charts/portal-app/values.yaml index d34a08bb45..13d0138719 100644 --- a/kubernetes/portal/charts/portal-app/values.yaml +++ b/kubernetes/portal/charts/portal-app/values.yaml @@ -28,7 +28,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/portal-app:2.3.0-STAGING-latest +image: onap/portal-app:2.3.0 pullPolicy: Always # default number of instances diff --git a/kubernetes/portal/charts/portal-mariadb/resources/config/mariadb/oom_updates.sql b/kubernetes/portal/charts/portal-mariadb/resources/config/mariadb/oom_updates.sql index 6b9e8a957c..964e3e8cdd 100644 --- a/kubernetes/portal/charts/portal-mariadb/resources/config/mariadb/oom_updates.sql +++ b/kubernetes/portal/charts/portal-mariadb/resources/config/mariadb/oom_updates.sql @@ -23,19 +23,40 @@ while the OOM K8s version has these service split up. */ -- app_url is the FE, app_rest_endpoint is the BE --portal-sdk => TODO: doesn't open a node port yet -update fn_app set app_url = 'http://{{.Values.config.portalSdkHostName}}:{{.Values.config.portalSdkPort}}/ONAPPORTALSDK/welcome.htm', app_rest_endpoint = 'http://portal-sdk:8990/ONAPPORTALSDK/api/v2' where app_name = 'xDemo App'; +update fn_app set app_url = 'http://{{.Values.config.portalSdkHostName}}:{{.Values.config.portalSdkPort}}/ONAPPORTALSDK/welcome.htm', app_rest_endpoint = 'http://portal-sdk:8080/ONAPPORTALSDK/api/v3' where app_name = 'xDemo App'; --dmaap-bc => the dmaap-bc doesn't open a node port.. update fn_app set app_url = 'http://{{.Values.config.dmaapBcHostName}}:{{.Values.config.dmaapBcPort}}/ECOMPDBCAPP/dbc#/dmaap', app_rest_endpoint = 'http://dmaap-bc:8989/ECOMPDBCAPP/api/v2' where app_name = 'DMaaP Bus Ctrl'; --sdc-be => 8443:30204, 8080:30205 --sdc-fe => 8181:30206, 9443:30207 -update fn_app set app_url = 'http://{{.Values.config.sdcFeHostName}}:{{.Values.config.sdcFePort}}/sdc1/portal', app_rest_endpoint = 'http://sdc-be:8080/api/v2' where app_name = 'SDC'; +update fn_app set app_url = 'http://{{.Values.config.sdcFeHostName}}:{{.Values.config.sdcFePort}}/sdc1/portal', app_rest_endpoint = 'http://sdc-be:8080/api/v3' where app_name = 'SDC'; --pap => 8443:30219 -update fn_app set app_url = 'https://{{.Values.config.papHostName}}:{{.Values.config.papPort}}/onap/policy', app_rest_endpoint = 'https://pap:8443/onap/api/v2' where app_name = 'Policy'; +update fn_app set app_url = 'https://{{.Values.config.papHostName}}:{{.Values.config.papPort}}/onap/policy', app_rest_endpoint = 'https://pap:8443/onap/api/v3' where app_name = 'Policy'; --vid => 8080:30200 -update fn_app set app_url = 'https://{{.Values.config.vidHostName}}:{{.Values.config.vidPort}}/vid/welcome.htm', app_rest_endpoint = 'https://vid:8443/vid/api/v2' where app_name = 'Virtual Infrastructure Deployment'; +update fn_app set app_url = 'https://{{.Values.config.vidHostName}}:{{.Values.config.vidPort}}/vid/welcome.htm', app_rest_endpoint = 'https://vid:8443/vid/api/v3' where app_name = 'Virtual Infrastructure Deployment'; --sparky => TODO: sparky doesn't open a node port yet update fn_app set app_url = 'http://{{.Values.config.aaiSparkyHostName}}:{{.Values.config.aaiSparkyPort}}/services/aai/webapp/index.html#/viewInspect', app_rest_endpoint = 'http://aai-sparky-be.{{.Release.Namespace}}:9517/api/v2' where app_name = 'A&AI UI'; --cli => 8080:30260 update fn_app set app_url = 'http://{{.Values.config.cliHostName}}:{{.Values.config.cliPort}}/', app_type = 1 where app_name = 'CLI'; ---msb-discovery => 10081:30281 this is clearly incorrect -update fn_app set app_url = 'http://{{.Values.config.msbDiscoveryHostName}}:{{.Values.config.msbDiscoveryPort}}/iui/microservices/default.html' where app_name = 'MSB'; +--msb-iag => 80:30280 +update fn_app set app_url = 'http://{{.Values.config.msbHostName}}:{{.Values.config.msbPort}}/iui/microservices/default.html' where app_name = 'MSB'; + + +/* +Additionally, some more update statments; these should be refactored to another SQL file in future releases +*/ + +-- portal +update fn_app set auth_central = 'Y' , auth_namespace = 'org.onap.portal' where app_id = 1; +-- portal-sdk +update fn_app set app_username='Default', app_password='2VxipM8Z3SETg32m3Gp0FvKS6zZ2uCbCw46WDyK6T5E=', ueb_key='ueb_key' where app_id = 2; +-- SDC +update fn_app set app_username='sdc', app_password='j85yNhyIs7zKYbR1VlwEfNhS6b7Om4l0Gx5O8931sCI=', ueb_key='ueb_key' where app_id = 4; +-- policy +update fn_app set app_username='Default', app_password='2VxipM8Z3SETg32m3Gp0FvKS6zZ2uCbCw46WDyK6T5E=', ueb_key='ueb_key_5', auth_central = 'Y' , auth_namespace = 'org.onap.policy' where app_id = 5; +-- vid +update fn_app set app_username='Default', app_password='2VxipM8Z3SETg32m3Gp0FvKS6zZ2uCbCw46WDyK6T5E=', ueb_key='2Re7Pvdkgw5aeAUD', auth_central = 'Y' , auth_namespace = 'org.onap.vid' where app_id = 6; +-- aai sparky +update fn_app set app_username='aaiui', app_password='4LK69amiIFtuzcl6Gsv97Tt7MLhzo03aoOx7dTvdjKQ=', ueb_key='ueb_key' where app_id = 7; + + + diff --git a/kubernetes/portal/charts/portal-mariadb/values.yaml b/kubernetes/portal/charts/portal-mariadb/values.yaml index bd68f9aaec..c9acba5d9f 100644 --- a/kubernetes/portal/charts/portal-mariadb/values.yaml +++ b/kubernetes/portal/charts/portal-mariadb/values.yaml @@ -24,11 +24,11 @@ global: # global defaults # application image repository: nexus3.onap.org:10001 -image: onap/portal-db:2.3.0-STAGING-latest +image: onap/portal-db:2.3.0 pullPolicy: Always readinessImage: readiness-check:2.0.0 -mariadbInitImage: "mariadb-client-init:2.0.0" +mariadbInitImage: "mariadb-client-init:3.0.0" # application configuration config: @@ -64,10 +64,10 @@ config: dmaapBcPort: "" # TODO: populate with # application's front end hostname. Must be resolvable on the client side environment dmaapBcHostName: "dmaap-bc.simpledemo.onap.org" - # msb discovery ui assignment for port ? - msbDiscoveryPort: "30281" + # msb IAG ui assignment for port 80 + msbPort: "30280" # application's front end hostname. Must be resolvable on the client side environment - msbDiscoveryHostName: "msb.api.discovery.simpledemo.onap.org" + msbHostName: "msb.api.simpledemo.onap.org" # default number of instances replicaCount: 1 diff --git a/kubernetes/portal/charts/portal-sdk/resources/config/deliveries/properties/ONAPPORTALSDK/portal.properties b/kubernetes/portal/charts/portal-sdk/resources/config/deliveries/properties/ONAPPORTALSDK/portal.properties index e9d1c93990..2ccace545a 100755 --- a/kubernetes/portal/charts/portal-sdk/resources/config/deliveries/properties/ONAPPORTALSDK/portal.properties +++ b/kubernetes/portal/charts/portal-sdk/resources/config/deliveries/properties/ONAPPORTALSDK/portal.properties @@ -35,7 +35,7 @@ use_rest_for_functional_menu=true portal.api.impl.class = org.onap.portalapp.service.OnBoardingApiServiceImpl # CSP Global Log On for single sign on -ecomp_redirect_url = http://{{.Values.global.portalHostName}}:{{.Values.global.portalPort}}/ONAPPORTAL/login.htm +ecomp_redirect_url = http://{{.Values.global.portalHostName}}:{{.Values.global.portalFEPort}}/ONAPPORTAL/login.htm # URL of the ECOMP Portal REST API diff --git a/kubernetes/portal/charts/portal-sdk/values.yaml b/kubernetes/portal/charts/portal-sdk/values.yaml index 89d2e77182..772f191929 100644 --- a/kubernetes/portal/charts/portal-sdk/values.yaml +++ b/kubernetes/portal/charts/portal-sdk/values.yaml @@ -28,7 +28,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/portal-sdk:2.3.0-STAGING-latest +image: onap/portal-sdk:2.3.0 pullPolicy: Always # flag to enable debugging - application support required @@ -58,6 +58,7 @@ service: name: portal-sdk portName: portal-sdk internalPort: 8080 + externalPort: 8080 nodePort: 12 mariadb: diff --git a/kubernetes/portal/charts/portal-widget/values.yaml b/kubernetes/portal/charts/portal-widget/values.yaml index 0724653b43..f6581dbeff 100644 --- a/kubernetes/portal/charts/portal-widget/values.yaml +++ b/kubernetes/portal/charts/portal-widget/values.yaml @@ -29,7 +29,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/portal-wms:2.3.0-STAGING-latest +image: onap/portal-wms:2.3.0 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/portal/docker/init/mariadb-client/Dockerfile b/kubernetes/portal/docker/init/mariadb-client/Dockerfile index a656d39b02..5eb5ad1843 100644 --- a/kubernetes/portal/docker/init/mariadb-client/Dockerfile +++ b/kubernetes/portal/docker/init/mariadb-client/Dockerfile @@ -14,14 +14,14 @@ FROM boxfuse/flyway:5.0.7-alpine -ARG branch=2.0.0-ONAP +ARG branch=master ENV no_proxy "localhost,127.0.0.1,.cluster.local,$KUBERNETES_SERVICE_HOST" # Setup Corporate proxy ENV https_proxy ${HTTP_PROXY} ENV http_proxy ${HTTPS_PROXY} RUN apk add --update \ - mariadb-client=10.1.28-r1 \ + mariadb-client=10.1.32-r0 \ git \ && rm -rf /var/cache/apk/* diff --git a/kubernetes/portal/values.yaml b/kubernetes/portal/values.yaml index 719116b7dd..f8eccf7b27 100644 --- a/kubernetes/portal/values.yaml +++ b/kubernetes/portal/values.yaml @@ -18,11 +18,12 @@ global: tomcatDir: "/opt/apache-tomcat-8.0.37" # portal frontend port portalPort: "8989" + portalFEPort: "30225" # application's front end hostname. Must be resolvable on the client side environment portalHostName: "portal.api.simpledemo.onap.org" - keystoreFile: "keystoreONAPPortal.jks" + keystoreFile: "keystoreONAPPortal.p12" truststoreFile: "truststoreONAPall.jks" - keypass: "changeit" + keypass: ",@{9!OOv%HO@#c+0Z}axu!xV" trustpass: "changeit" config: diff --git a/kubernetes/robot/demo-k8s.sh b/kubernetes/robot/demo-k8s.sh index c4124c2ad4..11d41a37b2 100755 --- a/kubernetes/robot/demo-k8s.sh +++ b/kubernetes/robot/demo-k8s.sh @@ -1,4 +1,5 @@ -# Copyright © 2018 Amdocs, Bell Canada +#!/bin/bash +# Copyright (C) 2018 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. @@ -11,9 +12,6 @@ # 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. - -#!/bin/bash - # # Execute tags built to support the hands on demo, # @@ -45,8 +43,13 @@ function usage echo " demo.sh deleteVNF " echo " - Delete the module created by instantiateVFW" echo " " - echo " demo.sh heatbridge " + echo " demo.sh heatbridge " echo " - Run heatbridge against the stack for the given service instance and service" + echo " " + echo " demo.sh vfwclosedloop " + echo " - vFWCL: Sets the packet generator to high and low rates, and checks whether the policy " + echo " kicks in to modulate the rates back to medium" + echo " " } # Set the defaults @@ -149,8 +152,8 @@ do heatbridge) TAG="heatbridge" shift - if [ $# -ne 3 ];then - echo "Usage: demo.sh heatbridge " + if [ $# -ne 4 ];then + echo "Usage: demo.sh heatbridge " exit fi VARIABLES="$VARIABLES -v HB_STACK:$1" @@ -159,7 +162,23 @@ do shift VARIABLES="$VARIABLES -v HB_SERVICE:$1" shift + VARIABLES="$VARIABLES -v HB_IPV4_OAM_ADDRESS:$1" + shift + ;; + cds) + TAG="cds" + shift ;; + distributeVFWNG) + TAG="distributeVFWNG" + shift + ;; + vfwclosedloop) + TAG="vfwclosedloop" + shift + VARIABLES="$VARIABLES -v pkg_host:$1" + shift + ;; *) usage exit @@ -168,7 +187,15 @@ done set -x +POD=$(kubectl --namespace $NAMESPACE get pods | sed 's/ .*//'| grep robot) + ETEHOME=/var/opt/OpenECOMP_ETE + +export GLOBAL_BUILD_NUMBER=$(kubectl --namespace $NAMESPACE exec ${POD} -- bash -c "ls -1q /share/logs/ | wc -l") +OUTPUT_FOLDER=$(printf %04d $GLOBAL_BUILD_NUMBER)_demo_$key +DISPLAY_NUM=$(($GLOBAL_BUILD_NUMBER + 90)) + VARIABLEFILES="-V /share/config/vm_properties.py -V /share/config/integration_robot_properties.py -V /share/config/integration_preload_parameters.py" -POD=$(kubectl --namespace $NAMESPACE get pods | sed 's/ .*//'| grep robot) -kubectl --namespace $NAMESPACE exec ${POD} -- ${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d /share/logs/demo/${TAG} -i ${TAG} --display 89 2> ${TAG}.out + +kubectl --namespace $NAMESPACE exec ${POD} -- ${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d /share/logs/${OUTPUT_FOLDER} -i ${TAG} --display $DISPLAY_NUM 2> ${TAG}.out + diff --git a/kubernetes/robot/ete-k8s.sh b/kubernetes/robot/ete-k8s.sh index 22b83e8545..c4059b90c7 100755 --- a/kubernetes/robot/ete-k8s.sh +++ b/kubernetes/robot/ete-k8s.sh @@ -20,7 +20,7 @@ # Note: Do not run multiple concurrent ete.sh as the --display is not parameterized and tests will collide # if [ "$1" == "" ] || [ "$2" == "" ]; then - echo "Usage: ete-k8s.sh [namespace] [ health | ete | closedloop | instantiate | distribute | portal ]" + echo "Usage: ete-k8s.sh [namespace] [ health | healthdist | distribute | instantiate | instantiateVFWCL | instantiateDemoVFWCL | | portal ]" exit fi @@ -31,15 +31,14 @@ export NAMESPACE="$1" POD=$(kubectl --namespace $NAMESPACE get pods | sed 's/ .*//'| grep robot) -export TAGS="-i $2" -export ETEHOME=/var/opt/OpenECOMP_ETE -export GLOBAL_BUILD_NUMBER=$(kubectl --namespace $NAMESPACE exec ${POD} -- bash -c "ls -1q /share/logs/ | wc -l") -export OUTPUT_FOLDER=ETE_$(printf %04d $GLOBAL_BUILD_NUMBER)_$2 +TAGS="-i $2" -#export OUTPUT_FOLDER=ETE_$$ +ETEHOME=/var/opt/OpenECOMP_ETE +export GLOBAL_BUILD_NUMBER=$(kubectl --namespace $NAMESPACE exec ${POD} -- bash -c "ls -1q /share/logs/ | wc -l") +OUTPUT_FOLDER=$(printf %04d $GLOBAL_BUILD_NUMBER)_ete_$2 +DISPLAY_NUM=$(($GLOBAL_BUILD_NUMBER + 90)) VARIABLEFILES="-V /share/config/vm_properties.py -V /share/config/integration_robot_properties.py -V /share/config/integration_preload_parameters.py" VARIABLES="-v GLOBAL_BUILD_NUMBER:$$" -kubectl --namespace $NAMESPACE exec ${POD} -- ${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d /share/logs/${OUTPUT_FOLDER} ${TAGS} --display 88 - +kubectl --namespace $NAMESPACE exec ${POD} -- ${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d /share/logs/${OUTPUT_FOLDER} ${TAGS} --display $DISPLAY_NUM diff --git a/kubernetes/robot/resources/config/eteshare/config/integration_preload_parameters.py b/kubernetes/robot/resources/config/eteshare/config/integration_preload_parameters.py index a857e8300b..dd15e31fcb 100644 --- a/kubernetes/robot/resources/config/eteshare/config/integration_preload_parameters.py +++ b/kubernetes/robot/resources/config/eteshare/config/integration_preload_parameters.py @@ -23,6 +23,7 @@ GLOBAL_PRELOAD_PARAMETERS = { "onap_private_net_id" : "${GLOBAL_INJECTED_NETWORK}", "onap_private_subnet_id" : "{{ .Values.openStackPrivateSubnetId }}", "onap_private_net_cidr" : "{{ .Values.openStackPrivateNetCidr }}", + "sec_group" : "{{ .Values.openStackSecurityGroup }}", "dcae_collector_ip" : "{{ .Values.dcaeCollectorIp }}", "dcae_collector_port" : "30235", "public_net_id" : "${GLOBAL_INJECTED_PUBLIC_NET_ID}", @@ -46,6 +47,7 @@ GLOBAL_PRELOAD_PARAMETERS = { "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.2", "vsn_private_ip_0" : "192.168.20.250", "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.3", + "sec_group" : "{{ .Values.openStackSecurityGroup }}", 'vfw_name_0':'vofwl01fwl${hostid}', 'vpg_name_0':'vofwl01pgn${hostid}', "vfw_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}", @@ -65,6 +67,7 @@ GLOBAL_PRELOAD_PARAMETERS = { "vpg_private_ip_0" : "192.168.10.200", "vsn_private_ip_0" : "192.168.20.250", "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.102", + "sec_group" : "{{ .Values.openStackSecurityGroup }}", 'vfw_name_0':'vofwl01fwl${hostid}', 'vsn_name_0':'vofwl01snk${hostid}', "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}", @@ -79,6 +82,7 @@ GLOBAL_PRELOAD_PARAMETERS = { "vpg_private_ip_0" : "192.168.10.200", "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.103", "vsn_private_ip_0" : "192.168.20.250", + "sec_group" : "{{ .Values.openStackSecurityGroup }}", 'vpg_name_0':'vofwl01pgn${hostid}', "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}", "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}", @@ -93,6 +97,7 @@ GLOBAL_PRELOAD_PARAMETERS = { "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.4", "vdns_private_ip_0" : "192.168.30.110", "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.5", + "sec_group" : "{{ .Values.openStackSecurityGroup }}", 'vlb_name_0':'vovlblb${hostid}', 'vdns_name_0':'vovlbdns${hostid}', "pktgen_private_net_cidr" : "192.168.9.0/24", @@ -113,6 +118,7 @@ GLOBAL_PRELOAD_PARAMETERS = { "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.4", "vdns_private_ip_0" : "192.168.30.222", "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.6", + "sec_group" : "{{ .Values.openStackSecurityGroup }}", 'scaling_vdns_name_0':'vovlbscaling${hostid}', "vlb_private_net_cidr" : "192.168.10.0/24" }, @@ -155,6 +161,7 @@ GLOBAL_PRELOAD_PARAMETERS = { "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.12", "vsn_private_ip_0" : "192.168.120.250", "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.13", + "sec_group" : "{{ .Values.openStackSecurityGroup }}", 'vfw_name_0':'clfwl01fwl${hostid}', 'vpg_name_0':'clfwl01pgn${hostid}', "vfw_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}", @@ -174,6 +181,7 @@ GLOBAL_PRELOAD_PARAMETERS = { "vpg_private_ip_0" : "192.168.10.200", "vsn_private_ip_0" : "192.168.20.250", "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.112", + "sec_group" : "{{ .Values.openStackSecurityGroup }}", 'vfw_name_0':'clfwl01fwl${hostid}', 'vsn_name_0':'clfwl01snk${hostid}', "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}", @@ -188,6 +196,7 @@ GLOBAL_PRELOAD_PARAMETERS = { "vpg_private_ip_0" : "192.168.10.200", "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.113", "vsn_private_ip_0" : "192.168.20.250", + "sec_group" : "{{ .Values.openStackSecurityGroup }}", 'vpg_name_0':'clfwl01pgn${hostid}', "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}", "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}", @@ -202,6 +211,7 @@ GLOBAL_PRELOAD_PARAMETERS = { "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.14", "vdns_private_ip_0" : "192.168.30.110", "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.15", + "sec_group" : "{{ .Values.openStackSecurityGroup }}", 'vlb_name_0':'clvlblb${hostid}', 'vdns_name_0':'clvlbdns${hostid}', "pktgen_private_net_cidr" : "192.168.9.0/24", @@ -221,6 +231,7 @@ GLOBAL_PRELOAD_PARAMETERS = { "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.14", "vdns_private_ip_0" : "192.168.130.222", "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.16", + "sec_group" : "{{ .Values.openStackSecurityGroup }}", 'scaling_vdns_name_0':'clvlbscaling${hostid}', "vlb_private_net_cidr" : "192.168.10.0/24" }, @@ -262,6 +273,7 @@ GLOBAL_PRELOAD_PARAMETERS = { "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.12", "vsn_private_ip_0" : "192.168.120.250", "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.13", + "sec_group" : "{{ .Values.openStackSecurityGroup }}", 'vfw_name_0':'demofwl01fwl', 'vpg_name_0':'demofwl01pgn', "vfw_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}", @@ -281,6 +293,7 @@ GLOBAL_PRELOAD_PARAMETERS = { "vpg_private_ip_0" : "192.168.10.200", "vsn_private_ip_0" : "192.168.20.250", "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.122", + "sec_group" : "{{ .Values.openStackSecurityGroup }}", 'vfw_name_0':'${generic_vnf_name}', 'vsn_name_0':'demofwl01snk${hostid}', "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}", @@ -295,6 +308,7 @@ GLOBAL_PRELOAD_PARAMETERS = { "vpg_private_ip_0" : "192.168.10.200", "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.123", "vsn_private_ip_0" : "192.168.20.250", + "sec_group" : "{{ .Values.openStackSecurityGroup }}", 'vpg_name_0':'demofwl01pgn${hostid}', "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}", "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}" @@ -309,6 +323,7 @@ GLOBAL_PRELOAD_PARAMETERS = { "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.24", "vdns_private_ip_0" : "192.168.30.110", "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.25", + "sec_group" : "{{ .Values.openStackSecurityGroup }}", 'vlb_name_0':'demovlblb${hostid}', 'vdns_name_0':'demovlbdns${hostid}', "pktgen_private_net_cidr" : "192.168.9.0/24", @@ -328,6 +343,7 @@ GLOBAL_PRELOAD_PARAMETERS = { "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.24", "vdns_private_ip_0" : "192.168.130.222", "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.26", + "sec_group" : "{{ .Values.openStackSecurityGroup }}", 'scaling_vdns_name_0':'demovlbscaling${hostid}', "vlb_private_net_cidr" : "192.168.10.0/24" }, diff --git a/kubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py b/kubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py index ad09e444d8..d8179e1ba1 100644 --- a/kubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py +++ b/kubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py @@ -14,18 +14,18 @@ # aaf info - everything is from the private oam network (also called onap private network) GLOBAL_AAF_SERVER = "https://aaf-service.{{include "common.namespace" .}}:8100" -GLOBAL_AAF_USERNAME = "demo@people.osaaf.org" -GLOBAL_AAF_PASSWORD = "demo123456!" +GLOBAL_AAF_USERNAME = "{{ .Values.aafUsername }}" +GLOBAL_AAF_PASSWORD = "{{ .Values.aafPassword }}" # aai info - everything is from the private oam network (also called onap private network) GLOBAL_AAI_SERVER_PROTOCOL = "https" GLOBAL_AAI_SERVER_PORT = "8443" -GLOBAL_AAI_USERNAME = "aai@aai.onap.org" -GLOBAL_AAI_PASSWORD = "demo123456!" +GLOBAL_AAI_USERNAME = "{{ .Values.aaiUsername }}" +GLOBAL_AAI_PASSWORD = "{{ .Values.aaiPassword}}" # appc info - everything is from the private oam network (also called onap private network) GLOBAL_APPC_SERVER_PROTOCOL = "http" GLOBAL_APPC_SERVER_PORT = "8282" -GLOBAL_APPC_USERNAME = "admin" -GLOBAL_APPC_PASSWORD = "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" +GLOBAL_APPC_USERNAME = "{{ .Values.appcUsername }}" +GLOBAL_APPC_PASSWORD = "{{ .Values.appcPassword }}" GLOBAL_APPC_CDT_SERVER_PROTOCOL = "http" GLOBAL_APPC_CDT_SERVER_PORT = "80" GLOBAL_APPC_CDT_USERNAME = "demo" @@ -37,8 +37,8 @@ GLOBAL_ASDC_BE_ONBOARD_PORT = "8081" GLOBAL_ASDC_BE_USERNAME = "beep" GLOBAL_ASDC_BE_PASSWORD = "boop" # clamp info - everything is from the private oam network (also called onap private network) -GLOBAL_CLAMP_SERVER_PROTOCOL = "http" -GLOBAL_CLAMP_SERVER_PORT = "8080" +GLOBAL_CLAMP_SERVER_PROTOCOL = "https" +GLOBAL_CLAMP_SERVER_PORT = "8443" # nbi info - everything is from the private oam network (also called onap private network) GLOBAL_NBI_SERVER_PROTOCOL = "http" GLOBAL_NBI_SERVER_PORT = "8080" @@ -48,8 +48,8 @@ GLOBAL_CLI_SERVER_PORT = "8080" # dcae info - everything is from the private oam network (also called onap private network) GLOBAL_DCAE_SERVER_PROTOCOL = "http" GLOBAL_DCAE_HEALTH_SERVER_PORT = "80" -GLOBAL_DCAE_USERNAME = "console" -GLOBAL_DCAE_PASSWORD = "ZjJkYjllMjljMTI2M2Iz" +GLOBAL_DCAE_USERNAME = "{{ .Values.dcaeUsername }}" +GLOBAL_DCAE_PASSWORD = "{{ .Values.dcaePassword}}" # data router info - everything is from the private oam network (also called onap private network) GLOBAL_DMAAP_DR_PROV_SERVER_PROTOCOL = "http" GLOBAL_DMAAP_DR_PROV_SERVER_PORT = "8080" @@ -57,8 +57,8 @@ GLOBAL_DMAAP_DR_NODE_SERVER_PROTOCOL = "http" GLOBAL_DMAAP_DR_NODE_SERVER_PORT = "8080" # DROOL server port and credentials GLOBAL_DROOLS_SERVER_PORT = "9696" -GLOBAL_DROOLS_USERNAME = "demo@people.osaaf.org" -GLOBAL_DROOLS_PASSWORD = "demo123456!" +GLOBAL_DROOLS_USERNAME = "{{ .Values.droolsUsername }}" +GLOBAL_DROOLS_PASSWORD = "{{ .Values.droolsPassword }}" # log server config - NOTE: no log server is run in HEAT; only on OOM GLOBAL_LOG_SERVER_PROTOCOL = "http" GLOBAL_LOG_ELASTICSEARCH_PORT = "9200" @@ -88,10 +88,10 @@ GLOBAL_MSO_REQDB_SERVER_PORT = "8083" GLOBAL_MSO_SDNC_SERVER_PORT = "8086" GLOBAL_MSO_VFC_SERVER_PORT = "8084" -GLOBAL_MSO_USERNAME = "InfraPortalClient" -GLOBAL_MSO_CATDB_USERNAME = "bpel" -GLOBAL_MSO_PASSWORD = "password1$" - +GLOBAL_MSO_USERNAME = "{{ .Values.soUsername }}" +GLOBAL_MSO_CATDB_USERNAME = "{{ .Values.soCatdbUsername }}" +GLOBAL_MSO_PASSWORD = "{{ .Values.soPassword }}" +# robot uses MSO_PASSWORD for both SO and CATDB # music info - everything is from the private oam network (also called onap private network) GLOBAL_MUSIC_SERVER_PROTOCOL = "http" GLOBAL_MUSIC_SERVER_PORT = "8080" @@ -101,6 +101,11 @@ GLOBAL_OOF_SERVER_PROTOCOL = "http" GLOBAL_OOF_HOMING_SERVER_PORT = "8091" # oof-sniro info - everything is from the private oam network (also called onap private network) GLOBAL_OOF_SNIRO_SERVER_PORT = "8698" +# oof cmso global info - everything is from the private oam network (also called onap private network) +GLOBAL_OOF_CMSO_PROTOCOL = "http" +GLOBAL_OOF_CMSO_SERVER_PORT = "8080" +GLOBAL_OOF_CMSO_USERNAME = "none" +GLOBAL_OOF_CMSO_PASSWORD = "none" # openstack info - info to select right info in environment # packet generate vnf info - everything is from the private oam network (also called onap private network) GLOBAL_PACKET_GENERATOR_PORT = "8183" @@ -111,32 +116,32 @@ GLOBAL_PGN_PORT = "2831" GLOBAL_POLICY_SERVER_PROTOCOL = "https" GLOBAL_POLICY_SERVER_PORT = "8081" GLOBAL_POLICY_HEALTHCHECK_PORT = "6969" -GLOBAL_POLICY_AUTH = "dGVzdHBkcDphbHBoYTEyMw==" -GLOBAL_POLICY_CLIENTAUTH = "cHl0aG9uOnRlc3Q=" -GLOBAL_POLICY_USERNAME = "demo@people.osaaf.org" -GLOBAL_POLICY_PASSWORD = "demo123456!" +GLOBAL_POLICY_AUTH = "{{ .Values.policyAuth}}" +GLOBAL_POLICY_CLIENTAUTH = "{{ .Values.policyClientAuth}}" +GLOBAL_POLICY_USERNAME = "{{ .Values.policyUsername }}" +GLOBAL_POLICY_PASSWORD = "{{ .Values.policyPassword }}" # portal info - everything is from the private oam network (also called onap private network) GLOBAL_PORTAL_SERVER_PROTOCOL = "http" GLOBAL_PORTAL_SERVER_PORT = "8989" -GLOBAL_PORTAL_USERNAME = "demo" -GLOBAL_PORTAL_PASSWORD = "Kp8bJ4SXszM0WXlhak3eHlcse" +GLOBAL_PORTAL_USERNAME = "{{ .Values.portalUsername }}" +GLOBAL_PORTAL_PASSWORD = "{{ .Values.portalPassword }}" # sdngc info - everything is from the private oam network (also called onap private network) GLOBAL_SDNGC_SERVER_PROTOCOL = "http" GLOBAL_SDNGC_REST_PORT = "8282" GLOBAL_SDNGC_ADMIN_PORT = "8843" -GLOBAL_SDNGC_USERNAME = "admin" -GLOBAL_SDNGC_PASSWORD = "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" +GLOBAL_SDNGC_USERNAME = "{{ .Values.sdncUsername }}" +GLOBAL_SDNGC_PASSWORD = "{{ .Values.sdncPassword }}" # sms (AAF) info GLOBAL_SMS_SERVER_PROTOCOL = "https" GLOBAL_SMS_SERVER_NAME = "aaf-sms.{{include "common.namespace" .}}" GLOBAL_SMS_SERVER_PORT = "10443" # vid info - everything is from the private oam network (also called onap private network) -GLOBAL_VID_SERVER_PROTOCOL = "https" -GLOBAL_VID_SERVER_PORT = "8443" -GLOBAL_VID_USERNAME = "demo" -GLOBAL_VID_PASSWORD = "Kp8bJ4SXszM0WX" -GLOBAL_VID_HEALTH_USERNAME = "Default" -GLOBAL_VID_HEALTH_PASSWORD = "AppPassword!1" +GLOBAL_VID_SERVER_PROTOCOL = "{{ .Values.vidServerProtocol }}" +GLOBAL_VID_SERVER_PORT = "{{ .Values.vidServerPort }}" +GLOBAL_VID_USERNAME = "{{ .Values.vidUsername }}" +GLOBAL_VID_PASSWORD = "{{ .Values.vidPassword}}" +GLOBAL_VID_HEALTH_USERNAME = "{{ .Values.vidHealthUsername }}" +GLOBAL_VID_HEALTH_PASSWORD = "{{ .Values.vidHealthPassword }}" # vnfsdk info - everything is from the private oam network (also called onap private network) GLOBAL_VNFSDK_SERVER_PROTOCOL = "http" GLOBAL_VNFSDK_SERVER_PORT = "8702" @@ -147,4 +152,3 @@ GLOBAL_PROXY_WARNING_CONTINUE_XPATH="" GLOBAL_DNS_TRAFFIC_DURATION = "600" # location where heat templates are loaded from GLOBAL_HEAT_TEMPLATES_FOLDER = "/var/opt/OpenECOMP_ETE/demo/heat" - diff --git a/kubernetes/robot/resources/config/eteshare/config/vm_properties.py b/kubernetes/robot/resources/config/eteshare/config/vm_properties.py index 55d8f1a92f..faa890d642 100644 --- a/kubernetes/robot/resources/config/eteshare/config/vm_properties.py +++ b/kubernetes/robot/resources/config/eteshare/config/vm_properties.py @@ -47,6 +47,7 @@ GLOBAL_INJECTED_NEXUS_USERNAME = "docker" GLOBAL_INJECTED_OOF_IP_ADDR = "N/A" GLOBAL_INJECTED_OOF_HOMING_IP_ADDR = "oof-has-api.{{include "common.namespace" .}}" GLOBAL_INJECTED_OOF_SNIRO_IP_ADDR = "oof-osdf.{{include "common.namespace" .}}" +GLOBAL_INJECTED_OOF_CMSO_IP_ADDR = "oof-cmso.{{include "common.namespace" .}}" GLOBAL_INJECTED_MSB_IP_ADDR = "msb-iag.{{include "common.namespace" .}}" GLOBAL_INJECTED_OPENSTACK_API_KEY = "{{ .Values.config.openStackEncryptedPasswordHere}}" GLOBAL_INJECTED_OPENSTACK_PASSWORD = "{{ .Values.openStackPassword }}" @@ -117,6 +118,7 @@ GLOBAL_INJECTED_PROPERTIES = { "GLOBAL_INJECTED_OOF_IP_ADDR" : "N/A", "GLOBAL_INJECTED_OOF_HOMING_IP_ADDR" : "oof-has-api.{{include "common.namespace" .}}", "GLOBAL_INJECTED_OOF_SNIRO_IP_ADDR" : "oof-osdf.{{include "common.namespace" .}}", + "GLOBAL_INJECTED_OOF_CMSO_IP_ADDR" : "oof-cmso.{{include "common.namespace" .}}", "GLOBAL_INJECTED_MSB_IP_ADDR" : "msb-iag.{{include "common.namespace" .}}", "GLOBAL_INJECTED_OPENSTACK_API_KEY" : "{{ .Values.config.openStackEncryptedPasswordHere}}", "GLOBAL_INJECTED_OPENSTACK_PASSWORD" : "{{ .Values.openStackPassword }}", diff --git a/kubernetes/robot/templates/NOTES.txt b/kubernetes/robot/templates/NOTES.txt index 07d876db9e..fe7c9313df 100644 --- a/kubernetes/robot/templates/NOTES.txt +++ b/kubernetes/robot/templates/NOTES.txt @@ -19,7 +19,7 @@ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/kubernetes/robot/templates/deployment.yaml b/kubernetes/robot/templates/deployment.yaml index e50620f1d3..e230f4c3b6 100644 --- a/kubernetes/robot/templates/deployment.yaml +++ b/kubernetes/robot/templates/deployment.yaml @@ -49,6 +49,8 @@ spec: initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} periodSeconds: {{ .Values.readiness.periodSeconds }} volumeMounts: + - name: dshm + mountPath: /dev/shm - name: localtime mountPath: /etc/localtime readOnly: true @@ -74,6 +76,9 @@ spec: {{- else }} emptyDir: {} {{- end }} + - name: dshm + emptyDir: + medium: Memory - name: localtime hostPath: path: /etc/localtime diff --git a/kubernetes/robot/values.yaml b/kubernetes/robot/values.yaml index 7fb9885596..450adeb75a 100755 --- a/kubernetes/robot/values.yaml +++ b/kubernetes/robot/values.yaml @@ -60,7 +60,7 @@ openStackProjectName: "onap" # Domain id of openstack where VNFs will be deployed. Maps to GLOBAL_INJECTED_OPENSTACK_DOMAIN_ID openStackDomainId: "default" # Openstack Keystone API version. Valid values are [ v2.0, v3 ]. Maps to GLOBAL_INJECTED_OPENSTACK_KEYSTONE_API_VERSION -openStackKeystoneAPIVersion: "" +openStackKeystoneAPIVersion: "v2.0" # Openstack glance image name for Ubuntu 14. Maps to GLOBAL_INJECTED_UBUNTU_1404_IMAGE ubuntu14Image: "Ubuntu_14_trusty" # Openstack glance image name for Ubuntu 16. Maps to GLOBAL_INJECTED_UBUNTU_1604_IMAGE @@ -69,7 +69,8 @@ ubuntu16Image: "Ubuntu_16_xenial" scriptVersion: "1.2.0-SNAPSHOT" # Openstack network to which VNFs will bind their primary (first) interface. Maps to GLOBAL_INJECTED_NETWORK openStackPrivateNetId: "e8f51956-00dd-4425-af36-045716781ffc" - +# Openstack security group for instantiating VNFs +openStackSecurityGroup: "onap_sg" # SDNC Preload configuration # Openstack subnet UUID for the network defined by openStackPrivateNetId. Maps to onap_private_subnet_id openStackPrivateSubnetId: "e8f51956-00dd-4425-af36-045716781ffc" @@ -78,11 +79,54 @@ openStackPrivateNetCidr: "10.0.0.0/8" # The first 2 octets of the private Openstack subnet where VNFs will be spawned. # Needed because sdnc preload templates hardcodes things like this 10.0.${ecompnet}.X openStackOamNetworkCidrPrefix: "10.0" +# VID protocol/port until Selenium issue with SSL resolved +# https/8443 vs http/8080 +vidServerProtocol: "http" +vidServerPort: "8080" # Override with Pub Key for access to VNF vnfPubKey: "FILL_IN_WITH_PUB_KEY" # Override with DCAE VES Collector external IP dcaeCollectorIp: "FILL_IN_WITH_DCAE_VES_COLLECTOR_IP" +# Credentials for ONAP Component +# AAF +aafUsername: "demo@people.osaaf.org" +aafPassword: "demo123456!" +# AAI +aaiUsername: "aai@aai.onap.org" +aaiPassword: "demo123456!" +# APPC +appcUsername: "appc@appc.onap.org" +appcPassword: "demo123456!" +# DCAE +dcaeUsername: "console" +dcaePassword: "ZjJkYjllMjljMTI2M2Iz" +# DROOLS +droolsUsername: "demo@people.osaaf.org" +droolsPassword: "demo123456!" +# POLICY +policyAuth: "dGVzdHBkcDphbHBoYTEyMw==" +policyClientAuth: "cHl0aG9uOnRlc3Q=" +policyUsername: "demo@people.osaaf.org" +policyPassword: "demo123456!" +# PORTAL +portalUsername: "demo" +portalPassword: "Kp8bJ4SXszM0WXlhak3eHlcse" +# SO +soUsername: "InfraPortalClient" +soPassword: "password1$" +soCatdbUsername: "bpel" +soCatdbPassword: "password1$" +# SDNC +sdncUsername: "admin" +sdncPassword: "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" +# VID +vidUsername: "demo" +vidPassword: "Kp8bJ4SXszM0WX" +vidHealthUsername: "Default" +vidHealthPassword: "AppPassword!1" + + # default number of instances replicaCount: 1 diff --git a/kubernetes/sdc/charts/sdc-be/templates/deployment.yaml b/kubernetes/sdc/charts/sdc-be/templates/deployment.yaml index e3e97816fe..4f8339fd05 100644 --- a/kubernetes/sdc/charts/sdc-be/templates/deployment.yaml +++ b/kubernetes/sdc/charts/sdc-be/templates/deployment.yaml @@ -53,7 +53,7 @@ spec: - /root/job_complete.py args: - --job-name - - {{ .Release.Name }}-sdc-es-config-elasticsearch + - {{ .Release.Name }}-sdc-onboarding-be-cassandra-init env: - name: NAMESPACE valueFrom: diff --git a/kubernetes/sdc/charts/sdc-be/values.yaml b/kubernetes/sdc/charts/sdc-be/values.yaml index f262525801..de1b77378e 100644 --- a/kubernetes/sdc/charts/sdc-be/values.yaml +++ b/kubernetes/sdc/charts/sdc-be/values.yaml @@ -28,8 +28,8 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/sdc-backend:1.3-STAGING-latest -backendInitImage: onap/sdc-backend-init:1.3-STAGING-latest +image: onap/sdc-backend:1.3.0 +backendInitImage: onap/sdc-backend-init:1.3.0 pullPolicy: Always # flag to enable debugging - application support required @@ -64,8 +64,10 @@ service: portName: sdc-be nodePort: "04" internalPort: 8443 + externalPort: 8443 nodePort2: "05" internalPort2: 8080 + externalPort2: 8080 ingress: enabled: false diff --git a/kubernetes/sdc/charts/sdc-cs/values.yaml b/kubernetes/sdc/charts/sdc-cs/values.yaml index 949b47f93a..cd65383ee7 100644 --- a/kubernetes/sdc/charts/sdc-cs/values.yaml +++ b/kubernetes/sdc/charts/sdc-cs/values.yaml @@ -28,8 +28,8 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/sdc-cassandra:1.3-STAGING-latest -cassandraInitImage: onap/sdc-cassandra-init:1.3-STAGING-latest +image: onap/sdc-cassandra:1.3.0 +cassandraInitImage: onap/sdc-cassandra-init:1.3.0 pullPolicy: Always diff --git a/kubernetes/sdc/charts/sdc-es/values.yaml b/kubernetes/sdc/charts/sdc-es/values.yaml index 763fa40865..f7487c5940 100644 --- a/kubernetes/sdc/charts/sdc-es/values.yaml +++ b/kubernetes/sdc/charts/sdc-es/values.yaml @@ -31,8 +31,8 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/sdc-elasticsearch:1.3-STAGING-latest -elasticInitImage: onap/sdc-init-elasticsearch:1.3-STAGING-latest +image: onap/sdc-elasticsearch:1.3.0 +elasticInitImage: onap/sdc-init-elasticsearch:1.3.0 pullPolicy: Always # flag to enable debugging - application support required @@ -52,7 +52,7 @@ affinity: {} # probe configuration parameters liveness: - initialDelaySeconds: 10 + initialDelaySeconds: 60 periodSeconds: 10 # necessary to disable liveness probe when setting breakpoints # in debugger so K8s doesn't restart unresponsive container diff --git a/kubernetes/sdc/charts/sdc-fe/values.yaml b/kubernetes/sdc/charts/sdc-fe/values.yaml index df3d689e61..bf214cabfb 100644 --- a/kubernetes/sdc/charts/sdc-fe/values.yaml +++ b/kubernetes/sdc/charts/sdc-fe/values.yaml @@ -28,7 +28,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/sdc-frontend:1.3-STAGING-latest +image: onap/sdc-frontend:1.3.0 pullPolicy: Always config: @@ -62,8 +62,10 @@ service: portName: sdc-fe nodePort: "06" internalPort: 8181 + externalPort: 8181 nodePort2: "07" internalPort2: 9443 + externalPort2: 9443 diff --git a/kubernetes/sdc/charts/sdc-kb/values.yaml b/kubernetes/sdc/charts/sdc-kb/values.yaml index 541ab99d56..61432149ec 100644 --- a/kubernetes/sdc/charts/sdc-kb/values.yaml +++ b/kubernetes/sdc/charts/sdc-kb/values.yaml @@ -28,7 +28,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/sdc-kibana:1.3-STAGING-latest +image: onap/sdc-kibana:1.3.0 pullPolicy: Always config: diff --git a/kubernetes/sdc/charts/sdc-onboarding-be/values.yaml b/kubernetes/sdc/charts/sdc-onboarding-be/values.yaml index f5f7c3a77f..c2e270ed2b 100644 --- a/kubernetes/sdc/charts/sdc-onboarding-be/values.yaml +++ b/kubernetes/sdc/charts/sdc-onboarding-be/values.yaml @@ -28,8 +28,8 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/sdc-onboard-backend:1.3-STAGING-latest -onboardingInitImage: onap/sdc-onboard-cassandra-init:1.3-STAGING-latest +image: onap/sdc-onboard-backend:1.3.0 +onboardingInitImage: onap/sdc-onboard-cassandra-init:1.3.0 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/sdc/charts/sdc-wfd-be/values.yaml b/kubernetes/sdc/charts/sdc-wfd-be/values.yaml index e2e14301b5..1ebc117086 100644 --- a/kubernetes/sdc/charts/sdc-wfd-be/values.yaml +++ b/kubernetes/sdc/charts/sdc-wfd-be/values.yaml @@ -28,8 +28,8 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/workflow-backend:1.3.0-SNAPSHOT -configInitImage: onap/workflow-init:1.3.0-SNAPSHOT +image: onap/workflow-backend:1.3.0 +configInitImage: onap/workflow-init:1.3.0 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/sdc/charts/sdc-wfd-fe/values.yaml b/kubernetes/sdc/charts/sdc-wfd-fe/values.yaml index 076fc11fca..9d2d7a5159 100644 --- a/kubernetes/sdc/charts/sdc-wfd-fe/values.yaml +++ b/kubernetes/sdc/charts/sdc-wfd-fe/values.yaml @@ -27,7 +27,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/workflow-frontend:1.3.0-SNAPSHOT +image: onap/workflow-frontend:1.3.0 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/sdnc/charts/dmaap-listener/values.yaml b/kubernetes/sdnc/charts/dmaap-listener/values.yaml index a0ac529426..8ba2521b54 100644 --- a/kubernetes/sdnc/charts/dmaap-listener/values.yaml +++ b/kubernetes/sdnc/charts/dmaap-listener/values.yaml @@ -27,7 +27,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/sdnc-dmaap-listener-image:1.4-STAGING-latest +image: onap/sdnc-dmaap-listener-image:1.4.1 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/sdnc/charts/sdnc-ansible-server/values.yaml b/kubernetes/sdnc/charts/sdnc-ansible-server/values.yaml index d8e828742d..a6ca80eea1 100644 --- a/kubernetes/sdnc/charts/sdnc-ansible-server/values.yaml +++ b/kubernetes/sdnc/charts/sdnc-ansible-server/values.yaml @@ -27,7 +27,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/sdnc-ansible-server-image:1.4-STAGING-latest +image: onap/sdnc-ansible-server-image:1.4.1 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/sdnc/charts/sdnc-portal/values.yaml b/kubernetes/sdnc/charts/sdnc-portal/values.yaml index 1d56d84c15..ac183f0af8 100644 --- a/kubernetes/sdnc/charts/sdnc-portal/values.yaml +++ b/kubernetes/sdnc/charts/sdnc-portal/values.yaml @@ -27,7 +27,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/admportal-sdnc-image:1.4-STAGING-latest +image: onap/admportal-sdnc-image:1.3.4 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/sdnc/charts/ueb-listener/resources/config/ueb-listener.properties b/kubernetes/sdnc/charts/ueb-listener/resources/config/ueb-listener.properties index 4ff572a762..86e51317f2 100644 --- a/kubernetes/sdnc/charts/ueb-listener/resources/config/ueb-listener.properties +++ b/kubernetes/sdnc/charts/ueb-listener/resources/config/ueb-listener.properties @@ -12,7 +12,7 @@ org.onap.ccsdk.sli.northbound.uebclient.spool.incoming=/opt/onap/sdnc/ueb-listen org.onap.ccsdk.sli.northbound.uebclient.spool.archive=/opt/onap/sdnc/ueb-listener/spool/archive org.onap.ccsdk.sli.northbound.uebclient.polling-interval=30 org.onap.ccsdk.sli.northbound.uebclient.polling-timeout=15 -org.onap.ccsdk.sli.northbound.uebclient.client-startup-timeout=900 +org.onap.ccsdk.sli.northbound.uebclient.client-startup-timeout=300 org.onap.ccsdk.sli.northbound.uebclient.relevant-artifact-types=TOSCA_CSAR org.onap.ccsdk.sli.northbound.uebclient.activate-server-tls-auth=false org.onap.ccsdk.sli.northbound.uebclient.keystore-path= diff --git a/kubernetes/sdnc/charts/ueb-listener/values.yaml b/kubernetes/sdnc/charts/ueb-listener/values.yaml index 35602161d8..d3b4833125 100644 --- a/kubernetes/sdnc/charts/ueb-listener/values.yaml +++ b/kubernetes/sdnc/charts/ueb-listener/values.yaml @@ -27,7 +27,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/sdnc-ueb-listener-image:1.4-STAGING-latest +image: onap/sdnc-ueb-listener-image:1.4.1 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/sdnc/templates/statefulset.yaml b/kubernetes/sdnc/templates/statefulset.yaml index 32d98840f7..b30ef38bb8 100644 --- a/kubernetes/sdnc/templates/statefulset.yaml +++ b/kubernetes/sdnc/templates/statefulset.yaml @@ -195,4 +195,7 @@ spec: resources: requests: storage: {{ .Values.persistence.size }} + selector: + matchLabels: + name: {{ include "common.fullname" . }} {{ end }} diff --git a/kubernetes/sdnc/values.yaml b/kubernetes/sdnc/values.yaml index 8560166ef6..437de3dedb 100644 --- a/kubernetes/sdnc/values.yaml +++ b/kubernetes/sdnc/values.yaml @@ -32,7 +32,7 @@ global: # application images repository: nexus3.onap.org:10001 pullPolicy: Always -image: onap/sdnc-image:1.4-STAGING-latest +image: onap/sdnc-image:1.4.1 # flag to enable debugging - application support required debugEnabled: false diff --git a/kubernetes/so/charts/so-bpmn-infra/resources/config/overrides/override.yaml b/kubernetes/so/charts/so-bpmn-infra/resources/config/overrides/override.yaml index 7bab7fbbac..cf554df7c5 100755 --- a/kubernetes/so/charts/so-bpmn-infra/resources/config/overrides/override.yaml +++ b/kubernetes/so/charts/so-bpmn-infra/resources/config/overrides/override.yaml @@ -16,6 +16,8 @@ aai: dme2: timeout: '30000' endpoint: https://aai.{{ include "common.namespace" . }}:8443 + workflowAaiDistributionDelay: PT30S + pnfEntryNotificationTimeout: P14D camunda: bpm: admin-user: @@ -27,6 +29,16 @@ camunda: core-pool-size: 3 entitymanager: packagesToScan: com +pnf: + dmaap: + host: message-router + port: 3904 + protocol: http + uriPathPrefix: events + topicName: pnfReady + consumerGroup: consumerGroup + consumerId: consumerId + topicListenerDelayInSeconds: 5 mso: msoKey: 07a7159d3bf51a0e53be7a8f89699be7 correlation: @@ -62,18 +74,18 @@ mso: endpoint: http://so-sdnc-adapter.{{ include "common.namespace" . }}:8086/adapters/SDNCAdapter rest: endpoint: http://so-sdnc-adapter.{{ include "common.namespace" . }}:8086/adapters/rest/v1/sdnc - timeout: PT60S + timeout: PT60M tenant: endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/TenantAdapter vnf: endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/VnfAdapter rest: - endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/rest/vnfs/v1/vnfs + endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/rest/v1/vnfs volume-groups: rest: endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}g:8087/services/rest/v1/volume-groups vnf-async: - endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/VnfAsyncAdapter + endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/VnfAsync bpmn: process: historyTimeToLive: '30' @@ -95,7 +107,7 @@ mso: customer: id: testCustIdInfra po: - timeout: PT60S + timeout: PT60M request: db: endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083/ @@ -106,13 +118,18 @@ mso: agnostic: sniro: endpoint: /sniro/api/v2/placement - host: http://c1.vm1.mso.simpledemo.onap.org:30253 + host: http://sniro-emulator:80 site-name: CamundaEngine sniro: auth: test:testpwd callback: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/adapters/rest/SDNCNotify endpoint: http://replaceme:28090/optimizationInstance/V1/create timeout: PT30M + oof: + auth: test:testpwd + callbackEndpoint: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/WorkflowMessage + endpoint: http://oof-osdf.{{ include "common.namespace" . }}:8698/api/oof/v1/placement + timeout: PT30M workflow: CreateGenericVNFV1: aai: @@ -212,13 +229,13 @@ mso: callback: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/SDNCAdapterCallbackService vnfadapter: create: - callback: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/VNFAdaptercallback + callback: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/vnfAdapterNotify delete: - callback: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/VNFAdaptercallback + callback: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/vnfAdapterNotify query: - callback: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/VNFAdaptercallback + callback: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/vnfAdapterNotify rollback: - callback: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/VNFAdaptercallback + callback: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/vnfAdapterNotify global: dmaap: username: testuser @@ -247,8 +264,7 @@ appc: timeout: 360000 write: APPC-LCM-READ sdnc: - read: - name: SDNC-LCM-WRITE + read: SDNC-LCM-WRITE write: SDNC-LCM-READ response: timeout: 360000 @@ -256,8 +272,23 @@ appc: secret: 64AG2hF4pYeG2pq7CT6XwUOT service: ueb poolMembers: message-router.{{ include "common.namespace" . }}:3904,message-router.{{ include "common.namespace" . }}:3904 +sniro: + conductor: + enabled: true + host: http://sniro-emulator:80 + uri: /v1/release-orders + headers.auth: Basic dGVzdDp0ZXN0cHdk + manager: + timeout: PT30M + host: http://sniro-emulator:80 + uri.v1: /sniro/api/v2/placement + uri.v2: /sniro/api/placement/v2 + headers.auth: Basic dGVzdDp0ZXN0cHdk + headers.patchVersion: 1 + headers.minorVersion: 1 + headers.latestVersion: 2 server: - port: 8081 + port: {{ index .Values.containerPort }} tomcat: max-threads: 50 spring: diff --git a/kubernetes/so/charts/so-bpmn-infra/templates/deployment.yaml b/kubernetes/so/charts/so-bpmn-infra/templates/deployment.yaml index 20068a8edd..ad3a19f37e 100755 --- a/kubernetes/so/charts/so-bpmn-infra/templates/deployment.yaml +++ b/kubernetes/so/charts/so-bpmn-infra/templates/deployment.yaml @@ -34,6 +34,21 @@ spec: app: {{ include "common.name" . }} release: {{ .Release.Name }} spec: + initContainers: + - command: + - /root/ready.py + args: + - --container-name + - {{ .Values.mariadb.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 }} @@ -73,7 +88,7 @@ spec: envFrom: - configMapRef: name: {{ include "common.fullname" . }}-configmap - imagePullPolicy: {{ index .Values "global" "pullPolicy" }} + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} volumeMounts: - name: logs mountPath: /app/logs diff --git a/kubernetes/so/charts/so-bpmn-infra/templates/service.yaml b/kubernetes/so/charts/so-bpmn-infra/templates/service.yaml index 1ad478667c..741614886c 100755 --- a/kubernetes/so/charts/so-bpmn-infra/templates/service.yaml +++ b/kubernetes/so/charts/so-bpmn-infra/templates/service.yaml @@ -21,27 +21,6 @@ metadata: chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} - annotations: - msb.onap.org/service-info: '[ - { - "serviceName": "so/bpmn", - "version": "v1", - "url": "/VNFAdaptercallback/", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1" , - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/bpmn", - "version": "v1", - "url": "/SDNCAdapterCallbackService", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - } - ]' spec: type: {{ .Values.service.type }} ports: @@ -56,4 +35,4 @@ spec: {{- end}} selector: app: {{ include "common.name" . }} - release: {{ .Release.Name }} \ No newline at end of file + release: {{ .Release.Name }} diff --git a/kubernetes/so/charts/so-bpmn-infra/values.yaml b/kubernetes/so/charts/so-bpmn-infra/values.yaml index 6f301b9774..732aa1588d 100755 --- a/kubernetes/so/charts/so-bpmn-infra/values.yaml +++ b/kubernetes/so/charts/so-bpmn-infra/values.yaml @@ -11,9 +11,25 @@ # 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 configuration defaults. +################################################################# +global: + nodePortPrefix: 302 + nodePortPrefixExt: 304 + repository: nexus3.onap.org:10001 + readinessRepository: oomk8s + readinessImage: readiness-check:2.0.0 + persistence: + mountPath: /dockerdata-nfs + +################################################################# +# Application configuration defaults. +################################################################# repository: nexus3.onap.org:10001 -image: onap/so/bpmn-infra:1.3.0-STAGING-latest -pullPolicy: IfNotPresent +image: onap/so/bpmn-infra:1.3.1 +pullPolicy: Always + replicaCount: 1 minReadySeconds: 10 containerPort: 8081 @@ -55,6 +71,8 @@ livenessProbe: timeoutSeconds: 10 successThreshold: 1 failureThreshold: 3 +mariadb: + nameOverride: so-mariadb ingress: enabled: false nodeSelector: {} diff --git a/kubernetes/so/charts/so-catalog-db-adapter/resources/config/overrides/override.yaml b/kubernetes/so/charts/so-catalog-db-adapter/resources/config/overrides/override.yaml index 601cd49eae..320af6127e 100755 --- a/kubernetes/so/charts/so-catalog-db-adapter/resources/config/overrides/override.yaml +++ b/kubernetes/so/charts/so-catalog-db-adapter/resources/config/overrides/override.yaml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. server: - port: 8082 + port: {{ index .Values.containerPort }} tomcat: max-threads: 50 ssl-enable: false @@ -26,26 +26,6 @@ mso: db: auth: Basic YnBlbDpwYXNzd29yZDEk spring: - datasource: - url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb - username: ${DB_USERNAME} - password: ${DB_PASSWORD} - driver-class-name: org.mariadb.jdbc.Driver - initialize: false - initialization-mode: never - dbcp2: - initial-size: 5 - max-total: 20 - validation-query: select 1 - test-on-borrow: true - jpa: - generate-ddl: false - show-sql: false - hibernate: - ddl-auto: validate - naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy - enable-lazy-load-no-trans: true - database-platform: org.hibernate.dialect.MySQL5InnoDBDialect security: usercredentials: - @@ -59,8 +39,3 @@ spring: #Actuator management: context-path: /manage -flyway: - baseline-on-migrate: true - url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb - username: ${DB_USERNAME} - password: ${DB_PASSWORD} diff --git a/kubernetes/so/charts/so-catalog-db-adapter/templates/deployment.yaml b/kubernetes/so/charts/so-catalog-db-adapter/templates/deployment.yaml index 20068a8edd..ad3a19f37e 100755 --- a/kubernetes/so/charts/so-catalog-db-adapter/templates/deployment.yaml +++ b/kubernetes/so/charts/so-catalog-db-adapter/templates/deployment.yaml @@ -34,6 +34,21 @@ spec: app: {{ include "common.name" . }} release: {{ .Release.Name }} spec: + initContainers: + - command: + - /root/ready.py + args: + - --container-name + - {{ .Values.mariadb.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 }} @@ -73,7 +88,7 @@ spec: envFrom: - configMapRef: name: {{ include "common.fullname" . }}-configmap - imagePullPolicy: {{ index .Values "global" "pullPolicy" }} + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} volumeMounts: - name: logs mountPath: /app/logs diff --git a/kubernetes/so/charts/so-catalog-db-adapter/templates/service.yaml b/kubernetes/so/charts/so-catalog-db-adapter/templates/service.yaml index db3bb7848b..741614886c 100755 --- a/kubernetes/so/charts/so-catalog-db-adapter/templates/service.yaml +++ b/kubernetes/so/charts/so-catalog-db-adapter/templates/service.yaml @@ -21,108 +21,6 @@ metadata: chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} - annotations: - msb.onap.org/service-info: '[ - { - "serviceName": "so/catdb", - "version": "v1", - "url": "/services", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1" , - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/catdb", - "version": "v1", - "url": "/{version: v[0-9]+}/vnfResources/{vnfModelCustomizationUuid}", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/catdb", - "version": "v1", - "url": "/{version: v[0-9]+}/serviceVnfs", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/catdb", - "version": "v1", - "url": "/{version: v[0-9]+}/networkResources/{networkModelCustomizationUuid}", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/catdb", - "version": "v1", - "url": "/{version: v[0-9]+}/serviceNetworks", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/catdb", - "version": "v1", - "url": "/{version: v[0-9]+}/serviceResources", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/catdb", - "version": "v1", - "url": "/{version: v[0-9]+}/allottedResources/{arModelCustomizationUuid}", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/catdb", - "version": "v1", - "url": "/{version: v[0-9]+}/serviceAllottedResources", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/catdb", - "version": "v1", - "url": "/{version: v[0-9]+}/vfModules", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/catdb", - "version": "v1", - "url": "/{version: v[0-9]+}/serviceToscaCsar", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/catdb", - "version": "v1", - "url": "/{version: v[0-9]+}/resourceRecipe", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - } - ]' spec: type: {{ .Values.service.type }} ports: @@ -137,4 +35,4 @@ spec: {{- end}} selector: app: {{ include "common.name" . }} - release: {{ .Release.Name }} \ No newline at end of file + release: {{ .Release.Name }} diff --git a/kubernetes/so/charts/so-catalog-db-adapter/values.yaml b/kubernetes/so/charts/so-catalog-db-adapter/values.yaml index 2083633599..b4c1a547db 100755 --- a/kubernetes/so/charts/so-catalog-db-adapter/values.yaml +++ b/kubernetes/so/charts/so-catalog-db-adapter/values.yaml @@ -11,9 +11,25 @@ # 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 configuration defaults. +################################################################# +global: + nodePortPrefix: 302 + nodePortPrefixExt: 304 + repository: nexus3.onap.org:10001 + readinessRepository: oomk8s + readinessImage: readiness-check:2.0.0 + persistence: + mountPath: /dockerdata-nfs + +################################################################# +# Application configuration defaults. +################################################################# repository: nexus3.onap.org:10001 -image: onap/so/catalog-db-adapter:1.3.0-STAGING-latest -pullPolicy: IfNotPresent +image: onap/so/catalog-db-adapter:1.3.1 +pullPolicy: Always + replicaCount: 1 minReadySeconds: 10 containerPort: 8082 @@ -56,6 +72,8 @@ livenessProbe: timeoutSeconds: 10 successThreshold: 1 failureThreshold: 3 +mariadb: + nameOverride: so-mariadb ingress: enabled: false nodeSelector: {} diff --git a/kubernetes/so/charts/so-mariadb/templates/service.yaml b/kubernetes/so/charts/so-mariadb/templates/service.yaml index c9a3f564ab..010dc71474 100755 --- a/kubernetes/so/charts/so-mariadb/templates/service.yaml +++ b/kubernetes/so/charts/so-mariadb/templates/service.yaml @@ -25,13 +25,13 @@ spec: type: {{ .Values.service.type }} ports: - name: {{ .Values.service.portName }} - {{- if eq .Values.service.type "NodePort" }} + {{ if eq .Values.service.type "NodePort" }} port: {{ .Values.service.internalPort }} nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.nodePort }} - {{- else -}} + {{ else }} port: {{ .Values.service.externalPort }} targetPort: {{ .Values.service.internalPort }} - {{- end}} + {{ end }} selector: app: {{ include "common.name" . }} release: {{ .Release.Name }} \ No newline at end of file diff --git a/kubernetes/so/charts/so-mariadb/values.yaml b/kubernetes/so/charts/so-mariadb/values.yaml index 954589967c..fa16a7b11e 100755 --- a/kubernetes/so/charts/so-mariadb/values.yaml +++ b/kubernetes/so/charts/so-mariadb/values.yaml @@ -14,16 +14,28 @@ # Default values for mariadb. # This is a YAML-formatted file. # Declare variables to be passed into your templates. -global: # global defaults +################################################################# +# Global configuration defaults. +################################################################# +global: nodePortPrefix: 302 - persistence: {} + nodePortPrefixExt: 304 + repository: nexus3.onap.org:10001 readinessRepository: oomk8s + readinessImage: readiness-check:2.0.0 ubuntuInitRepository: registry.hub.docker.com + persistence: + mountPath: /dockerdata-nfs + +################################################################# +# Application configuration defaults. +################################################################# # application image repository: nexus3.onap.org:10001 image: mariadb:10.1.11 pullPolicy: Always ubuntuInitImage: oomk8s/ubuntu-init:2.0.0 + # application configuration config: mariadbRootPassword: password @@ -69,6 +81,7 @@ service: type: NodePort portName: mariadb internalPort: 3306 + externalPort: 3306 nodePort: 52 ingress: enabled: false diff --git a/kubernetes/so/charts/so-monitoring/resources/config/overrides/override.yaml b/kubernetes/so/charts/so-monitoring/resources/config/overrides/override.yaml new file mode 100644 index 0000000000..c2e6ad06f3 --- /dev/null +++ b/kubernetes/so/charts/so-monitoring/resources/config/overrides/override.yaml @@ -0,0 +1,17 @@ +server: + port: {{ index .Values.containerPort }} + tomcat: + max-threads: 50 +ssl-enable: false +camunda: + rest: + api: + url: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/sobpmnengine/engine/ + engine: default + auth: Basic YXBpaEJwbW46cGFzc3dvcmQxJA== +mso: + database: + rest: + api: + url: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083/infraActiveRequests/ + auth: Basic YnBlbDpwYXNzd29yZDEk diff --git a/kubernetes/so/charts/so-monitoring/templates/configmap.yaml b/kubernetes/so/charts/so-monitoring/templates/configmap.yaml index f7860108d8..489d5f48fc 100644 --- a/kubernetes/so/charts/so-monitoring/templates/configmap.yaml +++ b/kubernetes/so/charts/so-monitoring/templates/configmap.yaml @@ -24,3 +24,21 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-configmap namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-app-configmap + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +data: +{{ tpl (.Files.Glob "resources/config/overrides/*").AsConfig . | indent 2 }} diff --git a/kubernetes/so/charts/so-monitoring/templates/deployment.yaml b/kubernetes/so/charts/so-monitoring/templates/deployment.yaml index 79d466227d..bfedc05a19 100644 --- a/kubernetes/so/charts/so-monitoring/templates/deployment.yaml +++ b/kubernetes/so/charts/so-monitoring/templates/deployment.yaml @@ -45,7 +45,7 @@ spec: volumeMounts: - name: logs mountPath: /app/logs - imagePullPolicy: {{ index .Values.pullPolicy }} + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} command: ["/bin/sh", "-c", "chown -Rf 1000:1000 /app/logs"] restartPolicy: Always containers: @@ -84,36 +84,13 @@ spec: secretKeyRef: name: {{ .Release.Name}}-so-db-secrets key: mariadb.admin.password - - name: CADI_KEYSTORE_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Release.Name}}-so-ssl-pwd-secret - key: cadi_keystore_password - - name: CADI_TRUSTSTORE_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Release.Name}}-so-ssl-pwd-secret - key: cadi_truststore_password - - name: MSO_KEYSTORE_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Release.Name}}-so-ssl-client-secret - key: keystore_password - - name: MSO_TRUSTSTORE_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Release.Name}}-so-ssl-client-secret - key: truststore_password envFrom: - configMapRef: name: {{ include "common.fullname" . }}-configmap - imagePullPolicy: {{ index .Values "global" "pullPolicy" }} + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} volumeMounts: - name: logs mountPath: /app/logs - - name: certs - mountPath: /app/certs/ - readOnly: true - name: config mountPath: /app/config readOnly: true @@ -137,9 +114,6 @@ spec: volumes: - name: logs emptyDir: {} - - name: certs - secret: - secretName: {{ .Release.Name}}-so-ssl-secret - name: config configMap: name: {{ include "common.fullname" . }}-app-configmap diff --git a/kubernetes/so/charts/so-monitoring/values.yaml b/kubernetes/so/charts/so-monitoring/values.yaml index 79170eb5d2..6e3578b00e 100644 --- a/kubernetes/so/charts/so-monitoring/values.yaml +++ b/kubernetes/so/charts/so-monitoring/values.yaml @@ -16,15 +16,33 @@ # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= # @author: gareth.roper@ericsson.com -image: onap/so/so-monitoring:latest -pullPolicy: IfNotPresent +################################################################# +# Global configuration defaults. +################################################################# +global: + nodePortPrefix: 302 + nodePortPrefixExt: 304 + repository: nexus3.onap.org:10001 + readinessRepository: oomk8s + readinessImage: readiness-check:2.0.0 + persistence: + mountPath: /dockerdata-nfs + +################################################################# +# Application configuration defaults. +################################################################# +repository: nexus3.onap.org:10001 +image: onap/so/so-monitoring:1.3.1 +pullPolicy: Always + replicaCount: 1 minReadySeconds: 10 containerPort: 9091 logPath: app/logs/ app: so-monitoring service: - type: ClusterIP + type: NodePort + nodePort: 24 internalPort: 9091 externalPort: 9091 portName: so-monitor-port diff --git a/kubernetes/so/charts/so-openstack-adapter/resources/config/overrides/override.yaml b/kubernetes/so/charts/so-openstack-adapter/resources/config/overrides/override.yaml index c0f7851103..98b0976314 100755 --- a/kubernetes/so/charts/so-openstack-adapter/resources/config/overrides/override.yaml +++ b/kubernetes/so/charts/so-openstack-adapter/resources/config/overrides/override.yaml @@ -12,12 +12,12 @@ # See the License for the specific language governing permissions and # limitations under the License. server: - port: 8087 + port: {{ index .Values.containerPort }} spring: datasource: url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb - username: ${DB_USERNAME} - password: ${DB_PASSWORD} + username: ${DB_ADMIN_USERNAME} + password: ${DB_ADMIN_PASSWORD} driver-class-name: org.mariadb.jdbc.Driver dbcp2: initial-size: 5 @@ -112,11 +112,20 @@ cloud_config: identity_url: "https://identity.api.rackspacecloud.com/v2.0" mso_id: "RACKSPACE_ACCOUNT_ID" mso_pass: "RACKSPACE_ACCOUNT_APIKEY" - admin_tenant: "service" + admin_tenant: "{{ .Values.config.openStackServiceTenantName }}" member_role: "admin" tenant_metadata: true identity_server_type: "KEYSTONE" identity_authentication_type: "RACKSPACE_APIKEY" + DEFAULT_KEYSTONE: + identity_url: "{{ .Values.config.openStackKeyStoneUrl }}" + mso_id: "{{ .Values.config.openStackUserName }}" + mso_pass: "{{ .Values.config.openStackEncryptedPasswordHere }}" + admin_tenant: "{{ .Values.config.openStackServiceTenantName }}" + member_role: "admin" + tenant_metadata: true + identity_server_type: "KEYSTONE" + identity_authentication_type: "USERNAME_PASSWORD" cloud_sites: Dallas: region_id: "DFW" @@ -133,8 +142,13 @@ cloud_config: clli: "ORD" aic_version: "2.5" identity_service_id: "RAX_KEYSTONE" + RegionOne: + region_id: "RegionOne" + clli: "RegionOne" + aic_version: "2.5" + identity_service_id: "DEFAULT_KEYSTONE" DEFAULT: - region_id: "DFW" - clli: "DFW" + region_id: "{{ .Values.config.openStackRegion }}" + clli: "{{ .Values.config.openStackRegion }}" aic_version: "2.5" - identity_service_id: "RAX_KEYSTONE" + identity_service_id: "DEFAULT_KEYSTONE" diff --git a/kubernetes/so/charts/so-openstack-adapter/templates/deployment.yaml b/kubernetes/so/charts/so-openstack-adapter/templates/deployment.yaml index 20068a8edd..ad3a19f37e 100755 --- a/kubernetes/so/charts/so-openstack-adapter/templates/deployment.yaml +++ b/kubernetes/so/charts/so-openstack-adapter/templates/deployment.yaml @@ -34,6 +34,21 @@ spec: app: {{ include "common.name" . }} release: {{ .Release.Name }} spec: + initContainers: + - command: + - /root/ready.py + args: + - --container-name + - {{ .Values.mariadb.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 }} @@ -73,7 +88,7 @@ spec: envFrom: - configMapRef: name: {{ include "common.fullname" . }}-configmap - imagePullPolicy: {{ index .Values "global" "pullPolicy" }} + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} volumeMounts: - name: logs mountPath: /app/logs diff --git a/kubernetes/so/charts/so-openstack-adapter/templates/service.yaml b/kubernetes/so/charts/so-openstack-adapter/templates/service.yaml index 031616a4f3..741614886c 100755 --- a/kubernetes/so/charts/so-openstack-adapter/templates/service.yaml +++ b/kubernetes/so/charts/so-openstack-adapter/templates/service.yaml @@ -21,54 +21,6 @@ metadata: chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} - annotations: - msb.onap.org/service-info: '[ - { - "serviceName": "so/openstack", - "version": "v1", - "url": "/NetworkAdapter", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/openstack", - "version": "v1", - "url": "/NetworkAdapterAsync", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/openstack", - "version": "v1", - "url": "/TenantAdapter", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/openstack", - "version": "v1", - "url": "/VnfAdapter", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/openstack", - "version": "v1", - "url": "/VnfCloudifyAdapterImpl", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - } - ]' spec: type: {{ .Values.service.type }} ports: @@ -83,4 +35,4 @@ spec: {{- end}} selector: app: {{ include "common.name" . }} - release: {{ .Release.Name }} \ No newline at end of file + release: {{ .Release.Name }} diff --git a/kubernetes/so/charts/so-openstack-adapter/values.yaml b/kubernetes/so/charts/so-openstack-adapter/values.yaml index 867e599202..52790b2e2e 100755 --- a/kubernetes/so/charts/so-openstack-adapter/values.yaml +++ b/kubernetes/so/charts/so-openstack-adapter/values.yaml @@ -11,8 +11,25 @@ # 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. -image: onap/so/openstack-adapter:1.3.0-STAGING-latest -pullPolicy: IfNotPresent +################################################################# +# Global configuration defaults. +################################################################# +global: + nodePortPrefix: 302 + nodePortPrefixExt: 304 + repository: nexus3.onap.org:10001 + readinessRepository: oomk8s + readinessImage: readiness-check:2.0.0 + persistence: + mountPath: /dockerdata-nfs + +################################################################# +# Application configuration defaults. +################################################################# +image: onap/so/openstack-adapter:1.3.1 +pullPolicy: Always +repository: nexus3.onap.org:10001 + replicaCount: 1 minReadySeconds: 10 containerPort: 8087 @@ -55,8 +72,17 @@ livenessProbe: timeoutSeconds: 10 successThreshold: 1 failureThreshold: 3 +mariadb: + nameOverride: so-mariadb ingress: enabled: false +config: + openStackUserName: "vnf_user" + openStackRegion: "RegionOne" + openStackKeyStoneUrl: "http://1.2.3.4:5000/v2.0" + openStackServiceTenantName: "service" + openStackEncryptedPasswordHere: "c124921a3a0efbe579782cde8227681e" + openStackTenantId: "d570c718cbc545029f40e50b75eb13df" nodeSelector: {} tolerations: [] affinity: {} diff --git a/kubernetes/so/charts/so-request-db-adapter/resources/config/overrides/override.yaml b/kubernetes/so/charts/so-request-db-adapter/resources/config/overrides/override.yaml index 49ccdeb097..2755f94f41 100755 --- a/kubernetes/so/charts/so-request-db-adapter/resources/config/overrides/override.yaml +++ b/kubernetes/so/charts/so-request-db-adapter/resources/config/overrides/override.yaml @@ -13,7 +13,7 @@ # limitations under the License. # will be used as entry in DB to say SITE OFF/ON for healthcheck server: - port: 8083 + port: {{ index .Values.containerPort }} tomcat: max-threads: 50 ssl-enable: false diff --git a/kubernetes/so/charts/so-request-db-adapter/templates/deployment.yaml b/kubernetes/so/charts/so-request-db-adapter/templates/deployment.yaml index 20068a8edd..ad3a19f37e 100755 --- a/kubernetes/so/charts/so-request-db-adapter/templates/deployment.yaml +++ b/kubernetes/so/charts/so-request-db-adapter/templates/deployment.yaml @@ -34,6 +34,21 @@ spec: app: {{ include "common.name" . }} release: {{ .Release.Name }} spec: + initContainers: + - command: + - /root/ready.py + args: + - --container-name + - {{ .Values.mariadb.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 }} @@ -73,7 +88,7 @@ spec: envFrom: - configMapRef: name: {{ include "common.fullname" . }}-configmap - imagePullPolicy: {{ index .Values "global" "pullPolicy" }} + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} volumeMounts: - name: logs mountPath: /app/logs diff --git a/kubernetes/so/charts/so-request-db-adapter/templates/service.yaml b/kubernetes/so/charts/so-request-db-adapter/templates/service.yaml index 085d986eb4..741614886c 100755 --- a/kubernetes/so/charts/so-request-db-adapter/templates/service.yaml +++ b/kubernetes/so/charts/so-request-db-adapter/templates/service.yaml @@ -21,117 +21,6 @@ metadata: chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} - annotations: - msb.onap.org/service-info: '[ - { - "serviceName": "so/reqdb", - "version": "v1", - "url": "/services", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1" , - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/reqdb", - "version": "v1", - "url": "/RequestsDbAdapter/updateInfraRequest", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/reqdb", - "version": "v1", - "url": "/RequestsDbAdapter/getInfraRequest", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/reqdb", - "version": "v1", - "url": "/RequestsDbAdapter/getSiteStatus", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/reqdb", - "version": "v1", - "url": "/RequestsDbAdapter/updateServiceOperationStatus", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/reqdb", - "version": "v1", - "url": "/RequestsDbAdapter/initResourceOperationStatus", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/reqdb", - "version": "v1", - "url": "/RequestsDbAdapter/getResourceOperationStatus", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/reqdb", - "version": "v1", - "url": "/RequestsDbAdapter/updateResourceOperationStatus", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/reqdb", - "version": "v1", - "url": "/RequestsDbAdapter/infraActiveRequests/getCloudOrchestrationFiltersFromInfraActive", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/reqdb", - "version": "v1", - "url": "/RequestsDbAdapter/infraActiveRequests/getOrchestrationFiltersFromInfraActive", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/reqdb", - "version": "v1", - "url": "/RequestsDbAdapter/infraActiveRequests/checkVnfIdStatus/{operationalEnvironmentId}", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/reqdb", - "version": "v1", - "url": "/RequestsDbAdapter/infraActiveRequests/checkInstanceNameDuplicate", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - } - ]' spec: type: {{ .Values.service.type }} ports: @@ -146,4 +35,4 @@ spec: {{- end}} selector: app: {{ include "common.name" . }} - release: {{ .Release.Name }} \ No newline at end of file + release: {{ .Release.Name }} diff --git a/kubernetes/so/charts/so-request-db-adapter/values.yaml b/kubernetes/so/charts/so-request-db-adapter/values.yaml index 50eb7ba776..e4906f14a7 100755 --- a/kubernetes/so/charts/so-request-db-adapter/values.yaml +++ b/kubernetes/so/charts/so-request-db-adapter/values.yaml @@ -11,8 +11,25 @@ # 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. -image: onap/so/request-db-adapter:1.3.0-STAGING-latest -pullPolicy: IfNotPresent +################################################################# +# Global configuration defaults. +################################################################# +global: + nodePortPrefix: 302 + nodePortPrefixExt: 304 + repository: nexus3.onap.org:10001 + readinessRepository: oomk8s + readinessImage: readiness-check:2.0.0 + persistence: + mountPath: /dockerdata-nfs + +################################################################# +# Application configuration defaults. +################################################################# +repository: nexus3.onap.org:10001 +image: onap/so/request-db-adapter:1.3.1 +pullPolicy: Always + replicaCount: 1 minReadySeconds: 10 containerPort: 8083 @@ -55,6 +72,8 @@ livenessProbe: timeoutSeconds: 10 successThreshold: 1 failureThreshold: 3 +mariadb: + nameOverride: so-mariadb ingress: enabled: false nodeSelector: {} diff --git a/kubernetes/so/charts/so-sdc-controller/resources/config/overrides/override.yaml b/kubernetes/so/charts/so-sdc-controller/resources/config/overrides/override.yaml index 8b33067a8a..f45abbb3d3 100755 --- a/kubernetes/so/charts/so-sdc-controller/resources/config/overrides/override.yaml +++ b/kubernetes/so/charts/so-sdc-controller/resources/config/overrides/override.yaml @@ -14,7 +14,7 @@ aai: auth: 2630606608347B7124C244AB0FE34F6F server: - port: 8085 + port: {{ index .Values.containerPort }} spring: datasource: url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb diff --git a/kubernetes/so/charts/so-sdc-controller/templates/deployment.yaml b/kubernetes/so/charts/so-sdc-controller/templates/deployment.yaml index 20068a8edd..ad3a19f37e 100755 --- a/kubernetes/so/charts/so-sdc-controller/templates/deployment.yaml +++ b/kubernetes/so/charts/so-sdc-controller/templates/deployment.yaml @@ -34,6 +34,21 @@ spec: app: {{ include "common.name" . }} release: {{ .Release.Name }} spec: + initContainers: + - command: + - /root/ready.py + args: + - --container-name + - {{ .Values.mariadb.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 }} @@ -73,7 +88,7 @@ spec: envFrom: - configMapRef: name: {{ include "common.fullname" . }}-configmap - imagePullPolicy: {{ index .Values "global" "pullPolicy" }} + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} volumeMounts: - name: logs mountPath: /app/logs diff --git a/kubernetes/so/charts/so-sdc-controller/templates/service.yaml b/kubernetes/so/charts/so-sdc-controller/templates/service.yaml index 9746e3f151..741614886c 100755 --- a/kubernetes/so/charts/so-sdc-controller/templates/service.yaml +++ b/kubernetes/so/charts/so-sdc-controller/templates/service.yaml @@ -21,27 +21,6 @@ metadata: chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} - annotations: - msb.onap.org/service-info: '[ - { - "serviceName": "so/sdc", - "version": "v1", - "url": "/treatNotification/v1", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/sdc", - "version": "v1", - "url": "/statusData/v1", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - } - ]' spec: type: {{ .Values.service.type }} ports: @@ -56,4 +35,4 @@ spec: {{- end}} selector: app: {{ include "common.name" . }} - release: {{ .Release.Name }} \ No newline at end of file + release: {{ .Release.Name }} diff --git a/kubernetes/so/charts/so-sdc-controller/values.yaml b/kubernetes/so/charts/so-sdc-controller/values.yaml index 2981a82c0d..b963b95aa5 100755 --- a/kubernetes/so/charts/so-sdc-controller/values.yaml +++ b/kubernetes/so/charts/so-sdc-controller/values.yaml @@ -11,8 +11,25 @@ # 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. -image: onap/so/sdc-controller:1.3.0-STAGING-latest -pullPolicy: IfNotPresent +################################################################# +# Global configuration defaults. +################################################################# +global: + nodePortPrefix: 302 + nodePortPrefixExt: 304 + repository: nexus3.onap.org:10001 + readinessRepository: oomk8s + readinessImage: readiness-check:2.0.0 + persistence: + mountPath: /dockerdata-nfs + +################################################################# +# Application configuration defaults. +################################################################# +repository: nexus3.onap.org:10001 +image: onap/so/sdc-controller:1.3.1 +pullPolicy: Always + replicaCount: 1 minReadySeconds: 10 containerPort: 8085 @@ -55,6 +72,8 @@ livenessProbe: timeoutSeconds: 10 successThreshold: 1 failureThreshold: 3 +mariadb: + nameOverride: so-mariadb ingress: enabled: false nodeSelector: {} diff --git a/kubernetes/so/charts/so-sdnc-adapter/resources/config/overrides/override.yaml b/kubernetes/so/charts/so-sdnc-adapter/resources/config/overrides/override.yaml index 615988066a..2ebdfb3a7f 100755 --- a/kubernetes/so/charts/so-sdnc-adapter/resources/config/overrides/override.yaml +++ b/kubernetes/so/charts/so-sdnc-adapter/resources/config/overrides/override.yaml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. server: - port: 8086 + port: {{ index .Values.containerPort }} mso: async: core-pool-size: 50 diff --git a/kubernetes/so/charts/so-sdnc-adapter/templates/deployment.yaml b/kubernetes/so/charts/so-sdnc-adapter/templates/deployment.yaml index 20068a8edd..56b628c539 100755 --- a/kubernetes/so/charts/so-sdnc-adapter/templates/deployment.yaml +++ b/kubernetes/so/charts/so-sdnc-adapter/templates/deployment.yaml @@ -73,7 +73,7 @@ spec: envFrom: - configMapRef: name: {{ include "common.fullname" . }}-configmap - imagePullPolicy: {{ index .Values "global" "pullPolicy" }} + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} volumeMounts: - name: logs mountPath: /app/logs diff --git a/kubernetes/so/charts/so-sdnc-adapter/templates/service.yaml b/kubernetes/so/charts/so-sdnc-adapter/templates/service.yaml index 39f96a7ffa..741614886c 100755 --- a/kubernetes/so/charts/so-sdnc-adapter/templates/service.yaml +++ b/kubernetes/so/charts/so-sdnc-adapter/templates/service.yaml @@ -21,27 +21,6 @@ metadata: chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} - annotations: - msb.onap.org/service-info: '[ - { - "serviceName": "so/sdnc", - "version": "v1", - "url": "/SDNCAdapter", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - }, - { - "serviceName": "so/sdnc", - "version": "v1", - "url": "/SDNCNotify/SNIROResponse/{correlator}", - "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", - "visualRange":"1", - "lb_policy":"ip_hash" - } - ]' spec: type: {{ .Values.service.type }} ports: @@ -56,4 +35,4 @@ spec: {{- end}} selector: app: {{ include "common.name" . }} - release: {{ .Release.Name }} \ No newline at end of file + release: {{ .Release.Name }} diff --git a/kubernetes/so/charts/so-sdnc-adapter/values.yaml b/kubernetes/so/charts/so-sdnc-adapter/values.yaml index 4bab856b98..fb6dfcced8 100755 --- a/kubernetes/so/charts/so-sdnc-adapter/values.yaml +++ b/kubernetes/so/charts/so-sdnc-adapter/values.yaml @@ -11,8 +11,25 @@ # 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. -image: onap/so/sdnc-adapter:1.3.0-STAGING-latest -pullPolicy: IfNotPresent +################################################################# +# Global configuration defaults. +################################################################# +global: + nodePortPrefix: 302 + nodePortPrefixExt: 304 + repository: nexus3.onap.org:10001 + readinessRepository: oomk8s + readinessImage: readiness-check:2.0.0 + persistence: + mountPath: /dockerdata-nfs + +################################################################# +# Application configuration defaults. +################################################################# +repository: nexus3.onap.org:10001 +image: onap/so/sdnc-adapter:1.3.1 +pullPolicy: Always + replicaCount: 1 minReadySeconds: 10 containerPort: 8086 diff --git a/kubernetes/so/charts/so-vfc-adapter/resources/config/overrides/override.yaml b/kubernetes/so/charts/so-vfc-adapter/resources/config/overrides/override.yaml index b8108ab8f8..da26017c4d 100755 --- a/kubernetes/so/charts/so-vfc-adapter/resources/config/overrides/override.yaml +++ b/kubernetes/so/charts/so-vfc-adapter/resources/config/overrides/override.yaml @@ -25,7 +25,7 @@ spring: validation-query: select 1 test-on-borrow: true server: - port: 8084 + port: {{ index .Values.containerPort }} tomcat: max-threads: 50 mso: diff --git a/kubernetes/so/charts/so-vfc-adapter/templates/deployment.yaml b/kubernetes/so/charts/so-vfc-adapter/templates/deployment.yaml index 20068a8edd..ad3a19f37e 100755 --- a/kubernetes/so/charts/so-vfc-adapter/templates/deployment.yaml +++ b/kubernetes/so/charts/so-vfc-adapter/templates/deployment.yaml @@ -34,6 +34,21 @@ spec: app: {{ include "common.name" . }} release: {{ .Release.Name }} spec: + initContainers: + - command: + - /root/ready.py + args: + - --container-name + - {{ .Values.mariadb.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 }} @@ -73,7 +88,7 @@ spec: envFrom: - configMapRef: name: {{ include "common.fullname" . }}-configmap - imagePullPolicy: {{ index .Values "global" "pullPolicy" }} + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} volumeMounts: - name: logs mountPath: /app/logs diff --git a/kubernetes/so/charts/so-vfc-adapter/values.yaml b/kubernetes/so/charts/so-vfc-adapter/values.yaml index b0c3b0114e..4db4950c9d 100755 --- a/kubernetes/so/charts/so-vfc-adapter/values.yaml +++ b/kubernetes/so/charts/so-vfc-adapter/values.yaml @@ -11,8 +11,25 @@ # 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. -image: onap/so/vfc-adapter:1.3.0-STAGING-latest -pullPolicy: IfNotPresent +################################################################# +# Global configuration defaults. +################################################################# +global: + nodePortPrefix: 302 + nodePortPrefixExt: 304 + repository: nexus3.onap.org:10001 + readinessRepository: oomk8s + readinessImage: readiness-check:2.0.0 + persistence: + mountPath: /dockerdata-nfs + +################################################################# +# Application configuration defaults. +################################################################# +repository: nexus3.onap.org:10001 +image: onap/so/vfc-adapter:1.3.1 +pullPolicy: Always + replicaCount: 1 minReadySeconds: 10 containerPort: 8084 @@ -55,6 +72,8 @@ livenessProbe: timeoutSeconds: 10 successThreshold: 1 failureThreshold: 3 +mariadb: + nameOverride: so-mariadb ingress: enabled: false nodeSelector: {} diff --git a/kubernetes/so/resources/config/overrides/override.yaml b/kubernetes/so/resources/config/overrides/override.yaml index 1806b20dbb..6adc2120fb 100755 --- a/kubernetes/so/resources/config/overrides/override.yaml +++ b/kubernetes/so/resources/config/overrides/override.yaml @@ -1,5 +1,5 @@ server: - port: 8080 + port: {{ index .Values.containerPort }} tomcat: max-threads: 50 ssl-enable: false diff --git a/kubernetes/so/templates/deployment.yaml b/kubernetes/so/templates/deployment.yaml index 20068a8edd..ad3a19f37e 100755 --- a/kubernetes/so/templates/deployment.yaml +++ b/kubernetes/so/templates/deployment.yaml @@ -34,6 +34,21 @@ spec: app: {{ include "common.name" . }} release: {{ .Release.Name }} spec: + initContainers: + - command: + - /root/ready.py + args: + - --container-name + - {{ .Values.mariadb.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 }} @@ -73,7 +88,7 @@ spec: envFrom: - configMapRef: name: {{ include "common.fullname" . }}-configmap - imagePullPolicy: {{ index .Values "global" "pullPolicy" }} + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} volumeMounts: - name: logs mountPath: /app/logs diff --git a/kubernetes/so/templates/service.yaml b/kubernetes/so/templates/service.yaml index a813a18030..ab58ea6ede 100755 --- a/kubernetes/so/templates/service.yaml +++ b/kubernetes/so/templates/service.yaml @@ -24,362 +24,362 @@ metadata: annotations: msb.onap.org/service-info: '[ { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/cloudResources/{version:[vV][1]}/operationalEnvironments", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/cloudResources/{version:[vV][1]}/operationalEnvironments/{operationalEnvironmentId}/activate", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/cloudResources/{version:[vV][1]}/operationalEnvironments/{operationalEnvironmentId}/deactivate", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/cloudResourcesRequests/{version:[vV][1]}/{requestId}/unlock", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/cloudResourcesRequests/{version:[vV][1]}", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/orchestrationRequests/{version:[vV][4-7]}/{requestId}", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/orchestrationRequests/{version:[vV][4-7]}", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/orchestrationRequests/{version:[vV][4-7]}/{requestId}/unlock", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/activate", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/deactivate", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][7]}/serviceInstances/assign", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiation/{version:[vV][7]}/serviceInstances/{serviceInstanceId}/unassign", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/configurations", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/configurations/{configurationInstanceId}", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/configurations/{configurationInstanceId}/enablePort", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/configurations/{configurationInstanceId}/disablePort", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/configurations/{configurationInstanceId}/activate", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/configurations/{configurationInstanceId}/deactivate", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][6-7]}/serviceInstances/{serviceInstanceId}/addRelationships", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiation/{version:[vV][6-7]}/serviceInstances/{serviceInstanceId}/removeRelationships", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/replace", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiation/{version:[vV][6-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/applyUpdatedConfig", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules/{vfmoduleInstanceId}/replace", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules/{vfmoduleInstanceId}", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][6-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/inPlaceSoftwareUpdate", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules/{vfmoduleInstanceId}", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiation/{version:[vV][7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules/{vfmoduleInstanceId}/deactivateAndCloudDelete", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiation/{version:[vV][7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules/scaleOut", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/volumeGroups", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/volumeGroups/{volumeGroupInstanceId}", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/volumeGroups/{volumeGroupInstanceId}", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/networks", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/networks/{networkInstanceId}", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" }, { - "serviceName": "so/apih", + "serviceName": "so", "version": "v1", "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/networks/{networkInstanceId}", "protocol": "REST", - "port": "{{ .Values.service.externalPort }}", + "port": "{{ .Values.service.internalPort }}", "visualRange":"0", "lb_policy":"ip_hash" } @@ -398,4 +398,4 @@ spec: {{- end}} selector: app: {{ include "common.name" . }} - release: {{ .Release.Name }} \ No newline at end of file + release: {{ .Release.Name }} diff --git a/kubernetes/so/values.yaml b/kubernetes/so/values.yaml index 60d0424e6f..2ce53dbce9 100755 --- a/kubernetes/so/values.yaml +++ b/kubernetes/so/values.yaml @@ -11,9 +11,25 @@ # 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 configuration defaults. +################################################################# +global: + nodePortPrefix: 302 + nodePortPrefixExt: 304 + repository: nexus3.onap.org:10001 + readinessRepository: oomk8s + readinessImage: readiness-check:2.0.0 + persistence: + mountPath: /dockerdata-nfs + +################################################################# +# Application configuration defaults. +################################################################# repository: nexus3.onap.org:10001 -image: onap/so/api-handler-infra:1.3.0-STAGING-latest -pullPolicy: IfNotPresent +image: onap/so/api-handler-infra:1.3.1 +pullPolicy: Always + replicaCount: 1 minReadySeconds: 10 containerPort: 8080 @@ -23,6 +39,7 @@ service: type: NodePort nodePort: 77 internalPort: 8080 + externalPort: 8080 portName: so-apih-port updateStrategy: type: RollingUpdate @@ -55,13 +72,25 @@ livenessProbe: timeoutSeconds: 10 successThreshold: 1 failureThreshold: 3 -global: - nodePortPrefix: 302 - # docker repository - repository: nexus3.onap.org:10001 - # image pull Policy - pullPolicy: IfNotPresent mariadb: - nameOverride: so-db + nameOverride: so-mariadb +so-bpmn-infra: + mariadb: + nameOverride: so-mariadb +so-catalog-db-adapter: + mariadb: + nameOverride: so-mariadb +so-openstack-adapter: + mariadb: + nameOverride: so-mariadb +so-request-db-adapter: + mariadb: + nameOverride: so-mariadb +so-sdc-controller: + mariadb: + nameOverride: so-mariadb +so-vfc-adapter: + mariadb: + nameOverride: so-mariadb nodeSelector: {} affinity: {} diff --git a/kubernetes/uui/charts/uui-server/values.yaml b/kubernetes/uui/charts/uui-server/values.yaml index 268c6f3e41..bcf6897cf1 100644 --- a/kubernetes/uui/charts/uui-server/values.yaml +++ b/kubernetes/uui/charts/uui-server/values.yaml @@ -25,7 +25,7 @@ flavor: small # application image repository: nexus3.onap.org:10001 -image: onap/usecase-ui/usecase-ui-server:1.1.1 +image: onap/usecase-ui-server:1.2.0 pullPolicy: Always # application configuration diff --git a/kubernetes/uui/values.yaml b/kubernetes/uui/values.yaml index 266d17b8e5..faab73a7a2 100644 --- a/kubernetes/uui/values.yaml +++ b/kubernetes/uui/values.yaml @@ -25,7 +25,7 @@ flavor: small # application image repository: nexus3.onap.org:10001 -image: onap/usecase-ui:1.1.1 +image: onap/usecase-ui:1.2.0 pullPolicy: Always # application configuration diff --git a/kubernetes/vfc/charts/vfc-catalog/values.yaml b/kubernetes/vfc/charts/vfc-catalog/values.yaml index 8b0561e558..58ea5a4e8e 100644 --- a/kubernetes/vfc/charts/vfc-catalog/values.yaml +++ b/kubernetes/vfc/charts/vfc-catalog/values.yaml @@ -29,7 +29,7 @@ global: flavor: small repository: nexus3.onap.org:10001 -image: onap/vfc/catalog:1.1.0 +image: onap/vfc/catalog:1.2.0 pullPolicy: Always #Istio sidecar injection policy diff --git a/kubernetes/vfc/charts/vfc-db/values.yaml b/kubernetes/vfc/charts/vfc-db/values.yaml index 83071e606e..676abd390c 100644 --- a/kubernetes/vfc/charts/vfc-db/values.yaml +++ b/kubernetes/vfc/charts/vfc-db/values.yaml @@ -29,7 +29,7 @@ global: flavor: small repository: nexus3.onap.org:10001 -image: onap/vfc/db:latest +image: onap/vfc/db:1.2.0 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/vfc/charts/vfc-ems-driver/values.yaml b/kubernetes/vfc/charts/vfc-ems-driver/values.yaml index 2263bff214..219f9888c2 100644 --- a/kubernetes/vfc/charts/vfc-ems-driver/values.yaml +++ b/kubernetes/vfc/charts/vfc-ems-driver/values.yaml @@ -29,7 +29,7 @@ global: flavor: small repository: nexus3.onap.org:10001 -image: onap/vfc/emsdriver:1.1.0 +image: onap/vfc/emsdriver:1.2.0 pullPolicy: Always #Istio sidecar injection policy diff --git a/kubernetes/vfc/charts/vfc-generic-vnfm-driver/values.yaml b/kubernetes/vfc/charts/vfc-generic-vnfm-driver/values.yaml index 6d2e283b24..b417ef6b23 100644 --- a/kubernetes/vfc/charts/vfc-generic-vnfm-driver/values.yaml +++ b/kubernetes/vfc/charts/vfc-generic-vnfm-driver/values.yaml @@ -29,7 +29,7 @@ global: flavor: small repository: nexus3.onap.org:10001 -image: onap/vfc/gvnfmdriver:1.1.0 +image: onap/vfc/gvnfmdriver:1.2.0 pullPolicy: Always #Istio sidecar injection policy diff --git a/kubernetes/vfc/charts/vfc-huawei-vnfm-driver/values.yaml b/kubernetes/vfc/charts/vfc-huawei-vnfm-driver/values.yaml index 9c2c8bbbd3..265aa1db21 100644 --- a/kubernetes/vfc/charts/vfc-huawei-vnfm-driver/values.yaml +++ b/kubernetes/vfc/charts/vfc-huawei-vnfm-driver/values.yaml @@ -29,7 +29,7 @@ global: flavor: small repository: nexus3.onap.org:10001 -image: onap/vfc/nfvo/svnfm/huawei:1.1.0 +image: onap/vfc/nfvo/svnfm/huawei:1.2.0 pullPolicy: Always #Istio sidecar injection policy diff --git a/kubernetes/vfc/charts/vfc-juju-vnfm-driver/values.yaml b/kubernetes/vfc/charts/vfc-juju-vnfm-driver/values.yaml index cbdf9a513b..8cb406c995 100644 --- a/kubernetes/vfc/charts/vfc-juju-vnfm-driver/values.yaml +++ b/kubernetes/vfc/charts/vfc-juju-vnfm-driver/values.yaml @@ -29,7 +29,7 @@ global: flavor: small repository: nexus3.onap.org:10001 -image: onap/vfc/jujudriver:1.1.0 +image: onap/vfc/jujudriver:1.2.0 pullPolicy: Always #Istio sidecar injection policy diff --git a/kubernetes/vfc/charts/vfc-multivim-proxy/values.yaml b/kubernetes/vfc/charts/vfc-multivim-proxy/values.yaml index 00fd3b8b50..8ed83decea 100644 --- a/kubernetes/vfc/charts/vfc-multivim-proxy/values.yaml +++ b/kubernetes/vfc/charts/vfc-multivim-proxy/values.yaml @@ -29,7 +29,7 @@ global: flavor: small repository: nexus3.onap.org:10001 -image: onap/vfc/multivimproxy:1.0.0 +image: onap/vfc/multivimproxy:1.2.0 pullPolicy: Always #Istio sidecar injection policy diff --git a/kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/templates/deployment.yaml b/kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/templates/deployment.yaml index dd61e6534e..85dc17d9b0 100644 --- a/kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/templates/deployment.yaml +++ b/kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/templates/deployment.yaml @@ -69,6 +69,8 @@ spec: initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} periodSeconds: {{ .Values.readiness.periodSeconds }} env: + - name: EXTERNAL_PORT + value: "8089" - name: MSB_ADDR value: "{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}" resources: diff --git a/kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/values.yaml b/kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/values.yaml index 23fd17bcd8..74f5b67204 100644 --- a/kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/values.yaml +++ b/kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/values.yaml @@ -29,7 +29,7 @@ global: flavor: small repository: nexus3.onap.org:10001 -image: onap/vfc/nfvo/svnfm/nokiav2:1.1.0 +image: onap/vfc/nfvo/svnfm/nokiav2:1.3.0 pullPolicy: Always #Istio sidecar injection policy diff --git a/kubernetes/vfc/charts/vfc-nslcm/values.yaml b/kubernetes/vfc/charts/vfc-nslcm/values.yaml index 7a9c8bd512..1f3617de80 100644 --- a/kubernetes/vfc/charts/vfc-nslcm/values.yaml +++ b/kubernetes/vfc/charts/vfc-nslcm/values.yaml @@ -29,7 +29,7 @@ global: flavor: small repository: nexus3.onap.org:10001 -image: onap/vfc/nslcm:1.1.0 +image: onap/vfc/nslcm:1.2.0 pullPolicy: Always #Istio sidecar injection policy diff --git a/kubernetes/vfc/charts/vfc-resmgr/values.yaml b/kubernetes/vfc/charts/vfc-resmgr/values.yaml index 36b778b5f6..7d27e8c44d 100644 --- a/kubernetes/vfc/charts/vfc-resmgr/values.yaml +++ b/kubernetes/vfc/charts/vfc-resmgr/values.yaml @@ -29,7 +29,7 @@ global: flavor: small repository: nexus3.onap.org:10001 -image: onap/vfc/resmanagement:1.1.0 +image: onap/vfc/resmanagement:1.2.0 pullPolicy: Always #Istio sidecar injection policy diff --git a/kubernetes/vfc/charts/vfc-vnflcm/values.yaml b/kubernetes/vfc/charts/vfc-vnflcm/values.yaml index 13f3e2fdc9..6ae0a6f237 100644 --- a/kubernetes/vfc/charts/vfc-vnflcm/values.yaml +++ b/kubernetes/vfc/charts/vfc-vnflcm/values.yaml @@ -29,7 +29,7 @@ global: flavor: small repository: nexus3.onap.org:10001 -image: onap/vfc/vnflcm:1.1.0 +image: onap/vfc/vnflcm:1.2.0 pullPolicy: Always #Istio sidecar injection policy diff --git a/kubernetes/vfc/charts/vfc-vnfmgr/values.yaml b/kubernetes/vfc/charts/vfc-vnfmgr/values.yaml index 4625127ab5..7a54ba5c34 100644 --- a/kubernetes/vfc/charts/vfc-vnfmgr/values.yaml +++ b/kubernetes/vfc/charts/vfc-vnfmgr/values.yaml @@ -29,7 +29,7 @@ global: flavor: small repository: nexus3.onap.org:10001 -image: onap/vfc/vnfmgr:1.1.0 +image: onap/vfc/vnfmgr:1.2.0 pullPolicy: Always #Istio sidecar injection policy diff --git a/kubernetes/vfc/charts/vfc-vnfres/values.yaml b/kubernetes/vfc/charts/vfc-vnfres/values.yaml index 005b8a5863..ec8e0a1698 100644 --- a/kubernetes/vfc/charts/vfc-vnfres/values.yaml +++ b/kubernetes/vfc/charts/vfc-vnfres/values.yaml @@ -29,7 +29,7 @@ global: flavor: small repository: nexus3.onap.org:10001 -image: onap/vfc/vnfres:1.1.0 +image: onap/vfc/vnfres:1.2.0 pullPolicy: Always #Istio sidecar injection policy diff --git a/kubernetes/vfc/charts/vfc-workflow-engine/values.yaml b/kubernetes/vfc/charts/vfc-workflow-engine/values.yaml index 2a486da1e2..dd098d65d1 100644 --- a/kubernetes/vfc/charts/vfc-workflow-engine/values.yaml +++ b/kubernetes/vfc/charts/vfc-workflow-engine/values.yaml @@ -29,7 +29,7 @@ global: flavor: small repository: nexus3.onap.org:10001 -image: onap/vfc/wfengine-activiti:1.1.0 +image: onap/vfc/wfengine-activiti:1.2.0 pullPolicy: Always #Istio sidecar injection policy diff --git a/kubernetes/vfc/charts/vfc-workflow/values.yaml b/kubernetes/vfc/charts/vfc-workflow/values.yaml index 050e58fafe..6d06d9b765 100644 --- a/kubernetes/vfc/charts/vfc-workflow/values.yaml +++ b/kubernetes/vfc/charts/vfc-workflow/values.yaml @@ -29,7 +29,7 @@ global: flavor: small repository: nexus3.onap.org:10001 -image: onap/vfc/wfengine-mgrservice:1.1.0 +image: onap/vfc/wfengine-mgrservice:1.2.0 pullPolicy: Always #Istio sidecar injection policy diff --git a/kubernetes/vfc/charts/vfc-zte-sdnc-driver/values.yaml b/kubernetes/vfc/charts/vfc-zte-sdnc-driver/values.yaml index 4c9dbaab10..8bb0574ec6 100644 --- a/kubernetes/vfc/charts/vfc-zte-sdnc-driver/values.yaml +++ b/kubernetes/vfc/charts/vfc-zte-sdnc-driver/values.yaml @@ -29,7 +29,7 @@ global: flavor: small repository: nexus3.onap.org:10001 -image: onap/vfc/ztesdncdriver:1.1.0 +image: onap/vfc/ztesdncdriver:1.2.0 pullPolicy: Always #Istio sidecar injection policy diff --git a/kubernetes/vfc/charts/vfc-zte-vnfm-driver/values.yaml b/kubernetes/vfc/charts/vfc-zte-vnfm-driver/values.yaml index 288d86fa45..e3c5c2339b 100644 --- a/kubernetes/vfc/charts/vfc-zte-vnfm-driver/values.yaml +++ b/kubernetes/vfc/charts/vfc-zte-vnfm-driver/values.yaml @@ -29,7 +29,7 @@ global: flavor: small repository: nexus3.onap.org:10001 -image: onap/vfc/ztevnfmdriver:1.1.0 +image: onap/vfc/ztevnfmdriver:1.2.0 pullPolicy: Always #Istio sidecar injection policy diff --git a/kubernetes/vid/charts/vid-mariadb-galera/templates/statefulset.yaml b/kubernetes/vid/charts/vid-mariadb-galera/templates/statefulset.yaml index 0c77a17261..e90b1564e8 100644 --- a/kubernetes/vid/charts/vid-mariadb-galera/templates/statefulset.yaml +++ b/kubernetes/vid/charts/vid-mariadb-galera/templates/statefulset.yaml @@ -120,6 +120,8 @@ spec: volumeClaimTemplates: - metadata: name: {{ include "common.fullname" . }}-data + labels: + name: {{ include "common.fullname" . }} annotations: {{- if .Values.persistence.storageClass }} volume.beta.kubernetes.io/storage-class: {{ .Values.persistence.storageClass | quote }} @@ -132,4 +134,7 @@ spec: resources: requests: storage: {{ .Values.persistence.size | quote }} + selector: + matchLabels: + name: {{ include "common.fullname" . }} {{- end }} diff --git a/kubernetes/vid/templates/deployment.yaml b/kubernetes/vid/templates/deployment.yaml index 4c635facd2..3e6b319444 100644 --- a/kubernetes/vid/templates/deployment.yaml +++ b/kubernetes/vid/templates/deployment.yaml @@ -35,7 +35,7 @@ spec: - /root/job_complete.py args: - --job-name - - vid-config-galera + - {{ include "common.fullname" . }}-galera-config env: - name: NAMESPACE valueFrom: @@ -87,9 +87,11 @@ spec: - name: MSO_DME2_ENABLED value: {{ .Values.global.debugEnabled | default .Values.debugEnabled | quote }} - name: VID_ECOMP_REDIRECT_URL - value: http://portal-app.{{ include "common.namespace" . }}:{{ .Values.config.onapport }}/ONAPPORTAL/login.htm + value: https://{{ .Values.config.portalhost }}:{{ .Values.config.onapport }}/ONAPPORTAL/login.htm - name: VID_ECOMP_REST_URL - value: http://portal-app.{{ include "common.namespace" . }}:{{ .Values.config.onapport }}/ONAPPORTAL/auxapi + value: https://portal-app:{{ .Values.config.onapportrest }}/ONAPPORTAL/auxapi + - name: VID_ROLE_ACCESS_CENTRALIZED + value: "{{ .Values.config.roleaccesscentralized }}" - name: VID_CONTACT_US_LINK value: "{{ .Values.config.vidcontactuslink }}" - name: VID_UEB_URL_LIST diff --git a/kubernetes/vid/templates/vid-galera-config-job.yaml b/kubernetes/vid/templates/job.yaml similarity index 91% rename from kubernetes/vid/templates/vid-galera-config-job.yaml rename to kubernetes/vid/templates/job.yaml index 2bcf64749d..7d17e36f4e 100644 --- a/kubernetes/vid/templates/vid-galera-config-job.yaml +++ b/kubernetes/vid/templates/job.yaml @@ -15,21 +15,21 @@ apiVersion: batch/v1 kind: Job metadata: - name: vid-config-galera + name: {{ include "common.fullname" . }}-galera-config namespace: {{ include "common.namespace" . }} labels: - app: vid-config-galera + app: {{ include "common.name" . }}-job release: {{ .Release.Name }} spec: template: metadata: labels: + app: {{ include "common.name" . }}-job release: {{ .Release.Name }} - name: vid-galera-init spec: initContainers: #This container checks that all galera instances are up before initializing it. - - name: vid-init-galera-readiness + - name: {{ include "common.name" . }}-readiness image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} command: @@ -46,7 +46,7 @@ spec: apiVersion: v1 fieldPath: metadata.namespace containers: - - name: vid-config-galeradb + - name: {{ include "common.name" . }}-job image: {{ .Values.mariadb_image }} imagePullPolicy: "{{ .Values.pullPolicy }}" volumeMounts: diff --git a/kubernetes/vid/values.yaml b/kubernetes/vid/values.yaml index 79e9440a25..1527f39919 100644 --- a/kubernetes/vid/values.yaml +++ b/kubernetes/vid/values.yaml @@ -27,7 +27,7 @@ subChartsOnly: # application image repository: nexus3.onap.org:10001 -image: onap/vid:3.0-STAGING-latest +image: onap/vid:3.2.0 pullPolicy: Always # mariadb image for initializing @@ -39,7 +39,9 @@ config: asdcclientrestauth: "Basic dmlkOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=" asdcclientrestport: "8080" vidaaiport: "8443" - onapport: "8989" + onapport: "30225" + onapportrest: "8443" + portalhost: "portal.api.simpledemo.onap.org" msoport: "8080" vidmsopass: OBF:1ih71i271vny1yf41ymf1ylz1yf21vn41hzj1icz msodme2serverurl: http://localhost:8081 @@ -51,6 +53,7 @@ config: vidmysqlmaxconnections: "5" logstashServiceName: log-ls logstashPort: 5044 + roleaccesscentralized: remote # subchart configuration vid_mariadb_galera: diff --git a/kubernetes/vnfsdk/values.yaml b/kubernetes/vnfsdk/values.yaml index 067b3c57c0..3247ae0189 100644 --- a/kubernetes/vnfsdk/values.yaml +++ b/kubernetes/vnfsdk/values.yaml @@ -28,7 +28,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/vnfsdk/refrepo:1.1.1 +image: onap/vnfsdk/refrepo:1.2.0 postgresRepository: crunchydata postgresImage: crunchy-postgres:centos7-10.3-1.8.2 pullPolicy: Always