Update CMSO OOM to use HTTPS and AAF
Fixes OPTFRA-484 and OPTFRA-390
Issue-ID: OPTFRA-391
Change-Id: I2b65743e38464aac8dbc8cf81419e9ce36769b7d
Signed-off-by: Jerry Flood <jflood@att.com>
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/resources/config/cadi.properties b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/resources/config/cadi.properties
index 9a6b91c..871341d 100644
--- a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/resources/config/cadi.properties
+++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/resources/config/cadi.properties
@@ -17,5 +17,5 @@
#
#-------------------------------------------------------------------------------
cadi_loglevel=DEBUG
-cadi_prop_files=src/main/resources/aaf/org.onap.oof.props
+cadi_prop_files=/share/etc/certs/org.onap.oof.props
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/resources/config/optimizer.properties b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/resources/config/optimizer.properties
index 83ed89a..6b72dd4 100644
--- a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/resources/config/optimizer.properties
+++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/resources/config/optimizer.properties
@@ -41,8 +41,8 @@
#-------------------------------------------------------------------------------
-cmso.topology.create.request.url=http://${TOPOLOGY_HOST}:${TOPOLOGY_PORT}/topology/v1/current
-cmso.ticket.create.request.url=http://${TICKETMGT_HOST}:${TICKETMGT_PORT}/ticketmgt/v1/activetickets
+cmso.topology.create.request.url=https://oof-cmso-topology:7998/topology/v1/current
+cmso.ticket.create.request.url=https://oof-cmso-ticketmgt:7999/ticketmgt/v1/activetickets
cmso.local.policy.folder=data/policies
cmso.minizinc.command.exe=/mz-dist/bin/minizinc
@@ -51,4 +51,8 @@
cmso.minizinc.command.mzn=scripts/minizinc/generic_attributes.mzn
mechid.user=oof@oof.onap.org
-mechid.pass=changeit
+mechid.pass=enc:vfxQdJ1mgdcI7S6SPrzNaw==
+
+cadi_loglevel=DEBUG
+cadi_prop_files=/share/etc/certs/org.onap.oof.props
+aaf.user.roles=/share/etc/certs/AAFUserRoles.properties
\ No newline at end of file
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/templates/deployment.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/templates/deployment.yaml
index 4e418bf..e28dfca 100644
--- a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/templates/deployment.yaml
+++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/templates/deployment.yaml
@@ -66,21 +66,13 @@
volumeMounts:
- name: {{ include "common.fullname" . }}-config
mountPath: /share/etc/config
- - name: {{ include "common.fullname" . }}-logs
+ - 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: TOPOLOGY_HOST
- value: {{ .Values.config.topology_host }}.{{.Release.Namespace}}
- - name: TOPOLOGY_PORT
- value: {{ .Values.config.topology_port | quote}}
- - name: TICKETMGT_HOST
- value: {{ .Values.config.ticketmgt_host }}.{{.Release.Namespace}}
- - name: TICKETMGT_PORT
- value: {{ .Values.config.ticketmgt_port | quote}}
- name: DB_HOST
value: {{ .Values.config.db_host }}.{{.Release.Namespace}}
- name: DB_PORT
@@ -94,6 +86,16 @@
secretKeyRef:
name: {{ .Release.Name}}-cmso-db
key: db-root-password
+ - name: JAVA_TRUSTSTORE
+ value: /share/etc/certs/{{ .Values.global.truststoreFile }}
+ - name: SSL_KEYSTORE
+ value: /share/etc/certs/{{ .Values.global.keystoreFile }}
+ - name: JAVA_TRUSTSTORE_PASSWORD
+ value: {{ .Values.global.truststorePassword }}
+ - name: SSL_KEYSTORE_PASSWORD
+ value: {{ .Values.global.keystorePassword }}
+ - name: AUTHENTICATION
+ value: {{ .Values.global.authentication }}
ports:
- containerPort: {{ .Values.service.internalPort }}
# disable liveness probe when breakpoints set in debugger
@@ -116,7 +118,11 @@
- name: {{ include "common.fullname" . }}-logs
mountPath: /share/debug-logs
- name: {{ include "common.fullname" . }}-config
- mountPath: /share/etc/config
+ mountPath: /share/etc/config
+ - name: {{ include "common.fullname" . }}-certs
+ mountPath: /share/etc/certs
+ - name: {{ include "common.fullname" . }}-certs
+ mountPath: /opt/app/cmso/src/main/resources/aaf
resources:
{{ include "common.resources" . | indent 12 }}
{{- if .Values.nodeSelector }}
@@ -142,5 +148,8 @@
path: liquibase.properties
- name: {{ include "common.fullname" . }}-logs
emptyDir: {}
+ - name: {{ include "common.fullname" . }}-certs
+ secret:
+ secretName: {{ .Release.Name }}-{{ .Values.global.commonConfigPrefix }}-certs
imagePullSecrets:
- name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/cadi.properties b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/cadi.properties
index 9a6b91c..871341d 100644
--- a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/cadi.properties
+++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/cadi.properties
@@ -17,5 +17,5 @@
#
#-------------------------------------------------------------------------------
cadi_loglevel=DEBUG
-cadi_prop_files=src/main/resources/aaf/org.onap.oof.props
+cadi_prop_files=/share/etc/certs/org.onap.oof.props
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
index ce94f57..c6c93ed 100644
--- 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
@@ -2,27 +2,27 @@
#-------------------------------------------------------------------------------
# Copyright (c) 2017-2018 AT&T Intellectual Property.
# Modifications Copyright (c) 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.
@@ -74,7 +74,7 @@
# 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
+# 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
@@ -93,11 +93,15 @@
#mso.pass=enc:bfodXf8qRfCqMvlxVBYNWQ==
## loopback settings
-so.url=http://localhost:8080/cmso/v1/loopbacktest/onap/so/infra/orchestrationRequests/v7
+so.url=http://127.0.0.1:5000/onap/so/infra/orchestrationRequests/v7
so.user=oof@oof.onap.org
-so.pass=changeit
+so.pass=enc:vfxQdJ1mgdcI7S6SPrzNaw==
mechid.user=oof@oof.onap.org
-mechid.pass=changeit
+mechid.pass=enc:vfxQdJ1mgdcI7S6SPrzNaw==
cmso.dispatch.url=http://localhost:8089
+
+cadi_loglevel=DEBUG
+cadi_prop_files=/share/etc/certs/org.onap.oof.props
+aaf.user.roles=/share/etc/certs/AAFUserRoles.properties
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/mock.py b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/mock.py
new file mode 100644
index 0000000..b678a4e
--- /dev/null
+++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/mock.py
@@ -0,0 +1,83 @@
+ # -------------------------------------------------------------------------
+ # Copyright (c) 2019 AT&T Intellectual Property
+ #
+ # 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.
+ #
+ # -------------------------------------------------------------------------
+ #
+
+from flask import Flask
+from flask import request
+from flask import Response
+from flask import json
+from flask import send_from_directory
+import requests
+from threading import Thread
+import time
+
+import os
+import fnmatch
+import re
+import time
+import datetime
+
+app = Flask(__name__)
+ROOT_MOCK_DIR = os.path.dirname(os.path.abspath(__file__))
+DATA_DIR = os.path.join(ROOT_MOCK_DIR, "data")
+global requestNum
+requestNum = 1
+
+########################################################################
+########################################################################
+@app.route('/onap/so/infra/orchestrationRequests/v7/schedule/<VNFNAME>', methods=['GET', 'POST'])
+def soSchedule(VNFNAME):
+ if request.method == 'POST':
+ testid = request.headers.environ["HTTP_X_TRANSACTIONID"]
+ response = {
+ "status" : "202",
+ "entity" : {
+ "requestReferences" : {
+ "requestId" : "000001"
+ }
+ }
+ }
+ resp = Response(json.dumps(response), 200, mimetype='application/json')
+ return resp
+
+
+ else :
+ return "Helloooooo!!!!"
+
+########################################################################
+########################################################################
+@app.route('/onap/so/infra/orchestrationRequests/v7/<REQUESTID>', methods=['GET'])
+def soStatus(REQUESTID):
+ response = {"request" : { "requestStatus" : {
+ "requestState" : "COMPLETE",
+ "statusMessage" : "Done.",
+ "percentProgress" : 100,
+ "finishTime" : ""
+ }}}
+ now = datetime.datetime.utcnow()
+ #response["finishTime"] = now.strftime("%Y-%m-%dT%H:%M:%SZ")
+ response["request"]["requestStatus"]["finishTime"] = now.strftime("%a, %d %b %Y %H:%M:%S GMT")
+ resp = Response(json.dumps(response), 200, mimetype='application/json')
+
+ return resp
+
+########################################################################
+########################################################################
+if __name__ == "__main__":
+ app.run(host= '0.0.0.0',port=5000)
+ #app.run()
+
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/msosimulator.sh b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/msosimulator.sh
new file mode 100644
index 0000000..c87a26b
--- /dev/null
+++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/msosimulator.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+pip install flask
+pip install requests
+python /share/etc/config/mock.py
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
index 498a1e5..1e4a841 100644
--- 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
@@ -29,6 +29,6 @@
# limitations under the License.
#-------------------------------------------------------------------------------
-cmso.optimizer.request.url=$http://${OPTIMIZER_HOST}:${OPTIMIZER_PORT}/optimizer/v1/optimize/schedule
-cmso.optimizer.status.url=http://${OPTIMIZER_HOST}:${OPTIMIZER_PORT}/optimizer/v1/optimize/schedule
-cmso.optimizer.health.url=http://${OPTIMIZER_HOST}:${OPTIMIZER_PORT}/optimizer/v1/health?checkInterfaces=true
\ No newline at end of file
+cmso.optimizer.request.url=https://oof-cmso-optimizer:7997/optimizer/v1/optimize/schedule
+cmso.optimizer.status.url=https://oof-cmso-optimizer:7997/optimizer/v1/optimize/schedule
+cmso.optimizer.health.url=https://oof-cmso-optimizer:7997/optimizer/v1/health?checkInterfaces=true
\ No newline at end of file
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
index bfdaec6..bdf483d 100644
--- 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
@@ -30,9 +30,9 @@
#-------------------------------------------------------------------------------
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.getPath=http://localhost:8089/cmso/v1/tm/getChangeRecord
+tm.createPath=http://localhost:8089/cmso/v1/tm/createChangeRecord
+tm.closePath=http://localhost:8089/cmso/v1/tm/closeCancelChangeRecord
+tm.updatePath=http://localhost:8089/cmso/v1/tm/updateChangeRecord
tm.approvalStatus=Approved|Scheduled,Approved|Assigned
tm.template.folder=data/templates/tm
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
index 350708f..b26f6dd 100644
--- 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
@@ -66,9 +66,38 @@
volumeMounts:
- name: {{ include "common.fullname" . }}-config
mountPath: /share/etc/config
- - name: {{ include "common.fullname" . }}-logs
+ - name: {{ include "common.fullname" . }}-logs
mountPath: /share/logs
containers:
+ # side car containers
+ - name: filebeat-onap
+ image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ volumeMounts:
+ - mountPath: /usr/share/filebeat/filebeat.yml
+ subPath: filebeat.yml
+ name: filebeat-conf
+ - mountPath: /var/log/onap
+ name: {{ include "common.fullname" . }}-logs
+ - mountPath: /usr/share/filebeat/data
+ name: {{ include "common.fullname" . }}-filebeat
+ resources:
+{{ include "common.resources" . }}
+ - name: mso-simulator
+ image: "{{ .Values.global.pythonRepository }}/{{ .Values.global.pythonImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-config
+ mountPath: /share/etc/config
+ command:
+ - /bin/sh
+ args:
+ - -x
+ - /share/etc/config/msosimulator.sh
+ ports:
+ - containerPort: 5000
+ resources:
+{{ include "common.resources" . }}
- name: {{ include "common.name" . }}
image: "{{ include "common.repository" . }}/{{ .Values.image }}"
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
@@ -86,10 +115,16 @@
secretKeyRef:
name: {{ .Release.Name}}-cmso-db
key: user-password
- - name: OPTIMIZER_HOST
- value: {{ .Values.config.optimizer_host }}.{{.Release.Namespace}}
- - name: OPTIMIZER_PORT
- value: {{ .Values.config.optimizer_port | quote}}
+ - name: JAVA_TRUSTSTORE
+ value: /share/etc/certs/{{ .Values.global.truststoreFile }}
+ - name: SSL_KEYSTORE
+ value: /share/etc/certs/{{ .Values.global.keystoreFile }}
+ - name: JAVA_TRUSTSTORE_PASSWORD
+ value: {{ .Values.global.truststorePassword }}
+ - name: SSL_KEYSTORE_PASSWORD
+ value: {{ .Values.global.keystorePassword }}
+ - name: AUTHENTICATION
+ value: {{ .Values.global.authentication }}
ports:
- containerPort: {{ .Values.service.internalPort }}
# disable liveness probe when breakpoints set in debugger
@@ -112,7 +147,11 @@
- name: {{ include "common.fullname" . }}-logs
mountPath: /share/debug-logs
- name: {{ include "common.fullname" . }}-config
- mountPath: /share/etc/config
+ mountPath: /share/etc/config
+ - name: {{ include "common.fullname" . }}-certs
+ mountPath: /share/etc/certs
+ - name: {{ include "common.fullname" . }}-certs
+ mountPath: /opt/app/cmso/src/main/resources/aaf
resources:
{{ include "common.resources" . | indent 12 }}
{{- if .Values.nodeSelector }}
@@ -140,7 +179,19 @@
path: ticketmgt.properties
- key: liquibase.properties
path: liquibase.properties
+ - key: mock.py
+ path: mock.py
+ - key: msosimulator.sh
+ path: msosimulator.sh
- name: {{ include "common.fullname" . }}-logs
emptyDir: {}
+ - name: {{ include "common.fullname" . }}-filebeat
+ emptyDir: {}
+ - name: filebeat-conf
+ configMap:
+ name: {{ .Release.Name }}-cmso-filebeat-configmap
+ - name: {{ include "common.fullname" . }}-certs
+ secret:
+ secretName: {{ .Release.Name }}-{{ .Values.global.commonConfigPrefix }}-certs
imagePullSecrets:
- name: "{{ include "common.namespace" . }}-docker-registry-key"
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
index 6df3049..f4d3ffb 100644
--- a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/values.yaml
+++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/values.yaml
@@ -19,6 +19,8 @@
nodePortPrefix: 302
readinessRepository: oomk8s
readinessImage: readiness-check:2.0.0
+ pythonRepository: library
+ pythonImage: python:3.6-alpine
subChartsOnly:
enabled: true
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/resources/config/cadi.properties b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/resources/config/cadi.properties
index 9a6b91c..871341d 100644
--- a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/resources/config/cadi.properties
+++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/resources/config/cadi.properties
@@ -17,5 +17,5 @@
#
#-------------------------------------------------------------------------------
cadi_loglevel=DEBUG
-cadi_prop_files=src/main/resources/aaf/org.onap.oof.props
+cadi_prop_files=/share/etc/certs/org.onap.oof.props
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/resources/config/ticketmgt.properties b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/resources/config/ticketmgt.properties
index 5ca252f..d687ab3 100644
--- a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/resources/config/ticketmgt.properties
+++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/resources/config/ticketmgt.properties
@@ -28,3 +28,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#-------------------------------------------------------------------------------
+cadi_loglevel=DEBUG
+cadi_prop_files=/share/etc/certs/org.onap.oof.props
+aaf.user.roles=/share/etc/certs/AAFUserRoles.properties
\ No newline at end of file
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/templates/deployment.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/templates/deployment.yaml
index e01034e..38a8c92 100644
--- a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/templates/deployment.yaml
+++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/templates/deployment.yaml
@@ -34,6 +34,17 @@
- name: {{ include "common.name" . }}
image: "{{ include "common.repository" . }}/{{ .Values.image }}"
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: JAVA_TRUSTSTORE
+ value: /share/etc/certs/{{ .Values.global.truststoreFile }}
+ - name: SSL_KEYSTORE
+ value: /share/etc/certs/{{ .Values.global.keystoreFile }}
+ - name: JAVA_TRUSTSTORE_PASSWORD
+ value: {{ .Values.global.truststorePassword }}
+ - name: SSL_KEYSTORE_PASSWORD
+ value: {{ .Values.global.keystorePassword }}
+ - name: AUTHENTICATION
+ value: proprietary-auth
ports:
- containerPort: {{ .Values.service.internalPort }}
# disable liveness probe when breakpoints set in debugger
@@ -56,7 +67,11 @@
- name: {{ include "common.fullname" . }}-logs
mountPath: /share/debug-logs
- name: {{ include "common.fullname" . }}-config
- mountPath: /share/etc/config
+ mountPath: /share/etc/config
+ - name: {{ include "common.fullname" . }}-certs
+ mountPath: /share/etc/certs
+ - name: {{ include "common.fullname" . }}-certs
+ mountPath: /opt/app/cmso/src/main/resources/aaf
resources:
{{ include "common.resources" . | indent 12 }}
{{- if .Values.nodeSelector }}
@@ -80,5 +95,8 @@
path: cadi.properties
- name: {{ include "common.fullname" . }}-logs
emptyDir: {}
+ - name: {{ include "common.fullname" . }}-certs
+ secret:
+ secretName: {{ .Release.Name }}-{{ .Values.global.commonConfigPrefix }}-certs
imagePullSecrets:
- name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/values.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/values.yaml
index f19b8e2..7c687f5 100644
--- a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/values.yaml
+++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/values.yaml
@@ -19,7 +19,8 @@
nodePortPrefix: 302
readinessRepository: oomk8s
readinessImage: readiness-check:2.0.0
-
+ authentication: proprietary-auth
+
subChartsOnly:
enabled: true
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/resources/config/cadi.properties b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/resources/config/cadi.properties
index 9a6b91c..871341d 100644
--- a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/resources/config/cadi.properties
+++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/resources/config/cadi.properties
@@ -17,5 +17,5 @@
#
#-------------------------------------------------------------------------------
cadi_loglevel=DEBUG
-cadi_prop_files=src/main/resources/aaf/org.onap.oof.props
+cadi_prop_files=/share/etc/certs/org.onap.oof.props
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/resources/config/topology.properties b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/resources/config/topology.properties
index 5ca252f..d687ab3 100644
--- a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/resources/config/topology.properties
+++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/resources/config/topology.properties
@@ -28,3 +28,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#-------------------------------------------------------------------------------
+cadi_loglevel=DEBUG
+cadi_prop_files=/share/etc/certs/org.onap.oof.props
+aaf.user.roles=/share/etc/certs/AAFUserRoles.properties
\ No newline at end of file
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/templates/deployment.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/templates/deployment.yaml
index 02f3983..2b36b29 100644
--- a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/templates/deployment.yaml
+++ b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/templates/deployment.yaml
@@ -34,6 +34,17 @@
- name: {{ include "common.name" . }}
image: "{{ include "common.repository" . }}/{{ .Values.image }}"
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: JAVA_TRUSTSTORE
+ value: /share/etc/certs/{{ .Values.global.truststoreFile }}
+ - name: SSL_KEYSTORE
+ value: /share/etc/certs/{{ .Values.global.keystoreFile }}
+ - name: JAVA_TRUSTSTORE_PASSWORD
+ value: {{ .Values.global.truststorePassword }}
+ - name: SSL_KEYSTORE_PASSWORD
+ value: {{ .Values.global.keystorePassword }}
+ - name: AUTHENTICATION
+ value: {{ .Values.global.authentication }}
ports:
- containerPort: {{ .Values.service.internalPort }}
# disable liveness probe when breakpoints set in debugger
@@ -56,7 +67,11 @@
- name: {{ include "common.fullname" . }}-logs
mountPath: /share/debug-logs
- name: {{ include "common.fullname" . }}-config
- mountPath: /share/etc/config
+ mountPath: /share/etc/config
+ - name: {{ include "common.fullname" . }}-certs
+ mountPath: /share/etc/certs
+ - name: {{ include "common.fullname" . }}-certs
+ mountPath: /opt/app/cmso/src/main/resources/aaf
resources:
{{ include "common.resources" . | indent 12 }}
{{- if .Values.nodeSelector }}
@@ -80,5 +95,8 @@
path: topology.properties
- name: {{ include "common.fullname" . }}-logs
emptyDir: {}
+ - name: {{ include "common.fullname" . }}-certs
+ secret:
+ secretName: {{ .Release.Name }}-{{ .Values.global.commonConfigPrefix }}-certs
imagePullSecrets:
- name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/oof/charts/oof-cmso/resources/certs/AAFUserRoles.properties b/kubernetes/oof/charts/oof-cmso/resources/certs/AAFUserRoles.properties
new file mode 100644
index 0000000..e7fc221
--- /dev/null
+++ b/kubernetes/oof/charts/oof-cmso/resources/certs/AAFUserRoles.properties
@@ -0,0 +1 @@
+/**=org.onap.oof.access|*|get ALL
\ No newline at end of file
diff --git a/kubernetes/oof/charts/oof-cmso/resources/certs/org.onap.oof.cred.props b/kubernetes/oof/charts/oof-cmso/resources/certs/org.onap.oof.cred.props
new file mode 100644
index 0000000..b56c500
--- /dev/null
+++ b/kubernetes/oof/charts/oof-cmso/resources/certs/org.onap.oof.cred.props
@@ -0,0 +1,22 @@
+ # -------------------------------------------------------------------------
+ # Copyright (c) 2019 AT&T Intellectual Property
+ #
+ # 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_id=oof@oof.onap.org
+aaf_password=demo123456!
+cadi_keyfile=/share/etc/certs/org.onap.oof.keyfile
+cadi_truststore=/share/etc/certs//truststoreONAPall.jks
diff --git a/kubernetes/oof/charts/oof-cmso/resources/certs/org.onap.oof.jks b/kubernetes/oof/charts/oof-cmso/resources/certs/org.onap.oof.jks
new file mode 100644
index 0000000..535abaa
--- /dev/null
+++ b/kubernetes/oof/charts/oof-cmso/resources/certs/org.onap.oof.jks
Binary files differ
diff --git a/kubernetes/oof/charts/oof-cmso/resources/certs/org.onap.oof.keyfile b/kubernetes/oof/charts/oof-cmso/resources/certs/org.onap.oof.keyfile
new file mode 100644
index 0000000..f85a567
--- /dev/null
+++ b/kubernetes/oof/charts/oof-cmso/resources/certs/org.onap.oof.keyfile
@@ -0,0 +1,27 @@
+liD-IR8Y1MHqPDTUqq3AaTtqnWn5jCpfIRBlyi6xY4A0fbQz8ZPlTZPHkshRt0dHdST3R7TIvTyQ
+JpTCeBNBu2df3vBbUzsN0rIpPG9TGjzmE7cRu4V4kfefSqsIj-S7OTAaWaWpwGWJYLLCB2sQALkS
+f68VWdupUEw3g9jqCU1QzjKOnLGvhlp6Qrc1xG4Z5Ar8WERw-C3DqTWUKANoEvjWkvH2rAywzj93
+pmspvd5fQfH1rp1ACNvnPrRb_oYNfwPrNpE7Sb4LvM1muoiKMDF64IDO0TkxhjHZ9wpJgVsnowby
+qmokqf39dMRRk3S1IEpOiBGyLS_885JDj_XJKYRQsjvkTzjpFJ7wE2-HDZEVWCITvtS9-Xorm5TI
+3iU4rjMDew5fkBnjoKuSOS7Lksva4ouZOCiUkDos1jAJ5XMDEQm4BcPHtcW6PpC602-qRcgnNjjP
+wOPdF7hCm27ZTai3lAtNGByR7oBr9r5Uma-soORFvg8drV8Rgh0lax-poFVhoEH7RhKPIzYpSco9
+jnpURzi_epTjAhjjup-erTv2GAIllKsSEHZLbfsFWlNUZTOx58PSB0jBN5m_8HxTyNm0zsm0Cb7U
+KsjPduQ5ZblsfRIJwqpOBXoof7WerKReMZSOdgjZUNueiuEImVH9_SYOdKZhkluSi4yfEtme7CCP
+kZ2JhdiT5km3SeonalhU2MUsx60krxyQ1mnjI4jS9QagUME4mujdvM_L7mtjcPZVSfXUn49whakE
+J-NQV6q2iZgN2IxsT_uCnlZYwnE5i-IbQkQAEu13m6ETsMmf0cwPnKaSwRhb8G48EkJhTL-GP9Z0
+-EsIKT7lQt7kfX-mmNoEirTg9gQAaN3uxLmdHvXpeJdlETnnaLYYJJ3h-SL0e_5Yz2SpdsEwZ3Bk
+PtR-QvlYKDhG1nhPOna65ctCzn81PZOUP3lsO6MSTOK6D6Taxfh1TYEBAvzCP0BfFBodw4lSglFP
+I5IfdiJmomTGARa36nC_O5YzH_jBWLQrgd2gxI5H5bB-5zqzu79SGX9o2_LRVY_LVV0BmI3xSYOI
+vziYYC1XyTY6blfdiOM5a5KjraErxSTEFZVFrsx4OQ_dLA0woVtixawrIy1rgfQr49U1oIRe8BgN
+j3eis_UQAbPbmdbEe1qtXnvi6T7trHskzt6K-vTgo5ITJkr-F2Sds_QgNdaFBGuES6X5RwRGlbHT
+Tl_M8Ja_1K-RMNKJRssoRTKstpwnrhk9IcoSwYcLykbDLgeC0mhSMHOOuWv1RGRaZdzObc5YA1eB
+idQmzy5xAHzNxPHHrB-fpjFJRYv_QZY9qZcGvP58d6bHO0upxbj-BBt9zfc7Qt0JLU6EAdYbW5TI
+2v4JImikrx6KvtoK8vcjJMTDAanTVB31J65tat0rq9wYKxUdjBJLzkT3psYs_DRtYQc0i02YTD7t
+dWya0-3p1Yrt0em3XGb8JAh2PA3BsQKmvKAOc054wf_B8n8saxSFw1WQL30vU5c4-Z_p53HfaUYd
+Qg7DZskzgwBRy48sLJNCrn81RtxXfQP1XtPEZs-AAlTUslHoUdoQ1cwrYEgkNT1cjk6sLI_oKSK-
+dDICBnlYLrZRBS3sH8K38WaIh1WRY6vbGVDs1tUectUpng_-Khavd0Crw7D_CE6T7Rnfcn0pnTV-
+HW1PIXejFsONQn-2c3a9HZ-v6Hg4JL6UWm-qgBPC5118ymO0LfmrviAFAC6Wt3WFiNzrvx9Jggus
+lE0qvLVfkQVZXAy-hSPHlYZmtxk5voVsf60qPoDN2-NdpWz62M9PrXd_A03YGxzt0G6J4VXExRES
+xqLeGNGB496AfX_vEub97sR8xcbbUXsyt12uVnygifGyND60coikaKrMktv2OLOLEl8AudLp0ZNA
+oOoYJZqfUnQqaLt0dNmNa5OtzYjf7f6bYX0V8XLTHlFqZ6QzqYGFMPNhDYjqtet6d--Q8t7_5S5C
+RfXP8Wh8CjbEh2_rsr9rvy1nhM_Cptxc0BFXcS5Dt_R4vjd2G4B_LEC4Hy1s_rZThzUVxRCl
\ No newline at end of file
diff --git a/kubernetes/oof/charts/oof-cmso/resources/certs/org.onap.oof.location.props b/kubernetes/oof/charts/oof-cmso/resources/certs/org.onap.oof.location.props
new file mode 100644
index 0000000..7e154c4
--- /dev/null
+++ b/kubernetes/oof/charts/oof-cmso/resources/certs/org.onap.oof.location.props
@@ -0,0 +1,20 @@
+ # -------------------------------------------------------------------------
+ # Copyright (c) 2019 AT&T Intellectual Property
+ #
+ # 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.
+ #
+ # -------------------------------------------------------------------------
+ #
+
+cadi_latitude=0.00
+cadi_longitude=0.00
diff --git a/kubernetes/oof/charts/oof-cmso/resources/certs/org.onap.oof.props b/kubernetes/oof/charts/oof-cmso/resources/certs/org.onap.oof.props
new file mode 100644
index 0000000..c96e7f7
--- /dev/null
+++ b/kubernetes/oof/charts/oof-cmso/resources/certs/org.onap.oof.props
@@ -0,0 +1,26 @@
+ # -------------------------------------------------------------------------
+ # Copyright (c) 2019 AT&T Intellectual Property
+ #
+ # 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_id=oof@oof.onap.org
+aaf_locate_url=https://aaf-locate:8095
+aaf_url=https://AAF_LOCATE_URL/AAF_NS.service:2.1
+cadi_etc_dir=/share/etc/certs/
+cadi_latitude=0.00
+cadi_longitude=0.00
+cadi_prop_files=/share/etc/certs/org.onap.oof.location.props:/share/etc/certs/org.onap.oof.cred.props
+cm_url=https://AAF_LOCATE_URL/AAF_NS.cm:2.1
diff --git a/kubernetes/oof/charts/oof-cmso/resources/certs/truststoreONAPall.jks b/kubernetes/oof/charts/oof-cmso/resources/certs/truststoreONAPall.jks
new file mode 100644
index 0000000..ff844b1
--- /dev/null
+++ b/kubernetes/oof/charts/oof-cmso/resources/certs/truststoreONAPall.jks
Binary files differ
diff --git a/kubernetes/oof/charts/oof-cmso/resources/log/filebeat/filebeat.yml b/kubernetes/oof/charts/oof-cmso/resources/log/filebeat/filebeat.yml
new file mode 100644
index 0000000..5058678
--- /dev/null
+++ b/kubernetes/oof/charts/oof-cmso/resources/log/filebeat/filebeat.yml
@@ -0,0 +1,55 @@
+# 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.
+
+filebeat.prospectors:
+#it is mandatory, in our case it's log
+- input_type: log
+ #This is the canolical path as mentioned in logback.xml, *.* means it will monitor all files in the directory.
+ paths:
+ - /var/log/onap/*/*/*/*.log
+ - /var/log/onap/*/*/*.log
+ - /var/log/onap/*/*.log
+ #Files older than this should be ignored.In our case it will be 48 hours i.e. 2 days. It is a helping flag for clean_inactive
+ ignore_older: 48h
+ # Remove the registry entry for a file that is more than the specified time. In our case it will be 96 hours, i.e. 4 days. It will help to keep registry records with in limit
+ clean_inactive: 96h
+
+
+# Name of the registry file. If a relative path is used, it is considered relative to the
+# data path. Else full qualified file name.
+#filebeat.registry_file: ${path.data}/registry
+
+
+output.logstash:
+ #List of logstash server ip addresses with port number.
+ #But, in our case, this will be the loadbalancer IP address.
+ #For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
+ hosts: ["{{.Values.config.log.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.log.logstashPort}}"]
+ #If enable will do load balancing among availabe Logstash, automatically.
+ loadbalance: true
+
+ #The list of root certificates for server verifications.
+ #If certificate_authorities is empty or not set, the trusted
+ #certificate authorities of the host system are used.
+ #ssl.certificate_authorities: $ssl.certificate_authorities
+
+ #The path to the certificate for SSL client authentication. If the certificate is not specified,
+ #client authentication is not available.
+ #ssl.certificate: $ssl.certificate
+
+ #The client certificate key used for client authentication.
+ #ssl.key: $ssl.key
+
+ #The passphrase used to decrypt an encrypted key stored in the configured key file
+ #ssl.key_passphrase: $ssl.key_passphrase
diff --git a/kubernetes/oof/charts/oof-cmso/templates/configmap.yaml b/kubernetes/oof/charts/oof-cmso/templates/configmap.yaml
new file mode 100644
index 0000000..f906fac
--- /dev/null
+++ b/kubernetes/oof/charts/oof-cmso/templates/configmap.yaml
@@ -0,0 +1,27 @@
+# Copyright © 2017 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.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ .Release.Name }}-cmso-filebeat-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/log/filebeat/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/oof/charts/oof-cmso/templates/secret.yaml b/kubernetes/oof/charts/oof-cmso/templates/secret.yaml
new file mode 100644
index 0000000..a742914
--- /dev/null
+++ b/kubernetes/oof/charts/oof-cmso/templates/secret.yaml
@@ -0,0 +1,27 @@
+# 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
+kind: Secret
+metadata:
+ name: {{ include "common.fullname" . }}-certs
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/certs/*").AsSecrets . | indent 2 }}
diff --git a/kubernetes/oof/charts/oof-cmso/values.yaml b/kubernetes/oof/charts/oof-cmso/values.yaml
index 3c5edb3..c4985df 100644
--- a/kubernetes/oof/charts/oof-cmso/values.yaml
+++ b/kubernetes/oof/charts/oof-cmso/values.yaml
@@ -32,4 +32,19 @@
mysqlDatabase: cmso
externalConfig: |
[mysqld]
- lower_case_table_names = 1
\ No newline at end of file
+ lower_case_table_names = 1
+
+global:
+ commonConfigPrefix: "oof-cmso"
+ truststoreFile: "truststoreONAPall.jks"
+ keystoreFile: "org.onap.oof.jks"
+ loggingRepository: docker.elastic.co
+ loggingImage: beats/filebeat:5.5.0
+ keystorePassword: N{$tSp*U)RQzjqE;)%4z;Pv[
+ truststorePassword:
+ authentication: aaf-auth
+
+config:
+ log:
+ logstashServiceName: log-ls
+ logstashPort: 5044
\ No newline at end of file