Merge "Update vfc charts configutation"
authorMandeep Khinda <Mandeep.Khinda@amdocs.com>
Tue, 24 Apr 2018 03:14:59 +0000 (03:14 +0000)
committerGerrit Code Review <gerrit@onap.org>
Tue, 24 Apr 2018 03:14:59 +0000 (03:14 +0000)
240 files changed:
docs/oom_developer_guide.rst
docs/oom_user_guide.rst
kubernetes/aaf/charts/sms/values.yaml
kubernetes/aaf/values.yaml
kubernetes/aai/charts/aai-babel/values.yaml
kubernetes/aai/charts/aai-cassandra/.helmignore [moved from kubernetes/dcaegen2/charts/redis/.helmignore with 100% similarity]
kubernetes/aai/charts/aai-cassandra/Chart.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-cassandra/templates/service.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-cassandra/templates/statefulset.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-cassandra/templates/volumes.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-cassandra/values.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-champ/resources/config/dynamic/conf/champ-beans.xml
kubernetes/aai/charts/aai-champ/templates/deployment.yaml
kubernetes/aai/charts/aai-champ/values.yaml
kubernetes/aai/charts/aai-data-router/templates/deployment.yaml
kubernetes/aai/charts/aai-data-router/values.yaml
kubernetes/aai/charts/aai-modelloader/values.yaml
kubernetes/aai/charts/aai-resources/resources/config/aai_keystore [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/resources/config/aaiconfig.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/resources/config/application.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/resources/config/janusgraph-cached.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/resources/config/janusgraph-realtime.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/resources/config/localhost-access-logback.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/resources/config/log/logback.xml [deleted file]
kubernetes/aai/charts/aai-resources/resources/config/logback.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/resources/config/realm.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/templates/configmap.yaml
kubernetes/aai/charts/aai-resources/templates/deployment.yaml
kubernetes/aai/charts/aai-resources/values.yaml
kubernetes/aai/charts/aai-search-data/resources/config/log/logback.xml
kubernetes/aai/charts/aai-search-data/values.yaml
kubernetes/aai/charts/aai-traversal/resources/config/aai_keystore [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/resources/config/aaiconfig.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/resources/config/application.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-cached.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-realtime.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/resources/config/localhost-access-logback.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/resources/config/log/logback.xml [deleted file]
kubernetes/aai/charts/aai-traversal/resources/config/logback.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/resources/config/realm.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/templates/configmap.yaml
kubernetes/aai/charts/aai-traversal/templates/deployment.yaml
kubernetes/aai/charts/aai-traversal/templates/job.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/values.yaml
kubernetes/aai/templates/configmap.yaml
kubernetes/aai/values.yaml
kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh
kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/appc.properties
kubernetes/appc/resources/config/appc/opt/onap/ccsdk/bin/installSdncDb.sh [moved from kubernetes/appc/resources/config/appc/opt/onap/sdnc/bin/installSdncDb.sh with 100% similarity]
kubernetes/appc/resources/config/appc/opt/onap/ccsdk/bin/startODL.sh [moved from kubernetes/appc/resources/config/appc/opt/onap/sdnc/bin/startODL.sh with 100% similarity]
kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/aaiclient.properties [moved from kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/aaiclient.properties with 100% similarity]
kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/dblib.properties [moved from kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/dblib.properties with 100% similarity]
kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/svclogic.properties [moved from kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/svclogic.properties with 100% similarity]
kubernetes/appc/resources/config/appc/opt/onap/ccsdk/svclogic/bin/showActiveGraphs.sh [moved from kubernetes/appc/resources/config/appc/opt/onap/sdnc/svclogic/bin/showActiveGraphs.sh with 100% similarity]
kubernetes/appc/resources/config/appc/opt/onap/ccsdk/svclogic/config/svclogic.properties [moved from kubernetes/appc/resources/config/appc/opt/onap/sdnc/svclogic/config/svclogic.properties with 100% similarity]
kubernetes/appc/templates/configmap.yaml
kubernetes/appc/templates/statefulset.yaml
kubernetes/appc/values.yaml
kubernetes/clamp/values.yaml
kubernetes/cli/values.yaml
kubernetes/common/common/templates/_service.tpl [new file with mode: 0644]
kubernetes/common/common/values.yaml
kubernetes/common/dgbuilder/values.yaml
kubernetes/common/mariadb-galera/.helmignore [new file with mode: 0644]
kubernetes/common/mariadb-galera/Chart.yaml [new file with mode: 0644]
kubernetes/common/mariadb-galera/requirements.yaml [new file with mode: 0644]
kubernetes/common/mariadb-galera/templates/NOTES.txt [new file with mode: 0644]
kubernetes/common/mariadb-galera/templates/configmap.yaml [new file with mode: 0644]
kubernetes/common/mariadb-galera/templates/pv.yaml [new file with mode: 0644]
kubernetes/common/mariadb-galera/templates/pvc.yaml [new file with mode: 0644]
kubernetes/common/mariadb-galera/templates/secrets.yaml [new file with mode: 0644]
kubernetes/common/mariadb-galera/templates/service.yaml [new file with mode: 0644]
kubernetes/common/mariadb-galera/templates/statefulset.yaml [new file with mode: 0644]
kubernetes/common/mariadb-galera/values.yaml [new file with mode: 0644]
kubernetes/common/mysql/templates/nfs-provisoner.yaml
kubernetes/common/mysql/templates/pvc.yaml
kubernetes/common/mysql/templates/statefulset.yaml
kubernetes/common/mysql/templates/storageclass.yaml
kubernetes/common/mysql/values.yaml
kubernetes/common/postgres/values.yaml
kubernetes/consul/charts/consul-server/values.yaml
kubernetes/consul/values.yaml
kubernetes/dcaegen2/.helmignore
kubernetes/dcaegen2/Chart.yaml
kubernetes/dcaegen2/charts/dcae-bootstrap/.helmignore [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/Chart.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/requirements.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/config/k8s-plugin.json [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-config_binding_service-inputs.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-deployment_handler-inputs.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-holmes_engine-inputs.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-holmes_rules-input.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-inventory-inputs.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-policy_handler-inputs.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-tca-inputs.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-ves-inputs.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/templates/configmap.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/templates/job.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/templates/secret.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/values.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/.helmignore [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/Chart.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/README.md [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/requirements.yaml [moved from kubernetes/portal/charts/portal-cassandra/templates/secrets.yaml with 58% similarity]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/resources/config/config.txt [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/resources/config/log/filebeat.yml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/configmap.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/deployment.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/namespace.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/secret.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/service.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/values.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-healthcheck/Chart.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-healthcheck/requirements.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-healthcheck/templates/deployment.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-healthcheck/templates/service.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-healthcheck/values.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-redis/.helmignore [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-redis/Chart.yaml [moved from kubernetes/dcaegen2/charts/redis/Chart.yaml with 97% similarity]
kubernetes/dcaegen2/charts/dcae-redis/requirements.yaml [moved from kubernetes/dcaegen2/charts/redis/requirements.yaml with 100% similarity]
kubernetes/dcaegen2/charts/dcae-redis/resources/redis/scripts/redis-cluster-config.sh [moved from kubernetes/dcaegen2/charts/redis/resources/redis/scripts/redis-cluster-config.sh with 100% similarity]
kubernetes/dcaegen2/charts/dcae-redis/templates/NOTES.txt [moved from kubernetes/dcaegen2/charts/redis/templates/NOTES.txt with 100% similarity]
kubernetes/dcaegen2/charts/dcae-redis/templates/configmap.yaml [moved from kubernetes/dcaegen2/charts/redis/templates/configmap.yaml with 100% similarity]
kubernetes/dcaegen2/charts/dcae-redis/templates/pv.yaml [moved from kubernetes/dcaegen2/charts/redis/templates/pv.yaml with 100% similarity]
kubernetes/dcaegen2/charts/dcae-redis/templates/service.yaml [moved from kubernetes/dcaegen2/charts/redis/templates/service.yaml with 88% similarity]
kubernetes/dcaegen2/charts/dcae-redis/templates/statefulset.yaml [moved from kubernetes/dcaegen2/charts/redis/templates/statefulset.yaml with 100% similarity]
kubernetes/dcaegen2/charts/dcae-redis/values.yaml [moved from kubernetes/dcaegen2/charts/redis/values.yaml with 95% similarity]
kubernetes/dcaegen2/dcae-parameters-sample.yaml [deleted file]
kubernetes/dcaegen2/templates/pod.yaml [deleted file]
kubernetes/dcaegen2/values.yaml
kubernetes/dmaap/values.yaml
kubernetes/esr/values.yaml
kubernetes/helm/starters/onap-app/templates/deployment.yaml
kubernetes/helm/starters/onap-app/templates/service.yaml
kubernetes/helm/starters/onap-app/values.yaml
kubernetes/log/charts/log-kibana/values.yaml
kubernetes/log/charts/log-logstash/resources/config/onap-pipeline.conf
kubernetes/log/charts/log-logstash/values.yaml
kubernetes/message-router/charts/kafka/values.yaml
kubernetes/message-router/charts/zookeeper/values.yaml
kubernetes/message-router/values.yaml
kubernetes/msb/charts/kube2msb/values.yaml
kubernetes/msb/charts/msb-discovery/values.yaml
kubernetes/msb/charts/msb-eag/values.yaml
kubernetes/msb/charts/msb-iag/values.yaml
kubernetes/multicloud/templates/service.yaml
kubernetes/onap/requirements.yaml
kubernetes/onap/resources/environments/dev.yaml
kubernetes/onap/values.yaml
kubernetes/policy/charts/brmsgw/templates/deployment.yaml
kubernetes/policy/charts/brmsgw/values.yaml
kubernetes/policy/charts/drools/charts/nexus/values.yaml
kubernetes/policy/charts/drools/values.yaml
kubernetes/policy/charts/mariadb/templates/deployment.yaml
kubernetes/policy/charts/pdp/templates/statefulset.yaml
kubernetes/policy/charts/pdp/values.yaml
kubernetes/policy/charts/policy-common/resources/config/pe/base.conf
kubernetes/policy/charts/policy-common/values.yaml
kubernetes/policy/templates/deployment.yaml
kubernetes/policy/values.yaml
kubernetes/portal/charts/portal-app/values.yaml
kubernetes/portal/charts/portal-cassandra/templates/configmap.yaml
kubernetes/portal/charts/portal-cassandra/templates/deployment.yaml
kubernetes/portal/charts/portal-mariadb/values.yaml
kubernetes/portal/charts/portal-sdk/values.yaml
kubernetes/portal/charts/portal-widget/values.yaml
kubernetes/readiness/dep-health-init.yaml
kubernetes/robot/demo-k8s.sh
kubernetes/robot/ete-k8s.sh
kubernetes/robot/resources/config/authorization
kubernetes/robot/resources/config/eteshare/config/integration_preload_parameters.py
kubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py
kubernetes/robot/resources/config/eteshare/config/vm_properties.py
kubernetes/robot/resources/config/robot/resources/asdc_interface.robot [deleted file]
kubernetes/robot/resources/config/robot/resources/policy_interface.robot
kubernetes/robot/resources/config/robot/resources/sdngc_interface.robot
kubernetes/robot/templates/deployment.yaml
kubernetes/robot/templates/service.yaml
kubernetes/robot/values.yaml
kubernetes/sdc/charts/sdc-be/templates/deployment.yaml
kubernetes/sdc/charts/sdc-be/templates/job.yaml
kubernetes/sdc/charts/sdc-be/values.yaml
kubernetes/sdc/charts/sdc-cs/templates/deployment.yaml
kubernetes/sdc/charts/sdc-cs/templates/job.yaml
kubernetes/sdc/charts/sdc-cs/values.yaml
kubernetes/sdc/charts/sdc-es/templates/deployment.yaml
kubernetes/sdc/charts/sdc-es/values.yaml
kubernetes/sdc/charts/sdc-fe/templates/deployment.yaml
kubernetes/sdc/charts/sdc-fe/values.yaml
kubernetes/sdc/charts/sdc-kb/templates/deployment.yaml
kubernetes/sdc/charts/sdc-kb/values.yaml
kubernetes/sdnc/charts/dmaap-listener/values.yaml
kubernetes/sdnc/charts/sdnc-portal/resources/config/admportal.json
kubernetes/sdnc/charts/sdnc-portal/resources/config/svclogic.properties [new file with mode: 0644]
kubernetes/sdnc/charts/sdnc-portal/resources/config/svclogic.properties.sdnctldb01 [new file with mode: 0644]
kubernetes/sdnc/charts/sdnc-portal/resources/config/svclogic.properties.sdnctldb02 [new file with mode: 0644]
kubernetes/sdnc/charts/sdnc-portal/templates/configmap.yaml
kubernetes/sdnc/charts/sdnc-portal/templates/deployment.yaml
kubernetes/sdnc/charts/sdnc-portal/values.yaml
kubernetes/sdnc/charts/ueb-listener/values.yaml
kubernetes/sdnc/resources/config/bin/startODL.sh
kubernetes/sdnc/resources/config/conf/dblib.properties
kubernetes/sdnc/resources/config/conf/svclogic.properties
kubernetes/sdnc/templates/statefulset.yaml
kubernetes/sdnc/values.yaml
kubernetes/so/charts/mariadb/templates/deployment.yaml
kubernetes/so/charts/mariadb/templates/service.yaml
kubernetes/so/charts/mariadb/values.yaml
kubernetes/so/resources/config/mso/mso-docker.json
kubernetes/so/resources/config/mso/mso.bpmn.urn.properties [new file with mode: 0644]
kubernetes/so/resources/config/mso/mso.workflow-message-adapter.properties [new file with mode: 0644]
kubernetes/so/resources/config/mso/standalone-full-ha-mso.xml
kubernetes/so/resources/config/mso/topology.properties [new file with mode: 0644]
kubernetes/so/templates/deployment.yaml
kubernetes/so/templates/service.yaml
kubernetes/so/values.yaml
kubernetes/uui/charts/uui-server/values.yaml
kubernetes/uui/values.yaml
kubernetes/vfc/charts/vfc-catalog/values.yaml
kubernetes/vfc/charts/vfc-ems-driver/values.yaml
kubernetes/vfc/charts/vfc-generic-vnfm-driver/values.yaml
kubernetes/vfc/charts/vfc-huawei-vnfm-driver/values.yaml
kubernetes/vfc/charts/vfc-juju-vnfm-driver/values.yaml
kubernetes/vfc/charts/vfc-multivim-proxy/values.yaml
kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/values.yaml
kubernetes/vfc/charts/vfc-nokia-vnfm-driver/values.yaml
kubernetes/vfc/charts/vfc-nslcm/values.yaml
kubernetes/vfc/charts/vfc-resmgr/values.yaml
kubernetes/vfc/charts/vfc-vnflcm/values.yaml
kubernetes/vfc/charts/vfc-vnfmgr/values.yaml
kubernetes/vfc/charts/vfc-vnfres/values.yaml
kubernetes/vfc/charts/vfc-workflow-engine/templates/service.yaml
kubernetes/vfc/charts/vfc-workflow-engine/values.yaml
kubernetes/vfc/charts/vfc-workflow/values.yaml
kubernetes/vfc/charts/vfc-zte-sdnc-driver/values.yaml
kubernetes/vfc/charts/vfc-zte-vnfm-driver/values.yaml
kubernetes/vid/templates/deployment.yaml
kubernetes/vid/values.yaml
kubernetes/vnfsdk/charts/vnfsdk-postgres/values.yaml
kubernetes/vnfsdk/values.yaml

index c9aa629..70e2a72 100644 (file)
@@ -363,7 +363,7 @@ in a values.yaml file.  The content of this file is as follows:
   nsPrefix: onap
   pullPolicy: IfNotPresent
   image:
-    readiness: oomk8s/readiness-check:1.0.0
+    readiness: oomk8s/readiness-check:2.0.0
     mso: nexus3.onap.org:10001/openecomp/mso:1.0-STAGING-latest
     mariadb: nexus3.onap.org:10001/mariadb:10.1.11
 
index 5dd6b57..6b0c00e 100644 (file)
@@ -58,7 +58,7 @@ Install Kubectl
 ~~~~~~~~~~~~~~~
 Enter the following to install kubectl (on Ubuntu, there are slight differences on other O/Ss), the Kubernetes command line interface used to manage a Kubernetes cluster::
 
-  > curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.8.6/bin/linux/amd64/kubectl
+  > curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.8.10/bin/linux/amd64/kubectl
   > chmod +x ./kubectl
   > sudo mv ./kubectl /usr/local/bin/kubectl
   > mkdir ~/.kube
index 92ef2ac..0c537c5 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.1
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index ffdfaa5..5f23100 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
   
 # If mountPath is over NFS (e.g. /dockerdata-nfs is NFS mounted between the nodes), uncomment following lines.
 #  persistence:
index d644000..bb1479b 100644 (file)
@@ -16,7 +16,7 @@
 # Global configuration defaults.
 #################################################################
 global:
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingImage: beats/filebeat:5.5.0
 
 #################################################################
diff --git a/kubernetes/aai/charts/aai-cassandra/Chart.yaml b/kubernetes/aai/charts/aai-cassandra/Chart.yaml
new file mode 100644 (file)
index 0000000..17694cb
--- /dev/null
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP AAI Cassandra
+name: aai-cassandra
+version: 2.0.0
diff --git a/kubernetes/aai/charts/aai-cassandra/templates/service.yaml b/kubernetes/aai/charts/aai-cassandra/templates/service.yaml
new file mode 100644 (file)
index 0000000..a4557fe
--- /dev/null
@@ -0,0 +1,27 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ template "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ template "common.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+spec:
+  clusterIP: None
+  type: {{ .Values.service.type }}
+  ports:
+  - name: cql
+    port: {{ default 9042 .Values.config.ports.cql }}
+    targetPort: {{ default 9042 .Values.config.ports.cql }}
+  - name: thrift
+    port: {{ default 9160 .Values.config.ports.thrift }}
+    targetPort: {{ default 9160 .Values.config.ports.thrift }}
+  {{- if .Values.config.ports.agent }}
+  - name: agent
+    port: {{ .Values.config.ports.agent }}
+    targetPort: {{ .Values.config.ports.agent }}
+  {{- end }}
+  selector:
+    app: {{ template "common.fullname" . }}
diff --git a/kubernetes/aai/charts/aai-cassandra/templates/statefulset.yaml b/kubernetes/aai/charts/aai-cassandra/templates/statefulset.yaml
new file mode 100644 (file)
index 0000000..aa3482d
--- /dev/null
@@ -0,0 +1,115 @@
+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.fullname" . }}
+  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 }}
+        {{- 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 }},{{- 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: cassandra-data
+            mountPath: /var/lib/cassandra/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
+  {{- if not .Values.persistence.enabled }}
+      - name: cassandra-data
+        emptyDir: {}
+  {{- else }}
+  volumeClaimTemplates:
+    - metadata:
+        name: cassandra-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:
+        accessModes:
+          - {{ .Values.persistence.accessMode | quote }}
+        resources:
+          requests:
+            storage: {{ .Values.persistence.size | quote }}
+  {{- end }}
diff --git a/kubernetes/aai/charts/aai-cassandra/templates/volumes.yaml b/kubernetes/aai/charts/aai-cassandra/templates/volumes.yaml
new file mode 100644 (file)
index 0000000..0e1a3df
--- /dev/null
@@ -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.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 }}
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-cassandra/values.yaml b/kubernetes/aai/charts/aai-cassandra/values.yaml
new file mode 100644 (file)
index 0000000..884bc39
--- /dev/null
@@ -0,0 +1,106 @@
+# Default values for cassandra.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
+
+# application image
+dockerhubRepository: registry.hub.docker.com
+image: cassandra:2.1
+pullPolicy: Always
+
+# application configuration
+config:
+  heap:
+    max: 512M
+    min: 100M
+  jvmOpts: -Dcassandra.consistent.rangemovement=false
+  clusterName: aai-cluster
+  dataCenter: Pod lab
+  rackName: Rack1
+  autoBootstrap: true
+  ports:
+    cql: 9042
+    thrift: 9160
+    # If a JVM Agent is in place
+    # agent: 61621
+
+# default number of instances
+replicaCount: 3
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  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: aai-cassandra
+  internalPort: 7000
+  internalPort2: 7001
+  internalPort3: 7199
+  internalPort4: 9042
+
+podManagementPolicy: OrderedReady
+updateStrategy:
+  type: OnDelete
+
+ingress:
+  enabled: false
+
+persistence:
+  enabled: false
+
+  ## 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: <storageClass>
+  ## 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: aai/cassandra
+  storageType: local
+  storageClass: ""
+
+  
+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
index f97ac16..6a66811 100644 (file)
@@ -22,12 +22,17 @@ xsi:schemaLocation="
         <entry key="champcore.event.stream.publisher" value-ref="champEventPublisher"/>
 
         <entry key="graph.name" value="aaigraph.dev"/>
-        <entry key="storage.backend" value="hbase"/>
-        <entry key="storage.hostname" value="aai-hbase.{{.Release.Namespace}}"/>
+        <entry key="storage.backend" value="cassandra"/>
+        <entry key="storage.cassandra.keyspace" value="aaigraph"/>
+        <entry key="storage.cassandra.read-consistency-level" value="LOCAL_QUORUM"/>
+        <entry key="storage.cassandra.write-consistency-level" value="LOCAL_QUORUM"/>
+        <entry key="storage.cassandra.replication-factor" value="3"/>
+        <entry key="storage.cassandra.replication-strategy-class" value="org.apache.cassandra.locator.SimpleStrategy"/>
 
-        <!-- Hbase Config -->
-        <entry key="storage.hbase.ext.hbase.zookeeper.property.clientPort" value="2181"/>
-        <entry key="storage.hbase.ext.zookeeper.znode.parent" value="/hbase"/>
+        {{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}}
+        {{- $global := . }}
+        <entry key="storage.hostname" value="{{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-aai-cassandra-{{ $i }},{{- end }}"/>
+        <entry key="storage.port" value="9160"/>
     </util:map>
 
     <!-- Janus Implementation -->
index ccb9021..7176d09 100644 (file)
@@ -30,6 +30,21 @@ spec:
         app: {{ include "common.name" . }}
         release: {{ .Release.Name }}
     spec:
+      initContainers:
+      - command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - aai-resources
+        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: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
index d5d9b39..28f28d4 100644 (file)
@@ -16,7 +16,7 @@
 # Global configuration defaults.
 #################################################################
 global:
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingImage: beats/filebeat:5.5.0
 
 #################################################################
index cf81948..ceb9884 100644 (file)
@@ -56,18 +56,6 @@ spec:
         volumeMounts:
         - name: {{ include "common.fullname" . }}-logs
           mountPath: /logroot/
-      - name: {{ include "common.name" . }}-inject-models
-        command:
-        - /bin/bash
-        - "-c"
-        - |
-          git clone -b {{ .Values.config.gerritBranch }} --single-branch {{ .Values.config.gerritProject }} /tmp/gerrit
-          cp -rp /tmp/gerrit/data-router/appconfig/model/* /model-dir
-        image: "{{ .Values.global.repository | default .Values.dockerHubRepository }}/{{ .Values.ubuntuInitImage }}"
-        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-        volumeMounts:
-        - name: modeldir
-          mountPath: "/model-dir"
       containers:
       - name: {{ include "common.name" . }}
         image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
@@ -104,8 +92,6 @@ spec:
           name: {{ include "common.fullname" . }}-dynamic-policy
         - mountPath: /logs/
           name: {{ include "common.fullname" . }}-logs
-        - name: modeldir
-          mountPath: /opt/app/data-router/config/model
         ports:
         - containerPort: {{ .Values.service.internalPort }}
         {{- if eq .Values.liveness.enabled true }}
@@ -139,8 +125,6 @@ spec:
       - name: {{ include "common.fullname" . }}-logs
         hostPath:
           path: {{ .Values.persistence.mountPath }}/{{ include "common.namespace" . }}/{{ .Values.persistence.mountSubPath }}
-      - name: modeldir
-        emptyDir: {}
       restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
index c4bfc62..faf3448 100644 (file)
@@ -8,7 +8,7 @@ global: # global defaults
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/data-router:v1.1.0
+image: onap/data-router:1.2-STAGING-latest
 pullPolicy: Always
 restartPolicy: Always
 
@@ -19,8 +19,6 @@ ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
 config:
   keyStorePassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
   keyManagerPassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
-  gerritBranch: master
-  gerritProject: http://gerrit.onap.org/r/aai/test-config
 
 
 # default number of instances
index f44d524..db069d0 100644 (file)
@@ -8,7 +8,7 @@ global: # global defaults
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/model-loader:v1.1.0
+image: onap/model-loader:1.2-STAGING-latest
 pullPolicy: Always
 restartPolicy: Always
 
diff --git a/kubernetes/aai/charts/aai-resources/resources/config/aai_keystore b/kubernetes/aai/charts/aai-resources/resources/config/aai_keystore
new file mode 100644 (file)
index 0000000..1ddef0c
Binary files /dev/null and b/kubernetes/aai/charts/aai-resources/resources/config/aai_keystore differ
diff --git a/kubernetes/aai/charts/aai-resources/resources/config/aaiconfig.properties b/kubernetes/aai/charts/aai-resources/resources/config/aaiconfig.properties
new file mode 100644 (file)
index 0000000..0258fc2
--- /dev/null
@@ -0,0 +1,119 @@
+#
+# ============LICENSE_START=======================================================
+# org.onap.aai
+# ================================================================================
+# 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=========================================================
+#
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+
+####################################################################
+#  REMEMBER TO THINK ABOUT ENVIRONMENTAL DIFFERENCES AND CHANGE THE
+#  TEMPLATE AND *ALL* DATAFILES
+####################################################################
+
+####################################################################
+#  REMEMBER TO THINK ABOUT ENVIRONMENTAL DIFFERENCES AND CHANGE THE
+#  TEMPLATE AND *ALL* DATAFILES
+####################################################################
+
+aai.config.checktime=1000
+
+# this could come from siteconfig.pl?
+aai.config.nodename=AutomaticallyOverwritten
+
+
+
+aai.auth.cspcookies_on=false
+aai.dbmodel.filename=ex5.json
+
+aai.server.url.base=https://aai.{{ include "common.namespace" . }}:8443/aai/
+aai.server.url=https://aai.{{ include "common.namespace" . }}:8443/aai/v11/
+aai.global.callback.url=https://aai.{{ include "common.namespace" . }}:8443/aai/
+
+aai.tools.enableBasicAuth=true
+aai.tools.username=AAI
+aai.tools.password=AAI
+
+aai.truststore.filename=aai_keystore
+aai.truststore.passwd.x=OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0
+aai.keystore.filename=aai_keystore
+aai.keystore.passwd.x=OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0
+
+
+aai.notification.current.version=v11
+aai.notificationEvent.default.status=UNPROCESSED
+aai.notificationEvent.default.eventType=AAI-EVENT
+aai.notificationEvent.default.domain=dev
+aai.notificationEvent.default.sourceName=aai
+aai.notificationEvent.default.sequenceNumber=0
+aai.notificationEvent.default.severity=NORMAL
+aai.notificationEvent.default.version=v11
+# This one lets us enable/disable resource-version checking on updates/deletes
+aai.resourceversion.enableflag=true
+aai.logging.maxStackTraceEntries=10
+aai.default.api.version=v11
+
+
+
+# Used by Model-processing code
+aai.model.delete.sleep.per.vtx.msec=500
+aai.model.query.resultset.maxcount=50
+aai.model.query.timeout.sec=90
+
+# Used by Data Grooming
+aai.grooming.default.max.file=150
+aai.grooming.default.sleep.minutes=7
+
+aai.model.proc.max.levels=50
+aai.edgeTag.proc.max.levels=50
+
+# for transaction log
+aai.logging.hbase.interceptor=true
+aai.logging.hbase.enabled=true
+aai.logging.hbase.logrequest=true
+aai.logging.hbase.logresponse=true
+
+# for gremlin server
+aai.server.rebind=g
+hbase.table.name=aailogging.dev
+hbase.table.timestamp.format=YYYYMMdd-HH:mm:ss:SSS
+hbase.zookeeper.quorum=localhost
+hbase.zookeeper.property.clientPort=2181
+hbase.zookeeper.znode.parent=/hbase
+
+aai.logging.trace.enabled=true
+aai.logging.trace.logrequest=false
+aai.logging.trace.logresponse=false
+
+aai.transaction.logging=true
+aai.transaction.logging.get=false
+aai.transaction.logging.post=false
+
+#timeout for crud enabled flag
+aai.crud.timeoutenabled=true
+
+#timeout app specific -1 to bypass for that app id, a whole number to override the timeout with that value (in ms)
+aai.crud.timeout.appspecific=JUNITTESTAPP1,1|JUNITTESTAPP2,-1|DCAE-CCS,-1|DCAES,-1|AAIRctFeed,-1|NewvceCreator,-1|IANewvceCreator,-1|AAI-CSIOVALS,-1
+
+#default timeout limit added for crud if not overridden (in ms)
+aai.crud.timeoutlimit=100000
+#limit set for bulk consumer APIS
+aai.bulkconsumer.payloadlimit=30
+
+#uncomment and use header X-OverrideLimit with the value to override the bulk api limit
+#aai.bulkconsumer.payloadoverride=E6F04B93462CB5B0EDF41C05A9DDF5C3FE59748F
+aai.bulkconsumer.payloadoverride=false
diff --git a/kubernetes/aai/charts/aai-resources/resources/config/application.properties b/kubernetes/aai/charts/aai-resources/resources/config/application.properties
new file mode 100644 (file)
index 0000000..a65c04e
--- /dev/null
@@ -0,0 +1,72 @@
+# The following info parameters are being referenced by ajsc6
+info.build.artifact=aai-resources
+info.build.name=resources
+info.build.description=Resources Microservice
+info.build.version=1.2.0
+
+spring.application.name=aai-resources
+spring.jersey.type=filter
+
+server.contextPath=/
+spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
+
+spring.profiles.active=production,dmaap
+#The max number of active threads in this pool
+server.tomcat.max-threads=200
+#The minimum number of threads always kept alive
+server.tomcat.min-Spare-Threads=25
+#The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads
+server.tomcat.max-idle-time=60000
+
+
+#Add this properties only if you want to change the URL, AJSC Framework interceptors will intercept
+#com.att.ajsc.common.interceptors.PreInterceptor.url=/**
+#com.att.ajsc.common.interceptors.PostInterceptor.url=/**
+
+#Servlet context parameters
+server.context_parameters.p-name=value #context parameter with p-name as key and value as value.
+kubernetes.namespace={{ include "common.namespace" . }}
+
+# If you get an application startup failure that the port is already taken
+# If thats not it, please check if the key-store file path makes sense
+server.local.startpath=aai-resources/src/main/resources/
+server.basic.auth.location=${server.local.startpath}etc/auth/realm.properties
+
+server.port=8447
+server.ssl.enabled-protocols=TLSv1.1,TLSv1.2
+server.ssl.key-store=${server.local.startpath}etc/auth/aai_keystore
+server.ssl.key-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0)
+server.ssl.trust-store=${server.local.startpath}etc/auth/aai_keystore
+server.ssl.trust-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0)
+server.ssl.client-auth=want
+server.ssl.key-store-type=JKS
+
+# JMS bind address host port
+jms.bind.address=tcp://localhost:61647
+dmaap.ribbon.eureka.enabled=false
+dmaap.ribbon.listOfServers=dmaap.{{ include "common.namespace" . }}:3904
+# Number of milliseconds to wait before making ping requests again
+dmaap.ribbon.ServerListRefreshInterval=75000
+dmaap.ribbon.NFLoadBalancerPingInterval=75000
+dmaap.ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.AvailabilityFilteringRule
+dmaap.ribbon.NFLoadBalancerPingClassName=org.onap.aai.config.HttpPingImpl
+dmaap.ribbon.EnableMarkingServerDownOnReachingFailureLimit=true
+dmaap.ribbon.ServerDownFailureLimit=1
+# This needs to be verified but it seems that adding this property should automatically
+# Make the dmaap client change the url from http to https depending on the server
+dmaap.ribbon.securePorts=3905
+
+# Custom Dmaap Specific Configuration
+dmaap.ribbon.username=
+dmaap.ribbon.password=
+dmaap.ribbon.health.endpoint=/topics/AAI-EVENT
+# Number of seconds to wait for the ping to work and might need to increase this if the pings are all failing
+dmaap.ribbon.pingport.timeout=3
+
+niws.loadbalancer.dmaap.filterCircuitTripped=true
+niws.loadbalancer.dmaap.connectionFailureCountThreshold=3
+niws.loadbalancer.dmaap.circuitTripMaxTimeoutSeconds=180
+#dmaap.ribbon.retryableStatusCodes=404,503
+#dmaap.ribbon.retryableStatusCodes.MaxAutoRetriesNextServer=2
+#dmaap.ribbon.retryableStatusCodes.MaxAutoRetries=2
+#dmaap.ribbon.retryableStatusCodes.OkToRetryOnAllOperations=true
diff --git a/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-cached.properties b/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-cached.properties
new file mode 100644 (file)
index 0000000..dd5c3ee
--- /dev/null
@@ -0,0 +1,50 @@
+#
+# ============LICENSE_START=======================================================
+# org.onap.aai
+# ================================================================================
+# 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=========================================================
+#
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+
+query.fast-property=true
+query.smart-limit=false
+
+{{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}}
+{{- $global := . }}
+
+# the following parameters are not reloaded automatically and require a manual bounce
+storage.backend=cassandra
+storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-aai-cassandra-{{ $i }},{{- end }}
+
+storage.cassandra.keyspace=aaigraph
+
+storage.cassandra.read-consistency-level=LOCAL_QUORUM
+storage.cassandra.write-consistency-level=LOCAL_QUORUM
+storage.cassandra.replication-factor=3
+storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy
+#storage.cassandra.replication-strategy-options=MTA1cass,3
+
+#schema.default=none
+storage.lock.wait-time=300
+#caching on
+cache.db-cache = true
+cache.db-cache-clean-wait = 20
+cache.db-cache-time = 180000
+cache.db-cache-size = 0.3
+
+#load graphson file on startup
+load.snapshot.file=false
diff --git a/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-realtime.properties b/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-realtime.properties
new file mode 100644 (file)
index 0000000..875a8a5
--- /dev/null
@@ -0,0 +1,45 @@
+#
+# ============LICENSE_START=======================================================
+# 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=========================================================
+#
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+
+query.fast-property=true
+query.smart-limit=false
+
+{{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}}
+{{- $global := . }}
+
+# the following parameters are not reloaded automatically and require a manual bounce
+storage.backend=cassandra
+storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-aai-cassandra-{{ $i }},{{- end }}
+
+storage.cassandra.keyspace=aaigraph
+
+storage.cassandra.read-consistency-level=LOCAL_QUORUM
+storage.cassandra.write-consistency-level=LOCAL_QUORUM
+storage.cassandra.replication-factor=3
+storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy
+#storage.cassandra.replication-strategy-options=MTA1cass,3
+
+#schema.default=none
+storage.lock.wait-time=300
+# Setting db-cache to false ensure the fastest propagation of changes across servers
+cache.db-cache = false
+
+#load graphson file on startup
+load.snapshot.file=false
diff --git a/kubernetes/aai/charts/aai-resources/resources/config/localhost-access-logback.xml b/kubernetes/aai/charts/aai-resources/resources/config/localhost-access-logback.xml
new file mode 100644 (file)
index 0000000..a318796
--- /dev/null
@@ -0,0 +1,62 @@
+<!--
+
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    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=========================================================
+
+    ECOMP is a trademark and service mark of AT&T Intellectual Property.
+
+-->
+<configuration>
+       <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
+       <appender name="ACCESS"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log.%d{yyyy-MM-dd}
+                       </fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.CustomLogPatternLayoutEncoder">
+                       <Pattern>%a %u %z [%t] "%m %U%q" %s %b %y %i{X-TransactionId} %i{X-FromAppId} %i{X-Forwarded-For} %i{X-AAI-SSL-Client-CN} %i{X-AAI-SSL-Client-OU} %i{X-AAI-SSL-Client-O} %i{X-AAI-SSL-Client-L} %i{X-AAI-SSL-Client-ST} %i{X-AAI-SSL-Client-C} %i{X-AAI-SSL-Client-NotBefore} %i{X-AAI-SSL-Client-NotAfter} %i{X-AAI-SSL-Client-DN} %D</Pattern>
+               </encoder>
+       </appender>
+       <appender-ref ref="ACCESS" />
+</configuration>
+
+<!-- 
+%a - Remote IP address
+%A - Local IP address
+%b - Bytes sent, excluding HTTP headers, or '-' if no bytes were sent
+%B - Bytes sent, excluding HTTP headers
+%h - Remote host name
+%H - Request protocol
+%l - Remote logical username from identd (always returns '-')
+%m - Request method
+%p - Local port
+%q - Query string (prepended with a '?' if it exists, otherwise an empty string
+%r - First line of the request
+%s - HTTP status code of the response
+%S - User session ID
+%t - Date and time, in Common Log Format format
+%u - Remote user that was authenticated
+%U - Requested URL path
+%v - Local server name
+%I - current request thread name (can compare later with stacktraces)
+
+%z - Custom pattern that parses the cert for the subject
+%y - Custom pattern determines rest or dme2
+ -->
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-resources/resources/config/log/logback.xml b/kubernetes/aai/charts/aai-resources/resources/config/log/logback.xml
deleted file mode 100644 (file)
index 6cfc293..0000000
+++ /dev/null
@@ -1,345 +0,0 @@
-<configuration debug="false" scan="true" scanPeriod="3 seconds">
-    <contextName>${module.ajsc.namespace.name}</contextName>
-    <jmxConfigurator />
-    <property name="logDir" value="/var/log/onap" />
-    <property name="componentName" value="aai"></property>
-    <property name="subcomponentName" value="aai-resources"></property>
-    <property name="restLogDirectory" value="${logDir}/${componentName}/${subcomponentName}/rest" />
-    <property name="dmaapLogDirectory" value="${logDir}/${componentName}/${subcomponentName}/dmaapAAIEventConsumer" />
-    <property name="perfLogsDirectory" value="${logDir}/${componentName}/${subcomponentName}/perf-audit" />
-        <!--  default eelf log file names -->
-    <property name="errorLogName" value="error" />
-    <property name="metricsLogName" value="metrics" />
-    <property name="auditLogName" value="audit" />
-    <property name="debugLogName" value="debug" />
-    <property name="queueSize" value="256" />
-    <property name="maxFileSize" value="50MB" />
-    <property name="maxHistory" value="30" />
-    <property name="totalSizeCap" value="10GB" />
-    <property name="pattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}\t[%thread]\t%-5level\t%logger\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
-    <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>ERROR</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <encoder>
-            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="SANE">
-        <file>${restLogDirectory}/sane.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${restLogDirectory}/sane.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncSANE">
-        <queueSize>${queueSize}</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="SANE" />
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="METRIC">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>INFO</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <file>${restLogDirectory}/${metricsLogName}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${restLogDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncMETRIC">
-        <queueSize>${queueSize}</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="METRIC" />
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="DEBUG">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <file>${restLogDirectory}/${debugLogName}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${restLogDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncDEBUG">
-        <queueSize>${queueSize}</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="DEBUG" />
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ERROR">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-        </filter>
-        <file>${restLogDirectory}/${errorLogName}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${restLogDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncERROR">
-        <queueSize>${queueSize}</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="ERROR" />
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="AUDIT">
-        <file>${restLogDirectory}/${auditLogName}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${restLogDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncAUDIT">
-        <queueSize>${queueSize}</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="AUDIT" />
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="translog">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <file>${restLogDirectory}/translog.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${restLogDirectory}/translog.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="asynctranslog">
-        <queueSize>${queueSize}</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="translog" />
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="dmaapAAIEventConsumer">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-        </filter>
-        <File>${dmaapLogDirectory}/${errorLogName}.log</File>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${dmaapLogDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="dmaapAAIEventConsumerDebug">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <File>${dmaapLogDirectory}/${debugLogName}.log</File>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${dmaapLogDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="dmaapAAIEventConsumerMetric">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>INFO</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <File>${dmaapLogDirectory}/${metricsLogName}.log</File>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${dmaapLogDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <!-- Spring related loggers -->
-    <logger level="WARN" name="org.springframework" />
-    <logger level="WARN" name="org.springframework.beans" />
-    <logger level="WARN" name="org.springframework.web" />
-    <logger level="WARN" name="com.blog.spring.jms" />
-    <!-- AJSC Services (bootstrap services) -->
-    <logger level="WARN" name="ajsc" />
-    <logger level="WARN" name="ajsc.RouteMgmtService" />
-    <logger level="WARN" name="ajsc.ComputeService" />
-    <logger level="WARN" name="ajsc.VandelayService" />
-    <logger level="WARN" name="ajsc.FilePersistenceService" />
-    <logger level="WARN" name="ajsc.UserDefinedJarService" />
-    <logger level="WARN" name="ajsc.UserDefinedBeansDefService" />
-    <logger level="WARN" name="ajsc.LoggingConfigurationService" />
-    <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet 
-                logging) -->
-    <logger level="WARN" name="ajsc.utils" />
-    <logger level="WARN" name="ajsc.utils.DME2Helper" />
-    <logger level="WARN" name="ajsc.filters" />
-    <logger level="WARN" name="ajsc.beans.interceptors" />
-    <logger level="WARN" name="ajsc.restlet" />
-    <logger level="WARN" name="ajsc.servlet" />
-    <logger level="WARN" name="com.att.ajsc" />
-    <logger level="WARN" name="com.att.ajsc.csi.logging" />
-    <logger level="WARN" name="com.att.ajsc.filemonitor" />
-    <!-- Other Loggers that may help troubleshoot -->
-    <logger level="WARN" name="net.sf" />
-    <logger level="WARN" name="org.apache.commons.httpclient" />
-    <logger level="WARN" name="org.apache.commons" />
-    <logger level="WARN" name="org.apache.coyote" />
-    <logger level="WARN" name="org.apache.jasper" />
-    <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. 
-                May aid in troubleshooting) -->
-    <logger level="WARN" name="org.apache.camel" />
-    <logger level="WARN" name="org.apache.cxf" />
-    <logger level="WARN" name="org.apache.camel.processor.interceptor" />
-    <logger level="WARN" name="org.apache.cxf.jaxrs.interceptor" />
-    <logger level="WARN" name="org.apache.cxf.service" />
-    <logger level="WARN" name="org.restlet" />
-    <logger level="WARN" name="org.apache.camel.component.restlet" />
-    <!-- logback internals logging -->
-    <logger level="WARN" name="ch.qos.logback.classic" />
-    <logger level="WARN" name="ch.qos.logback.core" />
-    <!-- logback jms appenders & loggers definition starts here -->
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="auditLogs">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
-        <file>${perfLogsDirectory}/Audit.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${perfLogsDirectory}/Audit.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="perfLogs">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
-        <file>${perfLogsDirectory}/Perform.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${perfLogsDirectory}/Perform.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC-audit">
-        <queueSize>${queueSize}</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <discardingThreshold>0</discardingThreshold>
-        <appender-ref ref="Audit-Record-Queue" />
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC-perf">
-        <queueSize>${queueSize}</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <discardingThreshold>0</discardingThreshold>
-        <appender-ref ref="Performance-Tracker-Queue" />
-    </appender>
-    <logger additivity="false" level="INFO" name="AuditRecord">
-        <appender-ref ref="ASYNC-audit" />
-        <appender-ref ref="auditLogs" />
-    </logger>
-    <logger additivity="false" level="INFO" name="AuditRecord_DirectCall">
-        <appender-ref ref="ASYNC-audit" />
-        <appender-ref ref="auditLogs" />
-    </logger>
-    <logger additivity="false" level="INFO" name="PerfTrackerRecord">
-        <appender-ref ref="ASYNC-perf" />
-        <appender-ref ref="perfLogs" />
-    </logger>
-    <!-- logback jms appenders & loggers definition ends here -->
-    <logger additivity="false" level="DEBUG" name="org.onap.aai.interceptors">
-        <appender-ref ref="asynctranslog" />
-    </logger>
-    <logger level="DEBUG" name="org.onap.aai.interceptors.PreAaiAjscInterceptor">
-        <appender-ref ref="asyncAUDIT" />
-    </logger>
-    <logger level="DEBUG" name="org.onap.aai.interceptors.PostAaiAjscInterceptor">
-        <appender-ref ref="asyncAUDIT" />
-    </logger>
-    <logger additivity="false" level="DEBUG" name="org.onap.aai.dmaap">
-        <appender-ref ref="dmaapAAIEventConsumer" />
-        <appender-ref ref="dmaapAAIEventConsumerDebug" />
-        <appender-ref ref="dmaapAAIEventConsumerMetric" />
-    </logger>
-    <logger level="WARN" name="org.apache" />
-    <logger level="WARN" name="org.zookeeper" />
-    <logger level="WARN" name="com.thinkaurelius" />
-    <!-- ============================================================================ -->
-    <!-- General EELF logger -->
-    <!-- ============================================================================ -->
-    <logger additivity="false" level="WARN" name="com.att.eelf">
-        <appender-ref ref="asyncDEBUG" />
-        <appender-ref ref="asyncERROR" />
-        <appender-ref ref="asyncMETRIC" />
-        <appender-ref ref="asyncAUDIT" />
-    </logger>
-    <root level="INFO">
-        <appender-ref ref="asyncDEBUG" />
-    </root>
-</configuration>
diff --git a/kubernetes/aai/charts/aai-resources/resources/config/logback.xml b/kubernetes/aai/charts/aai-resources/resources/config/logback.xml
new file mode 100644 (file)
index 0000000..94eb9a9
--- /dev/null
@@ -0,0 +1,352 @@
+<!--
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    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=========================================================
+    ECOMP is a trademark and service mark of AT&T Intellectual Property.
+-->
+<configuration scan="true" scanPeriod="60 seconds" debug="false">
+    <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
+    <property resource="application.properties" />
+    <property name="namespace" value="aai-resources"/>
+    <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
+    <jmxConfigurator />
+    <property name="logDirectory" value="${AJSC_HOME}/logs" />
+    <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+    <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+    <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+    <!--  <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> -->
+    <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+    <property name="eelfTransLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{partnerName}:%m%n"/>
+    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
+    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
+    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <pattern>
+                %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
+            </pattern>
+        </encoder>
+    </appender>
+    <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${logDirectory}/rest/sane.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern>
+        </rollingPolicy>
+        <encoder>
+            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
+            </pattern>
+        </encoder>
+    </appender>
+    <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="SANE" />
+    </appender>
+    <appender name="METRIC"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>INFO</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <file>${logDirectory}/rest/metrics.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfMetricLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="METRIC" />
+    </appender>
+    <appender name="DEBUG"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>DEBUG</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <file>${logDirectory}/rest/debug.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="DEBUG" />
+    </appender>
+    <appender name="ERROR"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+            <level>WARN</level>
+        </filter>
+        <file>${logDirectory}/rest/error.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfErrorLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="ERROR" />
+    </appender>
+    <appender name="AUDIT"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${logDirectory}/rest/audit.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfAuditLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="AUDIT" />
+    </appender>
+    <appender name="translog"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>DEBUG</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <file>${logDirectory}/rest/translog.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfTransLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="translog" />
+    </appender>
+    <appender name="dmaapAAIEventConsumer"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+            <level>WARN</level>
+        </filter>
+        <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="dmaapAAIEventConsumerDebug"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>DEBUG</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="dmaapAAIEventConsumerMetric"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>INFO</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfMetricLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="external"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+            <level>WARN</level>
+        </filter>
+        <file>${logDirectory}/external/external.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <logger name="org.onap.aai" level="DEBUG" additivity="false">
+        <appender-ref ref="asyncDEBUG" />
+        <appender-ref ref="asyncERROR" />
+        <appender-ref ref="asyncMETRIC" />
+        <appender-ref ref="asyncSANE" />
+    </logger>
+    <!-- Spring related loggers -->
+    <logger name="org.springframework" level="WARN" />
+    <logger name="org.springframework.beans" level="WARN" />
+    <logger name="org.springframework.web" level="WARN" />
+    <logger name="com.blog.spring.jms" level="WARN" />
+    <logger name="com.jayway.jsonpath" level="WARN" />
+    <!-- AJSC Services (bootstrap services) -->
+    <logger name="ajsc" level="WARN" />
+    <logger name="ajsc.RouteMgmtService" level="WARN" />
+    <logger name="ajsc.ComputeService" level="WARN" />
+    <logger name="ajsc.VandelayService" level="WARN" />
+    <logger name="ajsc.FilePersistenceService" level="WARN" />
+    <logger name="ajsc.UserDefinedJarService" level="WARN" />
+    <logger name="ajsc.UserDefinedBeansDefService" level="WARN" />
+    <logger name="ajsc.LoggingConfigurationService" level="WARN" />
+    <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet
+        logging) -->
+    <logger name="org.codehaus.groovy" level="WARN" />
+    <logger name="com.att.scamper" level="WARN" />
+    <logger name="ajsc.utils" level="WARN" />
+    <logger name="ajsc.utils.DME2Helper" level="WARN" />
+    <logger name="ajsc.filters" level="WARN" />
+    <logger name="ajsc.beans.interceptors" level="WARN" />
+    <logger name="ajsc.restlet" level="WARN" />
+    <logger name="ajsc.servlet" level="WARN" />
+    <logger name="com.att.ajsc" level="WARN" />
+    <logger name="com.att.ajsc.csi.logging" level="WARN" />
+    <logger name="com.att.ajsc.filemonitor" level="WARN" />
+    <logger name="com.netflix.loadbalancer" level="WARN" />
+    <logger name="org.apache.zookeeper" level="OFF" />
+    <!-- Other Loggers that may help troubleshoot -->
+    <logger name="net.sf" level="WARN" />
+    <logger name="org.apache.commons.httpclient" level="WARN" />
+    <logger name="org.apache.commons" level="WARN" />
+    <logger name="org.apache.coyote" level="WARN" />
+    <logger name="org.apache.jasper" level="WARN" />
+    <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
+        May aid in troubleshooting) -->
+    <logger name="org.apache.camel" level="WARN" />
+    <logger name="org.apache.cxf" level="WARN" />
+    <logger name="org.apache.camel.processor.interceptor" level="WARN" />
+    <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
+    <logger name="org.apache.cxf.service" level="WARN" />
+    <logger name="org.restlet" level="WARN" />
+    <logger name="org.apache.camel.component.restlet" level="WARN" />
+    <logger name="org.hibernate.validator" level="WARN" />
+    <logger name="org.hibernate" level="WARN" />
+    <logger name="org.hibernate.ejb" level="OFF" />
+    <!-- logback internals logging -->
+    <logger name="ch.qos.logback.classic" level="WARN" />
+    <logger name="ch.qos.logback.core" level="WARN" />
+    <logger name="org.eclipse.jetty" level="WARN" />
+    <!-- logback jms appenders & loggers definition starts here -->
+    <appender name="auditLogs"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
+        <file>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.log
+        </file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+            <fileNamePattern>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
+            </fileNamePattern>
+            <minIndex>1</minIndex>
+            <maxIndex>9</maxIndex>
+        </rollingPolicy>
+        <triggeringPolicy
+            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+            <maxFileSize>5MB</maxFileSize>
+        </triggeringPolicy>
+        <encoder>
+            <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+        </encoder>
+    </appender>
+    <appender name="perfLogs"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
+        <file>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.log
+        </file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+            <fileNamePattern>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
+            </fileNamePattern>
+            <minIndex>1</minIndex>
+            <maxIndex>9</maxIndex>
+        </rollingPolicy>
+        <triggeringPolicy
+            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+            <maxFileSize>5MB</maxFileSize>
+        </triggeringPolicy>
+        <encoder>
+            <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+        </encoder>
+    </appender>
+    <logger name="AuditRecord" level="INFO" additivity="false">
+        <appender-ref ref="auditLogs" />
+    </logger>
+    <logger name="AuditRecord_DirectCall" level="INFO" additivity="false">
+        <appender-ref ref="auditLogs" />
+    </logger>
+    <logger name="PerfTrackerRecord" level="INFO" additivity="false">
+        <appender-ref ref="perfLogs" />
+    </logger>
+    <!-- logback jms appenders & loggers definition ends here -->
+    <logger name="org.onap.aai.interceptors.post" level="DEBUG"
+            additivity="false">
+        <appender-ref ref="asynctranslog" />
+    </logger>
+    <logger name="org.onap.aai.interceptors.pre.SetLoggingContext" level="DEBUG">
+        <appender-ref ref="asyncAUDIT"/>
+    </logger>
+    <logger name="org.onap.aai.interceptors.post.ResetLoggingContext" level="DEBUG">
+        <appender-ref ref="asyncAUDIT"/>
+    </logger>
+    <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false">
+        <appender-ref ref="dmaapAAIEventConsumer" />
+        <appender-ref ref="dmaapAAIEventConsumerDebug" />
+        <appender-ref ref="dmaapAAIEventConsumerMetric" />
+    </logger>
+    <logger name="org.apache" level="OFF" />
+    <logger name="org.zookeeper" level="OFF" />
+    <logger name="com.thinkaurelius" level="WARN" />
+    <logger name="com.att.aft.dme2" level="WARN" />
+    <!-- ============================================================================ -->
+    <!-- General EELF logger -->
+    <!-- ============================================================================ -->
+    <logger name="com.att.eelf" level="WARN" additivity="false">
+        <appender-ref ref="asyncDEBUG" />
+        <appender-ref ref="asyncERROR" />
+        <appender-ref ref="asyncMETRIC" />
+    </logger>
+    <root level="DEBUG">
+        <appender-ref ref="external" />
+    </root>
+</configuration>
diff --git a/kubernetes/aai/charts/aai-resources/resources/config/realm.properties b/kubernetes/aai/charts/aai-resources/resources/config/realm.properties
new file mode 100644 (file)
index 0000000..fb692cc
--- /dev/null
@@ -0,0 +1,12 @@
+# format : username: password[,rolename ...]
+# default username/password: AAI/AAI, MSO/MSO, ModelLoader/ModelLoader...
+AAI:OBF:1gfr1ev31gg7,admin
+MSO:OBF:1jzx1lz31k01,admin
+SDNC:OBF:1itr1i0l1i151isv,admin
+DCAE:OBF:1g8u1f9d1f991g8w,admin
+POLICY:OBF:1mk61i171ima1im41i0j1mko,admin
+ASDC:OBF:1f991j0u1j001f9d,admin
+VID:OBF:1jm91i0v1jl9,admin
+APPC:OBF:1f991ksf1ksf1f9d,admin
+ModelLoader:OBF:1qvu1v2h1sov1sar1wfw1j7j1wg21saj1sov1v1x1qxw,admin
+AaiUI:OBF:1gfr1p571unz1p4j1gg7,admin
index 97c720a..5e371ea 100644 (file)
@@ -1,7 +1,64 @@
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.fullname" . }}-log
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/log/logback.xml").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-localhost-access-log-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/localhost-access-logback.xml").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-db-real-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/janusgraph-realtime.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-db-cached-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/janusgraph-cached.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-aaiconfig-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/aaiconfig.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-springapp-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/application.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-realm-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/realm.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.fullname" . }}-auth-secret
+  namespace: {{ include "common.namespace" . }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/config/aai_keystore").AsSecrets . | indent 2 }}
index 6aef447..6c65bce 100644 (file)
@@ -415,12 +415,13 @@ spec:
           }
           ]'
     spec:
+      hostname: aai-resources
       initContainers:
       - command:
         - /root/ready.py
         args:
         - --container-name
-        - aai-hbase
+        - aai-cassandra
         env:
         - name: NAMESPACE
           valueFrom:
@@ -435,32 +436,37 @@ spec:
         image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         env:
-        - name: CHEF_BRANCH
-          value: master
-        - name: AAI_CHEF_ENV
-          value: simpledemo
-        - name: AAI_CORE_VERSION
-          value: {{ .Values.config.aaicoreversion }}
-        - name: AAI_CHEF_LOC
-          value: /var/chef/aai-data/environments
-        - name: CHEF_GIT_URL
-          value: http://gerrit.onap.org/r/aai
-        - name: HBASE_STARTUP_ARTIFICIAL_DELAY
-          value: "60"
+        - name: LOCAL_USER_ID
+          value: {{ .Values.config.userId | quote }}
+        - name: LOCAL_GROUP_ID
+          value: {{ .Values.config.groupId | quote }}
         volumeMounts:
         - mountPath: /etc/localtime
           name: localtime
           readOnly: true
-        - mountPath: /var/chef/aai-data/chef-config/dev/.knife/solo.rb
-          subPath: solo.rb
-          name: aai-chef-config
-        - mountPath: /var/chef/aai-data/environments/
-          name: aai-data
+        - mountPath: /opt/app/aai-resources/resources/etc/appprops/janusgraph-realtime.properties
+          name: {{ include "common.fullname" . }}-db-real-conf
+          subPath: janusgraph-realtime.properties
+        - mountPath: /opt/app/aai-resources/resources/etc/appprops/janusgraph-cached.properties
+          name: {{ include "common.fullname" . }}-db-cached-conf
+          subPath: janusgraph-cached.properties
+        - mountPath: /opt/app/aai-resources/resources/etc/appprops/aaiconfig.properties
+          name: {{ include "common.fullname" . }}-aaiconfig-conf
+          subPath: aaiconfig.properties
         - mountPath: /var/log/onap
-          name: aai-resources-logs
-        - mountPath: /opt/app/aai-resources/bundleconfig/etc/logback.xml
-          name: aai-resources-log-conf
+          name: {{ include "common.fullname" . }}-logs
+        - mountPath: /opt/app/aai-resources/resources/logback.xml
+          name: {{ include "common.fullname" . }}-log-conf
           subPath: logback.xml
+        - mountPath: /opt/app/aai-resources/resources/localhost-access-logback.xml
+          name: {{ include "common.fullname" . }}-localhost-access-log-conf
+          subPath: localhost-access-logback.xml
+        - mountPath: /opt/app/aai-resources/resources/application.properties
+          name: {{ include "common.fullname" . }}-springapp-conf
+          subPath: application.properties
+        - mountPath: /opt/app/aai-resources/resources/etc/auth/aai_keystore
+          name: {{ include "common.fullname" . }}-auth-sec
+          subPath: aai_keystore
         ports:
         - containerPort: {{ .Values.service.internalPort }}
         - containerPort: {{ .Values.service.internalPort2 }}
@@ -498,30 +504,45 @@ spec:
           subPath: filebeat.yml
           name: filebeat-conf
         - mountPath: /var/log/onap
-          name: aai-resources-logs
+          name: {{ include "common.fullname" . }}-logs
         - mountPath: /usr/share/filebeat/data
-          name: aai-resources-filebeat
+          name: {{ include "common.fullname" . }}-filebeat
 
       volumes:
       - name: localtime
         hostPath:
           path: /etc/localtime
-      - name: aai-chef-config
-        configMap:
-          name: aai-chef-config
-      - name: aai-data
-        configMap:
-          name: aai-resources-environments
       - name: filebeat-conf
         configMap:
           name: aai-filebeat
-      - name: aai-resources-logs
+      - name: {{ include "common.fullname" . }}-logs
         emptyDir: {}
-      - name: aai-resources-filebeat
+      - name: {{ include "common.fullname" . }}-filebeat
         emptyDir: {}
-      - name: aai-resources-log-conf
+      - name: {{ include "common.fullname" . }}-log-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-log
+      - name: {{ include "common.fullname" . }}-localhost-access-log-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-localhost-access-log-configmap
+      - name: {{ include "common.fullname" . }}-db-real-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-db-real-configmap
+      - name: {{ include "common.fullname" . }}-db-cached-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-db-cached-configmap
+      - name: {{ include "common.fullname" . }}-aaiconfig-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-aaiconfig-configmap
+      - name: {{ include "common.fullname" . }}-springapp-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-springapp-configmap
+      - name: {{ include "common.fullname" . }}-realm-conf
         configMap:
-         name: {{ include "common.fullname" . }}
-      restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
+         name: {{ include "common.fullname" . }}-realm-configmap
+      - name: {{ include "common.fullname" . }}-auth-sec
+        secret:
+         secretName: {{ include "common.fullname" . }}-auth-secret
+      restartPolicy: {{ .Values.restartPolicy }}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
index f72e299..b7c0287 100644 (file)
@@ -5,22 +5,23 @@ global: # global defaults
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
 
 
 # application image
 repository: nexus3.onap.org:10001
-image: openecomp/aai-resources:v1.1.0
+image: onap/aai-resources:1.2-STAGING-latest
 pullPolicy: Always
 restartPolicy: Always
 
-# application configuration
-config:
-  aaicoreversion: 1.1.0-SNAPSHOT
-
 # default number of instances
 replicaCount: 1
 
+# Configuration for the resources deployment
+config:
+  userId: 1000
+  groupId: 1000
+
 nodeSelector: {}
 
 affinity: {}
index 14ed414..3fbbbab 100644 (file)
-<configuration debug="false" scan="true" scanPeriod="3 seconds">
-    <!--<jmxConfigurator /> -->
-    <!-- directory path for all other type logs -->
-    <property name="logDir" value="/var/log/onap" />
-    <property name="componentName" value="aai"></property>
-    <property name="subcomponentName" value="aai-sdb" />
-    <property name="logDirectory" value="${logDir}/${componentName}/${subcomponentName}" />
-    <!--  default eelf log file names -->
-    <property name="errorLogName" value="error" />
-    <property name="metricsLogName" value="metrics" />
-    <property name="auditLogName" value="audit" />
-    <property name="debugLogName" value="debug" />
-    <property name="queueSize" value="256" />
-    <property name="maxFileSize" value="50MB" />
-    <property name="maxHistory" value="30" />
-    <property name="totalSizeCap" value="10GB" />
-    <property name="pattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}\t[%thread]\t%-5level\t%logger\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
-    <!-- Example evaluator filter applied against console appender -->
-    <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
-        <encoder>
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <!-- ============================================================================ -->
-    <!-- EELF Appenders -->
-    <!-- ============================================================================ -->
-    <!-- The EELFAppender is used to record events to the general application 
-       log -->
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELF">
-        <file>${logDirectory}/${errorLogName}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELF">
-        <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>INFO</level>
-        </filter>
-        <queueSize>${queueSize}</queueSize>
-        <appender-ref ref="EELF" />
-    </appender>
-    <!-- EELF Audit Appender. This appender is used to record audit engine 
-       related logging events. The audit logger and appender are specializations 
-       of the EELF application root logger and appender. This can be used to segregate 
-       Policy engine events from other components, or it can be eliminated to record 
-       these events as part of the application root log. -->
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFAudit">
-        <file>${logDirectory}/${auditLogName}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFAudit">
-        <queueSize>${queueSize}</queueSize>
-        <appender-ref ref="EELFAudit" />
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFMetrics">
-        <file>${logDirectory}/${metricsLogName}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder>
-            <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - 
-           %msg%n"</pattern> -->
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFMetrics">
-        <queueSize>${queueSize}</queueSize>
-        <appender-ref ref="EELFMetrics" />
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">
-        <file>${logDirectory}/${debugLogName}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFDebug">
-        <queueSize>${queueSize}</queueSize>
-        <appender-ref ref="EELFDebug" />
-        <includeCallerData>false</includeCallerData>
-    </appender>
-    <!-- ============================================================================ -->
-    <!--  EELF loggers -->
-    <!-- ============================================================================ -->
-    <logger additivity="false" level="info" name="com.att.eelf">
-        <appender-ref ref="asyncEELF" />
-        <appender-ref ref="asyncEELFDebug" />
-    </logger>
-    <logger additivity="false" level="info" name="com.att.eelf.security">
-        <appender-ref ref="asyncEELFSecurity" />
-    </logger>
-    <logger additivity="false" level="info" name="com.att.eelf.perf">
-        <appender-ref ref="asyncEELFPerformance" />
-    </logger>
-    <logger additivity="false" level="info" name="com.att.eelf.server">
-        <appender-ref ref="asyncEELFServer" />
-    </logger>
-    <logger additivity="false" level="info" name="com.att.eelf.policy">
-        <appender-ref ref="asyncEELFPolicy" />
-    </logger>
-    <logger additivity="false" level="info" name="com.att.eelf.audit">
-        <appender-ref ref="asyncEELFAudit" />
-    </logger>
-    <logger additivity="false" level="info" name="com.att.eelf.metrics">
-        <appender-ref ref="asyncEELFMetrics" />
-    </logger>
-    <!-- Spring related loggers -->
-    <logger level="WARN" name="org.springframework" />
-    <logger level="WARN" name="org.springframework.beans" />
-    <logger level="WARN" name="org.springframework.web" />
-    <logger level="WARN" name="com.blog.spring.jms" />
-    <!-- AJSC Services (bootstrap services) -->
-    <logger level="WARN" name="ajsc" />
-    <logger level="WARN" name="ajsc.RouteMgmtService" />
-    <logger level="WARN" name="ajsc.ComputeService" />
-    <logger level="WARN" name="ajsc.VandelayService" />
-    <logger level="WARN" name="ajsc.FilePersistenceService" />
-    <logger level="WARN" name="ajsc.UserDefinedJarService" />
-    <logger level="WARN" name="ajsc.UserDefinedBeansDefService" />
-    <logger level="WARN" name="ajsc.LoggingConfigurationService" />
-    <logger level="WARN" name="ajsc.ErrorMessageLookupService" />
-    <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet 
-       logging) -->
-    <logger level="WARN" name="ajsc.utils" />
-    <logger level="WARN" name="ajsc.utils.DME2Helper" />
-    <logger level="WARN" name="ajsc.filters" />
-    <logger level="WARN" name="ajsc.beans.interceptors" />
-    <logger level="WARN" name="ajsc.restlet" />
-    <logger level="WARN" name="ajsc.servlet" />
-    <logger level="INFO" name="com.att" />
-    <logger level="WARN" name="com.att.ajsc.csi.logging" />
-    <logger level="WARN" name="com.att.ajsc.filemonitor" />
-    <!-- SearchDB loggers -->
-    <logger level="INFO" name="org.openecomp.sa" />
-    <!-- Other Loggers that may help troubleshoot -->
-    <logger level="WARN" name="net.sf" />
-    <logger level="WARN" name="org.apache.commons.httpclient" />
-    <logger level="WARN" name="org.apache.commons" />
-    <logger level="WARN" name="org.apache.coyote" />
-    <logger level="WARN" name="org.apache.jasper" />
-    <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. 
-       May aid in troubleshooting) -->
-    <logger level="WARN" name="org.apache.camel" />
-    <logger level="WARN" name="org.apache.cxf" />
-    <logger level="WARN" name="org.apache.camel.processor.interceptor" />
-    <logger level="WARN" name="org.apache.cxf.jaxrs.interceptor" />
-    <logger level="WARN" name="org.apache.cxf.service" />
-    <logger level="WARN" name="org.restlet" />
-    <logger level="WARN" name="org.apache.camel.component.restlet" />
-    <!-- logback internals logging -->
-    <logger level="WARN" name="ch.qos.logback.classic" />
-    <logger level="WARN" name="ch.qos.logback.core" />
-    <root>
-        <appender-ref ref="asyncEELF" />
-        <!-- <appender-ref ref="asyncEELFDebug" /> -->
-    </root>
+<configuration scan="true" scanPeriod="3 seconds" debug="false">
+        <!--<jmxConfigurator /> -->
+        <!-- directory path for all other type logs -->
+
+        <property name="logDir"  value="/var/log/onap" />
+
+
+        <!--  specify the component name
+                       <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC"  -->
+        <property name="componentName" value="AAI-SDB"></property>
+
+        <!--  default eelf log file names -->
+        <property name="generalLogName" value="error" />
+        <property name="metricsLogName" value="metrics" />
+        <property name="auditLogName" value="audit" />
+        <property name="debugLogName" value="debug" />
+
+        <property name="errorLogPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{RequestId}|%thread|SearchDataService|%mdc{PartnerName}|%logger||%.-5level|%msg%n" />
+        <property name="auditMetricPattern" value="%m%n" />
+
+        <property name="logDirectory" value="${logDir}/${componentName}" />
+
+        <!-- Example evaluator filter applied against console appender -->
+        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+                <encoder>
+                        <pattern>${errorLogPattern}</pattern>
+                </encoder>
+        </appender>
+
+        <!-- ============================================================================ -->
+        <!-- EELF Appenders -->
+        <!-- ============================================================================ -->
+
+        <!-- The EELFAppender is used to record events to the general application
+                      log -->
+
+        <appender name="EELF"
+                          class="ch.qos.logback.core.rolling.RollingFileAppender">
+                <file>${logDirectory}/${generalLogName}.log</file>
+                <rollingPolicy
+                                class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                        <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip
+                        </fileNamePattern>
+                        <maxHistory>60</maxHistory>
+                </rollingPolicy>
+                <encoder>
+                        <pattern>${errorLogPattern}</pattern>
+                </encoder>
+        </appender>
+        <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
+                <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
+                <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+                        <level>INFO</level>
+                </filter>
+                <queueSize>256</queueSize>
+                <appender-ref ref="EELF" />
+        </appender>
+
+
+        <!-- EELF Audit Appender. This appender is used to record audit engine
+                      related logging events. The audit logger and appender are specializations
+         of the EELF application root logger and appender. This can be used to segregate
+         Policy engine events from other components, or it can be eliminated to record
+         these events as part of the application root log. -->
+
+        <appender name="EELFAudit"
+                          class="ch.qos.logback.core.rolling.RollingFileAppender">
+                <file>${logDirectory}/${auditLogName}.log</file>
+                <rollingPolicy
+                                class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                        <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip
+                        </fileNamePattern>
+                        <maxHistory>60</maxHistory>
+                </rollingPolicy>
+                <encoder>
+                        <pattern>${auditMetricPattern}</pattern>
+                </encoder>
+        </appender>
+        <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+                <queueSize>256</queueSize>
+                <appender-ref ref="EELFAudit" />
+        </appender>
+
+        <appender name="EELFMetrics"
+                          class="ch.qos.logback.core.rolling.RollingFileAppender">
+                <file>${logDirectory}/${metricsLogName}.log</file>
+                <rollingPolicy
+                                class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                        <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip
+                        </fileNamePattern>
+                        <maxHistory>60</maxHistory>
+                </rollingPolicy>
+                <encoder>
+                        <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} -
+                                              %msg%n"</pattern> -->
+                        <pattern>${auditMetricPattern}</pattern>
+                </encoder>
+        </appender>
+
+
+        <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+                <queueSize>256</queueSize>
+                <appender-ref ref="EELFMetrics"/>
+        </appender>
+
+        <appender name="EELFDebug"
+                          class="ch.qos.logback.core.rolling.RollingFileAppender">
+                <file>${logDirectory}/${debugLogName}.log</file>
+                <rollingPolicy
+                                class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                        <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip
+                        </fileNamePattern>
+                        <maxHistory>60</maxHistory>
+                </rollingPolicy>
+                <encoder>
+                        <pattern>${errorLogPattern}</pattern>
+                </encoder>
+        </appender>
+
+        <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+                <queueSize>256</queueSize>
+                <appender-ref ref="EELFDebug" />
+                <includeCallerData>false</includeCallerData>
+        </appender>
+
+
+        <!-- ============================================================================ -->
+        <!--  EELF loggers -->
+        <!-- ============================================================================ -->
+        <logger name="com.att.eelf" level="info" additivity="false">
+                <appender-ref ref="asyncEELF" />
+                <appender-ref ref="asyncEELFDebug" />
+        </logger>
+
+        <logger name="com.att.eelf.audit" level="info" additivity="false">
+                <appender-ref ref="asyncEELFAudit" />
+        </logger>
+        <logger name="com.att.eelf.metrics" level="info" additivity="false">
+                <appender-ref ref="asyncEELFMetrics" />
+        </logger>
+
+        <!-- Spring related loggers -->
+        <logger name="org.springframework" level="WARN" />
+        <logger name="org.springframework.beans" level="WARN" />
+        <logger name="org.springframework.web" level="WARN" />
+        <logger name="com.blog.spring.jms" level="WARN" />
+
+        <!-- SearchDB loggers -->
+        <logger name="org.openecomp.sa" level="INFO" />
+
+        <!-- Other Loggers that may help troubleshoot -->
+        <logger name="net.sf" level="WARN" />
+        <logger name="org.apache.commons.httpclient" level="WARN" />
+        <logger name="org.apache.commons" level="WARN" />
+        <logger name="org.apache.coyote" level="WARN" />
+        <logger name="org.apache.jasper" level="WARN" />
+
+        <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
+                      May aid in troubleshooting) -->
+        <logger name="org.apache.camel" level="WARN" />
+        <logger name="org.apache.cxf" level="WARN" />
+        <logger name="org.apache.camel.processor.interceptor" level="WARN" />
+        <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
+        <logger name="org.apache.cxf.service" level="WARN" />
+        <logger name="org.restlet" level="WARN" />
+        <logger name="org.apache.camel.component.restlet" level="WARN" />
+
+        <!-- logback internals logging -->
+        <logger name="ch.qos.logback.classic" level="WARN" />
+        <logger name="ch.qos.logback.core" level="WARN" />
+
+        <root>
+                <appender-ref ref="asyncEELF" />
+                <!-- <appender-ref ref="asyncEELFDebug" /> -->
+        </root>
+
 </configuration>
index e7bfa6b..65b3c9d 100644 (file)
@@ -5,12 +5,12 @@ global: # global defaults
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
 
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/search-data-service:v1.1.0
+image: onap/search-data-service:1.2-STAGING-latest
 pullPolicy: Always
 restartPolicy: Always
 
diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/aai_keystore b/kubernetes/aai/charts/aai-traversal/resources/config/aai_keystore
new file mode 100644 (file)
index 0000000..1ddef0c
Binary files /dev/null and b/kubernetes/aai/charts/aai-traversal/resources/config/aai_keystore differ
diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/aaiconfig.properties b/kubernetes/aai/charts/aai-traversal/resources/config/aaiconfig.properties
new file mode 100644 (file)
index 0000000..2452a1e
--- /dev/null
@@ -0,0 +1,113 @@
+#
+# ============LICENSE_START=======================================================
+# org.onap.aai
+# ================================================================================
+# 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=========================================================
+#
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+
+####################################################################
+#  REMEMBER TO THINK ABOUT ENVIRONMENTAL DIFFERENCES AND CHANGE THE
+#  TEMPLATE AND *ALL* DATAFILES
+####################################################################
+
+####################################################################
+#  REMEMBER TO THINK ABOUT ENVIRONMENTAL DIFFERENCES AND CHANGE THE
+#  TEMPLATE AND *ALL* DATAFILES
+####################################################################
+
+aai.config.checktime=1000
+
+# this could come from siteconfig.pl?
+aai.config.nodename=AutomaticallyOverwritten
+
+
+
+aai.auth.cspcookies_on=false
+aai.dbmodel.filename=ex5.json
+
+aai.server.url.base=https://aai.{{ include "common.namespace" . }}:8443/aai/
+aai.server.url=https://aai.{{ include "common.namespace" . }}:8443/aai/v11/
+aai.global.callback.url=https://aai.{{ include "common.namespace" . }}:8443/aai/
+
+aai.tools.enableBasicAuth=true
+aai.tools.username=AAI
+aai.tools.password=AAI
+
+aai.truststore.filename=aai_keystore
+aai.truststore.passwd.x=OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0
+aai.keystore.filename=aai_keystore
+aai.keystore.passwd.x=OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0
+
+
+aai.notification.current.version=v11
+aai.notificationEvent.default.status=UNPROCESSED
+aai.notificationEvent.default.eventType=AAI-EVENT
+aai.notificationEvent.default.domain=dev
+aai.notificationEvent.default.sourceName=aai
+aai.notificationEvent.default.sequenceNumber=0
+aai.notificationEvent.default.severity=NORMAL
+aai.notificationEvent.default.version=v11
+# This one lets us enable/disable resource-version checking on updates/deletes
+aai.resourceversion.enableflag=true
+aai.logging.maxStackTraceEntries=10
+aai.default.api.version=v11
+
+
+
+# Used by Model-processing code
+aai.model.delete.sleep.per.vtx.msec=500
+aai.model.query.resultset.maxcount=50
+aai.model.query.timeout.sec=90
+
+# Used by Data Grooming
+aai.grooming.default.max.file=150
+aai.grooming.default.sleep.minutes=7
+
+aai.model.proc.max.levels=50
+aai.edgeTag.proc.max.levels=50
+
+# for transaction log
+aai.logging.hbase.interceptor=true
+aai.logging.hbase.enabled=true
+aai.logging.hbase.logrequest=true
+aai.logging.hbase.logresponse=true
+
+# for gremlin server
+aai.server.rebind=g
+hbase.table.name=aailogging.dev
+hbase.table.timestamp.format=YYYYMMdd-HH:mm:ss:SSS
+hbase.zookeeper.quorum=localhost
+hbase.zookeeper.property.clientPort=2181
+hbase.zookeeper.znode.parent=/hbase
+
+aai.logging.trace.enabled=true
+aai.logging.trace.logrequest=false
+aai.logging.trace.logresponse=false
+
+aai.transaction.logging=true
+aai.transaction.logging.get=false
+aai.transaction.logging.post=false
+
+#timeout for traversal enabled flag
+aai.traversal.timeoutenabled=true
+
+#timeout app specific
+aai.traversal.timeout.appspecific=JUNITTESTAPP1,1|JUNITTESTAPP2,-1|DCAE-CCS,-1|DCAES,-1|AAI-FILEGEN-GFPIP,-1
+
+#default timeout limit added for traversal if not overridden (in ms)
+aai.traversal.timeoutlimit=180000
diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/application.properties b/kubernetes/aai/charts/aai-traversal/resources/config/application.properties
new file mode 100644 (file)
index 0000000..14c59d2
--- /dev/null
@@ -0,0 +1,72 @@
+# The following info parameters are being referenced by ajsc6
+info.build.artifact=aai-traversal
+info.build.name=traversal
+info.build.description=Traversal Microservice
+info.build.version=1.2.0
+
+spring.application.name=aai-traversal
+spring.jersey.type=filter
+
+server.contextPath=/
+spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
+
+spring.profiles.active=production,dmaap
+#The max number of active threads in this pool
+server.tomcat.max-threads=200
+#The minimum number of threads always kept alive
+server.tomcat.min-Spare-Threads=25
+#The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads
+server.tomcat.max-idle-time=60000
+
+
+#Add this properties only if you want to change the URL, AJSC Framework interceptors will intercept
+#com.att.ajsc.common.interceptors.PreInterceptor.url=/**
+#com.att.ajsc.common.interceptors.PostInterceptor.url=/**
+
+#Servlet context parameters
+server.context_parameters.p-name=value #context parameter with p-name as key and value as value.
+kubernetes.namespace={{ include "common.namespace" . }}
+
+# If you get an application startup failure that the port is already taken
+# If thats not it, please check if the key-store file path makes sense
+server.local.startpath=aai-traversal/src/main/resources/
+server.basic.auth.location=${server.local.startpath}etc/auth/realm.properties
+
+server.port=8446
+server.ssl.enabled-protocols=TLSv1.1,TLSv1.2
+server.ssl.key-store=${server.local.startpath}etc/auth/aai_keystore
+server.ssl.key-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0)
+server.ssl.trust-store=${server.local.startpath}etc/auth/aai_keystore
+server.ssl.trust-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0)
+server.ssl.client-auth=want
+server.ssl.key-store-type=JKS
+
+# JMS bind address host port
+jms.bind.address=tcp://localhost:61647
+dmaap.ribbon.eureka.enabled=false
+dmaap.ribbon.listOfServers=dmaap.{{ include "common.namespace" . }}:3904
+# Number of milliseconds to wait before making ping requests again
+dmaap.ribbon.ServerListRefreshInterval=75000
+dmaap.ribbon.NFLoadBalancerPingInterval=75000
+dmaap.ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.AvailabilityFilteringRule
+dmaap.ribbon.NFLoadBalancerPingClassName=org.onap.aai.config.HttpPingImpl
+dmaap.ribbon.EnableMarkingServerDownOnReachingFailureLimit=true
+dmaap.ribbon.ServerDownFailureLimit=1
+# This needs to be verified but it seems that adding this property should automatically
+# Make the dmaap client change the url from http to https depending on the server
+dmaap.ribbon.securePorts=3905
+
+# Custom Dmaap Specific Configuration
+dmaap.ribbon.username=
+dmaap.ribbon.password=
+dmaap.ribbon.health.endpoint=/topics/AAI-EVENT
+# Number of seconds to wait for the ping to work and might need to increase this if the pings are all failing
+dmaap.ribbon.pingport.timeout=3
+
+niws.loadbalancer.dmaap.filterCircuitTripped=true
+niws.loadbalancer.dmaap.connectionFailureCountThreshold=3
+niws.loadbalancer.dmaap.circuitTripMaxTimeoutSeconds=180
+#dmaap.ribbon.retryableStatusCodes=404,503
+#dmaap.ribbon.retryableStatusCodes.MaxAutoRetriesNextServer=2
+#dmaap.ribbon.retryableStatusCodes.MaxAutoRetries=2
+#dmaap.ribbon.retryableStatusCodes.OkToRetryOnAllOperations=true
diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-cached.properties b/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-cached.properties
new file mode 100644 (file)
index 0000000..dd5c3ee
--- /dev/null
@@ -0,0 +1,50 @@
+#
+# ============LICENSE_START=======================================================
+# org.onap.aai
+# ================================================================================
+# 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=========================================================
+#
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+
+query.fast-property=true
+query.smart-limit=false
+
+{{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}}
+{{- $global := . }}
+
+# the following parameters are not reloaded automatically and require a manual bounce
+storage.backend=cassandra
+storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-aai-cassandra-{{ $i }},{{- end }}
+
+storage.cassandra.keyspace=aaigraph
+
+storage.cassandra.read-consistency-level=LOCAL_QUORUM
+storage.cassandra.write-consistency-level=LOCAL_QUORUM
+storage.cassandra.replication-factor=3
+storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy
+#storage.cassandra.replication-strategy-options=MTA1cass,3
+
+#schema.default=none
+storage.lock.wait-time=300
+#caching on
+cache.db-cache = true
+cache.db-cache-clean-wait = 20
+cache.db-cache-time = 180000
+cache.db-cache-size = 0.3
+
+#load graphson file on startup
+load.snapshot.file=false
diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-realtime.properties b/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-realtime.properties
new file mode 100644 (file)
index 0000000..875a8a5
--- /dev/null
@@ -0,0 +1,45 @@
+#
+# ============LICENSE_START=======================================================
+# 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=========================================================
+#
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+
+query.fast-property=true
+query.smart-limit=false
+
+{{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}}
+{{- $global := . }}
+
+# the following parameters are not reloaded automatically and require a manual bounce
+storage.backend=cassandra
+storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-aai-cassandra-{{ $i }},{{- end }}
+
+storage.cassandra.keyspace=aaigraph
+
+storage.cassandra.read-consistency-level=LOCAL_QUORUM
+storage.cassandra.write-consistency-level=LOCAL_QUORUM
+storage.cassandra.replication-factor=3
+storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy
+#storage.cassandra.replication-strategy-options=MTA1cass,3
+
+#schema.default=none
+storage.lock.wait-time=300
+# Setting db-cache to false ensure the fastest propagation of changes across servers
+cache.db-cache = false
+
+#load graphson file on startup
+load.snapshot.file=false
diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/localhost-access-logback.xml b/kubernetes/aai/charts/aai-traversal/resources/config/localhost-access-logback.xml
new file mode 100644 (file)
index 0000000..a318796
--- /dev/null
@@ -0,0 +1,62 @@
+<!--
+
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    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=========================================================
+
+    ECOMP is a trademark and service mark of AT&T Intellectual Property.
+
+-->
+<configuration>
+       <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
+       <appender name="ACCESS"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log.%d{yyyy-MM-dd}
+                       </fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.CustomLogPatternLayoutEncoder">
+                       <Pattern>%a %u %z [%t] "%m %U%q" %s %b %y %i{X-TransactionId} %i{X-FromAppId} %i{X-Forwarded-For} %i{X-AAI-SSL-Client-CN} %i{X-AAI-SSL-Client-OU} %i{X-AAI-SSL-Client-O} %i{X-AAI-SSL-Client-L} %i{X-AAI-SSL-Client-ST} %i{X-AAI-SSL-Client-C} %i{X-AAI-SSL-Client-NotBefore} %i{X-AAI-SSL-Client-NotAfter} %i{X-AAI-SSL-Client-DN} %D</Pattern>
+               </encoder>
+       </appender>
+       <appender-ref ref="ACCESS" />
+</configuration>
+
+<!-- 
+%a - Remote IP address
+%A - Local IP address
+%b - Bytes sent, excluding HTTP headers, or '-' if no bytes were sent
+%B - Bytes sent, excluding HTTP headers
+%h - Remote host name
+%H - Request protocol
+%l - Remote logical username from identd (always returns '-')
+%m - Request method
+%p - Local port
+%q - Query string (prepended with a '?' if it exists, otherwise an empty string
+%r - First line of the request
+%s - HTTP status code of the response
+%S - User session ID
+%t - Date and time, in Common Log Format format
+%u - Remote user that was authenticated
+%U - Requested URL path
+%v - Local server name
+%I - current request thread name (can compare later with stacktraces)
+
+%z - Custom pattern that parses the cert for the subject
+%y - Custom pattern determines rest or dme2
+ -->
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/log/logback.xml b/kubernetes/aai/charts/aai-traversal/resources/config/log/logback.xml
deleted file mode 100644 (file)
index fb8d8a5..0000000
+++ /dev/null
@@ -1,345 +0,0 @@
-<configuration debug="false" scan="true" scanPeriod="3 seconds">
-    <contextName>${module.ajsc.namespace.name}</contextName>
-    <jmxConfigurator />
-    <property name="logDir" value="/var/log/onap" />
-    <property name="componentName" value="aai"></property>
-    <property name="restLogDirectory" value="${logDir}/${componentName}/rest" />
-    <property name="dmaapLogDirectory" value="${logDir}/${componentName}/dmaapAAIEventConsumer" />
-    <property name="perfLogsDirectory" value="${logDir}/${componentName}/perf-audit" />
-        <!--  default eelf log file names -->
-    <property name="errorLogName" value="error" />
-    <property name="metricsLogName" value="metrics" />
-    <property name="auditLogName" value="audit" />
-    <property name="debugLogName" value="debug" />
-    <property name="queueSize" value="256" />
-    <property name="maxFileSize" value="50MB" />
-    <property name="maxHistory" value="30" />
-    <property name="totalSizeCap" value="10GB" />
-    <property name="pattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}\t[%thread]\t%-5level\t%logger\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
-    <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>ERROR</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <encoder>
-            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="SANE">
-        <file>${restLogDirectory}/sane.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${restLogDirectory}/sane.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncSANE">
-        <queueSize>${queueSize}</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="SANE" />
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="METRIC">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>INFO</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <file>${restLogDirectory}/${metricsLogName}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${restLogDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncMETRIC">
-        <queueSize>${queueSize}</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="METRIC" />
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="DEBUG">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <file>${restLogDirectory}/${debugLogName}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${restLogDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncDEBUG">
-        <queueSize>${queueSize}</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="DEBUG" />
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ERROR">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-        </filter>
-        <file>${restLogDirectory}/${errorLogName}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${restLogDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncERROR">
-        <queueSize>${queueSize}</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="ERROR" />
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="AUDIT">
-        <file>${restLogDirectory}/${auditLogName}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${restLogDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncAUDIT">
-        <queueSize>${queueSize}</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="AUDIT" />
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="translog">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <file>${restLogDirectory}/translog.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${restLogDirectory}/translog.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="asynctranslog">
-        <queueSize>${queueSize}</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="translog" />
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="dmaapAAIEventConsumer">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-        </filter>
-        <File>${dmaapLogDirectory}/${errorLogName}.log</File>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${dmaapLogDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="dmaapAAIEventConsumerDebug">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <File>${dmaapLogDirectory}/${debugLogName}.log</File>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${dmaapLogDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="dmaapAAIEventConsumerMetric">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>INFO</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <File>${dmaapLogDirectory}/${metricsLogName}.log</File>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${dmaapLogDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <!-- Spring related loggers -->
-    <logger level="WARN" name="org.springframework" />
-    <logger level="WARN" name="org.springframework.beans" />
-    <logger level="WARN" name="org.springframework.web" />
-    <logger level="WARN" name="com.blog.spring.jms" />
-    <!-- AJSC Services (bootstrap services) -->
-    <logger level="WARN" name="ajsc" />
-    <logger level="WARN" name="ajsc.RouteMgmtService" />
-    <logger level="WARN" name="ajsc.ComputeService" />
-    <logger level="WARN" name="ajsc.VandelayService" />
-    <logger level="WARN" name="ajsc.FilePersistenceService" />
-    <logger level="WARN" name="ajsc.UserDefinedJarService" />
-    <logger level="WARN" name="ajsc.UserDefinedBeansDefService" />
-    <logger level="WARN" name="ajsc.LoggingConfigurationService" />
-    <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet 
-                logging) -->
-    <logger level="WARN" name="ajsc.utils" />
-    <logger level="WARN" name="ajsc.utils.DME2Helper" />
-    <logger level="WARN" name="ajsc.filters" />
-    <logger level="WARN" name="ajsc.beans.interceptors" />
-    <logger level="WARN" name="ajsc.restlet" />
-    <logger level="WARN" name="ajsc.servlet" />
-    <logger level="WARN" name="com.att.ajsc" />
-    <logger level="WARN" name="com.att.ajsc.csi.logging" />
-    <logger level="WARN" name="com.att.ajsc.filemonitor" />
-    <!-- Other Loggers that may help troubleshoot -->
-    <logger level="WARN" name="net.sf" />
-    <logger level="WARN" name="org.apache.commons.httpclient" />
-    <logger level="WARN" name="org.apache.commons" />
-    <logger level="WARN" name="org.apache.coyote" />
-    <logger level="WARN" name="org.apache.jasper" />
-    <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. 
-                May aid in troubleshooting) -->
-    <logger level="WARN" name="org.apache.camel" />
-    <logger level="WARN" name="org.apache.cxf" />
-    <logger level="WARN" name="org.apache.camel.processor.interceptor" />
-    <logger level="WARN" name="org.apache.cxf.jaxrs.interceptor" />
-    <logger level="WARN" name="org.apache.cxf.service" />
-    <logger level="WARN" name="org.restlet" />
-    <logger level="WARN" name="org.apache.camel.component.restlet" />
-    <!-- logback internals logging -->
-    <logger level="WARN" name="ch.qos.logback.classic" />
-    <logger level="WARN" name="ch.qos.logback.core" />
-    <!-- logback jms appenders & loggers definition starts here -->
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="auditLogs">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
-        <file>${perfLogsDirectory}/Audit-${lrmRVer}-${lrmRO}-${Pid}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${perfLogsDirectory}/Audit-${lrmRVer}-${lrmRO}-${Pid}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="perfLogs">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
-        <file>${perfLogsDirectory}/Perform-${lrmRVer}-${lrmRO}-${Pid}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${perfLogsDirectory}/Perform-${lrmRVer}-${lrmRO}-${Pid}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC-audit">
-        <queueSize>${queueSize}</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <discardingThreshold>0</discardingThreshold>
-        <appender-ref ref="Audit-Record-Queue" />
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC-perf">
-        <queueSize>${queueSize}</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <discardingThreshold>0</discardingThreshold>
-        <appender-ref ref="Performance-Tracker-Queue" />
-    </appender>
-    <logger additivity="false" level="INFO" name="AuditRecord">
-        <appender-ref ref="ASYNC-audit" />
-        <appender-ref ref="auditLogs" />
-    </logger>
-    <logger additivity="false" level="INFO" name="AuditRecord_DirectCall">
-        <appender-ref ref="ASYNC-audit" />
-        <appender-ref ref="auditLogs" />
-    </logger>
-    <logger additivity="false" level="INFO" name="PerfTrackerRecord">
-        <appender-ref ref="ASYNC-perf" />
-        <appender-ref ref="perfLogs" />
-    </logger>
-    <!-- logback jms appenders & loggers definition ends here -->
-    <logger additivity="false" level="DEBUG" name="org.onap.aai.interceptors">
-        <appender-ref ref="asynctranslog" />
-    </logger>
-    <logger level="DEBUG" name="org.onap.aai.interceptors.PreAaiAjscInterceptor">
-        <appender-ref ref="asyncAUDIT" />
-    </logger>
-    <logger level="DEBUG" name="org.onap.aai.interceptors.PostAaiAjscInterceptor">
-        <appender-ref ref="asyncAUDIT" />
-    </logger>
-    <logger additivity="false" level="DEBUG" name="org.onap.aai.dmaap">
-        <appender-ref ref="dmaapAAIEventConsumer" />
-        <appender-ref ref="dmaapAAIEventConsumerDebug" />
-        <appender-ref ref="dmaapAAIEventConsumerMetric" />
-    </logger>
-    <logger level="WARN" name="org.apache" />
-    <logger level="WARN" name="org.zookeeper" />
-    <logger level="WARN" name="com.thinkaurelius" />
-    <!-- ============================================================================ -->
-    <!-- General EELF logger -->
-    <!-- ============================================================================ -->
-    <logger additivity="false" level="WARN" name="com.att.eelf">
-        <appender-ref ref="asyncDEBUG" />
-        <appender-ref ref="asyncERROR" />
-        <appender-ref ref="asyncMETRIC" />
-        <appender-ref ref="asyncAUDIT" />
-    </logger>
-    <root level="INFO">
-        <appender-ref ref="asyncDEBUG" />
-        <appender-ref ref="asyncERROR" />
-    </root>
-</configuration>
diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/logback.xml b/kubernetes/aai/charts/aai-traversal/resources/config/logback.xml
new file mode 100644 (file)
index 0000000..2ed8f5c
--- /dev/null
@@ -0,0 +1,365 @@
+<!--
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    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=========================================================
+    ECOMP is a trademark and service mark of AT&T Intellectual Property.
+-->
+<configuration scan="true" scanPeriod="60 seconds" debug="false">
+    <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
+    <property resource="application.properties" />
+    <property name="namespace" value="aai-traversal"/>
+    <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
+    <jmxConfigurator />
+    <property name="logDirectory" value="${AJSC_HOME}/logs" />
+    <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+    <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+    <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+    <!--  <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> -->
+    <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+    <property name="eelfTransLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{partnerName}:%m%n"/>
+    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
+    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
+    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <pattern>
+                %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
+            </pattern>
+        </encoder>
+    </appender>
+    <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${logDirectory}/rest/sane.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern>
+        </rollingPolicy>
+        <encoder>
+            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
+            </pattern>
+        </encoder>
+    </appender>
+    <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="SANE" />
+    </appender>
+    <appender name="METRIC"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>INFO</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <file>${logDirectory}/rest/metrics.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfMetricLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="METRIC" />
+    </appender>
+    <appender name="DEBUG"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>DEBUG</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <file>${logDirectory}/rest/debug.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="DEBUG" />
+    </appender>
+    <appender name="ERROR"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+            <level>WARN</level>
+        </filter>
+        <file>${logDirectory}/rest/error.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfErrorLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="ERROR" />
+    </appender>
+    <appender name="AUDIT"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${logDirectory}/rest/audit.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfAuditLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="AUDIT" />
+    </appender>
+    <appender name="translog"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>DEBUG</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <file>${logDirectory}/rest/translog.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfTransLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="translog" />
+    </appender>
+    <appender name="dmaapAAIEventConsumer"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+            <level>WARN</level>
+        </filter>
+        <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="dmaapAAIEventConsumerDebug"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>DEBUG</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="dmaapAAIEventConsumerMetric"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>INFO</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfMetricLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="external"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+            <level>WARN</level>
+        </filter>
+        <file>${logDirectory}/external/external.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <logger name="org.onap.aai" level="DEBUG" additivity="false">
+        <appender-ref ref="asyncDEBUG" />
+        <appender-ref ref="asyncERROR" />
+        <appender-ref ref="asyncMETRIC" />
+        <appender-ref ref="asyncSANE" />
+    </logger>
+    <!-- Spring related loggers -->
+    <logger name="org.springframework" level="WARN" />
+    <logger name="org.springframework.beans" level="WARN" />
+    <logger name="org.springframework.web" level="WARN" />
+    <logger name="com.blog.spring.jms" level="WARN" />
+    <logger name="com.jayway.jsonpath" level="WARN" />
+    <!-- AJSC Services (bootstrap services) -->
+    <logger name="ajsc" level="WARN" />
+    <logger name="ajsc.RouteMgmtService" level="WARN" />
+    <logger name="ajsc.ComputeService" level="WARN" />
+    <logger name="ajsc.VandelayService" level="WARN" />
+    <logger name="ajsc.FilePersistenceService" level="WARN" />
+    <logger name="ajsc.UserDefinedJarService" level="WARN" />
+    <logger name="ajsc.UserDefinedBeansDefService" level="WARN" />
+    <logger name="ajsc.LoggingConfigurationService" level="WARN" />
+    <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet
+        logging) -->
+    <logger name="org.codehaus.groovy" level="WARN" />
+    <logger name="com.att.scamper" level="WARN" />
+    <logger name="ajsc.utils" level="WARN" />
+    <logger name="ajsc.utils.DME2Helper" level="WARN" />
+    <logger name="ajsc.filters" level="WARN" />
+    <logger name="ajsc.beans.interceptors" level="WARN" />
+    <logger name="ajsc.restlet" level="WARN" />
+    <logger name="ajsc.servlet" level="WARN" />
+    <logger name="com.att.ajsc" level="WARN" />
+    <logger name="com.att.ajsc.csi.logging" level="WARN" />
+    <logger name="com.att.ajsc.filemonitor" level="WARN" />
+    <logger name="com.netflix.loadbalancer" level="WARN" />
+    <logger name="org.apache.zookeeper" level="OFF" />
+    <!-- Other Loggers that may help troubleshoot -->
+    <logger name="net.sf" level="WARN" />
+    <logger name="org.apache.commons.httpclient" level="WARN" />
+    <logger name="org.apache.commons" level="WARN" />
+    <logger name="org.apache.coyote" level="WARN" />
+    <logger name="org.apache.jasper" level="WARN" />
+    <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
+        May aid in troubleshooting) -->
+    <logger name="org.apache.camel" level="WARN" />
+    <logger name="org.apache.cxf" level="WARN" />
+    <logger name="org.apache.camel.processor.interceptor" level="WARN" />
+    <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
+    <logger name="org.apache.cxf.service" level="WARN" />
+    <logger name="org.restlet" level="WARN" />
+    <logger name="org.apache.camel.component.restlet" level="WARN" />
+    <logger name="org.hibernate.validator" level="WARN" />
+    <logger name="org.hibernate" level="WARN" />
+    <logger name="org.hibernate.ejb" level="OFF" />
+    <!-- logback internals logging -->
+    <logger name="ch.qos.logback.classic" level="WARN" />
+    <logger name="ch.qos.logback.core" level="WARN" />
+    <logger name="org.eclipse.jetty" level="WARN" />
+    <!-- logback jms appenders & loggers definition starts here -->
+    <appender name="auditLogs"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
+        <file>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.log
+        </file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+            <fileNamePattern>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
+            </fileNamePattern>
+            <minIndex>1</minIndex>
+            <maxIndex>9</maxIndex>
+        </rollingPolicy>
+        <triggeringPolicy
+            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+            <maxFileSize>5MB</maxFileSize>
+        </triggeringPolicy>
+        <encoder>
+            <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+        </encoder>
+    </appender>
+    <appender name="perfLogs"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
+        <file>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.log
+        </file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+            <fileNamePattern>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
+            </fileNamePattern>
+            <minIndex>1</minIndex>
+            <maxIndex>9</maxIndex>
+        </rollingPolicy>
+        <triggeringPolicy
+            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+            <maxFileSize>5MB</maxFileSize>
+        </triggeringPolicy>
+        <encoder>
+            <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+        </encoder>
+    </appender>
+    <appender name="miscLogs" class="ch.qos.logback.core.rolling.RollingFileAppender">
+                <file>${logDirectory}/misc/misc.log</file>
+                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                        <fileNamePattern>${logDirectory}/misc/misc.log.%d{yyyy-MM-dd}</fileNamePattern>
+                </rollingPolicy>
+                <encoder>
+                        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n                                                              
+                        </pattern>
+        </encoder>
+        </appender>
+    <logger name="AuditRecord" level="INFO" additivity="false">
+        <appender-ref ref="auditLogs" />
+    </logger>
+    <logger name="AuditRecord_DirectCall" level="INFO" additivity="false">
+        <appender-ref ref="auditLogs" />
+    </logger>
+    <logger name="PerfTrackerRecord" level="INFO" additivity="false">
+        <appender-ref ref="perfLogs" />
+    </logger>
+    <logger name="MiscRecord" level="INFO" additivity="false">
+                <appender-ref ref="miscLogs" />
+        </logger>
+    <!-- logback jms appenders & loggers definition ends here -->
+    <logger name="org.onap.aai.interceptors.post" level="DEBUG"
+            additivity="false">
+        <appender-ref ref="asynctranslog" />
+    </logger>
+    <logger name="org.onap.aai.interceptors.pre.SetLoggingContext" level="DEBUG">
+        <appender-ref ref="asyncAUDIT"/>
+    </logger>
+    <logger name="org.onap.aai.interceptors.post.ResetLoggingContext" level="DEBUG">
+        <appender-ref ref="asyncAUDIT"/>
+    </logger>
+    <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false">
+        <appender-ref ref="dmaapAAIEventConsumer" />
+        <appender-ref ref="dmaapAAIEventConsumerDebug" />
+        <appender-ref ref="dmaapAAIEventConsumerMetric" />
+    </logger>
+    <logger name="org.apache" level="OFF" />
+    <logger name="org.zookeeper" level="OFF" />
+    <logger name="com.thinkaurelius" level="WARN" />
+    <logger name="com.att.aft.dme2" level="WARN" />
+    <!-- ============================================================================ -->
+    <!-- General EELF logger -->
+    <!-- ============================================================================ -->
+    <logger name="com.att.eelf" level="WARN" additivity="false">
+        <appender-ref ref="asyncDEBUG" />
+        <appender-ref ref="asyncERROR" />
+        <appender-ref ref="asyncMETRIC" />
+    </logger>
+    <root level="DEBUG">
+        <appender-ref ref="external" />
+    </root>
+</configuration>
diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/realm.properties b/kubernetes/aai/charts/aai-traversal/resources/config/realm.properties
new file mode 100644 (file)
index 0000000..fb692cc
--- /dev/null
@@ -0,0 +1,12 @@
+# format : username: password[,rolename ...]
+# default username/password: AAI/AAI, MSO/MSO, ModelLoader/ModelLoader...
+AAI:OBF:1gfr1ev31gg7,admin
+MSO:OBF:1jzx1lz31k01,admin
+SDNC:OBF:1itr1i0l1i151isv,admin
+DCAE:OBF:1g8u1f9d1f991g8w,admin
+POLICY:OBF:1mk61i171ima1im41i0j1mko,admin
+ASDC:OBF:1f991j0u1j001f9d,admin
+VID:OBF:1jm91i0v1jl9,admin
+APPC:OBF:1f991ksf1ksf1f9d,admin
+ModelLoader:OBF:1qvu1v2h1sov1sar1wfw1j7j1wg21saj1sov1v1x1qxw,admin
+AaiUI:OBF:1gfr1p571unz1p4j1gg7,admin
index a7e9428..cc88444 100644 (file)
@@ -4,4 +4,61 @@ metadata:
   name: {{ include "common.fullname" . }}-log
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/log/logback.xml").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-localhost-access-log-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/localhost-access-logback.xml").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-db-real-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/janusgraph-realtime.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-db-cached-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/janusgraph-cached.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-aaiconfig-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/aaiconfig.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-springapp-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/application.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-realm-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/realm.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.fullname" . }}-auth-secret
+  namespace: {{ include "common.namespace" . }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/config/aai_keystore").AsSecrets . | indent 2 }}
\ No newline at end of file
index b4249ae..bda80a0 100644 (file)
@@ -245,11 +245,14 @@ spec:
           }
           ]'
     spec:
+      hostname: aai-traversal
       initContainers:
       - command:
         - /root/ready.py
         args:
         - --container-name
+        - aai-cassandra
+        - --container-name
         - aai-resources
         env:
         - name: NAMESPACE
@@ -265,32 +268,39 @@ spec:
         image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         env:
-        - name: CHEF_BRANCH
-          value: master
-        - name: AAI_CHEF_ENV
-          value: simpledemo
-        - name: AAI_CORE_VERSION
-          value: {{ .Values.config.aaicoreversion }}
-        - name: AAI_CHEF_LOC
-          value: /var/chef/aai-data/environments
-        - name: CHEF_GIT_URL
-          value: http://gerrit.onap.org/r/aai
-        - name: RESOURCES_HOSTNAME
-          value: aai-resources.{{ include "common.namespace" . }}
+        - name: DISABLE_UPDATE_QUERY
+          value: {{ .Values.config.disableUpdateQuery | quote }}
+        - name: LOCAL_USER_ID
+          value: {{ .Values.config.userId | quote }}
+        - name: LOCAL_GROUP_ID
+          value: {{ .Values.config.groupId | quote }}
         volumeMounts:
         - mountPath: /etc/localtime
           name: localtime
           readOnly: true
-        - mountPath: /var/chef/aai-data/chef-config/dev/.knife/solo.rb
-          subPath: solo.rb
-          name: aai-chef-config
-        - mountPath: /var/chef/aai-data/environments/
-          name: aai-data
+        - mountPath: /opt/app/aai-traversal/resources/etc/appprops/janusgraph-realtime.properties
+          name: {{ include "common.fullname" . }}-db-real-conf
+          subPath: janusgraph-realtime.properties
+        - mountPath: /opt/app/aai-traversal/resources/etc/appprops/janusgraph-cached.properties
+          name: {{ include "common.fullname" . }}-db-cached-conf
+          subPath: janusgraph-cached.properties
+        - mountPath: /opt/app/aai-traversal/resources/etc/appprops/aaiconfig.properties
+          name: {{ include "common.fullname" . }}-aaiconfig-conf
+          subPath: aaiconfig.properties
         - mountPath: /var/log/onap
-          name: aai-traversal-logs
-        - mountPath: /opt/app/aai-traversal/bundleconfig/etc/logback.xml
-          name: aai-traversal-log-conf
+          name: {{ include "common.fullname" . }}-logs
+        - mountPath: /opt/app/aai-traversal/resources/logback.xml
+          name: {{ include "common.fullname" . }}-log-conf
           subPath: logback.xml
+        - mountPath: /opt/app/aai-traversal/resources/localhost-access-logback.xml
+          name: {{ include "common.fullname" . }}-localhost-access-log-conf
+          subPath: localhost-access-logback.xml
+        - mountPath: /opt/app/aai-traversal/resources/application.properties
+          name: {{ include "common.fullname" . }}-springapp-conf
+          subPath: application.properties
+        - mountPath: /opt/app/aai-traversal/resources/etc/auth/aai_keystore
+          name: {{ include "common.fullname" . }}-auth-sec
+          subPath: aai_keystore
         ports:
         - containerPort: {{ .Values.service.internalPort }}
         - containerPort: {{ .Values.service.internalPort2 }}
@@ -328,30 +338,44 @@ spec:
           subPath: filebeat.yml
           name: filebeat-conf
         - mountPath: /var/log/onap
-          name: aai-traversal-logs
+          name: {{ include "common.fullname" . }}-logs
         - mountPath: /usr/share/filebeat/data
-          name: aai-traversal-filebeat
-
+          name: {{ include "common.fullname" . }}-filebeat
       volumes:
       - name: localtime
         hostPath:
           path: /etc/localtime
-      - name: aai-chef-config
-        configMap:
-          name: aai-chef-config
-      - name: aai-data
-        configMap:
-          name: aai-resources-environments
       - name: filebeat-conf
         configMap:
           name: aai-filebeat
-      - name: aai-traversal-logs
+      - name: {{ include "common.fullname" . }}-logs
         emptyDir: {}
-      - name: aai-traversal-filebeat
+      - name: {{ include "common.fullname" . }}-filebeat
         emptyDir: {}
-      - name: aai-traversal-log-conf
+      - name: {{ include "common.fullname" . }}-log-conf
         configMap:
          name: {{ include "common.fullname" . }}-log
+      - name: {{ include "common.fullname" . }}-localhost-access-log-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-localhost-access-log-configmap
+      - name: {{ include "common.fullname" . }}-db-real-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-db-real-configmap
+      - name: {{ include "common.fullname" . }}-db-cached-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-db-cached-configmap
+      - name: {{ include "common.fullname" . }}-aaiconfig-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-aaiconfig-configmap
+      - name: {{ include "common.fullname" . }}-springapp-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-springapp-configmap
+      - name: {{ include "common.fullname" . }}-realm-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-realm-configmap
+      - name: {{ include "common.fullname" . }}-auth-sec
+        secret:
+         secretName: {{ include "common.fullname" . }}-auth-secret
       restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/charts/aai-traversal/templates/job.yaml b/kubernetes/aai/charts/aai-traversal/templates/job.yaml
new file mode 100644 (file)
index 0000000..c15c053
--- /dev/null
@@ -0,0 +1,139 @@
+# Copyright Â© 2017-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: batch/v1
+kind: Job
+metadata:
+  name: {{ include "common.fullname" . }}-update-query-data
+  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: {{ include "common.name" . }}-job
+        release: {{ .Release.Name }}
+      name: {{ include "common.name" . }}
+    spec:
+      initContainers:
+      - command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - aai
+        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" . }}-job
+        image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        command:
+        - bash
+        - "-c"
+        - |
+          set -x
+          mkdir -p /opt/aai/logroot/AAI-GQ/misc
+          bash -x /opt/app/aai-traversal/docker-entrypoint.sh install/updateQueryData.sh
+        env:
+        - name: LOCAL_USER_ID
+          value: "1000"
+        - name: LOCAL_GROUP_ID
+          value: "1000"
+        volumeMounts:
+        - mountPath: /etc/localtime
+          name: localtime
+          readOnly: true
+        - mountPath: /opt/app/aai-traversal/resources/etc/appprops/janusgraph-realtime.properties
+          name: {{ include "common.fullname" . }}-db-real-conf
+          subPath: janusgraph-realtime.properties
+        - mountPath: /opt/app/aai-traversal/resources/etc/appprops/janusgraph-cached.properties
+          name: {{ include "common.fullname" . }}-db-cached-conf
+          subPath: janusgraph-cached.properties
+        - mountPath: /opt/app/aai-traversal/resources/etc/appprops/aaiconfig.properties
+          name: {{ include "common.fullname" . }}-aaiconfig-conf
+          subPath: aaiconfig.properties
+        - mountPath: /var/log/onap
+          name: {{ include "common.fullname" . }}-logs
+        - mountPath: /opt/app/aai-traversal/resources/logback.xml
+          name: {{ include "common.fullname" . }}-log-conf
+          subPath: logback.xml
+        - mountPath: /opt/app/aai-traversal/resources/localhost-access-logback.xml
+          name: {{ include "common.fullname" . }}-localhost-access-log-conf
+          subPath: localhost-access-logback.xml
+        - mountPath: /opt/app/aai-traversal/resources/application.properties
+          name: {{ include "common.fullname" . }}-springapp-conf
+          subPath: application.properties
+        - mountPath: /opt/app/aai-traversal/resources/etc/auth/aai_keystore
+          name: {{ include "common.fullname" . }}-auth-sec
+          subPath: aai_keystore
+        # disable liveness probe when breakpoints set in debugger
+        # so K8s doesn't restart unresponsive container
+        volumeMounts:
+        - mountPath: /usr/share/filebeat/filebeat.yml
+          subPath: filebeat.yml
+          name: filebeat-conf
+        - mountPath: /opt/aai/logroot/AAI-GQ
+          name: {{ include "common.fullname" . }}-logs
+        - mountPath: /usr/share/filebeat/data
+          name: {{ include "common.fullname" . }}-filebeat
+      volumes:
+      - name: localtime
+        hostPath:
+          path: /etc/localtime
+      - name: filebeat-conf
+        configMap:
+          name: aai-filebeat
+      - name: {{ include "common.fullname" . }}-logs
+        hostPath:
+          path: {{ .Values.persistence.mountPath }}/{{ include "common.namespace" . }}/{{ .Values.persistence.mountSubPath }}-update-query
+      - name: {{ include "common.fullname" . }}-filebeat
+        emptyDir: {}
+      - name: {{ include "common.fullname" . }}-log-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-log
+      - name: {{ include "common.fullname" . }}-localhost-access-log-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-localhost-access-log-configmap
+      - name: {{ include "common.fullname" . }}-db-real-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-db-real-configmap
+      - name: {{ include "common.fullname" . }}-db-cached-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-db-cached-configmap
+      - name: {{ include "common.fullname" . }}-aaiconfig-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-aaiconfig-configmap
+      - name: {{ include "common.fullname" . }}-springapp-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-springapp-configmap
+      - name: {{ include "common.fullname" . }}-realm-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-realm-configmap
+      - name: {{ include "common.fullname" . }}-auth-sec
+        secret:
+         secretName: {{ include "common.fullname" . }}-auth-secret
+      restartPolicy: OnFailure
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 1764033..d3d686d 100644 (file)
@@ -5,19 +5,25 @@ global: # global defaults
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
 
 
 # application image
 repository: nexus3.onap.org:10001
-image: openecomp/aai-traversal:v1.1.0
+image: onap/aai-traversal:1.2-STAGING-latest
 pullPolicy: Always
 restartPolicy: Always
 
 # application configuration
 config:
   aaicoreversion: 1.1.0-SNAPSHOT
+  userId: 1000
+  groupId: 1000
+  disableUpdateQuery: true
 
+persistence:
+  mountPath: /dockerdata-nfs
+  mountSubPath: aai/aai-traversal
 
 # default number of instances
 replicaCount: 1
index 78235bc..592e412 100644 (file)
@@ -14,22 +14,5 @@ metadata:
   namespace: {{ include "common.namespace" . }}
 data:
 {{ tpl (.Files.Glob "resources/config/haproxy/*").AsConfig . | indent 2 }}
----
-# this is a shared resource for subcharts
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: aai-chef-config
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/aai-data/chef-config/dev/.knife/solo.rb").AsConfig . | indent 2 }}
----
-# this is a shared resource for subcharts
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: aai-resources-environments
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/aai-data/environments/*").AsConfig . | indent 2 }}
+
 
index b064568..5d08268 100644 (file)
@@ -22,10 +22,12 @@ global: # global defaults
   dockerhubRepository: docker.io
   busyboxImage: busybox
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
   restartPolicy: Always
+  cassandra:
+    replicas: 3
 
 # application image
 dockerhubRepository: registry.hub.docker.com
index 0b9e631..e5f04ca 100755 (executable)
@@ -33,8 +33,8 @@ function enable_odl_cluster(){
   fi
 
   echo "Installing Opendaylight cluster features"
-  ${ODL_HOME}/bin/client -u karaf feature:install odl-mdsal-clustering
-  ${ODL_HOME}/bin/client -u karaf feature:install odl-jolokia
+  ${ODL_HOME}/bin/client feature:install odl-mdsal-clustering
+  ${ODL_HOME}/bin/client feature:install odl-jolokia
 
   echo "Update cluster information statically"
   hm=$(hostname)
@@ -53,13 +53,15 @@ function enable_odl_cluster(){
 }
 
 ODL_HOME=${ODL_HOME:-/opt/opendaylight/current}
-ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U}
-SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc}
+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.dbRootPassword}}}
 ENABLE_ODL_CLUSTER=${ENABLE_ODL_CLUSTER:-false}
 
+appcInstallStartTime=$(date +%s)
+
 #
 # Adding the DMAAP_TOPIC_ENV variable into APPC-ASDC-LISTENER properties
 #
@@ -93,17 +95,24 @@ if [ ! -f ${SDNC_HOME}/.installed ]
 then
         echo "Installing SDNC database"
         ${SDNC_HOME}/bin/installSdncDb.sh
+
         echo "Installing APPC database"
         ${APPC_HOME}/bin/installAppcDb.sh
+
         echo "Starting OpenDaylight"
         ${ODL_HOME}/bin/start
+
         echo "Waiting ${SLEEP_TIME} seconds for OpenDaylight to initialize"
         sleep ${SLEEP_TIME}
-        echo "Inserting modified installFeatures.sh for sdnc"
-        rm ${SDNC_HOME}/bin/installFeatures.sh
-        cp ${APPC_HOME}/data/sdncInstallFeatures.sh ${SDNC_HOME}/bin/installFeatures.sh
+
+        echo "Copying a working version of the logging configuration into the opendaylight etc folder"
+        cp ${APPC_HOME}/data/org.ops4j.pax.logging.cfg ${ODL_HOME}/etc/org.ops4j.pax.logging.cfg
+        echo "Copying a new version of aaf cadi shiro into the opendaylight deploy folder"
+        cp ${APPC_HOME}/data/aaf-cadi-shiro.jar ${ODL_HOME}/deploy/aaf-cadi-shiro.jar
+
         echo "Installing SDNC platform features"
         ${SDNC_HOME}/bin/installFeatures.sh
+
         if [ -x ${SDNC_HOME}/svclogic/bin/install.sh ]
         then
                 echo "Installing directed graphs"
@@ -112,6 +121,7 @@ then
 
         echo "Installing APPC platform features"
         ${APPC_HOME}/bin/installFeatures.sh
+
         if [ -x ${APPC_HOME}/svclogic/bin/install.sh ]
         then
                 echo "Installing APPC DGs using platform-logic"
@@ -126,10 +136,23 @@ then
 
         if $ENABLE_ODL_CLUSTER ; then enable_odl_cluster ; fi
 
+        echo "Adding a property system.properties for AAF cadi.properties location"
+        echo "" >> ${ODL_HOME}/etc/system.properties
+        echo "cadi_prop_files=${APPC_HOME}/data/properties/cadi.properties" >> ${ODL_HOME}/etc/system.properties
+        echo "" >> ${ODL_HOME}/etc/system.properties
+
+        echo "Copying a working version of the shiro configuration into the opendaylight etc folder"
+        cp ${APPC_HOME}/data/shiro.ini ${ODL_HOME}/etc/shiro.ini
+
         echo "Restarting OpenDaylight"
         ${ODL_HOME}/bin/stop
+        echo "Waiting 60 seconds for OpenDaylight stop to complete"
+        sleep 60
         echo "Installed at `date`" > ${SDNC_HOME}/.installed
 fi
 
+        appcInstallEndTime=$(date +%s)
+        echo "Total Appc install took $(expr $appcInstallEndTime - $appcInstallStartTime) seconds"
+
 exec ${ODL_HOME}/bin/karaf
 
index f4ee6fc..2d98d11 100644 (file)
@@ -31,9 +31,9 @@ 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.pass=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+appc.demo.provider.pass=admin
 appc.demo.provider.url=http://localhost:8181/restconf/operations/appc-provider
-appc.provider.vfodl.url=http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@appc-sdnhost.{{.Release.Namespace}}:8282/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://admin:admin@appc-sdnhost.{{.Release.Namespace}}:8282/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
@@ -59,7 +59,7 @@ provider1.identity=http://localhost:8181/apidoc/explorer/index.html
 provider1.tenant1.name=default
 provider1.tenant1.domain=default
 provider1.tenant1.userid=admin
-provider1.tenant1.password=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+provider1.tenant1.password=admin
 
 
 
@@ -83,14 +83,14 @@ 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.pass=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+appc.LCM.provider.pass=admin
 appc.LCM.provider.url=http://localhost:8181/restconf/operations/appc-provider-lcm
 
 # properties from appc-netconf-adapter-bundle, appc-dg-common, appc-dmaap-adapter-bundle
 poolMembers=dmaap.{{.Release.Namespace}}:3904
 event.pool.members=dmaap.{{.Release.Namespace}}:3904
 restconf.user=admin
-restconf.pass=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+restconf.pass=admin
 
 
 # properties found in appc-rest-adapter-bundle, appc-chef-adapter-bundle, appc-iaas-adapter-bundle)
@@ -129,4 +129,4 @@ appc.OAM.topic.read=testOAM
 appc.OAM.topic.write=testOAM
 appc.OAM.client.name=testOAM
 appc.OAM.provider.user=admin
-appc.OAM.provider.pass=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+appc.OAM.provider.pass=admin
index 0574cfc..67b409a 100644 (file)
@@ -4,7 +4,7 @@ metadata:
   name: {{ include "common.fullname" . }}-onap-sdnc-bin
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/appc/opt/onap/sdnc/bin/*").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/appc/opt/onap/ccsdk/bin/*").AsConfig . | indent 2 }}
 ---
 apiVersion: v1
 kind: ConfigMap
@@ -12,7 +12,7 @@ metadata:
   name: {{ include "common.fullname" . }}-onap-sdnc-data-properties
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/appc/opt/onap/sdnc/data/properties/*").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/appc/opt/onap/ccsdk/data/properties/*").AsConfig . | indent 2 }}
 ---
 apiVersion: v1
 kind: ConfigMap
@@ -20,7 +20,7 @@ metadata:
   name: {{ include "common.fullname" . }}-onap-sdnc-svclogic-bin
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/appc/opt/onap/sdnc/svclogic/bin/*").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/appc/opt/onap/ccsdk/svclogic/bin/*").AsConfig . | indent 2 }}
 ---
 apiVersion: v1
 kind: ConfigMap
@@ -28,7 +28,7 @@ metadata:
   name: {{ include "common.fullname" . }}-onap-sdnc-svclogic-config
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/appc/opt/onap/sdnc/svclogic/config/*").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/appc/opt/onap/ccsdk/svclogic/config/*").AsConfig . | indent 2 }}
 ---
 apiVersion: v1
 kind: ConfigMap
index 6ecfc19..5da50a5 100644 (file)
@@ -91,25 +91,25 @@ spec:
           - mountPath: /opt/onap/appc/bin/installAppcDb.sh
             name: onap-appc-bin
             subPath: installAppcDb.sh
-          - mountPath: /opt/onap/sdnc/data/properties/dblib.properties
+          - mountPath: /opt/onap/ccsdk/data/properties/dblib.properties
             name: onap-sdnc-data-properties
             subPath: dblib.properties
-          - mountPath: /opt/onap/sdnc/data/properties/svclogic.properties
+          - mountPath: /opt/onap/ccsdk/data/properties/svclogic.properties
             name: onap-sdnc-data-properties
             subPath: svclogic.properties
-          - mountPath: /opt/onap/sdnc/data/properties/aaiclient.properties
+          - mountPath: /opt/onap/ccsdk/data/properties/aaiclient.properties
             name: onap-sdnc-data-properties
             subPath: aaiclient.properties
-          - mountPath: /opt/onap/sdnc/svclogic/config/svclogic.properties
+          - mountPath: /opt/onap/ccsdk/svclogic/config/svclogic.properties
             name: onap-sdnc-svclogic-config
             subPath: svclogic.properties
-          - mountPath: /opt/onap/sdnc/svclogic/bin/showActiveGraphs.sh
+          - mountPath: /opt/onap/ccsdk/svclogic/bin/showActiveGraphs.sh
             name: onap-sdnc-svclogic-bin
             subPath: showActiveGraphs.sh
-          - mountPath: /opt/onap/sdnc/bin/startODL.sh
+          - mountPath: /opt/onap/ccsdk/bin/startODL.sh
             name: onap-sdnc-bin
             subPath: startODL.sh
-          - mountPath: /opt/onap/sdnc/bin/installSdncDb.sh
+          - mountPath: /opt/onap/ccsdk/bin/installSdncDb.sh
             name: onap-sdnc-bin
             subPath: installSdncDb.sh
           - mountPath: /var/log/onap
index 1330bd2..8deb842 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.1
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
   persistence:
index da29908..9d586ac 100644 (file)
@@ -19,7 +19,7 @@ global: # global defaults
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index 75a70b8..4c95b9f 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
 
 #################################################################
 # Application configuration defaults.
diff --git a/kubernetes/common/common/templates/_service.tpl b/kubernetes/common/common/templates/_service.tpl
new file mode 100644 (file)
index 0000000..77b77d0
--- /dev/null
@@ -0,0 +1,31 @@
+{{/*
+# 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.
+*/}}
+
+{{/*
+  Resolve the name of a chart's service.
+
+  The default will be the chart name (or .Values.nameOverride if set).
+  And the use of .Values.service.name overrides all.
+
+  - .Values.service.name  : override default service (ie. chart) name
+*/}}
+{{/*
+  Expand the service name for a chart.
+*/}}
+{{- define "common.servicename" -}}
+  {{- $name := default .Chart.Name .Values.nameOverride -}}
+  {{- default $name .Values.service.name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
\ No newline at end of file
index c8ded9a..f834896 100644 (file)
@@ -27,7 +27,7 @@ global:
 
   # readiness check
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
 
   # logging agent
   loggingRepository: docker.elastic.co
index a53ed83..8b4a07a 100644 (file)
@@ -12,7 +12,7 @@ global:
 
   # readiness check
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
 
   # logging agent
   loggingRepository: docker.elastic.co
diff --git a/kubernetes/common/mariadb-galera/.helmignore b/kubernetes/common/mariadb-galera/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -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/mariadb-galera/Chart.yaml b/kubernetes/common/mariadb-galera/Chart.yaml
new file mode 100644 (file)
index 0000000..85f36dc
--- /dev/null
@@ -0,0 +1,11 @@
+apiVersion: v1
+description: Chart for MariaDB Galera cluster
+name: mariadb-galera
+version: 2.0.0
+keywords:
+  - mariadb
+  - mysql
+  - database
+  - sql
+  - galera
+  - cluster
\ No newline at end of file
diff --git a/kubernetes/common/mariadb-galera/requirements.yaml b/kubernetes/common/mariadb-galera/requirements.yaml
new file mode 100644 (file)
index 0000000..c169924
--- /dev/null
@@ -0,0 +1,4 @@
+dependencies:
+  - name: common
+    version: ~2.0.0
+    repository: 'file://../common'
\ No newline at end of file
diff --git a/kubernetes/common/mariadb-galera/templates/NOTES.txt b/kubernetes/common/mariadb-galera/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..3dd25ac
--- /dev/null
@@ -0,0 +1,12 @@
+MariaDB-Galera service can be accessed via port 3306 on the following DNS name from within your cluster:
+{{ include "common.fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local
+
+To connect to your database:
+
+1. Run a pod that you can use as a client:
+
+    kubectl run {{ include "common.fullname" . }}-client --rm --tty -i --image mariadb --command -- bash
+
+2. Connect using the mysql cli, then provide your password:
+    $ mysql -h {{ include "common.fullname" . }} {{- if .Values.mysqlRootPassword }} -p {{ .Values.mysqlRootPassword }}{{- end -}}
+
diff --git a/kubernetes/common/mariadb-galera/templates/configmap.yaml b/kubernetes/common/mariadb-galera/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..094a76c
--- /dev/null
@@ -0,0 +1,18 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-confd
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/mariadb/conf.d/*").AsConfig . | indent 2 }}
+---
+{{- if .Values.externalConfig }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-externalConfig
+  namespace: {{ include "common.namespace" . }}
+data:
+  my_extra.cnf: |-
+{{ toYaml .Values.externalConfig | indent 4 }}
+{{- end -}}
\ No newline at end of file
diff --git a/kubernetes/common/mariadb-galera/templates/pv.yaml b/kubernetes/common/mariadb-galera/templates/pv.yaml
new file mode 100644 (file)
index 0000000..184728f
--- /dev/null
@@ -0,0 +1,37 @@
+{{/*
+# Copyright Â© 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolume
+apiVersion: v1
+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 }}"
+    name: {{ include "common.fullname" . }}
+spec:
+  capacity:
+    storage: {{ .Values.persistence.size}}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}
+{{- end -}}
diff --git a/kubernetes/common/mariadb-galera/templates/pvc.yaml b/kubernetes/common/mariadb-galera/templates/pvc.yaml
new file mode 100644 (file)
index 0000000..e27c331
--- /dev/null
@@ -0,0 +1,48 @@
+{{/*
+# Copyright Â© 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+{{- if .Values.persistence.annotations }}
+  annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+  selector:
+    matchLabels:
+      name: {{ include "common.fullname" . }}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  resources:
+    requests:
+      storage: {{ .Values.persistence.size }}
+{{- if .Values.persistence.storageClass }}
+{{- if (eq "-" .Values.persistence.storageClass) }}
+  storageClassName: ""
+{{- else }}
+  storageClassName: "{{ .Values.persistence.storageClass }}"
+{{- end }}
+{{- end }}
+{{- end -}}
diff --git a/kubernetes/common/mariadb-galera/templates/secrets.yaml b/kubernetes/common/mariadb-galera/templates/secrets.yaml
new file mode 100644 (file)
index 0000000..101a7eb
--- /dev/null
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+type: Opaque
+data:
+  db-root-password: {{ .Values.config.mariadbRootPassword | b64enc | quote }}
+  user-password: {{ default "" .Values.config.userPassword | b64enc | quote }}
\ No newline at end of file
diff --git a/kubernetes/common/mariadb-galera/templates/service.yaml b/kubernetes/common/mariadb-galera/templates/service.yaml
new file mode 100644 (file)
index 0000000..f5f93ed
--- /dev/null
@@ -0,0 +1,19 @@
+apiVersion: v1
+kind: Service
+metadata:
+  annotations:
+    service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+spec:
+  ports:
+    - name: {{ .Values.service.name }}
+      port: {{ .Values.service.internalPort }}
+  clusterIP: None
+  selector:
+    app: {{ include "common.fullname" . }}
\ No newline at end of file
diff --git a/kubernetes/common/mariadb-galera/templates/statefulset.yaml b/kubernetes/common/mariadb-galera/templates/statefulset.yaml
new file mode 100644 (file)
index 0000000..b8ba75e
--- /dev/null
@@ -0,0 +1,119 @@
+apiVersion: apps/v1beta1
+kind: StatefulSet
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+spec:
+  serviceName: {{ include "common.fullname" . }}
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.fullname" . }}
+      annotations:
+        pod.alpha.kubernetes.io/initialized: "true"
+    spec:
+    {{- if .Values.nodeSelector }}
+      nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+    {{- end }}
+      volumes:
+      {{- if .Values.externalConfig }}
+        - name: config
+          configMap:
+            name: {{ include "common.fullname" . }}-externalConfig
+      {{- end}}
+        - name: localtime
+          hostPath:
+            path: /etc/localtime
+      imagePullSecrets:
+      - name: {{ include "common.namespace" . }}-docker-registry-key
+      containers:
+        - name: {{ include "common.fullname" . }}
+          image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy | quote}}
+          env:
+            - name: POD_NAMESPACE
+              valueFrom:
+                fieldRef:
+                  apiVersion: v1
+                  fieldPath: metadata.namespace
+            - name: MYSQL_USER
+              value: {{ default "" .Values.config.userName | quote }}
+            - name: MYSQL_PASSWORD
+              valueFrom:
+                secretKeyRef:
+                  name: {{ template "common.fullname" . }}
+                  key: user-password
+            - name: MYSQL_DATABASE
+              value: {{ default "" .Values.config.mysqlDatabase | quote }}
+            - name: MYSQL_ROOT_PASSWORD
+              valueFrom:
+                secretKeyRef:
+                  name: {{ template "common.fullname" . }}
+                  key: db-root-password
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+            name: {{ .Values.service.name }}
+          - containerPort: {{ .Values.service.sstPort }}
+            name: {{ .Values.service.sstName }}
+          - containerPort: {{ .Values.service.replicationPort }}
+            name: {{ .Values.service.replicationName }}
+          - containerPort: {{ .Values.service.istPort }}
+            name: {{ .Values.service.istName }}
+          readinessProbe:
+            exec:
+              command:
+              - /usr/share/container-scripts/mysql/readiness-probe.sh
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+      {{- if eq .Values.liveness.enabled true }}
+          livenessProbe:
+            exec:
+              command: ["mysqladmin", "ping"]
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+            timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
+      {{- end }}
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+          volumeMounts:
+        {{- if .Values.externalConfig }}
+          - mountPath: /etc/config
+            name: config
+        {{- end}}
+          - mountPath: /etc/localtime
+            name: localtime
+            readOnly: true
+{{- if .Values.persistence.enabled }}
+          - mountPath: /var/lib/mysql
+            name: {{ include "common.fullname" . }}-data
+            subPath: data
+      initContainers:
+        - name: mariadb-galera-prepare
+          image: {{ .Values.global.repository | default .Values.repository }}/{{ .Values.imageInit }}
+          command: ["sh", "-c", "chown -R 27:27 /var/lib/mysql"]
+          volumeMounts:
+            - name: {{ include "common.fullname" . }}-data
+              mountPath: /var/lib/mysql
+  volumeClaimTemplates:
+  - metadata:
+      name: {{ include "common.fullname" . }}-data
+      annotations:
+  {{- if .Values.persistence.storageClass }}
+        volume.beta.kubernetes.io/storage-class: {{ .Values.persistence.storageClass | quote }}
+  {{- else }}
+        volume.alpha.kubernetes.io/storage-class: default
+  {{- end }}
+    spec:
+      accessModes:
+      - {{ .Values.persistence.accessMode | quote }}
+      resources:
+        requests:
+          storage: {{ .Values.persistence.size | quote }}
+{{- end }}
\ No newline at end of file
diff --git a/kubernetes/common/mariadb-galera/values.yaml b/kubernetes/common/mariadb-galera/values.yaml
new file mode 100644 (file)
index 0000000..f65a8a5
--- /dev/null
@@ -0,0 +1,115 @@
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  persistence: {}
+  repository: nexus3.onap.org:10001
+
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+
+#repository: mysql
+repository: nexus3.onap.org:10001
+image: adfinissygroup/k8s-mariadb-galera-centos:v002
+imageInit: busybox
+pullPolicy: IfNotPresent
+
+# application configuration
+config:
+  mariadbRootPassword: secretpassword
+  userName: my-user
+  userPassword: my-password
+  mysqlDatabase: my-database
+
+# default number of instances in the StatefulSet
+replicaCount: 3
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 30
+  periodSeconds: 10
+  timeoutSeconds: 5
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 15
+  periodSeconds: 10
+
+## Persist data to a persitent volume
+persistence:
+  enabled: false
+
+  ## 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: <storageClass>
+  ## 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
+
+
+service:
+  internalPort: 3306
+  name: mariadb-galera
+  sstPort: 4444
+  sstName: sst
+  replicationPort: 4567
+  replicationName: replication
+  istPort: 4568
+  istName: ist
+
+ingress:
+  enabled: false
+
+
+## Configure MariaDB-Galera with a custom my.cnf file
+## ref: https://mariadb.com/kb/en/mariadb/configuring-mariadb-with-mycnf/#example-of-configuration-file
+##
+externalConfig: {}
+# externalConfig: |-
+  # [mysqld]
+  # innodb_buffer_pool_size=2G
+
+#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
+
+# Name for mariadb-galera cluster - should be unique accross all projects or other clusters
+nameOverride: mariadb-galera
+
+# DNS name for mariadb-galera cluster - should be unique accross all projects other clusters
+#dnsnameOverride: mariadb-galera
\ No newline at end of file
index 3f19977..35894df 100644 (file)
@@ -14,7 +14,7 @@
 # limitations under the License.
 */}}
 
-#{{ if not .Values.disableNfsProvisioner }}
+{{ if not .Values.disableNfsProvisioner }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
@@ -75,4 +75,4 @@ spec:
         - name: export-volume
           hostPath:
             path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Namespace }}/{{ .Values.persistence.mountSubPath }}
-#{{ end }}
+{{ end }}
index edb370a..d1558f1 100644 (file)
@@ -14,7 +14,7 @@
 # limitations under the License.
 */}}
 
-{{- if (and (and (.Values.persistence.enabled) (not .Values.persistence.existingClaim)) ( .Values.disableNfsProvisioner)) -}}
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
 kind: PersistentVolumeClaim
 apiVersion: v1
 metadata:
index e436988..ff73b45 100644 (file)
@@ -236,18 +236,7 @@ spec:
         hostPath:
           path: /etc/localtime
       - name: {{ include "common.fullname" . }}-data
-#{{ if not .Values.disableNfsProvisioner }}
-  volumeClaimTemplates:
-  - metadata:
-      name: {{ include "common.fullname" . }}-data
-      annotations:
-        volume.beta.kubernetes.io/storage-class: "{{ include "common.fullname" . }}-data"
-    spec:
-      accessModes: ["ReadWriteMany"]
-      resources:
-        requests:
-          storage: 1Gi
-#{{ else if .Values.persistence.enabled }}
+#{{ if .Values.persistence.enabled }}
         persistentVolumeClaim:
           claimName: {{ include "common.fullname" . }}-data
 #{{ else }}
index 398c998..3cd502e 100644 (file)
 # limitations under the License.
 */}}
 
+{{ if not .Values.disableNfsProvisioner }}
 kind: StorageClass
 apiVersion: storage.k8s.io/v1
 metadata:
   name: "{{ include "common.fullname" . }}-data"
   namespace: {{ include "common.namespace" . }}
 provisioner: {{ include "common.fullname" . }}/nfs
+{{ end }}
index 1e8c8bd..40310a8 100644 (file)
@@ -20,7 +20,7 @@ global:
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   persistence: {}
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.1
+  readinessImage: readiness-check:2.0.0
 
 
 #################################################################
index 781345a..0ae7459 100644 (file)
@@ -20,7 +20,7 @@ global:
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   persistence: {}
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
 
 #################################################################
 # Application configuration defaults.
index 2a57e3a..e6fa9c1 100644 (file)
@@ -19,7 +19,7 @@ global:
   repository: nexus3.onap.org:10001
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index ee26f54..b35ec35 100644 (file)
@@ -19,7 +19,7 @@ global:
   repository: nexus3.onap.org:10001
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index a7adb75..f0c1319 100644 (file)
@@ -19,4 +19,3 @@
 .project
 .idea/
 *.tmproj
-dcae-parameters-sample.yaml
\ No newline at end of file
index 3eaca46..24916d0 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright Â© 2017 Amdocs, Bell Canada
+# 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.
@@ -13,6 +13,6 @@
 # limitations under the License.
 
 apiVersion: v1
-description: DCAE Generation 2 bootstrap container
+description: ONAP DCAE Gen2
 name: dcaegen2
-version: 1.1.0
+version: 2.0.0
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/.helmignore b/kubernetes/dcaegen2/charts/dcae-bootstrap/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -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/dcaegen2/charts/dcae-bootstrap/Chart.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/Chart.yaml
new file mode 100644 (file)
index 0000000..61cb14c
--- /dev/null
@@ -0,0 +1,22 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+apiVersion: v1
+description: ONAP DCAE Bootstrap
+name: dcae-bootstrap
+version: 2.0.0
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/requirements.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/requirements.yaml
new file mode 100644 (file)
index 0000000..d031e2e
--- /dev/null
@@ -0,0 +1,22 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+dependencies:
+  - name: common
+    version: ~2.0.0
+    repository: '@local'
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/config/k8s-plugin.json b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/config/k8s-plugin.json
new file mode 100644 (file)
index 0000000..5d83ff8
--- /dev/null
@@ -0,0 +1,32 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+{
+  "namespace" : "{{ if .Values.dcae_ns }}{{ .Values.dcae_ns}}{{ else }}{{include "common.namespace" . }}{{ end}}",
+  "consul_dns_name" : "{{ .Values.config.address.consul.host }}.{{ include "common.namespace" . }}",
+  "image_pull_secrets" : ["{{ include "common.namespace" . }}-docker-registry-key"],
+  "filebeat":
+    {
+      "log_path": "/var/log/onap",
+      "data_path": "/usr/share/filebeat/data",
+      "config_path": "/usr/share/filebeat/filebeat.yml",
+      "config_subpath": "filebeat.yml",
+      "image" : "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}",
+      "config_map" : "dcae-filebeat-configmap"
+    }
+}
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-config_binding_service-inputs.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-config_binding_service-inputs.yaml
new file mode 100644 (file)
index 0000000..0ee60c7
--- /dev/null
@@ -0,0 +1,21 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+#TODO would like to make this conditional, as with the other input templates
+# but having template expansion issues trying to do that
+cbs_image: {{ .Values.componentImages.config_binding_service }}
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-deployment_handler-inputs.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-deployment_handler-inputs.yaml
new file mode 100644 (file)
index 0000000..4143254
--- /dev/null
@@ -0,0 +1,27 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+#
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+{{ if .Values.componentImages.deployment_handler }}
+deployment_handler_image: {{ .Values.componentImages.deployment_handler }}
+{{ end }}
+application_config:
+  cloudify:
+    protocol: "http"
+  inventory:
+    protocol: "http"
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
new file mode 100644 (file)
index 0000000..6205f1e
--- /dev/null
@@ -0,0 +1,28 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+{
+{{ if .Values.componentImages.holmes_engine }}
+  "he_image" : "{{ .Values.componentImages.holmes_engine }}",
+{{ end }}
+  "msb_hostname": "{{ .Values.config.address.msb_discovery }}.{{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" : "pgvm",
+  "database_name":"holmes"
+}
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-holmes_rules-input.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-holmes_rules-input.yaml
new file mode 100644 (file)
index 0000000..75dbbf9
--- /dev/null
@@ -0,0 +1,23 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+{
+  "msb_hostname": "{{ .Values.config.address.msb_discovery }}.{{include "common.namespace" . }}",
+  "pgaas_cluster_name" : "pgvm",
+  "database_name":"holmes"
+}
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-inventory-inputs.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-inventory-inputs.yaml
new file mode 100644 (file)
index 0000000..4e42b11
--- /dev/null
@@ -0,0 +1,30 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+sdc_config.address: '{{ .Values.config.address.sdc }}.{{include "common.namespace" . }}:8443'
+sdc_uri: 'https://{{ .Values.config.address.sdc }}.{{include "common.namespace" . }}:8443'
+sdc_user: "dcae"
+sdc_password: !!str Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+sdc_environment_name: "AUTO"
+sdc_msg_bus_config.address: '{{ .Values.config.address.message_router }}.{{include "common.namespace" . }}'
+postgres_user_inventory: "postgres"
+postgres_password_inventory: "onap123"
+service_change_handler_image: {{ .Values.componentImages.service_change_handler }}
+{{ if .Values.componentImages.inventory }}
+inventory_image: "{{ .Values.componentImages.inventory }}"
+{{ end }}
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-policy_handler-inputs.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-policy_handler-inputs.yaml
new file mode 100644 (file)
index 0000000..8c8d83c
--- /dev/null
@@ -0,0 +1,54 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+{{ if .Values.componentImages.policy_handler }}
+policy_handler_image: {{ .Values.componentImages.policy_handler }}
+{{ end }}
+application_config:
+  policy_handler :
+    # parallelize the getConfig queries to policy-engine on each policy-update notification
+    thread_pool_size : 4
+
+    # parallelize requests to policy-engine and keep them alive
+    pool_connections : 20
+
+    # list of policyName prefixes (filters) that DCAE-Controller handles (=ignores any other policyName values)
+    scope_prefixes : ["DCAE.Config_"]
+
+    # retry to getConfig from policy-engine on policy-update notification
+    policy_retry_count : 5
+    policy_retry_sleep : 5
+
+    # policy-engine config
+    # These are the url of and the auth for the external system, namely the policy-engine (PDP).
+    # We obtain that info manually from PDP folks at the moment.
+    # In long run we should figure out a way of bringing that info into consul record
+    #    related to policy-engine itself.
+    policy_engine :
+        url : "http://{{ .Values.config.address.policy_pdp }}.{{include "common.namespace" . }}:8081"
+        path_pdp : "/pdp/"
+        path_api : "/pdp/api/"
+        headers :
+            Accept : "application/json"
+            "Content-Type" : "application/json"
+            ClientAuth : "cHl0aG9uOnRlc3Q="
+            Authorization : "Basic dGVzdHBkcDphbHBoYTEyMw=="
+            Environment : "TEST"
+        target_entity : "policy_engine"
+    # name of deployment-handler service in consul for policy-handler to direct the policy-updates to
+    deploy_handler : "deployment_handler"
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-tca-inputs.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-tca-inputs.yaml
new file mode 100644 (file)
index 0000000..7dc66f4
--- /dev/null
@@ -0,0 +1,24 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+{{ if .Values.componentImages.tca }}
+tca_image: {{ .Values.componentImages.tca }}
+{{ end }}
+dmaap_host: {{ .Values.config.address.message_router }}.{{include "common.namespace" . }}
+consul_host: {{ .Values.config.address.consul.host }}.{{include "common.namespace" . }}
+cbs_host: config-binding-service
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-ves-inputs.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-ves-inputs.yaml
new file mode 100644 (file)
index 0000000..5385d07
--- /dev/null
@@ -0,0 +1,26 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+{{ if .Values.componentImages.ves }}
+tag_version: {{ .Values.componentImages.ves }}
+{{ end }}
+external_port : "30280"
+ves_other_publish_url: "http://{{ .Values.config.address.message_router }}:3904/events/unauthenticated.SEC_OTHER_OUTPUT/"
+ves_heartbeat_publish_url: "http://{{ .Values.config.address.message_router }}:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT/"
+ves_fault_publish_url: "http://{{ .Values.config.address.message_router }}:3904/events/unauthenticated.SEC_FAULT_OUTPUT/"
+ves_measurement_publish_url: "http://{{ .Values.config.address.message_router }}:3904/events/unauthenticated.SEC_MEASUREMENT_OUTPUT/"
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/templates/configmap.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..2c01206
--- /dev/null
@@ -0,0 +1,34 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-dcae-config
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-dcae-inputs
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/inputs/*").AsConfig . | indent 2 }}
+
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/templates/job.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/templates/job.yaml
new file mode 100644 (file)
index 0000000..6229af4
--- /dev/null
@@ -0,0 +1,95 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+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:
+  completions: 1
+{{/*  backoffLimit: 0*/}}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        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
+          - dcae-cloudify-manager
+          - --container-name
+          - consul-server
+          - --container-name
+          - msb-discovery
+          - --container-name
+          - kube2msb
+          - "-t"
+          - "15"
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+            - mountPath: /inputs
+              name: {{ include "common.fullname" . }}-dcae-inputs
+            - mountPath: /dcae-configs
+              name: {{ include "common.fullname" . }}-dcae-config
+            - mountPath: /etc/localtime
+              name: localtime
+              readOnly: true
+          env:
+            - name: CMADDR
+              value: {{ .Values.config.address.cm }}
+            - name: CMPASS
+              valueFrom:
+                secretKeyRef:
+                  name: {{ include "common.name" . }}-cmpass
+                  key: password
+            - name: CONSUL
+              value: {{ .Values.config.address.consul.host }}:{{ .Values.config.address.consul.port }}
+      volumes:
+        - name: {{ include "common.fullname" . }}-dcae-inputs
+          configMap:
+            name: {{ include "common.fullname" . }}-dcae-inputs
+        - name: {{ include "common.fullname" . }}-dcae-config
+          configMap:
+            name: {{ include "common.fullname" . }}-dcae-config
+        - name: localtime
+          hostPath:
+            path: /etc/localtime
+      imagePullSecrets:
+        - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/templates/secret.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/templates/secret.yaml
new file mode 100644 (file)
index 0000000..a328ab2
--- /dev/null
@@ -0,0 +1,31 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.name" . }}-cmpass
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+type: Opaque
+data:
+  password: YWRtaW4=
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/values.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/values.yaml
new file mode 100644 (file)
index 0000000..fc89c6c
--- /dev/null
@@ -0,0 +1,66 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiZGNhZUBkY2FlLm9uYXAub3JnIiwiYXV0aCI6IlpHOWphMlZ5T21SdlkydGxjZz09In19
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.1.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+config:
+  logstashServiceName: log-ls
+  logstashPort: 5044
+  # Addresses of ONAP components
+  address:
+    consul:
+      host: consul-server
+      port: 8500
+    cm: dcae-cloudify-manager
+    message_router: message-router
+    msb_discovery: msb-discovery
+    policy_pdp: pdp
+    sdc: sdc-be
+
+
+# application image
+repository: nexus3.onap.org:10001
+image: onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:1.1.5
+
+# DCAE component images to be deployed via Cloudify Manager
+# Use to override default setting in blueprints
+componentImages:
+  #TODO for further investigation: input template expansion issues if we comment this out
+  config_binding_service: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding:2.1.4
+#  deployment_handler: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.deployment-handler:2.1.1
+#  holmes_engine: nexus3.onap.org:10001//onap/holmes/engine-management:v1.0.0
+#  holmes_rules: nexus3.onap.org:10001/onap/holmes/rule-management:v1.0.0
+  inventory: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.inventory-api:3.0.1
+  policy_handler: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.policy-handler:2.4.1
+  service_change_handler: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.servicechange-handler:1.1.3
+#  tca: nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container.tca-cdap-container:1.0.0
+#  ves: nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.1-latest
+
+# Kubernetes namespace for components deployed via Cloudify manager
+# If empty, use the common namespace
+dcae_ns: "dcae"
+
diff --git a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/.helmignore b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -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/dcaegen2/charts/dcae-cloudify-manager/Chart.yaml b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/Chart.yaml
new file mode 100644 (file)
index 0000000..ff9cf89
--- /dev/null
@@ -0,0 +1,22 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+apiVersion: v1
+description: ONAP DCAE Cloudify Manager
+name: dcae-cloudify-manager
+version: 2.0.0
diff --git a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/README.md b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/README.md
new file mode 100644 (file)
index 0000000..9194ef8
--- /dev/null
@@ -0,0 +1,49 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+# DCAE Cloudify Manager Chart
+
+This chart is used to deploy a containerized version of 
+[Cloudify Manager](http://docs.getcloudify.org/4.3.0/intro/cloudify-manager/),
+the orchestration tool used by DCAE.  DCAE uses Cloudify Manager ("CM") to 
+deploy the rest of the DCAE platform as well to deploy DCAE monitoring and
+analytics services dynamically, in response to network events such as VNF startups.
+
+Deployment of CM is the first of two steps in deploying DCAE into ONAP.  After this chart 
+brings up CM, a second chart (the "bootstrap" chart) installs some plugin extensions onto CM 
+and uses CM to deploy some DCAE components. 
+
+## Prerequisites
+The chart requires one Kubernetes secret to be available in the namespace where it is
+being deployed:
+  - `<namespace_name>-docker-registry-key`, the docker registry secret needed to pull images
+  from the Docker repository.  This is the same secret used by other OOM charts.
+
+## DCAE Namespace
+DCAE will use CM deploy a number of containers into the ONAP Kubernetes cluster.  In a production
+environment, DCAE's dynamic deployment of monitoring and analytics services could result in dozens
+of containers being launched.  This chart allows the configuration, through the `dcae_ns` property 
+in the `values.yaml` of a separate namespace used by CM when it needs to deploy containers into
+Kubernetes.  If `dcae_ns` is set, this chart will:
+  - create the namespace.  
+  - create the Docker registry key secret in the namespace.
+  - create some Kubernetes `Services` (of the `ExternalName` type) to map some addresses from the common namespace into the DCAE namespace.
+
+## Use of Consul
+DCAE uses [Consul](http://consul.io) to store configuration data for DCAE components.  In R1, DCAE
+deployed its own Consul cluster.  In R2, DCAE will use the Consul server deployed by OOM.
 # 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" . }}
-  labels:
-    app: {{ include "common.name" . }}
-    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-    release: {{ .Release.Name }}
-    heritage: {{ .Release.Service }}
-type: Opaque
-data:
-  db-root-password: {{ .Values.config.cassandraPassword | b64enc | quote }}
+dependencies:
+  - name: common
+    version: ~2.0.0
+    repository: '@local'
\ No newline at end of file
diff --git a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/resources/config/config.txt b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/resources/config/config.txt
new file mode 100644 (file)
index 0000000..c33022d
--- /dev/null
@@ -0,0 +1,19 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+[consul]
+address={{ .Values.config.address.consul.host }}:{{ .Values.config.address.consul.port }}
diff --git a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/resources/config/log/filebeat.yml b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/resources/config/log/filebeat.yml
new file mode 100644 (file)
index 0000000..43de4a2
--- /dev/null
@@ -0,0 +1,72 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+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.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.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
+
+logging:
+  level: debug
+
+  # enable file rotation with default configuration
+  to_files: true
+
+  # do not log to syslog
+  to_syslog: false
+
+  files:
+    path: /usr/share/filebeat/logs
+    name: mybeat.log
+    keepfiles: 7
diff --git a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/configmap.yaml b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..6bb02db
--- /dev/null
@@ -0,0 +1,44 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: dcae-filebeat-configmap
+  namespace: {{include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
+{{ if .Values.dcae_ns }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: dcae-filebeat-configmap
+  namespace: {{ .Values.dcae_ns }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
+{{ end }}
+
diff --git a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/deployment.yaml b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..76c83af
--- /dev/null
@@ -0,0 +1,97 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+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: 1
+  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 }}
+          # 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:
+          - mountPath: /opt/onap/config.txt
+            subPath: config.txt
+            name: {{ include "common.fullname" .}}-config
+            readOnly: true
+          - mountPath: /secret
+            name: dcae-token
+            readOnly: true
+          - mountPath: /sys/fs/cgroup
+            name: {{ include "common.fullname" . }}-cgroup
+            readOnly: true
+          - mountPath: /etc/localtime
+            name: localtime
+            readOnly: true
+          securityContext:
+            privileged: True
+          lifecycle:
+            postStart:
+              exec:
+                command:
+                - bash
+                - "-c"
+                - |
+                  set -ex
+                  mkdir -p /var/run/secrets/kubernetes.io/
+                  ln -s /secret /var/run/secrets/kubernetes.io/serviceaccount
+      volumes:
+        - name: {{ include "common.fullname" . }}-config
+          configMap:
+            name: {{ include "common.fullname" . }}-configmap
+        - name: dcae-token
+          secret:
+            secretName: dcae-token
+        - name: {{ include "common.fullname" . }}-cgroup
+          hostPath:
+            path: /sys/fs/cgroup
+        - name: localtime
+          hostPath:
+            path: /etc/localtime
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/namespace.yaml b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/namespace.yaml
new file mode 100644 (file)
index 0000000..fd89aab
--- /dev/null
@@ -0,0 +1,28 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+{{ if .Values.dcae_ns}}
+# Create the namespace
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: {{ .Values.dcae_ns }}
+spec:
+  finalizers:
+  - kubernetes
+{{ end }}
diff --git a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/secret.yaml b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/secret.yaml
new file mode 100644 (file)
index 0000000..732110b
--- /dev/null
@@ -0,0 +1,44 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+{{ if .Values.dcae_ns}}
+# Create the registry key secret in dcae namespace
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.namespace" . }}-docker-registry-key
+  namespace: {{ .Values.dcae_ns }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+  .dockercfg: {{ .Values.global.repositorySecret | default .Values.repositorySecret }}
+type: kubernetes.io/dockercfg
+{{ end }}
+---
+# Copy of the API token secret, needed to work around /var/run/secrets mount problem
+apiVersion: v1
+kind: Secret
+metadata:
+  name: dcae-token
+  namespace: {{ include "common.namespace" . }}
+  annotations:
+    kubernetes.io/service-account.name: default
+type: kubernetes.io/service-account-token
diff --git a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/service.yaml b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/service.yaml
new file mode 100644 (file)
index 0000000..c6b24ee
--- /dev/null
@@ -0,0 +1,66 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+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 }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
+{{ if .Values.dcae_ns}}
+---
+# Make consul visible inside DCAE component namespace under a well-known name
+apiVersion: v1
+kind: Service
+metadata:
+  name: consul
+  namespace: {{ .Values.dcae_ns }}
+spec:
+  type: ExternalName
+  externalName: {{ .Values.config.address.consul.host }}.{{ include "common.namespace" . }}.svc.cluster.local
+---
+# Make Cloudify Manager visible inside DCAE component namespace under a well-known name
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.servicename" . }}
+  namespace: {{ .Values.dcae_ns }}
+spec:
+  type: ExternalName
+  externalName: {{ .Values.service.name }}.{{ include "common.namespace" . }}.svc.cluster.local
+{{ end }}
+
diff --git a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/values.yaml b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/values.yaml
new file mode 100644 (file)
index 0000000..6fc8870
--- /dev/null
@@ -0,0 +1,67 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiZGNhZUBkY2FlLm9uYXAub3JnIiwiYXV0aCI6IlpHOWphMlZ5T21SdlkydGxjZz09In19
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.1.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+config:
+  logstashServiceName: log-ls
+  logstashPort: 5044
+  # Addresses of other ONAP entities
+  address:
+    consul:
+      host: consul-server
+      port: 8500
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/org.onap.dcaegen2.deployments.cm-container:1.1.0
+pullPolicy: Always
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  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: dcae-cloudify-manager
+  externalPort: 80
+  internalPort: 80
+
+# Kubernetes namespace for components deployed via Cloudify manager
+# If empty, use the common namespace
+dcae_ns: "dcae"
diff --git a/kubernetes/dcaegen2/charts/dcae-healthcheck/Chart.yaml b/kubernetes/dcaegen2/charts/dcae-healthcheck/Chart.yaml
new file mode 100644 (file)
index 0000000..770f82d
--- /dev/null
@@ -0,0 +1,21 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# 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=========================================================
+
+apiVersion: v1
+description: ONAP DCAE Health Check
+name: dcae-healtcheck
+version: 2.0.0
diff --git a/kubernetes/dcaegen2/charts/dcae-healthcheck/requirements.yaml b/kubernetes/dcaegen2/charts/dcae-healthcheck/requirements.yaml
new file mode 100644 (file)
index 0000000..d031e2e
--- /dev/null
@@ -0,0 +1,22 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+dependencies:
+  - name: common
+    version: ~2.0.0
+    repository: '@local'
diff --git a/kubernetes/dcaegen2/charts/dcae-healthcheck/templates/deployment.yaml b/kubernetes/dcaegen2/charts/dcae-healthcheck/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..2166ca9
--- /dev/null
@@ -0,0 +1,65 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+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: 1
+  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 }}
+          # 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 }}
+          env:
+            - name: DCAE_NAMESPACE
+              value: {{ .Values.dcae_ns }}
+            - name: ONAP_NAMESPACE
+              value: {{ include "common.namespace" . }}
+            - name: HELM_RELEASE
+              value: {{ .Release.Name }}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/dcaegen2/charts/dcae-healthcheck/templates/service.yaml b/kubernetes/dcaegen2/charts/dcae-healthcheck/templates/service.yaml
new file mode 100644 (file)
index 0000000..0540534
--- /dev/null
@@ -0,0 +1,45 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+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 }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      #Example internal target port if required
+      #targetPort: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
diff --git a/kubernetes/dcaegen2/charts/dcae-healthcheck/values.yaml b/kubernetes/dcaegen2/charts/dcae-healthcheck/values.yaml
new file mode 100644 (file)
index 0000000..a4d2f29
--- /dev/null
@@ -0,0 +1,54 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 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.
+# 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=========================================================
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiZGNhZUBkY2FlLm9uYXAub3JnIiwiYXV0aCI6IlpHOWphMlZ5T21SdlkydGxjZz09In19
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.1.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+service:
+  name: dcae-healthcheck
+  internalPort: 80
+  externalPort: 80
+  type: ClusterIP
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  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
+# application image
+repository: nexus3.onap.org:10001
+image: onap/org.onap.dcaegen2.deployments.healthcheck-container:1.0.0
+
+# Kubernetes namespace for components deployed via Cloudify manager
+# If empty, use the common namespace
+dcae_ns: "dcae"
+
diff --git a/kubernetes/dcaegen2/charts/dcae-redis/.helmignore b/kubernetes/dcaegen2/charts/dcae-redis/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -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
@@ -14,5 +14,5 @@
 
 apiVersion: v1
 description: ONAP DCAE Redis
-name: redis
+name: dcae-redis
 version: 2.0.0
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -31,17 +31,17 @@ spec:
       #Example internal target port if required
       #targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     - port: {{ .Values.service.externalPort2 }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
-      name: {{ .Values.service.name2 }}
+      name: {{ .Values.service.portName2 }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     - port: {{ .Values.service.externalPort2 }}
       targetPort: {{ .Values.service.internalPort2 }}
-      name: {{ .Values.service.name2 }}
+      name: {{ .Values.service.portName2 }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
   persistence: {}
@@ -29,7 +29,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.deployments.redis-cluster-container.redis-cluster-container:1.0.0
+image: onap/org.onap.dcaegen2.deployments.redis-cluster-container:1.0.0
 pullPolicy: Always
 
 # application configuration
@@ -45,8 +45,9 @@ affinity: {}
 
 # probe configuration parameters
 liveness:
-  initialDelaySeconds: 15
+  initialDelaySeconds: 60
   periodSeconds: 10
+  timeoutSeconds: 10
   # necessary to disable liveness probe when setting breakpoints
   # in debugger so K8s doesn't restart unresponsive container
   enabled: true
@@ -60,11 +61,12 @@ service:
   #Services may use any combination of ports depending on the 'type' of
   #service being defined.
   type: NodePort
-  name: client
+  name: dcae-redis
+  portName: client
   externalPort: 6379
   internalPort: 6379
   nodePort: 86
-  name2: gossip
+  portName2: gossip
   externalPort2: 16379
   internalPort2: 16379
   nodePort2: 87
diff --git a/kubernetes/dcaegen2/dcae-parameters-sample.yaml b/kubernetes/dcaegen2/dcae-parameters-sample.yaml
deleted file mode 100644 (file)
index 251de3a..0000000
+++ /dev/null
@@ -1,55 +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.
-
-# UUID of the OpenStack"s CentOS 7 cloud VM image
-# If your Openstack does not have a CentOS 7 cloud image, you will have to add one.
-centos7image_id: '52d4ea09-cc69-4a9a-9961-938a3282d209'
-# UUID of the OpenStack"s Ubuntu 16.04 VM image
-# If your Openstack does not have a buntu 16.04 cloud image, you will have to add one.
-ubuntu1604image_id: '97bbe637-5d42-419a-a2c7-beff33ffa23c'
-# ID of the OpenStack"s VM flavor to be used by DCAEGEN2 VMs (m1.medium/m1.large)
-flavor_id: '4'
-# UUID of the OpenStack"s security group to be used for DCAEGEN2 VMs
-security_group: 'abc0687d-34ab-4d37-8fe8-4b544d94ba71'
-# The name of the OpenStack network where public IP addresses and floating IPs are allocated from
-# This must use the name and not the UUID.  The name must be unique otherwise the installer fails
-public_net: 'public'
-# The name of the OpenStack network where private IP addresses are allocated from
-private_net: 'onap_oam'
-# Group header for OpenStack Keystone parameters
-openstack:
-  # User name
-  username: 'dev'
-  # Password
-  password: 'dev'
-  # Name of the OpenStack tenant/project where DCAEGEN2 VMs are deployed
-  tenant_name: 'dev'
-  # Openstack authentication API URL, for example 'https://horizon.playground.onap.org:5000/v2.0'
-  auth_url: 'http://1.2.3.4:5000/v2.0'
-  # Name of the OpenStack region where DCAEGEN2 VMs are deployed, for example 'RegionOne'
-  region: 'RegionOne'
-# Name of the public key uploaded to OpenStack in the Prepration step
-keypair: 'dcae-g2'
-# Path to the private key within the conatiner (!! Do not change!!)
-key_filename: '/opt/dcae/key'
-# Prefix (location code) of all DCAEGEN2 VMs
-location_prefix: 'onapr1'
-# Domain name of the OpenStack tenant 'onapr1.playground.onap.org'
-location_domain: 'onap-dcaegen2'
-# Location of the raw artifact repo hosting additional boot scripts called by DCAEGEN2 VMs" cloud-init, for example: 'https://nexus.onap.org/service/local/repositories/raw/content'
-codesource_url: 'https://nexus.onap.org/content/sites/raw'
-# Path to the boot scripts within the raw artifact repo, for example: 'org.onap.dcaegen2.deployments.scripts/releases/'
-codesource_version: 'org.onap.dcaegen2.deployments/releases/scripts/'
-
-
diff --git a/kubernetes/dcaegen2/templates/pod.yaml b/kubernetes/dcaegen2/templates/pod.yaml
deleted file mode 100644 (file)
index 711ca44..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright Â© 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableDcaegen2 }}
-apiVersion: v1
-kind: Pod
-metadata:
-  name: {{ .Chart.Name }}
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  containers:
-    - name: {{ .Chart.Name }}
-      image: "{{ .Values.image.repository }}"
-      imagePullPolicy: {{ .Values.image.pullPolicy }}
-      volumeMounts:
-      - name: installer-config-mount
-        mountPath: /opt/app/installer/config
-        readOnly: true
-      env:
-      - name: LOCATION
-        value: "{{ .Values.location }}"
-  volumes:
-  - name: installer-config-mount
-    projected:
-      sources:
-      - secret:
-          name: "{{ .Chart.Name }}-openstack-ssh-private-key"
-      - configMap:
-          name: "{{ .Chart.Name }}-config-inputs"
-  imagePullSecrets:
-  - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-  restartPolicy: Never
-#{{ end }}
index eff5ef1..1441743 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright Â© 2017 Amdocs, Bell Canada
+# Copyright Â© 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.
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-nsPrefix: onap
-location: dg2
-image:
-  repository: nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.bootstrap:v1.1.0
-  pullPolicy: Always
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
 redis:
   replicaCount: 6
index 9a0bc34..f6c4984 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
   postgresDatabase: dmaap
@@ -39,7 +39,7 @@ repository: nexus3.onap.org:10001
 
 image:
   buscontrollerImage: onap/dmaap/buscontroller
-  buscontrollerVersion: 1.0.2
+  buscontrollerVersion: 1.0.5
 
 
 # application configuration
index 3af4917..27f4df9 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index 71aae08..a787954 100644 (file)
@@ -54,13 +54,13 @@ spec:
           - 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 }}
+          {{ if .Values.liveness.enabled }}
           livenessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
-          {{ end -}}
+          {{ end }}
           readinessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
index cab488a..94b81e8 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -42,11 +42,11 @@ spec:
       #Example internal target port if required
       #targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName | default "http" }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName | default "http" }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
index 2e0d7b7..13666a8 100644 (file)
@@ -20,7 +20,7 @@ global:
   repository: nexus3.onap.org:10001
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
@@ -60,15 +60,21 @@ readiness:
   initialDelaySeconds: 10
   periodSeconds: 10
 
+#Example service definition with external, internal and node ports.
 service:
-  #Example service definition with external, internal and node ports.
+  # The default service name (exposed in the service.yaml) will be the same
+  # name as the chart. If the service name needs to be overriden (such as
+  # when a subchart is shared), uncomment the value below.
+  #name: <service-name-override>
+
   #Services may use any combination of ports depending on the 'type' of
   #service being defined.
   type: NodePort
-  name: <onap-app>
   externalPort: <8080>
   internalPort: <80>
   nodePort: <replace with unused node port suffix eg. 23>
+  # optional port name override - default can be defined in service.yaml
+  #portName: http
 
 ingress:
   enabled: false
index b09f91a..828e23f 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
   persistence: {}
 
 #################################################################
index 3b4fd76..e46d2ba 100644 (file)
@@ -37,8 +37,20 @@ input {
 
 
 filter {
+  grok {
+    break_on_match => false
+    match => {
+      "source" => ["/var/log/onap/(?<componentName>[^/]+)/",
+                   "/var/log/onap/%{GREEDYDATA:componentLogFile}"
+                  ]
+    }
+  }
+
  # Filter for log4j xml events
  if "</log4j:event>" in [message] {
+
+   #mutate { add_field => { "orgmsg_log4j" => "%{message}" } }    # Copy of orginal msg for debug
+
    #Filter to parse xml event and retrieve data
    xml {
      source => "message"
@@ -118,7 +130,7 @@ filter {
  # Filter for logback events
  else {
 
-#  mutate { add_field => { "orgmsg" => "%{message}" } }    # Copy of orginal msg for debug
+  #mutate { add_field => { "orgmsg" => "%{message}" } }    # Copy of orginal msg for debug
 
   mutate {
     gsub => [
@@ -128,50 +140,44 @@ filter {
       'message', '\t$', '\t'
     ]
   }
+  # The grok below parses the message field for all current logback patterns used by oom components.
+  # Example logback pattern: %d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%msg
+  # Example grok pattern:    %{TIMESTAMP_ISO8601:Timestamp}\|%{UUID:RequestId}\|%{GREEDYDATA:message}
+  # Use the following command to find all logback patterns in oom directory: find oom -name "logback*xml" -exec grep "property.*attern.*value" {} \;|sort|uniq
   grok {
-    break_on_match => false
     match => {
-      "message" => ["%{TIMESTAMP_ISO8601:Timestamp}\t%{GREEDYDATA:Thread}\t%{SPACE}%{LOGLEVEL:loglevel}%{SPACE}\t%{JAVACLASS:Logger}\t(?:[^\t]+\t)*%{GREEDYDATA:message}",
-                    "(?<MDCs>.*\t)"
-                   ]
-      "source" => ["/var/log/onap/(?<componentName>[^/]+)/",
-                   "/var/log/onap/%{GREEDYDATA:componentLogFile}"
-                  ]
+      "message" => [
+                    "%{TIMESTAMP_ISO8601:Timestamp}\\t[%{GREEDYDATA:Thread}]\\t%{GREEDYDATA:loglevel}\\t%{JAVACLASS:Logger}\\t%{GREEDYDATA:MDCs}\\t%{GREEDYDATA:message}",
+                    "%{TIMESTAMP_ISO8601:BeginTimestamp}\|%{TIMESTAMP_ISO8601:EndTimestamp}\|%{UUID:RequestId}\|%{GREEDYDATA:ServiceInstanceId}\|%{GREEDYDATA:Thread}\|%{GREEDYDATA:Unknown1}\|%{GREEDYDATA:ServiceName}\|%{GREEDYDATA:PartnerName}\|%{GREEDYDATA:TargetEntity}\|%{GREEDYDATA:TargetServiceName}\|%{GREEDYDATA:StatusCode}\|%{GREEDYDATA:ResponseCode}\|%{GREEDYDATA:ResponseDesc}\|%{UUID:InstanceUUID}\|%{GREEDYDATA:loglevel}\|%{GREEDYDATA:AlertSeverity}\|%{IP:ServerIPAddress}\|%{GREEDYDATA:Timer}\|%{HOSTNAME:ServerFQDN}\|%{IPORHOST:RemoteHost}\|%{GREEDYDATA:Unknown2}\|%{GREEDYDATA:Unknown3}\|%{GREEDYDATA:Unknown4}\|%{GREEDYDATA:TargetVirtualEntity}\|%{GREEDYDATA:Unknown5}\|%{GREEDYDATA:Unknown6}\|%{GREEDYDATA:Unknown7}\|%{GREEDYDATA:Unknown8}\|%{GREEDYDATA:message}",
+                    "%{TIMESTAMP_ISO8601:BeginTimestamp}\|%{TIMESTAMP_ISO8601:EndTimestamp}\|%{UUID:RequestId}\|%{GREEDYDATA:ServiceInstanceId}\|%{GREEDYDATA:Thread}\|%{GREEDYDATA:Unknown1}\|%{GREEDYDATA:ServiceName}\|%{GREEDYDATA:PartnerName}\|%{GREEDYDATA:StatusCode}\|%{GREEDYDATA:ResponseCode}\|%{GREEDYDATA:ResponseDesc}\|%{UUID:InstanceUUID}\|%{GREEDYDATA:loglevel}\|%{GREEDYDATA:AlertSeverity}\|%{IP:ServerIPAddress}\|%{GREEDYDATA:Timer}\|%{HOSTNAME:ServerFQDN}\|%{IPORHOST:RemoteHost}\|%{GREEDYDATA:Unknown2}\|%{GREEDYDATA:Unknown3}\|%{GREEDYDATA:Unknown4}\|%{GREEDYDATA:Unknown5}\|%{GREEDYDATA:Unknown6}\|%{GREEDYDATA:Unknown7}\|%{GREEDYDATA:Unknown8}\|%{GREEDYDATA:message}",
+                    "%{TIMESTAMP_ISO8601:Timestamp}\|%{UUID:RequestId}\|%{GREEDYDATA:ServiceInstanceId}\|%{GREEDYDATA:Thread}\|%{GREEDYDATA:ServiceName}\|%{UUID:InstanceUUID}\|%{GREEDYDATA:loglevel}\|%{GREEDYDATA:AlertSeverity}\|%{IP:ServerIPAddress}\|%{HOSTNAME:ServerFQDN}\|%{IPORHOST:RemoteHost}\|%{GREEDYDATA:Timer}\|\[%{GREEDYDATA:caller}\]\|%{GREEDYDATA:message}",
+                    "%{TIMESTAMP_ISO8601:Timestamp}\|%{GREEDYDATA:RequestId}\|%{GREEDYDATA:Thread}\|%{GREEDYDATA:ServiceName}\|%{GREEDYDATA:PartnerName}\|%{GREEDYDATA:TargetEntity}\|%{GREEDYDATA:TargetServiceName}\|%{GREEDYDATA:loglevel}\|%{GREEDYDATA:ErrorCode}\|%{GREEDYDATA:ErrorDesc}\|%{GREEDYDATA:message}",
+                    "%{TIMESTAMP_ISO8601:Timestamp}\|%{GREEDYDATA:RequestId}\|%{GREEDYDATA:Thread}\|%{GREEDYDATA:ClassName}\|%{GREEDYDATA:message}",
+                    "%{TIMESTAMP_ISO8601:Timestamp}\|%{UUID:RequestId}\|%{GREEDYDATA:message}",
+                    "\[%{TIMESTAMP_ISO8601:Timestamp}\|%{LOGLEVEL:loglevel}\|%{GREEDYDATA:Logger}\|%{GREEDYDATA:Thread}\] %{GREEDYDATA:message}"
+      ]
     }
     overwrite => ["message"]
   }
+  # The MDCs are key value pairs that are seperated by "," or "\t". Extra space characters are trimmed from the keys and values.
   kv {
     source => "MDCs"
-    field_split => "\t"
+    field_split => ",\t"
     trim_key => "\s"
     trim_value => "\s"
     remove_field => [ "MDCs" ]
   }
 
+  if (![Timestamp] and [EndTimestamp]) {
+    mutate { add_field => { "Timestamp" => "%{EndTimestamp}" } }
+  }
   date {
     match => [ "Timestamp", "ISO8601", "yyyy-MM-dd HH:mm:ss,SSS" ]
     target => "Timestamp"
   }
 
-  if [source] == "/var/log/onap/aai/aai-ml/metrics.log" {
-    csv {
-      source => "message"
-      separator => "|"
-      quote_char => "`"
-      columns => ["Begin TS", "End TS", "DuplicateRequestID", "Unknown1", "threadID", "phys/virt server name", "service name", "Partner Name", "Unknown2", "Unknown3", "Unknown4", "Unknown5", "Unknown6", "Unknown7", "Log level", "Unknown8", "Unknown9", "Status code", "Server", "Unknown10", "Unknown11", "Unknown12", "Unknown13", "Unknown14", "Unknown15", "Unknown16", "Unknown17", "Unknown18", "message"]
-    }
-  }
-  else if [source] == "/var/log/onap/aai/aai-ml/audit.log" {
-    csv {
-      source => "message"
-      separator => "|"
-      quote_char => "`"
-      columns => ["Begin TS", "End TS", "DuplicateRequestID", "Unknown1", "threadID", "phys/virt server name", "service name", "Partner Name", "Unknown2", "Unknown3", "Unknown4", "Unknown5", "Log level", "Unknown6", "Unknown7", "Status code", "Server", "Unknown10", "Unknown11", "Unknown12", "Unknown13", "Unknown14", "Unknown15", "Unknown16", "Unknown17", "message"]
-    }
-  }
-
   mutate {
-    remove_field => ["DuplicateRequestID", "Unknown1", "Unknown2", "Unknown3", "Unknown4", "Unknown5", "Unknown6", "Unknown7", "Unknown8", "Unknown9", "Unknown10", "Unknown11", "Unknown12", "Unknown13", "Unknown14", "Unknown15", "Unknown16", "Unknown17", "Unknown18"]
+    remove_field => ["DuplicateRequestID", "Unknown1", "Unknown2", "Unknown3", "Unknown4", "Unknown5", "Unknown6", "Unknown7", "Unknown8"]
   }
 
   if ([source] == "/var/log/onap/sdc/sdc-be/audit.log") {
index 4fcb189..2071821 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
   persistence: {}
 
 #################################################################
index ff05104..7675ee8 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
   configRepository: oomk8s
@@ -30,8 +30,8 @@ global:
 # Application configuration defaults.
 #################################################################
 # application image
-repository: wurstmeister
-image: kafka:latest
+repository: docker.io
+image: wurstmeister/kafka:latest
 pullPolicy: Always
 
 zookeeper:
index 66dc67e..8a41970 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
   configRepository: oomk8s
@@ -30,8 +30,8 @@ global:
 # Application configuration defaults.
 #################################################################
 # application image
-repository: wurstmeister
-image: zookeeper:latest
+repository: docker.io
+image: wurstmeister/zookeeper:latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 884cd3e..9c33571 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index 8c494c0..2022955 100644 (file)
@@ -5,7 +5,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
 
 #################################################################
 # Application configuration defaults.
index d10ba60..357a7eb 100644 (file)
@@ -5,7 +5,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
 
 #################################################################
 # Application configuration defaults.
index 757b467..0540d0d 100644 (file)
@@ -5,7 +5,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
 
 #################################################################
 # Application configuration defaults.
index 6e4877b..a659dae 100644 (file)
@@ -5,7 +5,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
 
 #################################################################
 # Application configuration defaults.
index 9f18c5e..2b600ae 100644 (file)
@@ -31,7 +31,7 @@ metadata:
       "version": "v0",
       "url": "/api/multicloud/v0",
       "protocol": "REST",
-      "port": {{ .Values.service.externalPort }},
+      "port": "{{ .Values.service.externalPort }}",
       "visualRange": "1"
     }
     ]'
index 8d4f42c..d2cacb6 100644 (file)
@@ -45,7 +45,7 @@ dependencies:
     repository: '@local'
     condition: consul.enabled
   - name: dcaegen2
-    version: ~1.1.0
+    version: ~2.0.0
     repository: '@local'
     condition: dcaegen2.enabled
   - name: esr
index 61a7546..a8dd524 100644 (file)
@@ -88,9 +88,18 @@ sdc:
 sdnc:
   enabled: false
 
+  replicaCount: 1
+
+  config:
+    enableClustering: false
+
   dmaap-listener:
     config:
       dmaapPort: 3904
+
+  mysql:
+    disableNfsProvisioner: false
+    replicaCount: 1
 so:
   enabled: true
 
index f784eeb..a242771 100644 (file)
@@ -89,9 +89,18 @@ sdc:
 sdnc:
   enabled: true
 
+  replicaCount: 1
+
+  config:
+    enableClustering: false
+
   dmaap-listener:
     config:
       dmaapPort: 3904
+
+  mysql:
+    disableNfsProvisioner: true
+    replicaCount: 1
 so:
   enabled: true
 
index cd715e4..e096902 100644 (file)
@@ -71,8 +71,12 @@ spec:
         - mountPath: /etc/localtime
           name: localtime
           readOnly: true
-        - mountPath: /tmp/policy-install/config
+        - mountPath: /tmp/policy-install/config/brmsgw-tweaks.sh
           name: pe-brmsgw
+          subPath: brmsgw-tweaks.sh
+        - mountPath: /tmp/policy-install/config/brmsgw.conf
+          name: pe-brmsgw
+          subPath: brmsgw.conf
         - mountPath: /tmp/policy-install/config/base.conf
           name: pe
           subPath: base.conf
index 708e570..e436c0e 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
 
 #################################################################
 # Application configuration defaults.
index 0ae0eb8..d197ef6 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
 
 #################################################################
 # Application configuration defaults.
index 07499cd..5006bc0 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
   ubuntuImage: ubuntu:16.04
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/policy-drools:1.2-SNAPSHOT-latest
+image: onap/policy-drools:1.2-STAGING-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 65eb02c..1709af7 100644 (file)
@@ -39,6 +39,8 @@ spec:
           # disable liveness probe when breakpoints set in debugger
           # so K8s doesn't restart unresponsive container 
           {{- if eq .Values.liveness.enabled true }}
+          args:
+          - --lower-case-table-names=1
           livenessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
index 367cde4..d09c446 100644 (file)
@@ -78,8 +78,15 @@ spec:
         - mountPath: /tmp/policy-install/config/base.conf
           name: pe
           subPath: base.conf
-        - mountPath: /tmp/policy-install/config/
+        - mountPath: /tmp/policy-install/config/pdp-tweaks.sh
           name: pe-pdp
+          subPath: pdp-tweaks.sh
+        - mountPath: /tmp/policy-install/config/pdplp.conf
+          name: pe-pdp
+          subPath: pdplp.conf
+        - mountPath: /tmp/policy-install/config/pdp.conf
+          name: pe-pdp
+          subPath: pdp.conf
         - mountPath: /tmp/policy-install/do-start.sh
           name: pe-scripts
           subPath: do-start.sh
index 1fdc56e..9595b9d 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index c335d4a..4549406 100644 (file)
@@ -14,7 +14,8 @@
 
 JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
 POLICY_HOME=/opt/app/policy
-KEYSTORE_PASSWD=PolicyR0ck$
+POLICY_LOGS=/var/log/onap
+KEYSTORE_PASSWD=Pol1cy_0nap
 
 JDBC_DRIVER=org.mariadb.jdbc.Driver
 JDBC_URL=jdbc:mariadb://{{ .Release.Name }}-{{ .Values.global.mariadb.nameOverride }}:{{.Values.config.mariadbPort}}/onap_sdk?failOverReadOnly=false&autoReconnect=true
index 3cee7cc..268d08b 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index 88b3de3..8dca8ab 100644 (file)
@@ -45,19 +45,6 @@ spec:
         image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}-readiness
-      - command: ["/bin/bash", "-c", "echo $POD_IP > /config/ip_addr.txt"]
-        env:
-        - name: POD_IP
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: status.podIP
-        volumeMounts:
-        - mountPath: /config/
-          name: pe
-        image: {{ .Values.global.ubuntuImage }}
-        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-        name: generate-ip-addr-txt
       containers:
         - command:
           - /bin/bash
@@ -88,11 +75,30 @@ spec:
           - mountPath: /etc/localtime
             name: localtime
             readOnly: true
+          - mountPath: /tmp/policy-install/config/push-policies.sh
+            name: pe-pap
+            subPath: push-policies.sh
+          - mountPath: /tmp/policy-install/config/pap-tweaks.sh
+            name: pe-pap
+            subPath: pap-tweaks.sh
+          - mountPath: /tmp/policy-install/config/paplp.conf
+            name: pe-pap
+            subPath: paplp.conf
+          - mountPath: /tmp/policy-install/config/pap.conf
+            name: pe-pap
+            subPath: pap.conf
+          - mountPath: /tmp/policy-install/config/mysql.conf
+            name: pe-pap
+            subPath: mysql.conf
+          - mountPath: /tmp/policy-install/config/elk.conf
+            name: pe-pap
+            subPath: elk.conf
+          - mountPath: /tmp/policy-install/config/console.conf
+            name: pe-pap
+            subPath: console.conf
           - mountPath: /tmp/policy-install/config/base.conf
             name: pe
             subPath: base.conf
-          - mountPath: /tmp/policy-install/config/
-            name: pe-pap
           - mountPath: /tmp/policy-install/do-start.sh
             name: pe-scripts
             subPath: do-start.sh
index 10480a0..bfd2ae1 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
   ubuntuImage: ubuntu:16.04
@@ -41,7 +41,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/policy-pe:1.2-SNAPSHOT-latest
+image: onap/policy-pe:1.2-STAGING-latest
 pullPolicy: Always
 
 subChartsOnly:
index ef92500..6d87dae 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.1
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index fd42fd4..e0fec18 100644 (file)
@@ -18,5 +18,5 @@ metadata:
   name: {{ include "common.fullname" . }}-docker-entry-initd
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/mariadb/docker-entrypoint-initdb.d/*").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/cassandra/docker-entrypoint-initdb.d/*").AsConfig . | indent 2 }}
 
index 91c4fa4..cfd3ac5 100644 (file)
@@ -40,13 +40,13 @@ spec:
         - containerPort: {{ .Values.service.internalPort3 }}
         - containerPort: {{ .Values.service.internalPort4 }}
         - containerPort: {{ .Values.service.internalPort5 }}
-        {{- if eq .Values.liveness.enabled true }}
+        {{ if eq .Values.liveness.enabled true }}
         livenessProbe:
           tcpSocket:
             port: {{ .Values.service.internalPort }}
           initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
           periodSeconds: {{ .Values.liveness.periodSeconds }}
-        {{end -}}
+        {{ end }}
         readinessProbe:
           tcpSocket:
             port: {{ .Values.service.internalPort }}
@@ -56,10 +56,7 @@ spec:
           - name: CASSUSER
             value: "{{ .Values.config.cassandraUsername }}"
           - name: CASSPASS
-            valueFrom:
-              secretKeyRef:
-                name: {{ template "common.fullname" . }}
-                key: db-root-password
+            value: "{{ .Values.config.cassandraPassword }}"
         volumeMounts:
         - mountPath: /etc/localtime
           name: localtime
@@ -70,6 +67,8 @@ spec:
         - name: cassandra-docker-entrypoint-initdb
           mountPath: /docker-entrypoint-initdb.d/zzz_portalsdk.cql
           subPath: portalsdk.cql
+        - name: {{ include "common.fullname" . }}-data
+          mountPath: /var/lib/cassandra/data
         resources:
 {{ toYaml .Values.resources | indent 12 }}
       {{- if .Values.nodeSelector }}
@@ -87,5 +86,12 @@ spec:
         - name: localtime
           hostPath:
             path: /etc/localtime
+      {{- 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"
index c232e4c..c7ecea5 100644 (file)
@@ -27,7 +27,7 @@ repository: nexus3.onap.org:10001
 image: onap/portal-db:2.1-STAGING-latest
 pullPolicy: Always
 
-readinessImage: "readiness-check:1.1.1"
+readinessImage: "readiness-check:2.0.0"
 mariadbInitImage: "mariadb-client-init:2.0.0"
 
 # application configuration
index 010b4c1..94c1103 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index 706dc2f..7637c44 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
   ubuntuInit: ubuntu-init:1.0.0
index 63cfc80..5b97852 100644 (file)
@@ -37,7 +37,7 @@ spec:
         - hbase
         command:
         - /root/ready.py
-        image: oomk8s/readiness-check:1.1.0
+        image: oomk8s/readiness-check:2.0.0
         imagePullPolicy: Always
         name: healthy
         env:
index 23fc555..d5e7a03 100755 (executable)
@@ -22,7 +22,7 @@ function usage
        echo "       demo.sh <namespace> appc <module_name>"
     echo "               - provide APPC with vFW module mount point for closed loop"
        echo " "
-       echo "       demo.sh <namespace> init_robot"
+       echo "       demo.sh <namespace> init_robot [ <etc_hosts_prefix> ]"
     echo "               - Initialize robot after all ONAP VMs have started"
        echo " "
        echo "       demo.sh <namespace> instantiateVFW"
@@ -36,7 +36,7 @@ function usage
 }
 
 # Set the defaults
-if [ $# -le 1 ];then
+if [ $# -le 2 ];then
        usage
        exit
 fi
@@ -47,9 +47,9 @@ shift
 ##
 ## if more than 1 tag is supplied, the must be provided with -i or -e
 ##
-while [ $# -gt 0 ]
+while [ $# -gt 1 ]
 do
-       key="$1"
+       key="$2"
 
        case $key in
        init_robot)
@@ -62,6 +62,10 @@ do
                        fi
                        VARIABLES="$VARIABLES -v WEB_PASSWORD:$WEB_PASSWORD"
                        shift
+                       if [ $# -eq 2 ];then
+                               VARIABLES="$VARIABLES -v HOSTS_PREFIX:$2"
+                       fi
+                       shift
                        ;;
        init)
                        TAG="InitDemo"
@@ -75,7 +79,7 @@ do
                        TAG="InitDistribution"
                        shift
                        if [ $# -eq 1 ];then
-                               VARIABLES="$VARIABLES -v DEMO_PREFIX:$1"
+                               VARIABLES="$VARIABLES -v DEMO_PREFIX:$2"
                        fi
                        shift
                        ;;
@@ -86,9 +90,9 @@ do
                                echo "Usage: demo.sh preload <vnf_name> <module_name>"
                                exit
                        fi
-                       VARIABLES="$VARIABLES -v VNF_NAME:$1"
+                       VARIABLES="$VARIABLES -v VNF_NAME:$2"
                        shift
-                       VARIABLES="$VARIABLES -v MODULE_NAME:$1"
+                       VARIABLES="$VARIABLES -v MODULE_NAME:$2"
                        shift
                        ;;
        appc)
@@ -98,7 +102,7 @@ do
                        echo "Usage: demo.sh appc <module_name>"
                        exit
                fi
-       VARIABLES="$VARIABLES -v MODULE_NAME:$1"
+       VARIABLES="$VARIABLES -v MODULE_NAME:$2"
        shift
        ;;
        instantiateVFW)
@@ -113,14 +117,14 @@ do
                                echo "Usage: demo.sh deleteVNF <module_name from instantiateVFW>"
                                exit
                        fi
-                       VARFILE=$1.py
+                       VARFILE=$2.py
                        if [ -e /opt/eteshare/${VARFILE} ]; then
                                VARIABLES="$VARIABLES -V /share/${VARFILE}"
                        else
                                echo "Cache file ${VARFILE} is not found"
                                exit
                        fi
-      shift
+                       shift
                        ;;
        heatbridge)
                        TAG="heatbridge"
@@ -129,11 +133,11 @@ do
                                echo "Usage: demo.sh heatbridge <stack_name> <service_instance_id> <service>"
                                exit
                        fi
-                       VARIABLES="$VARIABLES -v HB_STACK:$1"
+                       VARIABLES="$VARIABLES -v HB_STACK:$2"
                        shift
-                       VARIABLES="$VARIABLES -v HB_SERVICE_INSTANCE_ID:$1"
+                       VARIABLES="$VARIABLES -v HB_SERVICE_INSTANCE_ID:$2"
                        shift
-                       VARIABLES="$VARIABLES -v HB_SERVICE:$1"
+                       VARIABLES="$VARIABLES -v HB_SERVICE:$2"
                        shift
                        ;;
        *)
index 9810ac2..71e2027 100755 (executable)
@@ -6,7 +6,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.sh [namespace] [ health | ete | closedloop | instantiate | distribute ]"
+   echo "Usage: ete-k8s.sh [namespace] [ health | ete | closedloop | instantiate | distribute ]"
    exit
 fi
 
index 988730f..23b429e 100755 (executable)
@@ -1 +1 @@
-robot:robot
+{{ .Values.config.lightHttpdUsername }}:{{ .Values.config.lightHttpdPassword }}
index b125f79..502d8fc 100755 (executable)
@@ -1,57 +1,24 @@
 GLOBAL_PRELOAD_PARAMETERS = {
-# heat template parameter values common to all heat template continaing these parameters
+    # heat template parameter values common to all heat template continaing these parameters
      "defaults" : {
-        'key_name' : 'vfw_key${uuid}',
-        "pub_key" : "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqqnA9BAiMLtjOPSYBfhzLu4CiBolWoskDg4KVwhTJVTTeB6CqrQNcadlGXxOHhCYuNCKkUmIVF4WTOisVOJ75Z1c4OMoZLL85xVPKSIeH63kgVugwgPYQu55NbbWX+rsbUha3LnElDhNviMM3iTPbD5nnhKixNERAJMTLKXvZZZGqxW94bREknYPQTT2qrk3YRqwldncopp6Nkgv3AnSJz2gc9tjxnWF0poTQnQm/3D6hiJICrzKfAV0EaPN0KdtYjPhKrYoy6Qb/tKOVaaqsvwfKBJGrT9LfcA7D7M/yj292RT1XN63hI84WC383LsaPJ6eWdDTE6zUP1eGTWCoOw== rsa-key-20161026",
-        "repo_url_blob" : "https://nexus.onap.org/content/repositories/raw",
-        "repo_url_artifacts" : "https://nexus.onap.org/content/groups/staging",
-        "demo_artifacts_version" : "{{ .Values.demoArtifactsVersion }}",
-        "onap_private_net_id" : "{{ .Values.openStackPrivateNetId }}",
-        "onap_private_subnet_id" : "{{ .Values.openStackPrivateSubnetId }}",
-        "onap_private_net_cidr" : "{{ .Values.openStackPrivateNetCidr }}",
-        "dcae_collector_ip" : "10.0.4.102",
-        "dcae_collector_port" : "8080",
-        "public_net_id" : "{{ .Values.openStackPublicNetId }}",
-        "cloud_env" : "${cloud_env}",
-            "install_script_version" : "${install_script_version}",
-###
-# vims_preload  same for every instantiation
-###
-        "bono_image_name" : "${vm_image_name}",
-        "sprout_image_name" : "${vm_image_name}",
-        "homer_image_name" : "${vm_image_name}",
-        "homestead_image_name" : "${vm_image_name}",
-        "ralf_image_name" : "${vm_image_name}",
-        "ellis_image_name" : "${vm_image_name}",
-        "dns_image_name" : "${vm_image_name}",
-            "bono_flavor_name" : "${vm_flavor_name}",
-            "sprout_flavor_name" : "${vm_flavor_name}",
-            "homer_flavor_name" : "${vm_flavor_name}",
-            "homestead_flavor_name" : "${vm_flavor_name}",
-            "ralf_flavor_name" : "${vm_flavor_name}",
-            "ellis_flavor_name" : "${vm_flavor_name}",
-            "dns_flavor_name" : "${vm_flavor_name}",
-            "repo_url" : "http://repo.cw-ngv.com/stable",
-            "zone" : "me.cw-ngv.com",
-            "dn_range_start" : "2425550000",
-            "dn_range_length" : "10000",
-            "dnssec_key" : "9FPdYTWhk5+LbhrqtTPQKw==",
-###
-# vlb_preload same for every instantiation
-###
-                "vlb_image_name" : "${vm_image_name}",
-                "vlb_flavor_name" : "${vm_flavor_name}",
-###
-# vlb_preload same for every instantiation
-###
-                "vfw_image_name" : "${vm_image_name}",
-                "vfw_flavor_name" : "${vm_flavor_name}",
-###
-    },
+         'key_name' : 'vfw_key${uuid}',
+         "pub_key" : "${pub_key}",
+         "repo_url_blob" : "https://nexus.onap.org/content/repositories/raw",
+         "repo_url_artifacts" : "https://nexus.onap.org/content/groups/staging",
+         "demo_artifacts_version" : "${GLOBAL_INJECTED_ARTIFACTS_VERSION}",
+         "onap_private_net_id" : "${GLOBAL_INJECTED_NETWORK}",
+         "onap_private_subnet_id" : "{{ .Values.openStackPrivateSubnetId }}",
+         "onap_private_net_cidr" : "{{ .Values.openStackPrivateNetCidr }}",
+         "dcae_collector_ip" : "${dcae_collector_ip}",
+         "dcae_collector_port" : "8080",
+         "public_net_id" : "${GLOBAL_INJECTED_PUBLIC_NET_ID}",
+         "cloud_env" : "${GLOBAL_INJECTED_CLOUD_ENV}",
+         "install_script_version" : "${GLOBAL_INJECTED_SCRIPT_VERSION}",
+     },
 
-###
-# heat template parameter values for heat template instances created during Vnf-Orchestration test cases
-###
+# ##
+    # heat template parameter values for heat template instances created during Vnf-Orchestration test cases
+    # ##
     "Vnf-Orchestration" : {
         "vfw_preload.template": {
             "unprotected_private_net_id" : "vofwl01_unprotected${hostid}",
@@ -60,37 +27,103 @@ GLOBAL_PRELOAD_PARAMETERS = {
             "protected_private_net_cidr" : "192.168.20.0/24",
             "vfw_private_ip_0" : "192.168.10.100",
             "vfw_private_ip_1" : "192.168.20.100",
-            "vfw_private_ip_2" : "{{ .Values.openStackOamNetworkCidrPrefix }}.1",
+            "vfw_private_ip_2" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.1",
             "vpg_private_ip_0" : "192.168.10.200",
-            "vpg_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.2",
+            "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.2",
             "vsn_private_ip_0" : "192.168.20.250",
-            "vsn_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.3",
+            "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.3",
             'vfw_name_0':'vofwl01fwl${hostid}',
             'vpg_name_0':'vofwl01pgn${hostid}',
+            "vfw_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "vfw_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
             'vsn_name_0':'vofwl01snk${hostid}'
         },
+        "vfwsnk_preload.template": {
+            "unprotected_private_net_id" : "vofwlsnk_unprotected${hostid}",
+            "unprotected_private_subnet_id" : "vofwlsnk_unprotected_sub${hostid}",
+            "unprotected_private_net_cidr" : "192.168.10.0/24",
+            "protected_private_net_id" : "vofwlsnk_protected${hostid}",
+            "protected_private_subnet_id" : "vofwlsnk_protected_sub${hostid}",
+            "protected_private_net_cidr" : "192.168.20.0/24",
+            "vfw_private_ip_0" : "192.168.10.100",
+            "vfw_private_ip_1" : "192.168.20.100",
+            "vfw_private_ip_2" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.101",
+            "vpg_private_ip_0" : "192.168.10.200",
+            "vsn_private_ip_0" : "192.168.20.250",
+            "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.102",
+            'vfw_name_0':'vofwl01fwl${hostid}',
+            'vsn_name_0':'vofwl01snk${hostid}',
+            "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+        },
+        "vpkg_preload.template": {
+            "unprotected_private_net_id" : "vofwlsnk_unprotected${hostid}",
+            "unprotected_private_subnet_id" : "vofwlsnk_unprotected_sub${hostid}",
+            "unprotected_private_net_cidr" : "192.168.10.0/24",
+            "protected_private_net_cidr" : "192.168.20.0/24",
+            "vfw_private_ip_0" : "192.168.10.100",
+            "vpg_private_ip_0" : "192.168.10.200",
+            "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.103",
+            "vsn_private_ip_0" : "192.168.20.250",
+            'vpg_name_0':'vofwl01pgn${hostid}',
+            "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+        },
         "vlb_preload.template" : {
+            "vlb_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
+            "vlb_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
             "vlb_private_net_id" : "volb01_private${hostid}",
+            "pktgen_private_net_id" : "volb01_pktgen${hostid}",
             "vlb_private_net_cidr" : "192.168.30.0/24",
             "vlb_private_ip_0" : "192.168.30.100",
-            "vlb_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.4",
+            "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.4",
             "vdns_private_ip_0" : "192.168.30.110",
-            "vdns_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.5",
+            "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.5",
             'vlb_name_0':'vovlblb${hostid}',
             'vdns_name_0':'vovlbdns${hostid}',
-            "vlb_private_net_cidr" : "192.168.10.0/24",
-                        "pktgen_private_net_cidr" : "192.168.9.0/24"
+            "pktgen_private_net_cidr" : "192.168.9.0/24",
+            "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.7",
+            "pg_int" : "192.168.9.109",
+            "vpg_private_ip_0" : "192.168.9.110",
+            "vlb_private_ip_2" : "192.168.9.111",
+            "vip" : "192.168.9.112",
+            "gre_ipaddr" : "192.168.30.112",
+            "vpg_name_0" : "vovlbpgn${hostid}",
+            "vnf_id" : "vLoadBalancer_${hostid}",
+            "vf_module_id" : "vLoadBalancer"
 
         },
         "dnsscaling_preload.template" : {
             "vlb_private_net_id" : "volb01_private${hostid}",
             "vlb_private_ip_0" : "192.168.30.100",
-            "vlb_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.4",
+            "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.4",
             "vdns_private_ip_0" : "192.168.30.222",
-            "vdns_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.6",
+            "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.6",
             'scaling_vdns_name_0':'vovlbscaling${hostid}',
             "vlb_private_net_cidr" : "192.168.10.0/24"
         },
+        "vims_preload.template" : {
+            "bono_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "sprout_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "homer_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "homestead_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "ralf_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "ellis_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "dns_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "bono_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "sprout_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "homer_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "homestead_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "ralf_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "ellis_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "dns_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "repo_url" : "http://repo.cw-ngv.com/stable",
+            "zone" : "me.cw-ngv.com",
+            "dn_range_start" : "2425550000",
+            "dn_range_length" : "10000",
+            "dnssec_key" : "9FPdYTWhk5+LbhrqtTPQKw=="
+
+        },
         "vvg_preload.template" : {
         }
     },
@@ -103,36 +136,101 @@ GLOBAL_PRELOAD_PARAMETERS = {
             "protected_private_net_cidr" : "192.168.120.0/24",
             "vfw_private_ip_0" : "192.168.110.100",
             "vfw_private_ip_1" : "192.168.120.100",
-            "vfw_private_ip_2" : "{{ .Values.openStackOamNetworkCidrPrefix }}.11",
+            "vfw_private_ip_2" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.11",
             "vpg_private_ip_0" : "192.168.110.200",
-            "vpg_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.12",
+            "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.12",
             "vsn_private_ip_0" : "192.168.120.250",
-            "vsn_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.13",
+            "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.13",
             'vfw_name_0':'clfwl01fwl${hostid}',
             'vpg_name_0':'clfwl01pgn${hostid}',
+            "vfw_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "vfw_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
             'vsn_name_0':'clfwl01snk${hostid}'
         },
+        "vfwsnk_preload.template": {
+            "unprotected_private_net_id" : "clfwlsnk_unprotected${hostid}",
+            "unprotected_private_subnet_id" : "clfwlsnk_unprotected_sub${hostid}",
+            "unprotected_private_net_cidr" : "192.168.10.0/24",
+            "protected_private_net_id" : "clfwlsnk_protected${hostid}",
+            "protected_private_subnet_id" : "clfwlsnk_protected_sub${hostid}",
+            "protected_private_net_cidr" : "192.168.20.0/24",
+            "vfw_private_ip_0" : "192.168.10.100",
+            "vfw_private_ip_1" : "192.168.20.100",
+            "vfw_private_ip_2" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.111",
+            "vpg_private_ip_0" : "192.168.10.200",
+            "vsn_private_ip_0" : "192.168.20.250",
+            "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.112",
+            'vfw_name_0':'clfwl01fwl${hostid}',
+            'vsn_name_0':'clfwl01snk${hostid}',
+            "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+        },
+        "vpkg_preload.template": {
+            "unprotected_private_net_id" : "clfwlsnk_unprotected${hostid}",
+            "unprotected_private_subnet_id" : "clfwlsnk_unprotected_sub${hostid}",
+            "unprotected_private_net_cidr" : "192.168.10.0/24",
+            "protected_private_net_cidr" : "192.168.20.0/24",
+            "vfw_private_ip_0" : "192.168.10.100",
+            "vpg_private_ip_0" : "192.168.10.200",
+            "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.113",
+            "vsn_private_ip_0" : "192.168.20.250",
+            'vpg_name_0':'clfwl01pgn${hostid}',
+            "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+        },
         "vlb_preload.template" : {
+            "vlb_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
+            "vlb_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
             "vlb_private_net_id" : "cllb01_private${hostid}",
-            "vlb_private_net_cidr" : "192.168.130.0/24",
-            "vlb_private_ip_0" : "192.168.130.100",
-            "vlb_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.14",
-            "vdns_private_ip_0" : "192.168.130.110",
-            "vdns_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.15",
+            "pktgen_private_net_id" : "cllb01_pktgen${hostid}",
+            "vlb_private_net_cidr" : "192.168.30.0/24",
+            "vlb_private_ip_0" : "192.168.30.100",
+            "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.14",
+            "vdns_private_ip_0" : "192.168.30.110",
+            "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.15",
             'vlb_name_0':'clvlblb${hostid}',
             'vdns_name_0':'clvlbdns${hostid}',
-            "vlb_private_net_cidr" : "192.168.10.0/24",
-                        "pktgen_private_net_cidr" : "192.168.9.0/24"
+            "pktgen_private_net_cidr" : "192.168.9.0/24",
+            "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.17",
+            "pg_int" : "192.168.9.109",
+            "vpg_private_ip_0" : "192.168.9.110",
+            "vlb_private_ip_2" : "192.168.9.111",
+            "vip" : "192.168.9.112",
+            "gre_ipaddr" : "192.168.30.112",
+            "vpg_name_0" : "clvlbpgn${hostid}",
+            "vnf_id" : "vLoadBalancer_${hostid}",
+            "vf_module_id" : "vLoadBalancer"
         },
         "dnsscaling_preload.template" : {
             "vlb_private_net_id" : "cllb01_private${hostid}",
             "vlb_private_ip_0" : "192.168.130.100",
-            "vlb_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.14",
+            "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.14",
             "vdns_private_ip_0" : "192.168.130.222",
-            "vdns_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.16",
+            "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.16",
             'scaling_vdns_name_0':'clvlbscaling${hostid}',
             "vlb_private_net_cidr" : "192.168.10.0/24"
         },
+        "vims_preload.template" : {
+            "bono_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "sprout_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "homer_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "homestead_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "ralf_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "ellis_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "dns_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "bono_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "sprout_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "homer_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "homestead_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "ralf_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "ellis_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "dns_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "repo_url" : "http://repo.cw-ngv.com/stable",
+            "zone" : "me.cw-ngv.com",
+            "dn_range_start" : "2425550000",
+            "dn_range_length" : "10000",
+            "dnssec_key" : "9FPdYTWhk5+LbhrqtTPQKw=="
+        },
         "vvg_preload.template" : {
         }
     },
@@ -145,36 +243,101 @@ GLOBAL_PRELOAD_PARAMETERS = {
             "protected_private_net_cidr" : "192.168.120.0/24",
             "vfw_private_ip_0" : "192.168.110.100",
             "vfw_private_ip_1" : "192.168.120.100",
-            "vfw_private_ip_2" : "{{ .Values.openStackOamNetworkCidrPrefix }}.11",
+            "vfw_private_ip_2" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.11",
             "vpg_private_ip_0" : "192.168.110.200",
-            "vpg_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.12",
+            "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.12",
             "vsn_private_ip_0" : "192.168.120.250",
-            "vsn_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.13",
+            "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.13",
             'vfw_name_0':'demofwl01fwl',
             'vpg_name_0':'demofwl01pgn',
+            "vfw_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "vfw_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
             'vsn_name_0':'demofwl01snk'
         },
+        "vfwsnk_preload.template": {
+            "unprotected_private_net_id" : "demofwlsnk_unprotected${hostid}",
+            "unprotected_private_subnet_id" : "demofwlsnk_unprotected_sub${hostid}",
+            "unprotected_private_net_cidr" : "192.168.10.0/24",
+            "protected_private_net_id" : "demofwlsnk_protected${hostid}",
+            "protected_private_subnet_id" : "vofwlsnk_protected_sub${hostid}",
+            "protected_private_net_cidr" : "192.168.20.0/24",
+            "vfw_private_ip_0" : "192.168.10.100",
+            "vfw_private_ip_1" : "192.168.20.100",
+            "vfw_private_ip_2" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.121",
+            "vpg_private_ip_0" : "192.168.10.200",
+            "vsn_private_ip_0" : "192.168.20.250",
+            "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.122",
+            'vfw_name_0':'${generic_vnf_name}',
+            'vsn_name_0':'demofwl01snk${hostid}',
+            "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+        },
+        "vpkg_preload.template": {
+            "unprotected_private_net_id" : "demofwlsnk_unprotected${hostid}",
+            "unprotected_private_subnet_id" : "demofwlsnk_unprotected_sub${hostid}",
+            "unprotected_private_net_cidr" : "192.168.10.0/24",
+            "protected_private_net_cidr" : "192.168.20.0/24",
+            "vfw_private_ip_0" : "192.168.10.100",
+            "vpg_private_ip_0" : "192.168.10.200",
+            "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.123",
+            "vsn_private_ip_0" : "192.168.20.250",
+            'vpg_name_0':'demofwl01pgn${hostid}',
+            "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}"
+        },
         "vlb_preload.template" : {
-            "vlb_private_net_id" : "demolb_private",
-            "vlb_private_net_cidr" : "192.168.130.0/24",
-            "vlb_private_ip_0" : "192.168.130.100",
-            "vlb_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.14",
-            "vdns_private_ip_0" : "192.168.130.110",
-            "vdns_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.15",
-            'vlb_name_0':'demovlblb',
-            'vdns_name_0':'demovlbdns',
-            "vlb_private_net_cidr" : "192.168.10.0/24",
-                        "pktgen_private_net_cidr" : "192.168.9.0/24"
+            "vlb_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
+            "vlb_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "vlb_private_net_id" : "demolb_private${hostid}",
+            "pktgen_private_net_id" : "demolb_pktgen${hostid}",
+            "vlb_private_net_cidr" : "192.168.30.0/24",
+            "vlb_private_ip_0" : "192.168.30.100",
+            "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.24",
+            "vdns_private_ip_0" : "192.168.30.110",
+            "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.25",
+            'vlb_name_0':'demovlblb${hostid}',
+            'vdns_name_0':'demovlbdns${hostid}',
+            "pktgen_private_net_cidr" : "192.168.9.0/24",
+            "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.27",
+            "pg_int" : "192.168.9.109",
+            "vpg_private_ip_0" : "192.168.9.110",
+            "vlb_private_ip_2" : "192.168.9.111",
+            "vip" : "192.168.9.112",
+            "gre_ipaddr" : "192.168.30.112",
+            "vpg_name_0" : "clvlbpgn${hostid}",
+            "vnf_id" : "vLoadBalancer_${hostid}",
+            "vf_module_id" : "vLoadBalancer"
         },
         "dnsscaling_preload.template" : {
-            "vlb_private_net_id" : "demolb_private",
+            "vlb_private_net_id" : "demolb_private${hostid}",
             "vlb_private_ip_0" : "192.168.130.100",
-            "vlb_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.14",
+            "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.24",
             "vdns_private_ip_0" : "192.168.130.222",
-            "vdns_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.16",
-            'scaling_vdns_name_0':'demovlbscaling',
+            "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.26",
+            'scaling_vdns_name_0':'demovlbscaling${hostid}',
             "vlb_private_net_cidr" : "192.168.10.0/24"
         },
+        "vims_preload.template" : {
+            "bono_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "sprout_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "homer_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "homestead_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "ralf_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "ellis_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "dns_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "bono_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "sprout_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "homer_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "homestead_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "ralf_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "ellis_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "dns_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "repo_url" : "http://repo.cw-ngv.com/stable",
+            "zone" : "me.cw-ngv.com",
+            "dn_range_start" : "2425550000",
+            "dn_range_length" : "10000",
+            "dnssec_key" : "9FPdYTWhk5+LbhrqtTPQKw=="
+        },
         "vvg_preload.template" : {
         }
     }
index 305ba3e..571ea9f 100755 (executable)
@@ -1,50 +1,59 @@
-# aaf info - everything is from the private oam network (also called ecomp private network)
-GLOBAL_AAF_SERVER = "http://10.0.12.1:8101"
+# aaf info - everything is from the private oam network (also called onap private network)
+GLOBAL_AAF_SERVER = "http://{{.Release.Name}}-aaf.{{include "common.namespace" .}}:8101"
 GLOBAL_AAF_USERNAME = "dgl@openecomp.org"
 GLOBAL_AAF_PASSWORD = "ecomp_admin"
-# aai info - everything is from the private oam network (also called ecomp private network)
+# 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"
 GLOBAL_AAI_PASSWORD = "AAI"
-# appc info - everything is from the private oam network (also called ecomp private network)
+# 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_SERVER = "http://10.0.2.1:"
+GLOBAL_APPC_SERVER = "http://{{.Release.Name}}-appc.{{include "common.namespace" .}}:"
 GLOBAL_APPC_USERNAME = "admin"
-GLOBAL_APPC_PASSWORD = "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"
-# sdc info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_APPC_PASSWORD = "admin"
+# sdc info - everything is from the private oam network (also called onap private network)
 GLOBAL_ASDC_SERVER_PROTOCOL = "http"
 GLOBAL_ASDC_FE_PORT = "8181"
 GLOBAL_ASDC_BE_PORT = "8080"
 GLOBAL_ASDC_BE_USERNAME = "beep"
 GLOBAL_ASDC_BE_PASSWORD = "boop"
-# clamp info - everything is from the private oam network (also called ecomp private network)
+# clamp info - everything is from the private oam network (also called onap private network)
 GLOBAL_CLAMP_SERVER_PROTOCOL = "http"
 GLOBAL_CLAMP_SERVER_PORT = "8080"
-# dcae info - everything is from the private oam network (also called ecomp private network)
+# nbi info - everything is from the private oam network (also called onap private network)
+GLOBAL_NBI_SERVER_PROTOCOL = "http"
+GLOBAL_NBI_SERVER_PORT = "8080"
+# cli info - everything is from the private oam network (also called onap private network)
+GLOBAL_CLI_SERVER_PROTOCOL = "http"
+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_SERVER_PORT = "8080"
+GLOBAL_DCAE_HEALTH_SERVER_PORT = "8000"
 GLOBAL_DCAE_USERNAME = "console"
 GLOBAL_DCAE_PASSWORD = "ZjJkYjllMjljMTI2M2Iz"
-# microservice bus info - everything is from the private oam network (also called ecomp private network)
+# microservice bus info - everything is from the private oam network (also called onap private network)
 GLOBAL_MSB_SERVER_PROTOCOL = "http"
 GLOBAL_MSB_SERVER_PORT = "80"
-# message router info - everything is from the private oam network (also called ecomp private network)
+# message router info - everything is from the private oam network (also called onap private network)
 GLOBAL_MR_SERVER_PROTOCOL = "http"
 GLOBAL_MR_SERVER_PORT = "3904"
-# mso info - everything is from the private oam network (also called ecomp private network)
+# mso info - everything is from the private oam network (also called onap private network)
 GLOBAL_MSO_SERVER_PROTOCOL = "http"
 GLOBAL_MSO_SERVER_PORT = "8080"
 GLOBAL_MSO_USERNAME = "InfraPortalClient"
 GLOBAL_MSO_PASSWORD = "password1$"
+# music info - everything is from the private oam network (also called onap private network)
+GLOBAL_MUSIC_SERVER_PROTOCOL = "http"
+GLOBAL_MUSIC_SERVER_PORT = "8080"
 # openstack info - info to select right info in environment
-# packet generate vnf info - everything is from the private oam network (also called ecomp private network)
+# packet generate vnf info - everything is from the private oam network (also called onap private network)
 GLOBAL_PACKET_GENERATOR_PORT = "8183"
 GLOBAL_PACKET_GENERATOR_USERNAME = "admin"
 GLOBAL_PACKET_GENERATOR_PASSWORD = "admin"
 GLOBAL_PGN_PORT = "2831"
-# policy info - everything is from the private oam network (also called ecomp private network)
+# policy info - everything is from the private oam network (also called onap private network)
 GLOBAL_POLICY_SERVER_PROTOCOL = "http"
 GLOBAL_POLICY_SERVER_PORT = "8081"
 GLOBAL_POLICY_HEALTHCHECK_PORT = "6969"
@@ -52,30 +61,36 @@ GLOBAL_POLICY_AUTH = "dGVzdHBkcDphbHBoYTEyMw=="
 GLOBAL_POLICY_CLIENTAUTH = "cHl0aG9uOnRlc3Q="
 GLOBAL_POLICY_USERNAME = "healthcheck"
 GLOBAL_POLICY_PASSWORD = "zb!XztG34"
-# portal info - everything is from the private oam network (also called ecomp private network)
+# 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"
-# sdngc info - everything is from the private oam network (also called ecomp private network)
+# 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"
-# vid info - everything is from the private oam network (also called ecomp private network)
+# vid info - everything is from the private oam network (also called onap private network)
 GLOBAL_VID_SERVER_PROTOCOL = "http"
 GLOBAL_VID_SERVER_PORT = "8080"
 GLOBAL_VID_USERNAME = "demo"
 GLOBAL_VID_PASSWORD = "Kp8bJ4SXszM0WX"
 GLOBAL_VID_HEALTH_USERNAME = "Default"
 GLOBAL_VID_HEALTH_PASSWORD = "AppPassword!1"
+# vnfsdk info - everything is from the private oam network (also called onap private network)
+GLOBAL_VNFSDK_SERVER_PROTOCOL = "http"
+GLOBAL_VNFSDK_SERVER_PORT = "8702"
 #global selenium info
-GLOBAL_PROXY_WARNING_TITLE = ""
-GLOBAL_PROXY_WARNING_CONTINUE_XPATH = ""
-# settings for vm to attach vvg too
-GLOBAL_VVGSERVER_IMAGE = "{{ .Values.ubuntuImage }}"
-GLOBAL_VVGSERVER_FLAVOR = "{{ .Values.openStackFlavourMedium }}"
+GLOBAL_PROXY_WARNING_TITLE=""
+GLOBAL_PROXY_WARNING_CONTINUE_XPATH=""
 # dns info
 GLOBAL_DNS_TRAFFIC_DURATION = "600"
+# location where heat templates are loaded from
 GLOBAL_HEAT_TEMPLATES_FOLDER = "/share/heat"
+# Log info
+GLOBAL_LOG_SERVER_PROTOCOL = "http"
+GLOBAL_LOG_ELASTICSEARCH_PORT = "9200"
+GLOBAL_LOG_LOGSTASH_PORT = "9600"
+GLOBAL_LOG_KIBANA_PORT = "5601"
index c62c440..7aa9581 100755 (executable)
@@ -1,62 +1,83 @@
-#file generated from /opt/config
+# File generated from /opt/config
 #
+GLOBAL_INJECTED_AAF_IP_ADDR = "{{.Release.Name}}-aaf.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_AAI1_IP_ADDR = "aai.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_AAI2_IP_ADDR = "N/A"
 GLOBAL_INJECTED_APPC_IP_ADDR = "{{.Release.Name}}-appc.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_ARTIFACTS_VERSION = "{{.Values.demoArtifactsVersion}}"
 GLOBAL_INJECTED_CLAMP_IP_ADDR = "{{.Release.Name}}-clamp.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_CLI_IP_ADDR = "cli.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_CLOUD_ENV = "openstack"
 GLOBAL_INJECTED_DCAE_IP_ADDR = "{{.Release.Name}}-dcae-controller.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_DNS_IP_ADDR = "10.0.100.1"
+GLOBAL_INJECTED_DNS_IP_ADDR = "N/A"
 GLOBAL_INJECTED_DOCKER_VERSION = "1.2-STAGING-latest"
-#GLOBAL_INJECTED_EXTERNAL_DNS = "N/A"
+GLOBAL_INJECTED_EXTERNAL_DNS = "N/A"
 GLOBAL_INJECTED_GERRIT_BRANCH = "master"
+GLOBAL_INJECTED_LOG_ELASTICSEARCH_IP_ADDR = "log-es.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_LOG_KIBANA_IP_ADDR = "log-kibana.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_LOG_LOGSTASH_IP_ADDR = "log-ls-http.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_KEYSTONE = "{{ .Values.openStackKeyStoneUrl }}"
 GLOBAL_INJECTED_MR_IP_ADDR = "message-router.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_MSO_IP_ADDR = "so.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_MUSIC_IP_ADDR = "music.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_NBI_IP_ADDR = "nbi.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_NETWORK = "{{ .Values.openStackPrivateNetId }}"
 GLOBAL_INJECTED_NEXUS_DOCKER_REPO = "nexus3.onap.org:10001"
 GLOBAL_INJECTED_NEXUS_PASSWORD = "docker"
 GLOBAL_INJECTED_NEXUS_REPO = "https://nexus.onap.org/content/sites/raw"
 GLOBAL_INJECTED_NEXUS_USERNAME = "docker"
+GLOBAL_INJECTED_OOF_IP_ADDR = "oof.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_OPENO_IP_ADDR = "msb-iag.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_OPENSTACK_PASSWORD = "{{ .Values.openStackEncryptedPassword }}"
+GLOBAL_INJECTED_OPENSTACK_PASSWORD = "{{ .Values.openStackPassword }}"
 GLOBAL_INJECTED_OPENSTACK_TENANT_ID = "{{ .Values.openStackTenantId }}"
 GLOBAL_INJECTED_OPENSTACK_USERNAME = "{{ .Values.openStackUserName }}"
 GLOBAL_INJECTED_POLICY_IP_ADDR = "pdp.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_POLICY_HEALTHCHECK_IP_ADDR = "{{.Release.Name}}-drools.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_PORTAL_IP_ADDR = "{{.Release.Name}}-portal-app.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_PUBLIC_NET_ID = "{{ .Values.openStackPublicNetId }}"
 GLOBAL_INJECTED_REGION = "{{ .Values.openStackRegion }}"
 GLOBAL_INJECTED_REMOTE_REPO = "http://gerrit.onap.org/r/testsuite/properties.git"
-GLOBAL_INJECTED_SDC_IP_ADDR = "{{.Release.Name}}-sdc-be.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_SDC_FE_IP_ADDR = "{{.Release.Name}}-sdc-fe.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SCRIPT_VERSION = "{{ .Values.scriptVersion }}"
 GLOBAL_INJECTED_SDC_BE_IP_ADDR = "{{.Release.Name}}-sdc-be.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SDC_FE_IP_ADDR = "{{.Release.Name}}-sdc-fe.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SDC_IP_ADDR = "N/A"
 GLOBAL_INJECTED_SDNC_IP_ADDR = "{{.Release.Name}}-sdnc.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR = "{{.Release.Name}}-sdnc-portal.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_SO_IP_ADDR = "so.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_UBUNTU_1404_IMAGE = "{{ .Values.ubuntu14Image }}"
+GLOBAL_INJECTED_UBUNTU_1604_IMAGE = "{{ .Values.ubuntu16Image }}"
 GLOBAL_INJECTED_VID_IP_ADDR = "{{.Release.Name}}-vid.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_VM_FLAVOR = "{{ .Values.openStackFlavourMedium }}"
-GLOBAL_INJECTED_VM_IMAGE_NAME = "{{ .Values.ubuntuImage }}"
-GLOBAL_INJECTED_PUBLIC_NET_ID = "{{ .Values.openStackPublicNetId }}"
-GLOBAL_INJECTED_SCRIPT_VERSION = "{{ .Values.scriptVersion }}"
+GLOBAL_INJECTED_VNFSDK_IP_ADDR = "{{.Release.Name}}-vnfsdk.{{include "common.namespace" .}}"
+
 GLOBAL_INJECTED_PROPERTIES = {
+    "GLOBAL_INJECTED_AAF_IP_ADDR" : "{{.Release.Name}}-aaf.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_AAI1_IP_ADDR" : "aai.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_AAI2_IP_ADDR" : "N/A",
     "GLOBAL_INJECTED_APPC_IP_ADDR" : "{{.Release.Name}}-appc.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_ARTIFACTS_VERSION" : "{{.Values.demoArtifactsVersion}}",
     "GLOBAL_INJECTED_CLAMP_IP_ADDR" : "{{.Release.Name}}-clamp.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_CLI_IP_ADDR" : "cli.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_CLOUD_ENV" : "openstack",
     "GLOBAL_INJECTED_DCAE_IP_ADDR" : "{{.Release.Name}}-dcae-controller.{{include "common.namespace" .}}",
-    "GLOBAL_INJECTED_DNS_IP_ADDR" : "10.0.100.1",
+    "GLOBAL_INJECTED_DNS_IP_ADDR" : "N/A",
     "GLOBAL_INJECTED_DOCKER_VERSION" : "1.2-STAGING-latest",
+    "GLOBAL_INJECTED_EXTERNAL_DNS" : "N/A",
     "GLOBAL_INJECTED_GERRIT_BRANCH" : "master",
     "GLOBAL_INJECTED_KEYSTONE" : "{{ .Values.openStackKeyStoneUrl }}",
+    "GLOBAL_INJECTED_LOG_ELASTICSEARCH_IP_ADDR" : "log-es.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_LOG_KIBANA_IP_ADDR" : "log-kibana.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_LOG_LOGSTASH_IP_ADDR" : "log-ls.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_MR_IP_ADDR" : "message-router.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_MSO_IP_ADDR" : "so.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_MUSIC_IP_ADDR" : "music.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_NBI_IP_ADDR" : "nbi.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_NETWORK" : "{{ .Values.openStackPrivateNetId }}",
     "GLOBAL_INJECTED_NEXUS_DOCKER_REPO" : "nexus3.onap.org:10001",
     "GLOBAL_INJECTED_NEXUS_PASSWORD" : "docker",
     "GLOBAL_INJECTED_NEXUS_REPO" : "https://nexus.onap.org/content/sites/raw",
     "GLOBAL_INJECTED_NEXUS_USERNAME" : "docker",
+    "GLOBAL_INJECTED_OOF_IP_ADDR" : "oof.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_OPENO_IP_ADDR" : "msb-iag.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_OPENSTACK_PASSWORD" : "{{ .Values.openStackEncryptedPassword }}",
     "GLOBAL_INJECTED_OPENSTACK_TENANT_ID" : "{{ .Values.openStackTenantId }}",
@@ -64,16 +85,19 @@ GLOBAL_INJECTED_PROPERTIES = {
     "GLOBAL_INJECTED_POLICY_IP_ADDR" : "pdp.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_POLICY_HEALTHCHECK_IP_ADDR" : "{{.Release.Name}}-drools.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_PORTAL_IP_ADDR" : "{{.Release.Name}}-portalapps.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_PUBLIC_NET_ID" : "{{ .Values.openStackPublicNetId }}",
     "GLOBAL_INJECTED_REGION" : "{{ .Values.openStackRegion }}",
     "GLOBAL_INJECTED_REMOTE_REPO" : "http://gerrit.onap.org/r/testsuite/properties.git",
-    "GLOBAL_INJECTED_SDC_FE_IP_ADDR" : "{{.Release.Name}}-sdc-fe.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_SDC_BE_IP_ADDR" : "{{.Release.Name}}-sdc-be.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_SDC_FE_IP_ADDR" : "{{.Release.Name}}-sdc-fe.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_SDC_IP_ADDR" : "N/A",
+    "GLOBAL_INJECTED_SCRIPT_VERSION" : "{{ .Values.scriptVersion }}",
     "GLOBAL_INJECTED_SDNC_IP_ADDR" : "{{.Release.Name}}-sdnc.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR" : "{{.Release.Name}}-sdnc-portal.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_SO_IP_ADDR" : "so.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_UBUNTU_1404_IMAGE" : "{{.Values.ubuntu14Image}}",
+    "GLOBAL_INJECTED_UBUNTU_1604_IMAGE" : "{{.Values.ubuntu16Image}}",
     "GLOBAL_INJECTED_VID_IP_ADDR" : "{{.Release.Name}}-vid.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_VM_FLAVOR" : "{{ .Values.openStackFlavourMedium }}",
-    "GLOBAL_INJECTED_VM_IMAGE_NAME" : "{{ .Values.ubuntuImage }}",
-    "GLOBAL_INJECTED_PUBLIC_NET_ID" : "{{ .Values.openStackPublicNetId }}",
-    "GLOBAL_INJECTED_SCRIPT_VERSION" : "{{ .Values.scriptVersion }}"
-}
\ No newline at end of file
+    "GLOBAL_INJECTED_VNFSDK_IP_ADDR" : "{{.Release.Name}}-vnfsdk.{{include "common.namespace" .}}"
+}
diff --git a/kubernetes/robot/resources/config/robot/resources/asdc_interface.robot b/kubernetes/robot/resources/config/robot/resources/asdc_interface.robot
deleted file mode 100644 (file)
index 5b69a66..0000000
+++ /dev/null
@@ -1,495 +0,0 @@
-*** Settings ***
-Documentation     The main interface for interacting with ASDC. It handles low level stuff like managing the http request library and DCAE required fields
-Library              RequestsLibrary
-Library                  UUID
-Library                  JSONUtils
-Library           OperatingSystem
-Library           Collections
-Library              ExtendedSelenium2Library
-Resource          global_properties.robot
-Resource          browser_setup.robot
-Resource          json_templater.robot
-*** Variables ***
-${ASDC_DESIGNER_USER_ID}    cs0008
-${ASDC_TESTER_USER_ID}    jm0007
-${ASDC_GOVERNOR_USER_ID}    gv0001
-${ASDC_OPS_USER_ID}    op0001
-${ASDC_HEALTH_CHECK_PATH}    /sdc1/rest/healthCheck
-${ASDC_VENDOR_LICENSE_MODEL_PATH}    /onboarding-api/v1.0/vendor-license-models
-${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}    /onboarding-api/v1.0/vendor-software-products
-${ASDC_VENDOR_KEY_GROUP_PATH}    /license-key-groups
-${ASDC_VENDOR_ENTITLEMENT_POOL_PATH}    /entitlement-pools
-${ASDC_VENDOR_FEATURE_GROUP_PATH}    /feature-groups
-${ASDC_VENDOR_LICENSE_AGREEMENT_PATH}    /license-agreements
-${ASDC_VENDOR_ACTIONS_PATH}    /actions
-${ASDC_VENDOR_SOFTWARE_UPLOAD_PATH}    /orchestration-template-candidate
-${ASDC_CATALOG_RESOURCES_PATH}    /sdc2/rest/v1/catalog/resources
-${ASDC_CATALOG_SERVICES_PATH}    /sdc2/rest/v1/catalog/services
-${ASDC_CATALOG_INACTIVE_RESOURCES_PATH}    /sdc2/rest/v1/inactiveComponents/resource
-${ASDC_CATALOG_INACTIVE_SERVICES_PATH}    /sdc2/rest/v1/inactiveComponents/service
-${ASDC_CATALOG_LIFECYCLE_PATH}    /lifecycleState
-${ASDC_CATALOG_SERVICE_RESOURCE_INSTANCE_PATH}    /resourceInstance
-${ASDC_CATALOG_SERVICE_DISTRIBUTION_STATE_PATH}    /distribution-state
-${ASDC_CATALOG_SERVICE_DISTRIBUTION_PATH}    /distribution
-${ASDC_DISTRIBUTION_STATE_APPROVE_PATH}    /approve
-${ASDC_CATALOG_SERVICE_DISTRIBUTION_ACTIVATE_PATH}    /distribution/PROD/activate
-${ASDC_LICENSE_MODEL_TEMPLATE}    robot/assets/templates/asdc/license_model.template
-${ASDC_KEY_GROUP_TEMPLATE}    robot/assets/templates/asdc/key_group.template
-${ASDC_ENTITLEMENT_POOL_TEMPLATE}    robot/assets/templates/asdc/entitlement_pool.template
-${ASDC_FEATURE_GROUP_TEMPLATE}    robot/assets/templates/asdc/feature_group.template
-${ASDC_LICENSE_AGREEMENT_TEMPLATE}    robot/assets/templates/asdc/license_agreement.template
-${ASDC_ACTION_TEMPLATE}    robot/assets/templates/asdc/action.template
-${ASDC_SOFTWARE_PRODUCT_TEMPLATE}    robot/assets/templates/asdc/software_product.template
-${ASDC_CATALOG_RESOURCE_TEMPLATE}    robot/assets/templates/asdc/catalog_resource.template
-${ASDC_USER_REMARKS_TEMPLATE}    robot/assets/templates/asdc/user_remarks.template
-${ASDC_CATALOG_SERVICE_TEMPLATE}    robot/assets/templates/asdc/catalog_service.template
-${ASDC_RESOURCE_INSTANCE_TEMPLATE}    robot/assets/templates/asdc/resource_instance.template
-${ASDC_FE_ENDPOINT}     ${GLOBAL_ASDC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SDC_FE_IP_ADDR}:${GLOBAL_ASDC_FE_PORT}
-${ASDC_BE_ENDPOINT}     ${GLOBAL_ASDC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SDC_BE_IP_ADDR}:${GLOBAL_ASDC_BE_PORT}
-
-*** Keywords ***
-Distribute Model From ASDC
-    [Documentation]    goes end to end creating all the asdc objects based ona  model and distributing it to the systems. it then returns the service name, vf name and vf module name
-    [Arguments]    ${model_zip_path}   ${catalog_service_name}=
-    ${catalog_service_id}=    Add ASDC Catalog Service    ${catalog_service_name}
-    ${catalog_resource_ids}=    Create List
-    ${catalog_resources}=   Create Dictionary
-    : FOR    ${zip}     IN     @{model_zip_path}
-    \    ${loop_catalog_resource_id}=    Setup ASDC Catalog Resource    ${zip}
-    \    Append To List    ${catalog_resource_ids}   ${loop_catalog_resource_id}
-    \    ${loop_catalog_resource_resp}=    Get ASDC Catalog Resource    ${loop_catalog_resource_id}
-    \    Add ASDC Resource Instance    ${catalog_service_id}    ${loop_catalog_resource_id}    ${loop_catalog_resource_resp['name']}
-    \    Set To Dictionary    ${catalog_resources}   ${loop_catalog_resource_id}=${loop_catalog_resource_resp}
-    ${catalog_service_resp}=    Get ASDC Catalog Service    ${catalog_service_id}
-    Checkin ASDC Catalog Service    ${catalog_service_id}
-    Request Certify ASDC Catalog Service    ${catalog_service_id}
-    Start Certify ASDC Catalog Service    ${catalog_service_id}
-    # on certify it gets a new id
-    ${catalog_service_id}=    Certify ASDC Catalog Service    ${catalog_service_id}
-    Approve ASDC Catalog Service    ${catalog_service_id}
-       Distribute ASDC Catalog Service    ${catalog_service_id}
-       ${catalog_service_resp}=    Get ASDC Catalog Service    ${catalog_service_id}
-       ${vf_module}=    Find Element In Array    ${loop_catalog_resource_resp['groups']}    type    org.openecomp.groups.VfModule
-       Check Catalog Service Distributed    ${catalog_service_resp['uuid']}
-    [Return]    ${catalog_service_resp['name']}    ${loop_catalog_resource_resp['name']}    ${vf_module}   ${catalog_resource_ids}    ${catalog_service_id}    ${catalog_resources}
-    
-Setup ASDC Catalog Resource
-    [Documentation]    Creates all the steps a vf needs for an asdc catalog resource and returns the id
-    [Arguments]    ${model_zip_path}
-    ${license_model_id}=    Add ASDC License Model
-    ${key_group_id}=    Add ASDC License Group    ${license_model_id}
-    ${pool_id}=    Add ASDC Entitlement Pool    ${license_model_id}
-    ${feature_group_id}=    Add ASDC Feature Group    ${license_model_id}    ${key_group_id}    ${pool_id}
-    ${license_agreement_id}=    Add ASDC License Agreement    ${license_model_id}    ${feature_group_id}
-    Checkin ASDC License Model    ${license_model_id}
-    Submit ASDC License Model    ${license_model_id}
-    ${license_model_resp}=    Get ASDC License Model    ${license_model_id}   1.0
-    ${software_product_id}=    Add ASDC Software Product    ${license_agreement_id}    ${feature_group_id}    ${license_model_resp['vendorName']}    ${license_model_id}
-    Upload ASDC Heat Package    ${software_product_id}    ${model_zip_path}
-    Validate ASDC Software Product    ${software_product_id}
-    Checkin ASDC Software Product    ${software_product_id}
-    Submit ASDC Software Product    ${software_product_id}
-    Package ASDC Software Product    ${software_product_id}
-    ${software_product_resp}=    Get ASDC Software Product    ${software_product_id}   1.0
-    ${catalog_resource_id}=    Add ASDC Catalog Resource     ${license_agreement_id}    ${software_product_resp['name']}    ${license_model_resp['vendorName']}    ${software_product_id}
-    Checkin ASDC Catalog Resource    ${catalog_resource_id}
-    Request Certify ASDC Catalog Resource    ${catalog_resource_id}
-    Start Certify ASDC Catalog Resource    ${catalog_resource_id}
-    # on certify it gets a new id
-    [Return]    ${catalog_resource_id}
-    ${catalog_resource_id}=    Certify ASDC Catalog Resource    ${catalog_resource_id}
-Add ASDC License Model
-    [Documentation]    Creates an asdc license model and returns its id
-    ${uuid}=    Generate UUID
-    ${shortened_uuid}=     Evaluate    str("${uuid}")[:23]
-    ${map}=    Create Dictionary    vendor_name=${shortened_uuid}
-    ${data}=   Fill JSON Template File    ${ASDC_LICENSE_MODEL_TEMPLATE}    ${map}
-    ${resp}=    Run ASDC Post Request    ${ASDC_VENDOR_LICENSE_MODEL_PATH}    ${data}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()['value']}
-Get ASDC License Model
-    [Documentation]    gets an asdc license model by its id
-    [Arguments]    ${id}   ${version_id}=0.1
-    ${resp}=    Run ASDC Get Request    ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${id}/versions/${version_id}
-    [Return]    ${resp.json()}
-Get ASDC License Models
-    [Documentation]    gets an asdc license model by its id
-    ${resp}=    Run ASDC Get Request    ${ASDC_VENDOR_LICENSE_MODEL_PATH}
-    [Return]    ${resp.json()}
-Checkin ASDC License Model
-    [Documentation]    checksin an asdc license model by its id
-    [Arguments]    ${id}   ${version_id}=0.1
-    ${map}=    Create Dictionary    action=Checkin
-    ${data}=   Fill JSON Template File    ${ASDC_ACTION_TEMPLATE}    ${map}
-    ${resp}=    Run ASDC Put Request    ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH}    ${data}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()}
-Submit ASDC License Model
-    [Documentation]    submits an asdc license model by its id
-    [Arguments]    ${id}   ${version_id}=0.1
-    ${map}=    Create Dictionary    action=Submit
-    ${data}=   Fill JSON Template File    ${ASDC_ACTION_TEMPLATE}    ${map}
-    ${resp}=    Run ASDC Put Request    ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH}    ${data}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()}
-Checkin ASDC Software Product
-    [Documentation]    checksin an asdc Software Product by its id
-    [Arguments]    ${id}   ${version_id}=0.1
-    ${map}=    Create Dictionary    action=Checkin
-    ${data}=   Fill JSON Template File    ${ASDC_ACTION_TEMPLATE}    ${map}
-    ${resp}=    Run ASDC Put Request    ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH}    ${data}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()}
-Validate ASDC Software Product
-    [Documentation]    checksin an asdc Software Product by its id
-    [Arguments]    ${id}   ${version_id}=0.1
-    ${data}=   Catenate
-    ${resp}=    Run ASDC Put Request    ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}/versions/${version_id}/orchestration-template-candidate/process    ${data}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()}
-Submit ASDC Software Product
-    [Documentation]    submits an asdc Software Product by its id
-    [Arguments]    ${id}   ${version_id}=0.1
-    ${map}=    Create Dictionary    action=Submit
-    ${data}=   Fill JSON Template File    ${ASDC_ACTION_TEMPLATE}    ${map}
-    ${resp}=    Run ASDC Put Request    ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH}    ${data}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()}
-Package ASDC Software Product
-    [Documentation]    creates_package on an asdc Software Product by its id
-    [Arguments]    ${id}   ${version_id}=0.1
-    ${map}=    Create Dictionary    action=Create_Package
-    ${data}=   Fill JSON Template File    ${ASDC_ACTION_TEMPLATE}    ${map}
-    ${resp}=    Run ASDC Put Request    ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH}    ${data}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()}
-Add ASDC Entitlement Pool
-    [Documentation]    Creates an asdc Entitlement Pool and returns its id
-    [Arguments]    ${license_model_id}   ${version_id}=0.1
-    ${uuid}=    Generate UUID
-    ${shortened_uuid}=     Evaluate    str("${uuid}")[:23]
-    ${map}=    Create Dictionary    entitlement_pool_name=${shortened_uuid}
-    ${data}=   Fill JSON Template File    ${ASDC_ENTITLEMENT_POOL_TEMPLATE}    ${map}
-    ${resp}=    Run ASDC Post Request    ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_ENTITLEMENT_POOL_PATH}     ${data}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()['value']}
-Get ASDC Entitlement Pool
-    [Documentation]    gets an asdc Entitlement Pool by its id
-    [Arguments]    ${license_model_id}    ${pool_id}
-    ${resp}=    Run ASDC Get Request    ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}${ASDC_VENDOR_ENTITLEMENT_POOL_PATH}/${pool_id}
-    [Return]    ${resp.json()}
-Add ASDC License Group
-    [Documentation]    Creates an asdc license group and returns its id
-    [Arguments]    ${license_model_id}   ${version_id}=0.1
-    ${uuid}=    Generate UUID
-    ${shortened_uuid}=     Evaluate    str("${uuid}")[:23]
-    ${map}=    Create Dictionary    key_group_name=${shortened_uuid}
-    ${data}=   Fill JSON Template File    ${ASDC_KEY_GROUP_TEMPLATE}    ${map}
-    ${resp}=    Run ASDC Post Request    ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_KEY_GROUP_PATH}     ${data}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()['value']}
-Get ASDC License Group
-    [Documentation]    gets an asdc license group by its id
-    [Arguments]    ${license_model_id}    ${group_id}      ${version_id}
-    ${resp}=    Run ASDC Get Request    ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_KEY_GROUP_PATH}/${group_id}
-    [Return]    ${resp.json()}
-Add ASDC Feature Group
-    [Documentation]    Creates an asdc Feature Group and returns its id
-    [Arguments]    ${license_model_id}    ${key_group_id}    ${entitlement_pool_id}      ${version_id}=0.1
-    ${uuid}=    Generate UUID
-    ${shortened_uuid}=     Evaluate    str("${uuid}")[:23]
-    ${map}=    Create Dictionary    feature_group_name=${shortened_uuid}    key_group_id=${key_group_id}    entitlement_pool_id=${entitlement_pool_id}   manufacturer_reference_number=mrn${shortened_uuid}
-    ${data}=   Fill JSON Template File    ${ASDC_FEATURE_GROUP_TEMPLATE}    ${map}
-    ${resp}=    Run ASDC Post Request    ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_FEATURE_GROUP_PATH}     ${data}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()['value']}
-Get ASDC Feature Group
-    [Documentation]    gets an asdc Feature Group by its id
-    [Arguments]    ${license_model_id}    ${group_id}
-    ${resp}=    Run ASDC Get Request    ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}${ASDC_VENDOR_FEATURE_GROUP_PATH}/${group_id}
-    [Return]    ${resp.json()}
-Add ASDC License Agreement
-    [Documentation]    Creates an asdc License Agreement and returns its id
-    [Arguments]    ${license_model_id}    ${feature_group_id}      ${version_id}=0.1
-    ${uuid}=    Generate UUID
-    ${shortened_uuid}=     Evaluate    str("${uuid}")[:23]
-    ${map}=    Create Dictionary    license_agreement_name=${shortened_uuid}    feature_group_id=${feature_group_id}
-    ${data}=   Fill JSON Template File    ${ASDC_LICENSE_AGREEMENT_TEMPLATE}    ${map}
-    ${resp}=    Run ASDC Post Request    ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_LICENSE_AGREEMENT_PATH}     ${data}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()['value']}
-Get ASDC License Agreement
-    [Documentation]    gets an asdc License Agreement by its id
-    [Arguments]    ${license_model_id}    ${agreement_id}
-    ${resp}=    Run ASDC Get Request    ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}${ASDC_VENDOR_LICENSE_AGREEMENT_PATH}/${agreement_id}
-    [Return]    ${resp.json()}
-Add ASDC Software Product
-    [Documentation]    Creates an asdc Software Product and returns its id
-    [Arguments]    ${license_agreement_id}    ${feature_group_id}    ${license_model_name}    ${license_model_id}
-    ${uuid}=    Generate UUID
-    ${shortened_uuid}=     Evaluate    str("${uuid}")[:23]
-    ${map}=    Create Dictionary    software_product_name=${shortened_uuid}    feature_group_id=${feature_group_id}    license_agreement_id=${license_agreement_id}    vendor_name=${license_model_name}    vendor_id=${license_model_id}
-    ${data}=   Fill JSON Template File    ${ASDC_SOFTWARE_PRODUCT_TEMPLATE}    ${map}
-    ${resp}=    Run ASDC Post Request    ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}     ${data}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()['vspId']}
-Get ASDC Software Product
-    [Documentation]    gets an asdc Software Product by its id
-    [Arguments]    ${software_product_id}   ${version_id}=0.1
-    ${resp}=    Run ASDC Get Request    ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${software_product_id}/versions/${version_id}
-    [Return]    ${resp.json()}
-Add ASDC Catalog Resource
-    [Documentation]    Creates an asdc Catalog Resource and returns its id
-    [Arguments]    ${license_agreement_id}    ${software_product_name}    ${license_model_name}    ${software_product_id}
-    ${map}=    Create Dictionary    software_product_id=${software_product_id}    software_product_name=${software_product_name}    license_agreement_id=${license_agreement_id}    vendor_name=${license_model_name}
-    ${data}=   Fill JSON Template File    ${ASDC_CATALOG_RESOURCE_TEMPLATE}    ${map}
-    ${resp}=    Run ASDC Post Request    ${ASDC_CATALOG_RESOURCES_PATH}     ${data}    ${ASDC_DESIGNER_USER_ID}
-    Should Be Equal As Strings         ${resp.status_code}     201
-    [Return]    ${resp.json()['uniqueId']}
-Mark ASDC Catalog Resource Inactive
-    [Documentation]    deletes an asdc Catalog Resource
-    [Arguments]    ${catalog_resource_id}
-    ${resp}=    Run ASDC Delete Request    ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id}     ${ASDC_DESIGNER_USER_ID}
-    Should Be Equal As Strings         ${resp.status_code}     204
-    [Return]    ${resp}
-Delete Inactive ASDC Catalog Resources
-    [Documentation]    delete all asdc Catalog Resources that are inactive
-    ${resp}=    Run ASDC Delete Request    ${ASDC_CATALOG_INACTIVE_RESOURCES_PATH}     ${ASDC_DESIGNER_USER_ID}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()}
-Get ASDC Catalog Resource
-    [Documentation]    gets an asdc Catalog Resource by its id
-    [Arguments]    ${catalog_resource_id}
-    ${resp}=    Run ASDC Get Request    ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id}    ${ASDC_DESIGNER_USER_ID}
-    [Return]    ${resp.json()}
-Checkin ASDC Catalog Resource
-    [Documentation]    checksin an asdc Catalog Resource by its id
-    [Arguments]    ${catalog_resource_id}
-    ${map}=    Create Dictionary    user_remarks=Robot remarks
-    ${data}=   Fill JSON Template File    ${ASDC_USER_REMARKS_TEMPLATE}    ${map}
-    ${resp}=    Run ASDC Post Request    ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id}${ASDC_CATALOG_LIFECYCLE_PATH}/checkin    ${data}    ${ASDC_DESIGNER_USER_ID}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()}
-Request Certify ASDC Catalog Resource
-    [Documentation]    requests certify on an asdc Catalog Resource by its id
-    [Arguments]    ${catalog_resource_id}
-    ${map}=    Create Dictionary    user_remarks=Robot remarks
-    ${data}=   Fill JSON Template File    ${ASDC_USER_REMARKS_TEMPLATE}    ${map}
-    ${resp}=    Run ASDC Post Request    ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id}${ASDC_CATALOG_LIFECYCLE_PATH}/certificationRequest    ${data}    ${ASDC_DESIGNER_USER_ID}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()}
-Start Certify ASDC Catalog Resource
-    [Documentation]    start certify an asdc Catalog Resource by its id
-    [Arguments]    ${catalog_resource_id}
-    ${resp}=    Run ASDC Post Request    ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id}${ASDC_CATALOG_LIFECYCLE_PATH}/startCertification    ${None}    ${ASDC_TESTER_USER_ID}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()}
-Certify ASDC Catalog Resource
-    [Documentation]    start certify an asdc Catalog Resource by its id and returns the new id
-    [Arguments]    ${catalog_resource_id}
-    ${map}=    Create Dictionary    user_remarks=Robot remarks
-    ${data}=   Fill JSON Template File    ${ASDC_USER_REMARKS_TEMPLATE}    ${map}
-    ${resp}=    Run ASDC Post Request    ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id}${ASDC_CATALOG_LIFECYCLE_PATH}/certify    ${data}    ${ASDC_TESTER_USER_ID}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()['uniqueId']}
-
-Upload ASDC Heat Package
-    [Documentation]    Creates an asdc Software Product and returns its id
-    [Arguments]    ${software_product_id}    ${file_path}   ${version_id}=0.1
-     ${files}=     Create Dictionary
-     Create Multi Part     ${files}  upload  ${file_path}    contentType=application/zip
-    ${resp}=    Run ASDC Post Files Request    ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${software_product_id}/versions/${version_id}${ASDC_VENDOR_SOFTWARE_UPLOAD_PATH}     ${files}    ${ASDC_DESIGNER_USER_ID}
-       Should Be Equal As Strings      ${resp.status_code}     200
-
-Add ASDC Catalog Service
-    [Documentation]    Creates an asdc Catalog Service and returns its id
-    [Arguments]   ${catalog_service_name}
-    ${uuid}=    Generate UUID
-    ${shortened_uuid}=     Evaluate    str("${uuid}")[:23]
-    ${catalog_service_name}=   Set Variable If   '${catalog_service_name}' ==''   ${shortened_uuid}   ${catalog_service_name}
-    ${map}=    Create Dictionary    service_name=${catalog_service_name}
-    ${data}=   Fill JSON Template File    ${ASDC_CATALOG_SERVICE_TEMPLATE}    ${map}
-    ${resp}=    Run ASDC Post Request    ${ASDC_CATALOG_SERVICES_PATH}     ${data}    ${ASDC_DESIGNER_USER_ID}
-    Should Be Equal As Strings         ${resp.status_code}     201
-    [Return]    ${resp.json()['uniqueId']}
-Mark ASDC Catalog Service Inactive
-    [Documentation]    Deletes an asdc Catalog Service
-    [Arguments]    ${catalog_service_id}
-    ${resp}=    Run ASDC Delete Request    ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}     ${ASDC_DESIGNER_USER_ID}
-    Should Be Equal As Strings         ${resp.status_code}     204
-    [Return]    ${resp}
-Delete Inactive ASDC Catalog Services
-    [Documentation]    delete all asdc Catalog Serivces that are inactive
-    ${resp}=    Run ASDC Delete Request    ${ASDC_CATALOG_INACTIVE_SERVICES_PATH}     ${ASDC_DESIGNER_USER_ID}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()}
-Get ASDC Catalog Service
-    [Documentation]    gets an asdc Catalog Service by its id
-    [Arguments]    ${catalog_service_id}
-    ${resp}=    Run ASDC Get Request    ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}    ${ASDC_DESIGNER_USER_ID}
-    [Return]    ${resp.json()}
-Checkin ASDC Catalog Service
-    [Documentation]    checksin an asdc Catalog Service by its id
-    [Arguments]    ${catalog_service_id}
-    ${map}=    Create Dictionary    user_remarks=Robot remarks
-    ${data}=   Fill JSON Template File    ${ASDC_USER_REMARKS_TEMPLATE}    ${map}
-    ${resp}=    Run ASDC Post Request    ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_LIFECYCLE_PATH}/checkin    ${data}    ${ASDC_DESIGNER_USER_ID}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()}
-Request Certify ASDC Catalog Service
-    [Documentation]    requests certify on an asdc Catalog Service by its id
-    [Arguments]    ${catalog_service_id}
-    ${map}=    Create Dictionary    user_remarks=Robot remarks
-    ${data}=   Fill JSON Template File    ${ASDC_USER_REMARKS_TEMPLATE}    ${map}
-    ${resp}=    Run ASDC Post Request    ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_LIFECYCLE_PATH}/certificationRequest    ${data}    ${ASDC_DESIGNER_USER_ID}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()}
-Start Certify ASDC Catalog Service
-    [Documentation]    start certify an asdc Catalog Service by its id
-    [Arguments]    ${catalog_service_id}
-    ${resp}=    Run ASDC Post Request    ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_LIFECYCLE_PATH}/startCertification    ${None}    ${ASDC_TESTER_USER_ID}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()}
-Certify ASDC Catalog Service
-    [Documentation]    start certify an asdc Catalog Service by its id and returns the new id
-    [Arguments]    ${catalog_service_id}
-    ${map}=    Create Dictionary    user_remarks=Robot remarks
-    ${data}=   Fill JSON Template File    ${ASDC_USER_REMARKS_TEMPLATE}    ${map}
-    ${resp}=    Run ASDC Post Request    ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_LIFECYCLE_PATH}/certify    ${data}    ${ASDC_TESTER_USER_ID}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()['uniqueId']}
-Approve ASDC Catalog Service
-    [Documentation]    approve an asdc Catalog Service by its id
-    [Arguments]    ${catalog_service_id}
-    ${map}=    Create Dictionary    user_remarks=Robot remarks
-    ${data}=   Fill JSON Template File    ${ASDC_USER_REMARKS_TEMPLATE}    ${map}
-    ${resp}=    Run ASDC Post Request    ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_SERVICE_DISTRIBUTION_STATE_PATH}${ASDC_DISTRIBUTION_STATE_APPROVE_PATH}    ${data}    ${ASDC_GOVERNOR_USER_ID}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()}
-Distribute ASDC Catalog Service
-    [Documentation]    distribute an asdc Catalog Service by its id
-    [Arguments]    ${catalog_service_id}
-    ${resp}=    Run ASDC Post Request    ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_SERVICE_DISTRIBUTION_ACTIVATE_PATH}    ${None}    ${ASDC_OPS_USER_ID}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()}
-Add ASDC Resource Instance
-    [Documentation]    Creates an asdc Resource Instance and returns its id
-    [Arguments]    ${catalog_service_id}    ${catalog_resource_id}    ${catalog_resource_name}
-    ${milli_timestamp}=    Generate MilliTimestamp UUID
-    ${map}=    Create Dictionary    catalog_resource_id=${catalog_resource_id}    catalog_resource_name=${catalog_resource_name}    milli_timestamp=${milli_timestamp}
-    ${data}=   Fill JSON Template File    ${ASDC_RESOURCE_INSTANCE_TEMPLATE}    ${map}
-    ${resp}=    Run ASDC Post Request    ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_SERVICE_RESOURCE_INSTANCE_PATH}     ${data}    ${ASDC_DESIGNER_USER_ID}
-    Should Be Equal As Strings         ${resp.status_code}     201
-    [Return]    ${resp.json()['uniqueId']}
-Get Catalog Service Distribution
-    [Documentation]    gets an asdc catalog Service distrbution
-    [Arguments]    ${catalog_service_uuid}
-    ${resp}=    Run ASDC Get Request    ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_uuid}${ASDC_CATALOG_SERVICE_DISTRIBUTION_PATH}    ${ASDC_OPS_USER_ID}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()}
-Check Catalog Service Distributed
-    [Documentation]    gets an asdc catalog Service distrbution
-    [Arguments]    ${catalog_service_uuid}
-    ${dist_resp}=    Get Catalog Service Distribution    ${catalog_service_uuid}
-    Should Be Equal As Strings         ${dist_resp['distributionStatusOfServiceList'][0]['deployementStatus']}         Distributed
-    Sleep 3 minutes
-    ${det_resp}=    Get Catalog Service Distribution Details    ${dist_resp['distributionStatusOfServiceList'][0]['distributionID']}
-    @{ITEMS}=    Copy List    ${det_resp['distributionStatusList']}
-    :FOR    ${ELEMENT}    IN    @{ITEMS}
-    \    Log    ${ELEMENT['status']}
-    \    Should Match Regexp    ${ELEMENT['status']}    ^(DEPLOY_OK|NOTIFIED|DOWNLOAD_OK|NOT_NOTIFIED)$
-Get Catalog Service Distribution Details
-    [Documentation]    gets an asdc catalog Service distrbution details
-    [Arguments]    ${catalog_service_distribution_id}
-    ${resp}=    Run ASDC Get Request    ${ASDC_CATALOG_SERVICES_PATH}${ASDC_CATALOG_SERVICE_DISTRIBUTION_PATH}/${catalog_service_distribution_id}    ${ASDC_OPS_USER_ID}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    [Return]    ${resp.json()}
-Run ASDC Health Check
-    [Documentation]    Runs a ASDC health check
-    ${session}=    Create Session      asdc    ${ASDC_FE_ENDPOINT}
-    ${uuid}=    Generate UUID
-    ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
-    ${resp}=   Get Request     asdc    ${ASDC_HEALTH_CHECK_PATH}     headers=${headers}
-    Should Be Equal As Strings         ${resp.status_code}     200
-    @{ITEMS}=    Copy List    ${resp.json()['componentsInfo']}
-    :FOR    ${ELEMENT}    IN    @{ITEMS}
-    \    Log    ${ELEMENT['healthCheckStatus']}
-    \    Should Be Equal As Strings    ${ELEMENT['healthCheckStatus']}         UP
-Run ASDC Get Request
-    [Documentation]    Runs an ASDC get request
-    [Arguments]    ${data_path}    ${user}=${ASDC_DESIGNER_USER_ID}
-    ${auth}=  Create List  ${GLOBAL_ASDC_BE_USERNAME}    ${GLOBAL_ASDC_BE_PASSWORD}
-    Log    Creating session ${ASDC_BE_ENDPOINT}
-    ${session}=    Create Session      asdc    ${ASDC_BE_ENDPOINT}    auth=${auth}
-    ${uuid}=    Generate UUID
-    ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    USER_ID=${user}    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
-    ${resp}=   Get Request     asdc    ${data_path}     headers=${headers}
-    Log    Received response from asdc ${resp.text}
-    [Return]    ${resp}
-Run ASDC Put Request
-    [Documentation]    Runs an ASDC put request
-    [Arguments]    ${data_path}    ${data}    ${user}=${ASDC_DESIGNER_USER_ID}
-    ${auth}=  Create List  ${GLOBAL_ASDC_BE_USERNAME}    ${GLOBAL_ASDC_BE_PASSWORD}
-    Log    Creating session ${ASDC_BE_ENDPOINT}
-    ${session}=    Create Session      asdc    ${ASDC_BE_ENDPOINT}    auth=${auth}
-    ${uuid}=    Generate UUID
-    ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    USER_ID=${user}    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
-    ${resp}=   Put Request     asdc    ${data_path}     data=${data}    headers=${headers}
-    Log    Received response from asdc ${resp.text}
-    [Return]    ${resp}
-
-Run ASDC Post Files Request
-    [Documentation]    Runs an ASDC post request
-    [Arguments]    ${data_path}    ${files}    ${user}=${ASDC_DESIGNER_USER_ID}
-    ${auth}=  Create List  ${GLOBAL_ASDC_BE_USERNAME}    ${GLOBAL_ASDC_BE_PASSWORD}
-    Log    Creating session ${ASDC_BE_ENDPOINT}
-    ${session}=    Create Session      asdc    ${ASDC_BE_ENDPOINT}    auth=${auth}
-    ${uuid}=    Generate UUID
-    ${headers}=  Create Dictionary     Accept=application/json    Content-Type=multipart/form-data    USER_ID=${user}    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
-    ${resp}=   Post Request    asdc    ${data_path}     files=${files}    headers=${headers}
-    Log    Received response from asdc ${resp.text}
-    [Return]    ${resp}
-
-Run ASDC Post Request
-    [Documentation]    Runs an ASDC post request
-    [Arguments]    ${data_path}    ${data}    ${user}=${ASDC_DESIGNER_USER_ID}
-    ${auth}=  Create List  ${GLOBAL_ASDC_BE_USERNAME}    ${GLOBAL_ASDC_BE_PASSWORD}
-    Log    Creating session ${ASDC_BE_ENDPOINT}
-    ${session}=    Create Session      asdc    ${ASDC_BE_ENDPOINT}    auth=${auth}
-    ${uuid}=    Generate UUID
-    ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    USER_ID=${user}    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
-    ${resp}=   Post Request    asdc    ${data_path}     data=${data}    headers=${headers}
-    Log    Received response from asdc ${resp.text}
-    [Return]    ${resp}
-Run ASDC Delete Request
-    [Documentation]    Runs an ASDC delete request
-    [Arguments]    ${data_path}    ${user}=${ASDC_DESIGNER_USER_ID}
-    ${auth}=  Create List  ${GLOBAL_ASDC_BE_USERNAME}    ${GLOBAL_ASDC_BE_PASSWORD}
-    Log    Creating session ${ASDC_BE_ENDPOINT}
-    ${session}=    Create Session      asdc    ${ASDC_BE_ENDPOINT}    auth=${auth}
-    ${uuid}=    Generate UUID
-    ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    USER_ID=${user}    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
-    ${resp}=   Delete Request  asdc    ${data_path}        headers=${headers}
-    Log    Received response from asdc ${resp.text}
-    [Return]    ${resp}
-Open ASDC GUI
-    [Documentation]   Logs in to ASDC GUI
-    [Arguments]    ${PATH}
-    ## Setup Browever now being managed by the test case
-    ##Setup Browser
-    Go To    ${ASDC_FE_ENDPOINT}${PATH}
-    Maximize Browser Window
-
-    Set Browser Implicit Wait    ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT}
-    Log    Logging in to ${ASDC_FE_ENDPOINT}${PATH}
-    Title Should Be    ASDC
-    Wait Until Page Contains Element    xpath=//div/a[text()='SDC']    ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
-    Log    Logged in to ${ASDC_FE_ENDPOINT}${PATH}
-
-
-Create Multi Part
-   [Arguments]  ${addTo}  ${partName}  ${filePath}  ${contentType}=${None}
-   ${fileData}=   Get Binary File  ${filePath}
-   ${fileDir}  ${fileName}=  Split Path  ${filePath}
-   ${partData}=  Create List  ${fileName}  ${fileData}  ${contentType}
-   Set To Dictionary  ${addTo}  ${partName}=${partData}
index 9193fe4..9656b7b 100644 (file)
@@ -28,6 +28,7 @@ Run Policy Health Check
      :FOR    ${ELEMENT}    IN    @{ITEMS}
      \    Should Be Equal As Strings   ${ELEMENT['code']}      200
      \    Should Be True    ${ELEMENT['healthy']}
+
 Run Policy Put Request
      [Documentation]    Runs Policy Put request
      [Arguments]    ${data_path}  ${data}
@@ -37,6 +38,7 @@ Run Policy Put Request
      ${resp}=  Put Request     policy  ${data_path}     data=${data}    headers=${headers}
      Log    Received response from policy ${resp.text}
      [Return]    ${resp}
+
 Run Policy Delete Request
      [Documentation]    Runs Policy Delete request
      [Arguments]    ${data_path}  ${data}
@@ -46,12 +48,13 @@ Run Policy Delete Request
      ${resp}=  Delete Request  policy  ${data_path}    data=${data}    headers=${headers}
      Log    Received response from policy ${resp.text}
      [Return]    ${resp}
+
 Run Policy Get Configs Request
     [Documentation]    Runs Policy Get Configs request
     [Arguments]    ${data_path}  ${data}
     Log    Creating session ${POLICY_ENDPOINT}
     ${session}=    Create Session      policy  ${POLICY_ENDPOINT}
-    ${headers}=    Create Dictionary     Accept=application/json    Content-Type=application/json    Authorization=Basic ${GLOBAL_POLICY_AUTH}   ClientAuth=${GLOBAL_POLICY_CLIENTAUTH}    
+    ${headers}=    Create Dictionary     Accept=application/json    Content-Type=application/json    Authorization=Basic ${GLOBAL_POLICY_AUTH}   ClientAuth=${GLOBAL_POLICY_CLIENTAUTH}
     ${resp}=   Post Request    policy  ${data_path}    data=${data}    headers=${headers}
     Log    Received response from policy ${resp.text}
-    [Return]    ${resp}
+    [Return]    ${resp}
\ No newline at end of file
index 5b79f9a..57198db 100644 (file)
@@ -1,7 +1,7 @@
 *** Settings ***
 Documentation     The main interface for interacting with SDN-GC. It handles low level stuff like managing the http request library and SDN-GC required fields
 Library              RequestsLibrary
-Library                  UUID 
+Library                  UUID
 Library    OperatingSystem
 Library            ExtendedSelenium2Library
 Library         Collections
@@ -30,7 +30,7 @@ Run SDNGC Health Check
     [Documentation]    Runs an SDNGC healthcheck
        ${resp}=    Run SDNGC Post Request     ${SDNGC_INDEX PATH}${SDNCGC_HEALTHCHECK_OPERATION_PATH}     ${None}
     Should Be Equal As Strings         ${resp.status_code}     200
-    Should Be Equal As Strings         ${resp.json()['output']['response-code']}       200   
+    Should Be Equal As Strings         ${resp.json()['output']['response-code']}       200
 
 Run SDNGC Get Request
     [Documentation]    Runs an SDNGC get request
@@ -43,7 +43,7 @@ Run SDNGC Get Request
     ${resp}=   Get Request     sdngc   ${data_path}     headers=${headers}
     Log    Received response from sdngc ${resp.text}
     [Return]    ${resp}
-    
+
 Run SDNGC Put Request
     [Documentation]    Runs an SDNGC put request
     [Arguments]    ${data_path}    ${data}
@@ -66,8 +66,8 @@ Run SDNGC Post Request
     ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json    X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid}    X-FromAppId=${GLOBAL_APPLICATION_ID}
     ${resp}=   Post Request    sdngc   ${data_path}     data=${data}    headers=${headers}
     Log    Received response from sdngc ${resp.text}
-    [Return]    ${resp} 
-  
+    [Return]    ${resp}
+
 Run SDNGC Delete Request
     [Documentation]    Runs an SDNGC delete request
     [Arguments]    ${data_path}
@@ -83,7 +83,7 @@ Run SDNGC Delete Request
 
 Preload Vnf
     [Arguments]    ${service_type_uuid}    ${generic_vnf_name}    ${generic_vnf_type}     ${vf_module_name}    ${vf_modules}    ${service}   ${uuid}
-    ${base_vf_module_type}=    Catenate    ''
+    ${base_vf_module_type}=    Catenate
     ${closedloop_vf_module}=    Create Dictionary
     ${templates}=    Get From Dictionary    ${GLOBAL_SERVICE_TEMPLATE_MAPPING}    ${service}
     :for    ${vf_module}    in      @{vf_modules}
@@ -92,36 +92,36 @@ Preload Vnf
     \       ${filename}=    Get From Dictionary    ${dict}    template
     \       ${base_vf_module_type}=   Set Variable If    '${dict['isBase']}' == 'true'     ${vf_module_type}    ${base_vf_module_type}
     \       ${closedloop_vf_module}=   Set Variable If    '${dict['isBase']}' == 'false'     ${vf_module}    ${closedloop_vf_module}
-    \       ${vf_name}=     Update Module Name    ${dict}    ${vf_module_name}  
-    \       Preload Vnf Profile    ${vf_module_type}     
+    \       ${vf_name}=     Update Module Name    ${dict}    ${vf_module_name}
+    \       Preload Vnf Profile    ${vf_module_type}
     \       Preload One Vnf Topology    ${service_type_uuid}    ${generic_vnf_name}    ${generic_vnf_type}     ${vf_name}    ${vf_module_type}    ${service}    ${filename}   ${uuid}
-    [Return]    ${base_vf_module_type}   ${closedloop_vf_module}    
+    [Return]    ${base_vf_module_type}   ${closedloop_vf_module}
 
 
 Update Module Name
     [Arguments]    ${dict}    ${vf_module_name}
     Return From Keyword If    'prefix' not in ${dict}    ${vf_module_name}
     Return From Keyword If    '${dict['prefix']}' == ''    ${vf_module_name}
-    ${name}=    Replace String   ${vf_module_name}   Vfmodule_    ${dict['prefix']} 
-    [Return]    ${name}           
+    ${name}=    Replace String   ${vf_module_name}   Vfmodule_    ${dict['prefix']}
+    [Return]    ${name}
 
 Get From Mapping
-    [Documentation]    Retrieve the appropriate prelad template entry for the passed vf_module    
+    [Documentation]    Retrieve the appropriate prelad template entry for the passed vf_module
     [Arguments]    ${templates}    ${vf_module}
     ${vf_module_name}=    Get From DIctionary    ${vf_module}    name
-    :for    ${template}   in   @{templates} 
-    \    Return From Keyword If    '${template['name_pattern']}' in '${vf_module_name}'     ${template}    
-    [Return]    None  
-           
+    :for    ${template}   in   @{templates}
+    \    Return From Keyword If    '${template['name_pattern']}' in '${vf_module_name}'     ${template}
+    [Return]    None
+
 Preload One Vnf Topology
     [Arguments]    ${service_type_uuid}    ${generic_vnf_name}    ${generic_vnf_type}       ${vf_module_name}    ${vf_module_type}    ${service}    ${filename}   ${uuid}
     Return From Keyword If    '${filename}' == ''
     ${data_template}=    OperatingSystem.Get File    ${PRELOAD_VNF_TOPOLOGY_OPERATION_BODY}/preload.template
     ${parameters}=    Get Template Parameters    ${filename}   ${uuid}
-    Set To Dictionary   ${parameters}   generic_vnf_name=${generic_vnf_name}     generic_vnf_type=${generic_vnf_type}  service_type=${service_type_uuid}    vf_module_name=${vf_module_name}    vf_module_type=${vf_module_type}    uuid=${uuid}
-    ${data}=   Fill JSON Template    ${data_template}    ${parameters}        
+    Set To Dictionary   ${parameters}   generic_vnf_name=${generic_vnf_name}     generic_vnf_type=${generic_vnf_type}  service_type=${service_type_uuid}    vf_module_name=${vf_module_name}    vf_module_type=${vf_module_type}
+    ${data}=   Fill JSON Template    ${data_template}    ${parameters}
        ${put_resp}=    Run SDNGC Post Request     ${SDNGC_INDEX_PATH}${PRELOAD_VNF_TOPOLOGY_OPERATION_PATH}     ${data}
-    Should Be Equal As Strings         ${put_resp.json()['output']['response-code']}   200   
+    Should Be Equal As Strings         ${put_resp.json()['output']['response-code']}   200
     ${get_resp}=  Run SDNGC Get Request  ${SDNGC_INDEX_PATH}${PRELOAD_VNF_CONFIG_PATH}/${vf_module_name}/${vf_module_type}
     Should Be Equal As Strings         ${get_resp.status_code}         200
 
@@ -130,29 +130,47 @@ Get Template Parameters
     ${rest}   ${suite}=    Split String From Right    ${SUITE NAME}   .   1
     ${uuid}=    Catenate    ${uuid}
     ${hostid}=    Get Substring    ${uuid}    -4
-    ${ecompnet}=    Evaluate    ${GLOBAL_BUILD_NUMBER}%255
+    ${ecompnet}=    Evaluate    (${GLOBAL_BUILD_NUMBER}%128)+128
+
+
     # Initialize the value map with the properties generated from the Robot VM /opt/config folder
-    ${valuemap}=   Create Dictionary
+    ${valuemap}=   Copy Dictionary    ${GLOBAL_INJECTED_PROPERTIES}
+
+    # These should be deprecated by the above....
     Set To Dictionary   ${valuemap}   artifacts_version=${GLOBAL_INJECTED_ARTIFACTS_VERSION}
-    Set To Dictionary   ${valuemap}   network=${GLOBAL_INJECTED_NETWORK} 
+    Set To Dictionary   ${valuemap}   network=${GLOBAL_INJECTED_NETWORK}
     Set To Dictionary   ${valuemap}   public_net_id=${GLOBAL_INJECTED_PUBLIC_NET_ID}
     Set To Dictionary   ${valuemap}   cloud_env=${GLOBAL_INJECTED_CLOUD_ENV}
     Set To Dictionary   ${valuemap}   install_script_version=${GLOBAL_INJECTED_SCRIPT_VERSION}
     Set To Dictionary   ${valuemap}   vm_image_name=${GLOBAL_INJECTED_VM_IMAGE_NAME}
     Set To Dictionary   ${valuemap}   vm_flavor_name=${GLOBAL_INJECTED_VM_FLAVOR}
+
+
     # update the value map with unique values.
     Set To Dictionary   ${valuemap}   uuid=${uuid}   hostid=${hostid}    ecompnet=${ecompnet}
-    ${parameters}=    Create Dictionary
-    ${defaults}=    Get From Dictionary    ${GLOBAL_PRELOAD_PARAMETERS}    defaults
-    Resolve Values Into Dictionary   ${valuemap}   ${defaults}    ${parameters}
+
+    #
+    # Mash together the defaults dict with the test case dict to create the set of
+    # preload parameters
+    #
     ${suite_templates}=    Get From Dictionary    ${GLOBAL_PRELOAD_PARAMETERS}    ${suite}
     ${template}=    Get From Dictionary    ${suite_templates}    ${template}
-    ${vnf_parameters}=   Resolve VNF Parameters Into Array   ${valuemap}   ${template}    ${parameters}
+    ${defaults}=    Get From Dictionary    ${GLOBAL_PRELOAD_PARAMETERS}    defaults
+    # add all of the defaults to template...
+    @{keys}=    Get Dictionary Keys    ${defaults}
+    :for   ${key}   in   @{keys}
+    \    ${value}=   Get From Dictionary    ${defaults}    ${key}
+    \    Set To Dictionary    ${template}  ${key}    ${value}
+
+    #
+    # Get the vnf_parameters to preload
+    #
+    ${vnf_parameters}=   Resolve VNF Parameters Into Array   ${valuemap}   ${template}
     ${vnf_parameters_json}=   Evaluate    json.dumps(${vnf_parameters})    json
-    Set To Dictionary   ${parameters}   vnf_parameters=${vnf_parameters_json}
+    ${parameters}=   Create Dictionary   vnf_parameters=${vnf_parameters_json}
     [Return]    ${parameters}
-   
-Resolve Values Into Dictionary    
+
+Resolve Values Into Dictionary
     [Arguments]   ${valuemap}    ${from}    ${to}
     ${keys}=    Get Dictionary Keys    ${from}
     :for   ${key}   in  @{keys}
@@ -161,7 +179,7 @@ Resolve Values Into Dictionary
     \    Set To Dictionary    ${to}    ${key}    ${value}
 
 Resolve VNF Parameters Into Array
-    [Arguments]   ${valuemap}    ${from}    ${to}
+    [Arguments]   ${valuemap}    ${from}
     ${vnf_parameters}=   Create List
     ${keys}=    Get Dictionary Keys    ${from}
     :for   ${key}   in  @{keys}
@@ -170,7 +188,7 @@ Resolve VNF Parameters Into Array
     \    ${parameter}=   Create Dictionary   vnf-parameter-name=${key}    vnf-parameter-value=${value}
     \    Append To List    ${vnf_parameters}   ${parameter}
     [Return]   ${vnf_parameters}
-     
+
 Preload Vnf Profile
     [Arguments]    ${vnf_name}
     Login To SDNGC Admin GUI
@@ -180,25 +198,25 @@ Preload Vnf Profile
     Input Text    xpath=//input[@id='nf_availability_zone_count']    999
     Input Text    xpath=//input[@id='nf_equipment_role']    robot-ete-test
     Click Button    xpath=//button[contains(.,'Submit')]
-    Page Should Contain  VNF Profile 
+    Page Should Contain  VNF Profile
     Input Text    xpath=//div[@id='vnf_profile_filter']//input    ${vnf_name}
-    Page Should Contain  ${vnf_name}  
+    Page Should Contain  ${vnf_name}
 
 Delete Vnf Profile
     [Arguments]    ${vnf_name}
     Login To SDNGC Admin GUI
     Go To    ${SDNGC_ADMIN_VNF_PROFILE_URL}
-    Page Should Contain  VNF Profile 
+    Page Should Contain  VNF Profile
     Input Text    xpath=//div[@id='vnf_profile_filter']//input    ${vnf_name}
     Page Should Contain  ${vnf_name}
-    Click Button    xpath=//button[contains(@onclick, '${vnf_name}')]    
+    Click Button    xpath=//button[contains(@onclick, '${vnf_name}')]
     Page Should Contain    Are you sure you want to delete VNF_PROFILE
     Click Button    xpath=//button[contains(text(), 'Yes')]
     Page Should Not Contain  ${vnf_name}
-        
+
 Login To SDNGC Admin GUI
     [Documentation]   Login To SDNGC Admin GUI
-    ## Setup Browser is now being managed by the test case 
+    ## Setup Browser is now being managed by the test case
     ## Setup Browser
     Go To    ${SDNGC_ADMIN_SIGNUP_URL}
     ##Maximize Browser Window
@@ -207,7 +225,7 @@ Login To SDNGC Admin GUI
     Log    Logging in to ${SDNGC_ADMIN_LOGIN_URL}
     Handle Proxy Warning
     Title Should Be    AdminPortal
-    ${uuid}=    Generate UUID  
+    ${uuid}=    Generate UUID
     ${shortened_uuid}=     Evaluate    str("${uuid}")[:12]
     ${email}=        Catenate    ${shortened_uuid}@robotete.com
     Input Text    xpath=//input[@id='nf_email']    ${email}
@@ -219,4 +237,4 @@ Login To SDNGC Admin GUI
     Input Password    xpath=//input[@id='password']    ${shortened_uuid}
     Click Button    xpath=//button[@type='submit']
     Title Should Be    SDN-C AdminPortal
-    Log    Logged in to ${SDNGC_ADMIN_LOGIN_URL}
+    Log    Logged in to ${SDNGC_ADMIN_LOGIN_URL}
\ No newline at end of file
index 3403810..6379aa1 100644 (file)
@@ -23,52 +23,64 @@ metadata:
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
 spec:
-  replicas: {{ .Values.robotReplicas }}
+  replicas: {{ .Values.replicaCount }}
   template:
     metadata:
-       labels:
+      labels:
         app: {{ include "common.name" . }}
         release: {{ .Release.Name }}
     spec:
+      initContainers:
+      - name: {{ include "common.name" . }}-inject-demo-project
+        command:
+        - /bin/bash
+        - -c
+        - >
+          git clone -b {{ .Values.config.gerritBranch }} --single-branch {{ .Values.config.gerritProject }} /tmp/gerrit;
+          echo "Clone complete. Copying from /tmp/gerrit/heat to /share";
+          cp -rf /tmp/gerrit/heat /share;
+          echo "Done.";
+        image: "{{ .Values.global.ubuntuInitRepository }}/{{ .Values.ubuntuInitImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        volumeMounts:
+        - name: demodir
+          mountPath: "/share"
       containers:
-        - name: {{ .Chart.Name }}
-          image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
-          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-          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: localtime
-            mountPath: /etc/localtime
-            readOnly: true
-          - name: robot-eteshare
-            mountPath: /share/config
-          - name: robot-resources
-            mountPath: /var/opt/OpenECOMP_ETE/robot/resources/asdc_interface.robot
-            subPath: asdc_interface.robot
-          - name: robot-resources
-            mountPath: /var/opt/OpenECOMP_ETE/robot/resources/policy_interface.robot
-            subPath: policy_interface.robot
-          - name: robot-resources
-            mountPath: /var/opt/OpenECOMP_ETE/robot/resources/sdngc_interface.robot
-            subPath: sdngc_interface.robot
-          - name: robot-lighttpd-authorization
-            mountPath: /etc/lighttpd/authorization
-            subPath: authorization
-          resources:
+      - 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:
+        - name: localtime
+          mountPath: /etc/localtime
+          readOnly: true
+        - name: robot-eteshare
+          mountPath: /share/config
+        - name: robot-resources
+          mountPath: /var/opt/OpenECOMP_ETE/robot/resources/policy_interface.robot
+          subPath: policy_interface.robot
+        - name: robot-resources
+          mountPath: /var/opt/OpenECOMP_ETE/robot/resources/sdngc_interface.robot
+          subPath: sdngc_interface.robot
+        - name: robot-lighttpd-authorization
+          mountPath: /etc/lighttpd/authorization
+          subPath: authorization
+        - name: demodir
+          mountPath: /share
+        resources:
 {{ toYaml .Values.resources | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
@@ -79,18 +91,20 @@ spec:
 {{ toYaml .Values.affinity | indent 10 }}
         {{- end }}
       volumes:
-        - name: localtime
-          hostPath:
-            path: /etc/localtime
-        - name: robot-eteshare
-          configMap:
-            name: {{ include "common.fullname" . }}-eteshare-configmap
-            defaultMode: 0755
-        - name: robot-resources
-          configMap:
-            name: {{ include "common.fullname" . }}-resources-configmap
-        - name: robot-lighttpd-authorization
-          configMap:
-            name: {{ include "common.fullname" . }}-lighttpd-authorization-configmap
+      - name: localtime
+        hostPath:
+          path: /etc/localtime
+      - name: robot-eteshare
+        configMap:
+          name: {{ include "common.fullname" . }}-eteshare-configmap
+          defaultMode: 0755
+      - name: robot-resources
+        configMap:
+          name: {{ include "common.fullname" . }}-resources-configmap
+      - name: robot-lighttpd-authorization
+        configMap:
+          name: {{ include "common.fullname" . }}-lighttpd-authorization-configmap
+      - name: demodir
+        emptyDir: {}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
index f9f2805..3fc21b4 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -26,14 +26,14 @@ spec:
   type: {{ .Values.service.type }}
   ports:
     {{if eq .Values.service.type "NodePort" -}}
-    - port: {{ .Values.service.internalPort }}
-      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort }}
-      name: {{ .Values.service.name }}
+    - port: {{ .Values.service.externalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.portName | default "http" }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName | default "http" }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
+    release: {{ .Release.Name }}
\ No newline at end of file
index 06f168c..a842673 100644 (file)
 global: # global defaults
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  ubuntuInitRepository: registry.hub.docker.com
 
 # application image
 repository: nexus3.onap.org:10001
 image: onap/testsuite:1.2-STAGING-latest
 pullPolicy: Always
 
+ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
+
 # flag to enable debugging - application support required
 debugEnabled: false
 
 #################################################################
 # Application configuration defaults.
 #################################################################
-
-# openstack configuration
-
+config:
+  # Username of the lighthttpd server.  Used for HTML auth for webpage access
+  lightHttpdUsername: robot
+  # Password of the lighthttpd server.  Used for HTML auth for webpage access
+  lightHttpdPassword: robot
+  # gerrit branch where the latest heat code is checked in
+  gerritBranch: master
+  # gerrit project where the latest heat code is checked in
+  gerritProject: http://gerrit.onap.org/r/demo.git
+
+
+# Demo configuration
+# Nexus demo artifact version.  Maps to GLOBAL_INJECTED_ARTIFACTS_VERSION
 demoArtifactsVersion: "1.2.0-SNAPSHOT"
-openStackPrivateNetCidr: "192.168.30.0"
+# Openstack medium sized flavour name.  Maps GLOBAL_INJECTED_VM_FLAVOR
 openStackFlavourMedium: "m1.medium"
+# Openstack keystone URL.  Maps to GLOBAL_INJECTED_KEYSTONE
 openStackKeyStoneUrl: "http://1.2.3.4:5000"
+# UUID of the Openstack network that can assign floating ips.  Maps to GLOBAL_INJECTED_PUBLIC_NET_ID
 openStackPublicNetId: "e8f51958045716781ffc"
-openStackPrivateNetId: "e8f51956-00dd-4425-af36-045716781ffc"
-openStackOamNetworkCidrPrefix: "192.168.120"
-openStackEncryptedPassword: "c124921a3a0efbe579782cde8227681e"
+# password for Openstack tenant where VNFs will be spawned.  Maps to GLOBAL_INJECTED_OPENSTACK_PASSWORD
+openStackPassword: "tenantPassword"
+# Openstack region.  Maps to GLOBAL_INJECTED_REGION
 openStackRegion: "RegionOne"
-openStackPrivateSubnetId: "e8f51956-00dd-4425-af36-045716781ffc"
+# Openstack tenant UUID where VNFs will be spawned. Maps to GLOBAL_INJECTED_OPENSTACK_TENANT_ID
 openStackTenantId: "47899782ed714295b1151681fdfd51f5"
-openStackUserName: "vnf_user"
-ubuntuImage: "Ubuntu_14.04.5_LTS"
-scriptVersion: "1.1.1"
+# username for Openstack tenant where VNFs will be spawned.  Maps to GLOBAL_INJECTED_OPENSTACK_USERNAME
+openStackUserName: "tenantUsername"
+# 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
+ubuntu16Image: "Ubuntu_16_xenial"
+# GLOBAL_INJECTED_SCRIPT_VERSION.  Maps to GLOBAL_INJECTED_SCRIPT_VERSION
+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"
+
+# SDNC Preload configuration
+# Openstack subnet UUID for the network defined by openStackPrivateNetId.  Maps to onap_private_subnet_id
+openStackPrivateSubnetId: "e8f51956-00dd-4425-af36-045716781ffc"
+# CIDR notation for the Openstack private network where VNFs will be spawned.  Maps to onap_private_net_cidr
+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"
 
 # default number of instances
-robotReplicas: 1
+replicaCount: 1
 
 nodeSelector: {}
 
@@ -69,10 +100,12 @@ readiness:
 
 
 service:
-  type: NodePort
   name: robot
-  externalPort: "09"
+  type: NodePort
+  portName: httpd
+  externalPort: 88
   internalPort: 88
+  nodePort: "09"
 
 
 ingress:
index 4a08504..d0b8eae 100644 (file)
@@ -86,7 +86,9 @@ spec:
           - name: ENVNAME
             value: {{ .Values.global.env.name }}
           - name: JAVA_OPTIONS
-            value: ""
+            value: {{ .Values.config.javaOptions }}
+          - name: cassandra_ssl_enabled
+            value: {{ .Values.config.cassandraSslEnabled | quote }}
           - name: HOST_IP
             valueFrom:
               fieldRef:
@@ -129,22 +131,22 @@ spec:
           - name: {{ include "common.fullname" . }}-data-filebeat
             mountPath: /usr/share/filebeat/data
       volumes:
-        - name: {{ include "common.fullname" . }}-localtime
-          hostPath:
-            path: /etc/localtime
-        - name: {{ include "common.fullname" . }}-filebeat-conf
-          configMap:
-           name: {{ .Release.Name }}-sdc-filebeat-configmap
-        - name: {{ include "common.fullname" . }}-data-filebeat
-          emptyDir: {}
-        - name: {{ include "common.fullname" . }}-logback
-          configMap:
-            name : {{ include "common.fullname" . }}-logging-configmap
-        - name: {{ include "common.fullname" . }}-environments
-          configMap:
-            name: {{ .Release.Name }}-sdc-environments-configmap
-            defaultMode: 0755
-        - name:  {{ include "common.fullname" . }}-logs
-          emptyDir: {}
+      - name: {{ include "common.fullname" . }}-localtime
+        hostPath:
+          path: /etc/localtime
+      - name: {{ include "common.fullname" . }}-filebeat-conf
+        configMap:
+          name: {{ .Release.Name }}-sdc-filebeat-configmap
+      - name: {{ include "common.fullname" . }}-data-filebeat
+        emptyDir: {}
+      - name: {{ include "common.fullname" . }}-logback
+        configMap:
+          name : {{ include "common.fullname" . }}-logging-configmap
+      - name: {{ include "common.fullname" . }}-environments
+        configMap:
+          name: {{ .Release.Name }}-sdc-environments-configmap
+          defaultMode: 0755
+      - name:  {{ include "common.fullname" . }}-logs
+        emptyDir: {}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
index e4f3807..d40ef11 100644 (file)
@@ -55,6 +55,10 @@ spec:
         env:
         - name: ENVNAME
           value: {{ .Values.global.env.name }}
+        - name: HOST_IP
+          valueFrom:
+            fieldRef:
+              fieldPath: status.podIP
       volumes:
         - name: {{ include "common.fullname" . }}-environments
           configMap:
index 4f48143..ad63ad8 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.1
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
@@ -35,6 +35,10 @@ pullPolicy: Always
 # flag to enable debugging - application support required
 debugEnabled: false
 
+config:
+  javaOptions: "-Xdebug -agentlib:jdwp=transport=dt_socket,address=4000,server=y,suspend=n -Xmx1536m -Xms1536m"
+  cassandraSslEnabled: "false"
+
 # default number of instances
 replicaCount: 1
 
index d7e8afd..c96d371 100644 (file)
@@ -54,6 +54,12 @@ spec:
           env:
           - name: ENVNAME
             value: {{ .Values.global.env.name }}
+          - name: RELEASE
+            value: {{ .Values.config.release }}
+          - name: MAX_HEAP_SIZE
+            value: {{ .Values.config.maxHeapSize }}
+          - name: HEAP_NEWSIZE
+            value: {{ .Values.config.heapNewSize }}
           - name: HOST_IP
             valueFrom:
               fieldRef:
@@ -82,21 +88,21 @@ spec:
 {{ toYaml .Values.affinity | indent 10 }}
         {{- end }}
       volumes:
-        - name: {{ include "common.fullname" . }}-localtime
-          hostPath:
-            path: /etc/localtime
-        - name: {{ include "common.fullname" . }}-logs
-          emptyDir: {}
+      - name: {{ include "common.fullname" . }}-localtime
+        hostPath:
+          path: /etc/localtime
+      - name: {{ include "common.fullname" . }}-logs
+        emptyDir: {}
+      - name: {{ include "common.fullname" . }}-data
       {{- if .Values.persistence.enabled }}
-        - name: {{ include "common.fullname" . }}-data
-          persistentVolumeClaim:
-            claimName: {{ include "common.fullname" . }}
+        persistentVolumeClaim:
+          claimName: {{ include "common.fullname" . }}
       {{- else }}
-          emptyDir: {}
+        emptyDir: {}
       {{- end }}
-        - name: {{ include "common.fullname" . }}-environments
-          configMap:
-            name: {{ .Release.Name }}-sdc-environments-configmap
-            defaultMode: 0755
+      - name: {{ include "common.fullname" . }}-environments
+        configMap:
+          name: {{ .Release.Name }}-sdc-environments-configmap
+          defaultMode: 0755
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
index c6e9c19..4d341ba 100644 (file)
@@ -52,9 +52,15 @@ spec:
         volumeMounts:
         - name: {{ include "common.fullname" . }}-environments
           mountPath: /root/chef-solo/environments/
+        - name: {{ include "common.fullname" . }}-data
+          mountPath: /var/lib/cassandra/
+        - name: {{ include "common.fullname" . }}-chef-cache
+          mountPath: /root/chef-solo/cache
         env:
         - name: ENVNAME
           value: {{ .Values.global.env.name }}
+        - name: RELEASE
+          value: {{ .Values.config.release }}
         - name: SDC_USER
           valueFrom:
             secretKeyRef: {name: {{ include "common.fullname" . }}, key: sdc_user}
@@ -64,11 +70,24 @@ spec:
         - name: CS_PASSWORD
           valueFrom:
             secretKeyRef: {name: {{ include "common.fullname" . }}, key: cs_password}
+        - name: HOST_IP
+          valueFrom:
+            fieldRef:
+              fieldPath: status.podIP
       volumes:
-        - name: {{ include "common.fullname" . }}-environments
-          configMap:
-            name: {{ .Release.Name }}-sdc-environments-configmap
-            defaultMode: 0755
+      - name: {{ include "common.fullname" . }}-environments
+        configMap:
+          name: {{ .Release.Name }}-sdc-environments-configmap
+          defaultMode: 0755
+      - name: {{ include "common.fullname" . }}-data
+      {{- if .Values.persistence.enabled }}
+        persistentVolumeClaim:
+          claimName: {{ include "common.fullname" . }}
+      {{- else }}
+        emptyDir: {}
+      {{- end }}
+      - name: {{ include "common.fullname" . }}-chef-cache
+        emptyDir: {}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
       restartPolicy: Never
index 108a1b2..27ce17d 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
@@ -33,8 +33,10 @@ cassandraInitImage: onap/sdc-cassandra-init:1.2-STAGING-latest
 
 pullPolicy: Always
 
-# flag to enable debugging - application support required
-debugEnabled: false
+config:
+  release: latest
+  maxHeapSize: "1536M"
+  heapNewSize: "512M"
 
 secrets:
     sdc_user: YXNkY191c2Vy
index 75ea024..699dfc3 100644 (file)
@@ -74,7 +74,9 @@ spec:
               fieldRef:
                 fieldPath: status.podIP
           - name: ES_HEAP_SIZE
-            value: {{ .Values.config.elasticHeapSize }}
+            value: {{ .Values.config.JvmHeapSize }}
+          - name: ES_JAVA_OPTS
+            value: {{ .Values.config.JvmOptions }}
           volumeMounts:
           - name: {{ include "common.fullname" . }}-environments
             mountPath: /root/chef-solo/environments/
index 4c49abd..db8e6b7 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
   ubuntuInitRepository: oomk8s
@@ -40,7 +40,8 @@ debugEnabled: false
 
 # application configuration
 config:
-  elasticHeapSize: 1024M
+  JvmHeapSize: "1024M"
+  JvmOptions: "-Xms512m -Xmx512m"
 
 # default number of instances
 replicaCount: 1
index 1a6e01b..2d4e213 100644 (file)
@@ -54,13 +54,13 @@ spec:
           - containerPort: {{ .Values.service.internalPort2 }}
           # disable liveness probe when breakpoints set in debugger
           # so K8s doesn't restart unresponsive container
-          {{- if eq .Values.liveness.enabled true }}
+          {{ if eq .Values.liveness.enabled true }}
           livenessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
-          {{ end -}}
+          {{ end }}
           readinessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
@@ -74,7 +74,7 @@ spec:
               fieldRef:
                 fieldPath: status.podIP
           - name: JAVA_OPTIONS
-            value: ""
+            value: {{ .Values.config.javaOptions }}
           volumeMounts:
           - name: {{ include "common.fullname" . }}-environments
             mountPath: /root/chef-solo/environments/
index d0ca009..20c9114 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
@@ -31,8 +31,8 @@ repository: nexus3.onap.org:10001
 image: onap/sdc-frontend:1.2-STAGING-latest
 pullPolicy: Always
 
-# flag to enable debugging - application support required
-debugEnabled: false
+config:
+  javaOptions: "-Xdebug -agentlib:jdwp=transport=dt_socket,address=6000,server=y,suspend=n -Xmx256m -Xms256m"
 
 # default number of instances
 replicaCount: 1
index 4501ded..de39333 100644 (file)
@@ -51,13 +51,13 @@ spec:
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           ports:
           - containerPort: {{ .Values.service.internalPort }}
-          {{if eq .Values.liveness.enabled true }}
+          {{ if eq .Values.liveness.enabled true }}
           livenessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
-          {{ end -}}
+          {{ end }}
           readinessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
@@ -66,12 +66,12 @@ spec:
           env:
           - name: ENVNAME
             value: {{ .Values.global.env.name }}
+          - name: NODE_OPTIONS
+            value: {{ .Values.config.nodeOptions }}
           - name: HOST_IP
             valueFrom:
               fieldRef:
                 fieldPath: status.podIP
-          - name: ELASTICSEARCH_URL
-            value: "http://{{ .Release.Name }}-{{ index .Values "sdc-es" "service" "name" }}:9200"
           volumeMounts:
           - name: {{ include "common.fullname" . }}-environments
             mountPath: /root/chef-solo/environments/
@@ -89,12 +89,12 @@ spec:
 {{ toYaml .Values.affinity | indent 10 }}
         {{- end }}
       volumes:
-        - name: {{ include "common.fullname" . }}-localtime
-          hostPath:
-            path: /etc/localtime
-        - name: {{ include "common.fullname" . }}-environments
-          configMap:
-            name: {{ .Release.Name }}-sdc-environments-configmap
-            defaultMode: 0755
+      - name: {{ include "common.fullname" . }}-localtime
+        hostPath:
+          path: /etc/localtime
+      - name: {{ include "common.fullname" . }}-environments
+        configMap:
+          name: {{ .Release.Name }}-sdc-environments-configmap
+          defaultMode: 0755
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
index aa97467..02a7b94 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
@@ -31,8 +31,8 @@ repository: nexus3.onap.org:10001
 image: onap/sdc-kibana:1.2-STAGING-latest
 pullPolicy: Always
 
-# flag to enable debugging - application support required
-debugEnabled: false
+config:
+  nodeOptions: "--max-old-space-size=200"
 
 # default number of instances
 replicaCount: 1
@@ -47,7 +47,7 @@ liveness:
   periodSeconds: 10
   # necessary to disable liveness probe when setting breakpoints
   # in debugger so K8s doesn't restart unresponsive container
-  enabled: true
+  enabled: false
 
 readiness:
   initialDelaySeconds: 10
index 601e9bb..474113d 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index 4c0754b..afd8721 100644 (file)
@@ -3,7 +3,7 @@
   "dbConnLimit": "100",
   "home": "/opt/admportal",
   "sslEnabled": "false",
-  "nonSslPort": "8843",
+  "nonSslPort": "{{.Values.service.internalPort}}",
   "ConexusNetworkPort": "8443",
   "AppNetworkPort": "8543",
   "clusterPort": "8443",
@@ -25,9 +25,9 @@
     "docker0": "172.17.0.1",
     "virbr0": "192.168.122.1"
   },
-  "svclogicPropertiesDb01": "/opt/onap/sdnc/data/properties/svclogic.properties.sdnctldb01",
+  "svclogicPropertiesDb01": "{{.Values.config.configDir}}/svclogic.properties.sdnctldb01",
   "databases": [
-    "dbhost|sdnctldb01"
+    "sdnc-dbhost.{{.Release.Namespace}}|sdnc-sdnctldb01.{{.Release.Namespace}}"
   ],
   "dbFabricServer": "localhost",
   "dbFabricPort": "32275",
@@ -39,8 +39,8 @@
   "dbPassword": "gamma",
   "dbName": "sdnctl",
   "odlProtocol": "http",
-  "odlHost": "sdnhost.{{.Release.Namespace}}",
-  "odlConexusHost": "sdnhost.{{.Release.Namespace}}",
+  "odlHost": "{{.Release.Name}}-sdnc.{{.Release.Namespace}}",
+  "odlConexusHost": "{{.Release.Name}}-sdnc.{{.Release.Namespace}}",
   "odlPort": "8181",
   "odlConexusPort": "8181",
   "odlUser": "admin",
diff --git a/kubernetes/sdnc/charts/sdnc-portal/resources/config/svclogic.properties b/kubernetes/sdnc/charts/sdnc-portal/resources/config/svclogic.properties
new file mode 100644 (file)
index 0000000..e0e3295
--- /dev/null
@@ -0,0 +1,5 @@
+org.openecomp.sdnctl.sli.dbtype = jdbc
+org.openecomp.sdnctl.sli.jdbc.url = jdbc:mysql://sdnc-sdnctldb01:3306/sdnctl
+org.openecomp.sdnctl.sli.jdbc.database = sdnctl
+org.openecomp.sdnctl.sli.jdbc.user = sdnctl
+org.openecomp.sdnctl.sli.jdbc.password = gamma
\ No newline at end of file
diff --git a/kubernetes/sdnc/charts/sdnc-portal/resources/config/svclogic.properties.sdnctldb01 b/kubernetes/sdnc/charts/sdnc-portal/resources/config/svclogic.properties.sdnctldb01
new file mode 100644 (file)
index 0000000..e0e3295
--- /dev/null
@@ -0,0 +1,5 @@
+org.openecomp.sdnctl.sli.dbtype = jdbc
+org.openecomp.sdnctl.sli.jdbc.url = jdbc:mysql://sdnc-sdnctldb01:3306/sdnctl
+org.openecomp.sdnctl.sli.jdbc.database = sdnctl
+org.openecomp.sdnctl.sli.jdbc.user = sdnctl
+org.openecomp.sdnctl.sli.jdbc.password = gamma
\ No newline at end of file
diff --git a/kubernetes/sdnc/charts/sdnc-portal/resources/config/svclogic.properties.sdnctldb02 b/kubernetes/sdnc/charts/sdnc-portal/resources/config/svclogic.properties.sdnctldb02
new file mode 100644 (file)
index 0000000..e665a56
--- /dev/null
@@ -0,0 +1,5 @@
+org.openecomp.sdnctl.sli.dbtype = jdbc
+org.openecomp.sdnctl.sli.jdbc.url = jdbc:mysql://sdnc-sdnctldb02:3306/sdnctl
+org.openecomp.sdnctl.sli.jdbc.database = sdnctl
+org.openecomp.sdnctl.sli.jdbc.user = sdnctl
+org.openecomp.sdnctl.sli.jdbc.password = gamma
\ No newline at end of file
index f2f2524..fe08a96 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: sdnc-portal-configmap
+  name: {{ include "common.fullname" . }}-portal
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
\ No newline at end of file
index 5e1293c..3ca8a6b 100644 (file)
@@ -57,13 +57,13 @@ spec:
           - 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 }}
+          {{ if .Values.liveness.enabled }}
           livenessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
-          {{ end -}}
+          {{ end }}
           readinessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
@@ -82,7 +82,7 @@ spec:
             name: localtime
             readOnly: true
           - mountPath: {{ .Values.config.configDir }}
-            name: sdnc-conf
+            name: {{ include "common.fullname" . }}-portal
           resources:
 {{ toYaml .Values.resources | indent 12 }}
         {{- if .Values.nodeSelector }}
@@ -97,8 +97,8 @@ spec:
         - name: localtime
           hostPath:
             path: /etc/localtime
-        - name: sdnc-conf
+        - name: {{ include "common.fullname" . }}-portal
           configMap:
-            name: sdnc-portal-configmap
+            name: {{ include "common.fullname" . }}-portal
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
index b5be3a6..3b38889 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
@@ -63,8 +63,8 @@ readiness:
 service:
   type: NodePort
   name: sdnc-portal
-  internalPort: 8443
-  externalPort: 8443
+  internalPort: 8843
+  externalPort: 8843
   nodePort: "01"
 
 ingress:
index 0f22647..b862633 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index 0c41d3e..288ce11 100755 (executable)
@@ -36,23 +36,47 @@ function enable_odl_cluster(){
 
   node=($(echo ${hm} | sed 's/-[0-9]*$//g'))
   node_index=($(echo ${hm} | awk -F"-" '{print $NF}'))
-  node_list="${node}-0.{{ .Values.service.name }}-cluster.{{.Release.Namespace}}";
+  member_offset=1
+
+  if [ -z $PEER_ODL_CLUSTER ]; then
+    echo "This is a local cluster"
+    node_list="${node}-0.{{.Values.service.name}}-cluster.{{.Release.Namespace}}";
+
+    for ((i=1;i<${SDNC_REPLICAS};i++));
+    do
+      node_list="${node_list} ${node}-$i.{{.Values.service.name}}-cluster.{{.Release.Namespace}}"
+    done
+    /opt/opendaylight/current/bin/configure_cluster.sh $((node_index+1)) ${node_list}
+  else
+    echo "This is a Geo cluster"
+
+    if $IS_PRIMARY_CLUSTER; then
+       PRIMARY_NODE=${MY_ODL_CLUSTER}
+       SECONDARY_NODE=${PEER_ODL_CLUSTER}
+    else
+       PRIMARY_NODE=${PEER_ODL_CLUSTER}
+       SECONDARY_NODE=${MY_ODL_CLUSTER}
+       member_offset=4
+    fi
+
+    node_list="${PRIMARY_NODE} ${SECONDARY_NODE}"
+    /opt/onap/sdnc/bin/configure_geo_cluster.sh $((node_index+member_offset)) ${node_list}
+  fi
+}
 
-  for ((i=1;i<${SDNC_REPLICAS};i++));
-  do
-    node_list="${node_list} ${node}-$i.{{ .Values.service.name }}-cluster.{{.Release.Namespace}}"
-  done
 
-  /opt/opendaylight/current/bin/configure_cluster.sh $((node_index+1)) ${node_list}
-}
+# Install SDN-C platform components if not already installed and start container
 
 ODL_HOME=${ODL_HOME:-/opt/opendaylight/current}
 ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U}
 SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc}
+CCSDK_HOME=${CCSDK_HOME:-/opt/onap/ccsdk}
 SLEEP_TIME=${SLEEP_TIME:-120}
 MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.dbRootPassword}}}
 ENABLE_ODL_CLUSTER=${ENABLE_ODL_CLUSTER:-false}
 MYSQL_HOST=${MYSQL_HOST:-{{.Release.Name}}-{{.Values.mysql.nameOverride}}-0.{{.Values.mysql.service.name}}.{{.Release.Namespace}}}
+IS_PRIMARY_CLUSTER=${IS_PRIMARY_CLUSTER:-false}
+MY_ODL_CLUSTER=${MY_ODL_CLUSTER:-127.0.0.1}
 
 #
 # Wait for database to init properly
@@ -72,6 +96,7 @@ then
         echo "Installing SDN-C keyStore"
         ${SDNC_HOME}/bin/addSdncKeyStore.sh
         echo "Starting OpenDaylight"
+        ${CCSDK_HOME}/bin/installOdlHostKey.sh
         ${ODL_HOME}/bin/start
         echo "Waiting ${SLEEP_TIME} seconds for OpenDaylight to initialize"
         sleep ${SLEEP_TIME}
index 9faf9e2..499834e 100644 (file)
@@ -23,7 +23,7 @@
 org.onap.ccsdk.sli.dbtype=jdbc
 
 org.onap.ccsdk.sli.jdbc.hosts=sdnctldb01
-org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Release.Name}}-{{.Values.mysql.nameOverride}}-0.{{.Values.mysql.service.name}}.{{.Release.Namespace}}:{{.Values.mysql.service.internalPort}}/sdnctl
+org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:{{.Values.mysql.service.internalPort}}/sdnctl
 org.onap.ccsdk.sli.jdbc.driver=org.mariadb.jdbc.Driver
 org.onap.ccsdk.sli.jdbc.database=sdnctl
 org.onap.ccsdk.sli.jdbc.user=sdnctl
index dbbbb92..99f6cf8 100644 (file)
@@ -20,7 +20,7 @@
 ###
 
 org.onap.ccsdk.sli.dbtype = jdbc
-org.onap.ccsdk.sli.jdbc.url = jdbc:mysql://{{.Release.Name}}-{{.Values.mysql.nameOverride}}-0.{{.Values.mysql.service.name}}.{{.Release.Namespace}}:{{.Values.mysql.service.internalPort}}/sdnctl
+org.onap.ccsdk.sli.jdbc.url = jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:{{.Values.mysql.service.internalPort}}/sdnctl
 org.onap.ccsdk.sli.jdbc.database = sdnctl
 org.onap.ccsdk.sli.jdbc.user = sdnctl
 org.onap.ccsdk.sli.jdbc.password = gamma
index fd4f81b..8b4055e 100644 (file)
@@ -76,7 +76,7 @@ spec:
             - name: SDNC_REPLICAS
               value: "{{ .Values.replicaCount }}"
             - name: MYSQL_HOST
-              value: "{{.Release.Name}}-{{.Values.mysql.nameOverride}}-0.{{.Values.mysql.service.name}}.{{.Release.Namespace}}"
+              value: "{{.Values.mysql.service.name}}.{{.Release.Namespace}}"
           volumeMounts:
           - mountPath: /etc/localtime
             name: localtime
index e0bfbed..6360d37 100644 (file)
@@ -20,7 +20,7 @@ global:
   repository: nexus3.onap.org:10001
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
   persistence:
@@ -80,7 +80,7 @@ mysql:
   persistence:
     mountSubPath: sdnc/data
     enabled: true
-  disableNfsProvisioner: false
+  disableNfsProvisioner: true
   replicaCount: 1
 
 dgbuilder:
index 5267cc0..3e263ce 100644 (file)
@@ -32,8 +32,8 @@ spec:
     spec:
       hostname: mariadb
       containers:
-        - name: {{ .Chart.Name }}
-          image: {{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           ports:
           - containerPort: {{ .Values.service.internalPort }}
index 11b3b48..eeebdcb 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -27,12 +27,12 @@ spec:
   ports:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.internalPort }}
-      nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.externalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.nodePort }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
     {{- end}}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
   selector:
     app: {{ include "common.name" . }}
     release: {{ .Release.Name }}
\ No newline at end of file
index e957206..1a62071 100644 (file)
@@ -30,10 +30,6 @@ pullPolicy: Always
 config:
   mariadbRootPassword: password
 
-# override chart name (mariadb) to share a common namespace
-# suffix with parent chart (so)
-nsSuffix: so
-
 
 # default number of instances
 replicaCount: 1
@@ -79,9 +75,9 @@ persistence:
 
 service:
   type: NodePort
-  name: mariadb
-  externalPort: 52
+  portName: mariadb
   internalPort: 3306
+  nodePort: 52
 
 ingress:
   enabled: false
index 17f0193..92988ba 100755 (executable)
@@ -9,9 +9,9 @@
 
     "mso-api-handler-infra-config":
     {
-      "bpelURL": "http://so:8080",
+      "bpelURL": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}",
       "bpelAuth": "786864AA53D0DCD881AED1154230C0C3058D58B9339D2EFB6193A0F0D82530E1",
-      "camundaURL": "http://so:8080",
+      "camundaURL": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}",
       "camundaAuth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1"
     },
 
@@ -23,7 +23,7 @@
         "consumerGroup": "sdc-OpenSource-Env1",
         "consumerId": "sdc-COpenSource-Env11",
         "environmentName": "{{ .Values.config.dmaapTopic }}",
-        "asdcAddress": "sdc-be:8443",
+        "asdcAddress": "{{.Values.config.sdc.serviceName}}:{{.Values.config.sdc.port}}",
         "password": "613AF3483E695524F9857643B697FA51C7A9A0951094F53791485BF3458F9EADA37DBACCCEBD0CB242B85B4062745247",
         "pollingInterval": 60,
         "pollingTimeout": 60,
     {
       "sdncurls":
       [
-        "http://sdnhost:8282/restconf/operations/L3SDN-API:",
-        "http://sdnhost:8282/restconf/config/L3SDN-API:",
-        "http://sdnhost:8282/restconf/operations/Firewall-API:",
-        "http://sdnhost:8282/restconf/config",
-        "http://sdnhost:8282/restconf/operations/VNF-API:",
-        "http://sdnhost:8282/restconf/operations/NBNC-API:",
-        "http://sdnhost:8282/restconf/operations/NORTHBOUND-API:service-topology-operation",
-        "http://sdnhost:8282/restconf/operations/GENERIC-RESOURCE-API:",
-        "http://sdnhost:8282/restconf/operations/VNFTOPOLOGYAIC-API:"
+        "http://{{.Values.config.sdnc.serviceName}}:{{.Values.config.sdnc.port}}/restconf/operations/L3SDN-API:",
+        "http://{{.Values.config.sdnc.serviceName}}:{{.Values.config.sdnc.port}}/restconf/config/L3SDN-API:",
+        "http://{{.Values.config.sdnc.serviceName}}:{{.Values.config.sdnc.port}}/restconf/operations/Firewall-API:",
+        "http://{{.Values.config.sdnc.serviceName}}:{{.Values.config.sdnc.port}}/restconf/config",
+        "http://{{.Values.config.sdnc.serviceName}}:{{.Values.config.sdnc.port}}/restconf/operations/VNF-API:",
+        "http://{{.Values.config.sdnc.serviceName}}:{{.Values.config.sdnc.port}}/restconf/operations/NBNC-API:",
+        "http://{{.Values.config.sdnc.serviceName}}:{{.Values.config.sdnc.port}}/restconf/operations/NORTHBOUND-API:service-topology-operation",
+        "http://{{.Values.config.sdnc.serviceName}}:{{.Values.config.sdnc.port}}/restconf/operations/GENERIC-RESOURCE-API:",
+        "http://{{.Values.config.sdnc.serviceName}}:{{.Values.config.sdnc.port}}/restconf/operations/VNFTOPOLOGYAIC-API:"
       ],
 
-      "bpelurl": "http://so:8080/mso/SDNCAdapterCallbackService",
-      "restbpelurl": "http://so:8080/mso/WorkflowMessage",
-      "myurl": "http://so:8080/adapters/rest/SDNCNotify",
+      "bpelurl": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}/mso/SDNCAdapterCallbackService",
+      "restbpelurl": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}/mso/WorkflowMessage",
+      "myurl": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}/adapters/rest/SDNCNotify",
       "sdncauth": "263f7d5f944d4d0c76db74b4148bec67d0bc796a874bc0d2a2a12aae89a866aa69133f700f391f784719a37f6a68d29bf5a2fbae1dab0402db7788c800c5ba73",
       "bpelauth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1",
       "sdncconnecttime": "5000"
@@ -92,7 +92,7 @@
 
     "mso-workflow-message-adapter-config":
     {
-      "wmbpelurl": "http://so:8080/mso/WorkflowMessage",
+      "wmbpelurl": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}/mso/WorkflowMessage",
       "wmbpelauth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1"
     },
 
       "versionIdL3ToHigherLayerDeleteBonding": "52dbec20-47aa-42e4-936c-331d8e350d44",
       "infraCustomerId": "21014aa2-526b-11e6-beb8-9e71128cae77",
       "sniroAuth": "test:testpwd",
-      "sniroEndpoint": "http://sniro-emulator:8080/sniro/api/v2/placement",
+      "sniroEndpoint": "http://{{.Values.config.sniro.serviceName}}:{{.Values.config.sniro.port}}/sniro/api/v2/placement",
       "sniroTimeout": "PT30M",
-      "serviceAgnosticSniroHost": "http://sniro-emulator:8080",
+      "serviceAgnosticSniroHost": "http://{{.Values.config.sniro.serviceName}}:{{.Values.config.sniro.port}}",
       "serviceAgnosticSniroEndpoint": "/sniro/api/v2/placement",
-      "aaiEndpoint": "https://aai-service:8443",
+      "aaiEndpoint": "https://{{.Values.config.aai.serviceName}}:{{.Values.config.aai.port}}",
       "aaiAuth": "2630606608347B7124C244AB0FE34F6F",
       "adaptersNamespace": "http://org.openecomp.mso",
-      "adaptersCompletemsoprocessEndpoint": "http://so:8080/CompleteMsoProcess",
-      "adaptersDbEndpoint": "http://so:8080/dbadapters/MsoRequestsDbAdapter",
-      "adaptersOpenecompDbEndpoint": "http://so:8080/dbadapters/RequestsDbAdapter",
-      "catalogDbEndpoint": "http://so:8080/ecomp/mso/catalog",
-      "adaptersSdncEndpoint": "http://so:8080/adapters/SDNCAdapter",
-      "adaptersSdncRestEndpoint": "http://so:8080/adapters/rest/v1/sdnc",
-      "adaptersTenantEndpoint": "http://so:8080/tenants/TenantAdapter",
+      "adaptersCompletemsoprocessEndpoint": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}/CompleteMsoProcess",
+      "adaptersDbEndpoint": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}/dbadapters/MsoRequestsDbAdapter",
+      "adaptersOpenecompDbEndpoint": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}/dbadapters/RequestsDbAdapter",
+      "catalogDbEndpoint": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}/ecomp/mso/catalog",
+      "adaptersSdncEndpoint": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}/adapters/SDNCAdapter",
+      "adaptersSdncRestEndpoint": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}/adapters/rest/v1/sdnc",
+      "adaptersTenantEndpoint": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}/tenants/TenantAdapter",
       "adaptersDbAuth": "6B0E6863FB8EE010AB6F191B3C0489437601E81DC7C86305CB92DB98AFC53D74",
-      "adaptersWorkflowMessageEndpoint": "http://so:8080/workflows/messages/message",
-      "workflowMessageEndpoint": "http://so:8080/mso/WorkflowMessage",
-      "workflowSdncAdapterCallback": "http://so:8080/mso/SDNCAdapterCallbackService",
+      "adaptersWorkflowMessageEndpoint": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}/workflows/messages/message",
+      "workflowMessageEndpoint": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}/mso/WorkflowMessage",
+      "workflowSdncAdapterCallback": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}/mso/SDNCAdapterCallbackService",
       "workflowSdncReplicationDelay": "PT5S",
       "workflowAaiDistributionDelay": "PT30S",
       "msoKey": "07a7159d3bf51a0e53be7a8f89699be7",
       "adaptersPoAuth": "6B0E6863FB8EE010AB6F191B3C0489437601E81DC7C86305CB92DB98AFC53D74",
       "sdncTimeout": "PT5M",
       "rollback": "true",
-      "adaptersNetworkEndpoint": "http://so:8080/networks/NetworkAdapter",
-      "adaptersNetworkRestEndpoint": "http://so:8080/networks/rest/v1/networks",
-      "adaptersVnfAsyncEndpoint": "http://so:8080/vnfs/VnfAdapterAsync",
-      "workflowVnfAdapterDeleteCallback": "http://so:8080/mso/vnfAdapterNotify",
-      "workflowVnfAdapterCreateCallback": "http://so:8080/mso/vnfAdapterNotify",
-      "adaptersVnfRestEndpoint": "http://so:8080/vnfs/rest/v1/vnfs",
-      "workflowVnfAdapterRestCallback": "http://so:8080/mso/vnfAdapterRestNotify",
+      "adaptersNetworkEndpoint": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}/networks/NetworkAdapter",
+      "adaptersNetworkRestEndpoint": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}/networks/rest/v1/networks",
+      "adaptersVnfAsyncEndpoint": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}/vnfs/VnfAdapterAsync",
+      "workflowVnfAdapterDeleteCallback": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}/mso/vnfAdapterNotify",
+      "workflowVnfAdapterCreateCallback": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}/mso/vnfAdapterNotify",
+      "adaptersVnfRestEndpoint": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}/vnfs/rest/v1/vnfs",
+      "workflowVnfAdapterRestCallback": "http://{{.Values.service.name}}:{{.Values.service.internalPort}}/mso/vnfAdapterRestNotify",
       "poTimeout": "PT5M",
       "sdncFirewallYangModel": "http://com/att/svc/mis/firewall-lite-gui",
       "sdncFirewallYangModelVersion": "2015-05-15",
     "mso-config": "~> 1.0.0"
   }
 }
-
diff --git a/kubernetes/so/resources/config/mso/mso.bpmn.urn.properties b/kubernetes/so/resources/config/mso/mso.bpmn.urn.properties
new file mode 100644 (file)
index 0000000..81c21f6
--- /dev/null
@@ -0,0 +1,129 @@
+log.debug.asyncQueryAAICustomer=false
+log.debug.ChangeFeatureActivateV1=false
+log.debug.ChangeLayer3ServiceActivateV1=false
+log.debug.CompleteMsoProcess=false
+log.debug.commonCompletion=false
+log.debug.CreateCustomerV1=false
+log.debug.CreateTenantV1=false
+log.debug.DeleteTenantV1=false
+log.debug.deleteVCEV1=false
+log.debug.getLayer3ServiceDetailsV1=false
+log.debug.l3ToHigherLayerAddBonding=false
+log.debug.l3ToHigherLayerDeleteBonding=false
+mso.workflow.l3ToHigherLayerAddBonding.model.invariantid=50359538-066f-4a8d-807f-f2bc8eaa79dc
+mso.workflow.l3ToHigherLayerAddBonding.model.versionid=52dbec20-47aa-42e4-936c-331d8e350d44
+log.debug.Layer3ServiceActivateV1=false
+log.debug.QueryAAICustomer=false
+log.debug.QueryTenantInfo=false
+log.debug.sdncAdapter=false
+log.debug.sendAOTSTicket=false
+log.debug.vnfAdapterCreateV1=false
+log.debug.vnfAdapterDeleteV1=false
+log.debug.RemoveLayer3Service=false
+log.debug.Layer3TestAndTurnUpV1=false
+log.debug.vnfAdapterRollbackV1=false
+log.debug.vnfAdapterQueryV1=false
+log.debug.CreateVfModuleVolume=false
+log.debug.DeleteVfModuleVolume=false
+log.debug.UpdateVfModuleVolume=false
+log.debug.createCinderVolumeV1=false
+log.debug.deleteCinderVolumeV1=false
+log.debug.updateCinderVolumeV1=false
+log.debug.CreateNetworkV2=false
+log.debug.DeleteNetworkV2=false
+log.debug.UpdateNetworkV2=false
+log.debug.deleteGenericVNFV1=false
+log.debug.DisconnectLayer3Service=false
+log.debug.CreateVfModuleVolumeInfraV1=false
+log.debug.DeleteVfModuleVolumeInfraV1=false
+log.debug.UpdateVfModuleVolumeInfraV1=false
+log.debug.CreateServiceInstanceInfra=false
+log.debug.DeleteServiceInstanceInfra=false
+log.debug.CreateNetworkInstanceInfra=false
+log.debug.DeleteNetworkInstanceInfra=false
+log.debug.UpdateNetworkInstanceInfra=false
+log.debug.UpdateNetworkInstance=false
+log.debug.DoUpdateNetworkInstance=false
+log.debug.DoUpdateNetworkInstanceRollback=false
+log.debug.CreateNetworkInstance=false
+log.debug.DoCreateNetworkInstance=false
+log.debug.DoCreateNetworkInstanceRollback=false
+log.debug.DeleteNetworkInstance=false
+log.debug.DoDeleteNetworkInstance=false
+log.debug.DoDeleteNetworkInstanceRollback=false
+log.debug.CreateViprAtmService=false
+log.debug.DeleteViprAtmService=false
+log.debug.GenericGetService=false
+log.debug.GenericPutService=false
+log.debug.GenericDeleteService=false
+log.debug.CreateServiceInstance=false
+log.debug.DelServiceInstance=false
+log.debug.RollbackServiceInstance=false
+log.debug.DoCreateServiceInstanceRollback=false
+log.debug.DoDeleteServiceInstance=false
+log.debug.DoCreateVfModuleVolumeRollback=false
+log.debug.DoDeleteVfModuleVolumeRollback=false
+log.debug.DoDeleteVfModuleVolumeV1=false
+log.debug.DoCreateVfModuleVolumeV1=false
+log.debug.VPECreateVfModule=false
+log.debug.DHVCreateService=false
+log.debug.DHVActivateService=false
+log.debug.SNIROAdapter=
+mso.infra.customer.id=21014aa2-526b-11e6-beb8-9e71128cae77
+mso.sniro.auth=test:testpwd
+mso.sniro.endpoint=http://{{.Values.config.sniro.serviceName}}:{{.Values.config.sniro.port}}/sniro/api/v2/placement
+mso.sniro.timeout=PT30M
+mso.service.agnostic.sniro.host=http://{{.Values.config.sniro.serviceName}}:{{.Values.config.sniro.port}}
+mso.service.agnostic.sniro.endpoint=/sniro/api/v2/placement
+mso.catalog.db.endpoint=http://{{.Values.service.name}}:{{.Values.service.internalPort}}/ecomp/mso/catalog
+aai.endpoint=https://{{.Values.config.aai.serviceName}}:{{.Values.config.aai.port}}
+mso.adapters.namespace=http://org.openecomp.mso
+mso.adapters.completemsoprocess.endpoint=http://{{.Values.service.name}}:{{.Values.service.internalPort}}/CompleteMsoProcess
+mso.adapters.db.endpoint=http://{{.Values.service.name}}:{{.Values.service.internalPort}}/dbadapters/MsoRequestsDbAdapter
+mso.adapters.openecomp.db.endpoint=http://{{.Values.service.name}}:{{.Values.service.internalPort}}/dbadapters/RequestsDbAdapter
+mso.adapters.sdnc.endpoint=http://{{.Values.service.name}}:{{.Values.service.internalPort}}/adapters/SDNCAdapter
+mso.adapters.sdnc.rest.endpoint=http://{{.Values.service.name}}:{{.Values.service.internalPort}}/adapters/rest/v1/sdnc
+mso.adapters.tenant.endpoint=http://{{.Values.service.name}}:{{.Values.service.internalPort}}/tenants/TenantAdapter
+mso.adapters.workflow.message.endpoint=http://{{.Values.service.name}}:{{.Values.service.internalPort}}/workflows/messages/message
+mso.adapters.db.auth=6B0E6863FB8EE010AB6F191B3C0489437601E81DC7C86305CB92DB98AFC53D74
+mso.workflow.message.endpoint=http://{{.Values.service.name}}:{{.Values.service.internalPort}}/mso/WorkflowMessage
+mso.workflow.sdncadapter.callback=http://{{.Values.service.name}}:{{.Values.service.internalPort}}/mso/SDNCAdapterCallbackService
+mso.workflow.sdnc.replication.delay=PT5S
+mso.workflow.aai.distribution.delay=PT30S
+mso.msoKey=07a7159d3bf51a0e53be7a8f89699be7
+mso.adapters.po.auth=6B0E6863FB8EE010AB6F191B3C0489437601E81DC7C86305CB92DB98AFC53D74
+mso.sdnc.timeout=PT5M
+mso.rollback=true
+mso.adapters.network.endpoint=http://{{.Values.service.name}}:{{.Values.service.internalPort}}/networks/NetworkAdapter
+mso.adapters.network.rest.endpoint=http://{{.Values.service.name}}:{{.Values.service.internalPort}}/networks/rest/v1/networks
+mso.adapters.vnf-async.endpoint=http://{{.Values.service.name}}:{{.Values.service.internalPort}}/vnfs/VnfAdapterAsync
+mso.workflow.vnfadapter.delete.callback=http://{{.Values.service.name}}:{{.Values.service.internalPort}}/mso/vnfAdapterNotify
+mso.workflow.vnfadapter.create.callback=http://{{.Values.service.name}}:{{.Values.service.internalPort}}/mso/vnfAdapterNotify
+mso.adapters.vnf.rest.endpoint=http://{{.Values.service.name}}:{{.Values.service.internalPort}}/vnfs/rest/v1/vnfs
+mso.po.timeout=PT5M
+mso.sdnc.firewall.yang.model=http://com/att/svc/mis/firewall-lite-gui
+mso.sdnc.firewall.yang.model.version=2015-05-15
+mso.sdnc.timeout.firewall.minutes=20
+mso.callbackRetryAttempts=30
+mso.callbackRetrySleepTime=1000
+mso.use.qualified.host=false
+mso.workflow.l3ToHigherLayerAddBonding.model.name=WAN Bonding
+mso.workflow.l3ToHigherLayerAddBonding.model.version=2.0
+mso.sitename=mso-docker
+mso.workflow.global.default.aai.version=11
+mso.workflow.global.default.aai.namespace=http://org.openecomp.aai.inventory/
+mso.workflow.default.aai.v11.generic-vnf.uri=/aai/v11/network/generic-vnfs/generic-vnf
+mso.workflow.default.aai.v11.vpn-binding.uri=/aai/v11/network/vpn-bindings/vpn-binding
+mso.workflow.default.aai.v11.network-policy.uri=/aai/v11/network/network-policies/network-policy
+mso.workflow.default.aai.v11.route-table-reference.uri=/aai/v11/network/route-table-references/route-table-reference
+mso.workflow.default.aai.v11.vce.uri=/aai/v11/network/vces/vce
+mso.workflow.default.aai.v11.l3-network.uri=/aai/v11/network/l3-networks/l3-network
+mso.workflow.default.aai.v11.customer.uri=/aai/v11/business/customers/customer
+mso.workflow.default.aai.v11.tenant.uri=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/DFW/tenants/tenant
+mso.workflow.default.aai.v11.generic-query.uri=/aai/v11/search/generic-query
+#note the CloudRegionURI is used for volume-groups
+mso.workflow.default.aai.v11.cloud-region.uri=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner
+mso.workflow.default.aai.v11.nodes-query.uri=/aai/v11/search/nodes-query
+mso.workflow.default.aai.v11.generic-vnf.uri=/aai/v11/network/generic-vnfs/generic-vnf
+mso.workflow.default.aai.v11.cloud-region.uri=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner
+aai.auth=2630606608347B7124C244AB0FE34F6F
diff --git a/kubernetes/so/resources/config/mso/mso.workflow-message-adapter.properties b/kubernetes/so/resources/config/mso/mso.workflow-message-adapter.properties
new file mode 100644 (file)
index 0000000..24b668b
--- /dev/null
@@ -0,0 +1,7 @@
+# Workflow Adapter properties
+
+# BP notification endpoint that receives workflow messages
+org.openecomp.mso.adapters.workflow.message.bpelurl=http://{{.Values.service.name}}:{{.Values.service.internalPort}}/mso/WorkflowMessage
+
+# Authorization for connecting to workflow.message.bpelurl
+org.openecomp.mso.adapters.workflow.message.bpelauth=5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1
index 7693736..d3ff84f 100644 (file)
         <subsystem xmlns="urn:jboss:domain:datasources:4.0">
             <datasources>
                 <datasource jndi-name="java:jboss/datasources/mso-requests" pool-name="mso-requests" enabled="true" use-ccm="true">
-                    <connection-url>jdbc:mariadb://{{ .Release.Name }}-mariadb:3306/mso_requests?autoReconnect=true&amp;connectTimeout=60000&amp;socketTimeout=60000</connection-url>
+                    <connection-url>jdbc:mariadb://{{ .Values.mariadb.nameOverride }}:3306/mso_requests?autoReconnect=true&amp;connectTimeout=60000&amp;socketTimeout=60000</connection-url>
                     <driver>mariadb</driver>
                     <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
                     <pool>
                     </timeout>
                 </datasource>
                 <datasource jndi-name="java:jboss/datasources/mso-catalog" pool-name="mso-catalog" enabled="true" use-ccm="true">
-                    <connection-url>jdbc:mariadb://{{ .Release.Name }}-mariadb:3306/mso_catalog?autoReconnect=true&amp;connectTimeout=60000&amp;socketTimeout=60000</connection-url>
+                    <connection-url>jdbc:mariadb://{{ .Values.mariadb.nameOverride }}:3306/mso_catalog?autoReconnect=true&amp;connectTimeout=60000&amp;socketTimeout=60000</connection-url>
                     <driver>mariadb</driver>
                     <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
                     <pool>
                     </timeout>
                 </datasource>
                 <datasource jta="true" jndi-name="java:jboss/datasources/ProcessEngine" pool-name="ProcessEngine" enabled="true" use-java-context="true" use-ccm="true">
-                    <connection-url>jdbc:mariadb://{{ .Release.Name }}-mariadb:3306/camundabpmn?autoReconnect=true&amp;connectTimeout=60000&amp;socketTimeout=60000</connection-url>
+                    <connection-url>jdbc:mariadb://{{ .Values.mariadb.nameOverride }}:3306/camundabpmn?autoReconnect=true&amp;connectTimeout=60000&amp;socketTimeout=60000</connection-url>
                     <driver>mariadb</driver>
                     <new-connection-sql>set autocommit=1</new-connection-sql>
                     <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
diff --git a/kubernetes/so/resources/config/mso/topology.properties b/kubernetes/so/resources/config/mso/topology.properties
new file mode 100644 (file)
index 0000000..833129e
--- /dev/null
@@ -0,0 +1,22 @@
+# This is the topology used by the global healthcheck
+apih-load-balancer=http://{{.Values.service.name}}:{{.Values.service.internalPort}}/
+jra-load-balancer=http://{{.Values.service.name}}:{{.Values.service.internalPort}}/
+camunda-load-balancer=http://{{.Values.service.name}}:{{.Values.service.internalPort}}/
+
+# will be used as entry in DB to say SITE OFF/ON for healthcheck
+site-name=mso-docker
+
+server-port={{.Values.service.internalPort}}
+ssl-enable=false
+
+apih-healthcheck-urn=/ecomp/mso/infra/healthcheck,/asdc/healthcheck,/dbadapters/healthcheck
+jra-healthcheck-urn=/networks/rest/healthcheck,/adapters/rest/healthcheck,/vnfs/rest/healthcheck,/tenants/rest/healthcheck
+camunda-healthcheck-urn=/mso/healthcheck
+
+apih-nodehealthcheck-urn=/ecomp/mso/infra/nodehealthcheck
+jra-nodehealthcheck-urn=/adapters/rest/nodehealthcheck
+camunda-nodehealthcheck-urn=/mso/nodehealthcheck
+msb-ip={{.Values.config.msb.serviceName}}
+msb-port={{.Values.config.msb.port}}
+sdnc-ip={{.Values.config.sdnc.serviceName}}
+sdnc-port={{.Values.config.sdnc.port}}
index 0727ce8..bc01727 100644 (file)
@@ -35,7 +35,7 @@ spec:
         - /root/ready.py
         args:
         - --container-name
-        - mariadb
+        - {{ .Values.mariadb.nameOverride }}
         env:
         - name: NAMESPACE
           valueFrom:
@@ -49,7 +49,7 @@ spec:
         - name: {{ .Chart.Name }}
           command:
           - /tmp/start-jboss-server.sh
-          image: "{{ .Values.repository | default .Values.global.repository }}/{{ .Values.image }}"
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           ports:
           - containerPort: {{ .Values.service.internalPort }}
@@ -58,14 +58,14 @@ spec:
           - containerPort: {{ .Values.service.internalPort4 }}
           - containerPort: {{ .Values.service.internalPort5 }}
           # disable liveness probe when breakpoints set in debugger
-          # so K8s doesn't restart unresponsive container 
-          {{- if eq .Values.liveness.enabled true }}
+          # so K8s doesn't restart unresponsive container
+          {{ if .Values.liveness.enabled }}
           livenessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
-          {{ end -}}
+          {{ end }}
           readinessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
@@ -86,6 +86,15 @@ spec:
           - mountPath: /opt/jboss/standalone/configuration/standalone-full-ha-mso.xml
             name: so-config
             subPath: standalone-full-ha-mso.xml
+          - mountPath: /etc/mso/config.d/topology.properties
+            name: so-config
+            subPath: topology.properties
+          - mountPath: /etc/mso/config.d/mso.workflow-message-adapter.properties
+            name: so-config
+            subPath: mso.workflow-message-adapter.properties
+          - mountPath: /etc/mso/config.d/mso.bpmn.urn.properties
+            name: so-config
+            subPath: mso.bpmn.urn.properties
 
           - mountPath: /var/log/onap
             name: so-logs
@@ -176,6 +185,15 @@ spec:
             - key: standalone-full-ha-mso.xml
               path: standalone-full-ha-mso.xml
               mode: 0644
+            - key: topology.properties
+              path: topology.properties
+              mode: 0644
+            - key: mso.workflow-message-adapter.properties
+              path: mso.workflow-message-adapter.properties
+              mode: 0644
+            - key: mso.bpmn.urn.properties
+              path: mso.bpmn.urn.properties
+              mode: 0644
         - name: so-logs
           emptyDir: {}
         - name: so-data-filebeat
index 63e41ac..ac9d179 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: so
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -25,7 +25,7 @@ metadata:
   annotations:
     msb.onap.org/service-info: '[
       {
-          "serviceName": "so",
+          "serviceName": "{{ include "common.servicename" . }}",
           "version": "v1",
           "url": "/ecomp/mso/infra",
           "protocol": "REST"
@@ -47,36 +47,36 @@ spec:
   ports:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.internalPort }}
-      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort }}
-      name: {{ .Values.service.name }}
+      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.externalPort2 }}
-      name: {{ .Values.service.name }}2
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+      name: {{ .Values.service.portName }}2
     - port: {{ .Values.service.internalPort3 }}
-      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort3 }}
-      name: {{ .Values.service.name }}3
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }}
+      name: {{ .Values.service.portName }}3
     - port: {{ .Values.service.internalPort4 }}
-      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort4 }}
-      name: {{ .Values.service.name }}4
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort4 }}
+      name: {{ .Values.service.portName }}4
     - port: {{ .Values.service.internalPort5 }}
-      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort5 }}
-      name: {{ .Values.service.name }}5
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort5 }}
+      name: {{ .Values.service.portName }}5
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     - port: {{ .Values.service.externalPort2 }}
       targetPort: {{ .Values.service.internalPort2 }}
-      name: {{ .Values.service.name }}2
+      name: {{ .Values.service.portName }}2
     - port: {{ .Values.service.externalPort3 }}
       targetPort: {{ .Values.service.internalPort3 }}
-      name: {{ .Values.service.name }}3
+      name: {{ .Values.service.portName }}3
     - port: {{ .Values.service.externalPort4 }}
       targetPort: {{ .Values.service.internalPort4 }}
-      name: {{ .Values.service.name }}4
+      name: {{ .Values.service.portName }}4
     - port: {{ .Values.service.externalPort5 }}
       targetPort: {{ .Values.service.internalPort5 }}
-      name: {{ .Values.service.name }}5
+      name: {{ .Values.service.portName }}5
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
index 3ca60b0..c92fe2a 100644 (file)
@@ -19,7 +19,7 @@ global: # global defaults
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
@@ -46,6 +46,25 @@ config:
   openStackEncryptedPasswordHere: "c124921a3a0efbe579782cde8227681e"
   logstashServiceName: log-ls
   logstashPort: 5044
+  sniro:
+    serviceName: sniro-emulator
+    port: 80
+  aai:
+    serviceName: aai
+    port: 8080
+  msb:
+    serviceName: msb-iag
+    port: 80
+  sdnc:
+    serviceName: sdnc
+    port: 8282
+  sdc:
+    serviceName: sdc-be
+    port: 8443
+
+# subchart configuration
+mariadb:
+  nameOverride: so-db
 
 # default number of instances
 replicaCount: 1
@@ -69,16 +88,17 @@ readiness:
 service:
   type: NodePort
   name: so
-  externalPort: 23
+  portName: so
   internalPort: 8080
-  externalPort2: 25
+  nodePort: 23
   internalPort2: 3904
-  externalPort3: 24
+  nodePort2: 25
   internalPort3: 3905
-  externalPort4: 22
+  nodePort3: 24
   internalPort4: 9990
-  externalPort5: 50
+  nodePort4: 22
   internalPort5: 8787
+  nodePort5: 50
 
 ingress:
   enabled: false
index 5f0a11b..0e4049d 100644 (file)
@@ -30,7 +30,7 @@ pullPolicy: Always
 # application configuration
 
 msbaddr: msb-iag.{{include "common.namespace" .}}:80
-mraddr: dmaap.{{include "common.namespace" .}}:3904
+mraddr: message-router.{{include "common.namespace" .}}:3904
 
 # flag to enable debugging - application support required
 debugEnabled: false
index 51be03b..c61e203 100644 (file)
@@ -30,7 +30,7 @@ pullPolicy: Always
 # application configuration
 
 msbaddr: msb-iag.{{include "common.namespace" .}}:80
-mraddr: dmaap.{{include "common.namespace" .}}:3904
+mraddr: message-router.{{include "common.namespace" .}}:3904
 
 # flag to enable debugging - application support required
 debugEnabled: false
index fe84a68..0485b57 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index c44fc75..a8fd22e 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index 48b039c..119a12c 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index 3b3f1c6..988b80c 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index edcce95..1f4c5ac 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index 943b051..4c1711a 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index e6fe78b..2c5504c 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index 4fccdb2..c3db239 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index a14b06e..ab54b4d 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index c128cb0..a6ea046 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index a3f35d4..09ff8a4 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index 96e6b0d..d308fe8 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index 3009f5f..2b0651a 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index 392cb13..4a4ae0e 100644 (file)
@@ -25,7 +25,7 @@ metadata:
   annotations:
     msb.onap.org/service-info: '[
       {
-          "serviceName": "workflow",
+          "serviceName": "workflow-engine",
           "version": "v1",
           "url": "/activiti-rest",
           "protocol": "REST",
index 876547c..84daca3 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index 028155e..2c84441 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index 41482bc..19e480b 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index 79c1627..d94e5da 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index 89ed734..847e636 100644 (file)
@@ -71,19 +71,19 @@ spec:
             periodSeconds: {{ .Values.readiness.periodSeconds }}
           env:
             - name: ASDC_CLIENT_REST_HOST
-              value: sdc-be.{{ include "common.namespace" . }}-sdc
+              value: sdc-be.{{ include "common.namespace" . }}
             - name: ASDC_CLIENT_REST_AUTH
               value: "{{ .Values.config.asdcclientrestauth }}"
             - name: ASDC_CLIENT_REST_PORT
               value: "{{ .Values.config.asdcclientrestport }}"
             - name: VID_AAI_HOST
-              value: aai-service.{{ include "common.namespace" . }}-aai
+              value: aai-service.{{ include "common.namespace" . }}
             - name: VID_AAI_PORT
               value: "{{ .Values.config.vidaaiport }}"
             - name: VID_ECOMP_SHARED_CONTEXT_REST_URL
-              value: http://portalapps.{{ include "common.namespace" . }}-portal:"{{ .Values.config.onapport }}"/ONAPPORTAL/context
+              value: http://portalapps.{{ include "common.namespace" . }}:"{{ .Values.config.onapport }}"/ONAPPORTAL/context
             - name: VID_MSO_SERVER_URL
-              value: http://mso.{{ include "common.namespace" . }}-mso:"{{ .Values.config.msoport }}"
+              value: http://mso.{{ include "common.namespace" . }}:"{{ .Values.config.msoport }}"
             - name: VID_MSO_PASS
               value: "{{ .Values.config.vidmsopass }}"
             - name: MSO_DME2_SERVER_URL
@@ -91,15 +91,15 @@ spec:
             - name: MSO_DME2_ENABLED
               value: {{ .Values.global.debugEnabled | default .Values.debugEnabled | quote }}
             - name: VID_ECOMP_REDIRECT_URL
-              value: http://portalapps.{{ include "common.namespace" . }}-portal:"{{ .Values.config.onapport }}"/ONAPPORTAL/login.h\tm
+              value: http://portalapps.{{ include "common.namespace" . }}:"{{ .Values.config.onapport }}"/ONAPPORTAL/login.htm
             - name: VID_ECOMP_REST_URL
-              value: http://portalapps.{{ include "common.namespace" . }}-portal:"{{ .Values.config.onapport }}"/ONAPPORTAL/auxapi
+              value: http://portalapps.{{ include "common.namespace" . }}:"{{ .Values.config.onapport }}"/ONAPPORTAL/auxapi
             - name: VID_CONTACT_US_LINK
               value: "{{ .Values.config.vidcontactuslink }}"
             - name: VID_UEB_URL_LIST
-              value: dmaap.{{ include "common.namespace" . }}-message-router
+              value: dmaap.{{ include "common.namespace" . }}
             - name: VID_MYSQL_HOST
-              value: "{{ .Values.config.vidmysqlhost }}"
+              value: "{{ .Release.Name }}-{{ .Values.config.vidmysqlhost }}"
             - name: VID_MYSQL_PORT
               value: "{{ .Values.config.vidmysqlport }}"
             - name: VID_MYSQL_DBNAME
index b42bceb..ac68f2e 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
@@ -56,7 +56,7 @@ config:
 
 # subchart configuration
 mariadb:
-  nameOverride: vid-db
+  nameOverride: vid-mariadb
 
 # default number of instances
 replicaCount: 1
index f449938..d99eab9 100644 (file)
@@ -20,7 +20,7 @@ global:
   repository: nexus3.onap.org:10001
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.1
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
index 9cb3dd6..0643d58 100644 (file)
@@ -20,7 +20,7 @@ global:
   repository: nexus3.onap.org:10001
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.1
+  readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0