summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/oom_user_guide.rst2
-rw-r--r--kubernetes/aai/charts/aai-cassandra/.helmignore21
-rw-r--r--kubernetes/aai/charts/aai-cassandra/Chart.yaml4
-rw-r--r--kubernetes/aai/charts/aai-cassandra/templates/service.yaml27
-rw-r--r--kubernetes/aai/charts/aai-cassandra/templates/statefulset.yaml115
-rw-r--r--kubernetes/aai/charts/aai-cassandra/templates/volumes.yaml25
-rw-r--r--kubernetes/aai/charts/aai-cassandra/values.yaml106
-rw-r--r--kubernetes/aai/charts/aai-champ/resources/config/dynamic/conf/champ-beans.xml15
-rw-r--r--kubernetes/aai/charts/aai-champ/templates/deployment.yaml15
-rw-r--r--kubernetes/aai/charts/aai-data-router/values.yaml2
-rw-r--r--kubernetes/aai/charts/aai-modelloader/values.yaml2
-rw-r--r--kubernetes/aai/charts/aai-resources/resources/config/aai_keystorebin0 -> 3811 bytes
-rw-r--r--kubernetes/aai/charts/aai-resources/resources/config/aaiconfig.properties119
-rw-r--r--kubernetes/aai/charts/aai-resources/resources/config/application.properties72
-rw-r--r--kubernetes/aai/charts/aai-resources/resources/config/janusgraph-cached.properties50
-rw-r--r--kubernetes/aai/charts/aai-resources/resources/config/janusgraph-realtime.properties45
-rw-r--r--kubernetes/aai/charts/aai-resources/resources/config/localhost-access-logback.xml62
-rw-r--r--kubernetes/aai/charts/aai-resources/resources/config/log/logback.xml345
-rw-r--r--kubernetes/aai/charts/aai-resources/resources/config/logback.xml352
-rw-r--r--kubernetes/aai/charts/aai-resources/resources/config/realm.properties12
-rw-r--r--kubernetes/aai/charts/aai-resources/templates/configmap.yaml61
-rw-r--r--kubernetes/aai/charts/aai-resources/templates/deployment.yaml89
-rw-r--r--kubernetes/aai/charts/aai-resources/values.yaml11
-rw-r--r--kubernetes/aai/charts/aai-search-data/resources/config/log/logback.xml363
-rw-r--r--kubernetes/aai/charts/aai-search-data/values.yaml2
-rw-r--r--kubernetes/aai/charts/aai-traversal/resources/config/aai_keystorebin0 -> 3811 bytes
-rw-r--r--kubernetes/aai/charts/aai-traversal/resources/config/aaiconfig.properties113
-rw-r--r--kubernetes/aai/charts/aai-traversal/resources/config/application.properties72
-rw-r--r--kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-cached.properties50
-rw-r--r--kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-realtime.properties45
-rw-r--r--kubernetes/aai/charts/aai-traversal/resources/config/localhost-access-logback.xml62
-rw-r--r--kubernetes/aai/charts/aai-traversal/resources/config/log/logback.xml345
-rw-r--r--kubernetes/aai/charts/aai-traversal/resources/config/logback.xml365
-rw-r--r--kubernetes/aai/charts/aai-traversal/resources/config/realm.properties12
-rw-r--r--kubernetes/aai/charts/aai-traversal/templates/configmap.yaml59
-rw-r--r--kubernetes/aai/charts/aai-traversal/templates/deployment.yaml88
-rw-r--r--kubernetes/aai/charts/aai-traversal/templates/job.yaml139
-rw-r--r--kubernetes/aai/charts/aai-traversal/values.yaml8
-rw-r--r--kubernetes/aai/templates/configmap.yaml19
-rw-r--r--kubernetes/aai/values.yaml2
-rwxr-xr-xkubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh37
-rw-r--r--kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/appc.properties12
-rwxr-xr-xkubernetes/appc/resources/config/appc/opt/onap/ccsdk/bin/installSdncDb.sh (renamed from kubernetes/appc/resources/config/appc/opt/onap/sdnc/bin/installSdncDb.sh)0
-rwxr-xr-xkubernetes/appc/resources/config/appc/opt/onap/ccsdk/bin/startODL.sh (renamed from kubernetes/appc/resources/config/appc/opt/onap/sdnc/bin/startODL.sh)0
-rw-r--r--kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/aaiclient.properties (renamed from kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/aaiclient.properties)0
-rw-r--r--kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/dblib.properties (renamed from kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/dblib.properties)0
-rw-r--r--kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/svclogic.properties (renamed from kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/svclogic.properties)0
-rwxr-xr-xkubernetes/appc/resources/config/appc/opt/onap/ccsdk/svclogic/bin/showActiveGraphs.sh (renamed from kubernetes/appc/resources/config/appc/opt/onap/sdnc/svclogic/bin/showActiveGraphs.sh)0
-rw-r--r--kubernetes/appc/resources/config/appc/opt/onap/ccsdk/svclogic/config/svclogic.properties (renamed from kubernetes/appc/resources/config/appc/opt/onap/sdnc/svclogic/config/svclogic.properties)0
-rw-r--r--kubernetes/appc/templates/configmap.yaml8
-rw-r--r--kubernetes/appc/templates/statefulset.yaml14
-rw-r--r--kubernetes/common/common/templates/_service.tpl7
-rw-r--r--kubernetes/common/mariadb-galera/.helmignore21
-rw-r--r--kubernetes/common/mariadb-galera/Chart.yaml11
-rw-r--r--kubernetes/common/mariadb-galera/requirements.yaml4
-rw-r--r--kubernetes/common/mariadb-galera/templates/NOTES.txt12
-rw-r--r--kubernetes/common/mariadb-galera/templates/configmap.yaml18
-rw-r--r--kubernetes/common/mariadb-galera/templates/pv.yaml37
-rw-r--r--kubernetes/common/mariadb-galera/templates/pvc.yaml48
-rw-r--r--kubernetes/common/mariadb-galera/templates/secrets.yaml14
-rw-r--r--kubernetes/common/mariadb-galera/templates/service.yaml19
-rw-r--r--kubernetes/common/mariadb-galera/templates/statefulset.yaml119
-rw-r--r--kubernetes/common/mariadb-galera/values.yaml115
-rw-r--r--kubernetes/common/mysql/templates/nfs-provisoner.yaml4
-rw-r--r--kubernetes/common/mysql/templates/pvc.yaml2
-rw-r--r--kubernetes/common/mysql/templates/statefulset.yaml13
-rw-r--r--kubernetes/common/mysql/templates/storageclass.yaml2
-rw-r--r--kubernetes/onap/resources/environments/dev.yaml9
-rw-r--r--kubernetes/onap/values.yaml9
-rwxr-xr-xkubernetes/robot/demo-k8s.sh30
-rwxr-xr-xkubernetes/robot/resources/config/authorization2
-rwxr-xr-xkubernetes/robot/resources/config/eteshare/config/integration_preload_parameters.py341
-rwxr-xr-xkubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py50
-rwxr-xr-xkubernetes/robot/resources/config/eteshare/config/vm_properties.py42
-rw-r--r--kubernetes/robot/resources/config/robot/resources/asdc_interface.robot495
-rw-r--r--kubernetes/robot/resources/config/robot/resources/policy_interface.robot7
-rw-r--r--kubernetes/robot/resources/config/robot/resources/sdngc_interface.robot96
-rw-r--r--kubernetes/robot/templates/deployment.yaml120
-rw-r--r--kubernetes/robot/templates/service.yaml12
-rw-r--r--kubernetes/robot/values.yaml61
-rwxr-xr-xkubernetes/sdnc/resources/config/bin/startODL.sh41
-rw-r--r--kubernetes/sdnc/resources/config/conf/dblib.properties2
-rw-r--r--kubernetes/sdnc/resources/config/conf/svclogic.properties2
-rw-r--r--kubernetes/sdnc/templates/statefulset.yaml2
-rw-r--r--kubernetes/sdnc/values.yaml2
-rwxr-xr-xkubernetes/so/resources/config/mso/mso-docker.json73
-rw-r--r--kubernetes/so/resources/config/mso/mso.bpmn.urn.properties129
-rw-r--r--kubernetes/so/resources/config/mso/mso.workflow-message-adapter.properties7
-rw-r--r--kubernetes/so/resources/config/mso/topology.properties22
-rw-r--r--kubernetes/so/templates/deployment.yaml18
-rw-r--r--kubernetes/so/values.yaml15
-rw-r--r--kubernetes/vfc/charts/vfc-workflow-engine/templates/service.yaml2
92 files changed, 3580 insertions, 1822 deletions
diff --git a/docs/oom_user_guide.rst b/docs/oom_user_guide.rst
index 5dd6b57889..6b0c00e25a 100644
--- a/docs/oom_user_guide.rst
+++ b/docs/oom_user_guide.rst
@@ -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
diff --git a/kubernetes/aai/charts/aai-cassandra/.helmignore b/kubernetes/aai/charts/aai-cassandra/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/aai/charts/aai-cassandra/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/aai/charts/aai-cassandra/Chart.yaml b/kubernetes/aai/charts/aai-cassandra/Chart.yaml
new file mode 100644
index 0000000000..17694cbfff
--- /dev/null
+++ b/kubernetes/aai/charts/aai-cassandra/Chart.yaml
@@ -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
index 0000000000..a4557fe187
--- /dev/null
+++ b/kubernetes/aai/charts/aai-cassandra/templates/service.yaml
@@ -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
index 0000000000..aa3482d293
--- /dev/null
+++ b/kubernetes/aai/charts/aai-cassandra/templates/statefulset.yaml
@@ -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
index 0000000000..0e1a3dfc26
--- /dev/null
+++ b/kubernetes/aai/charts/aai-cassandra/templates/volumes.yaml
@@ -0,0 +1,25 @@
+#{{ if .Values.persistence.enabled }}
+{{- $root := . -}}
+{{ range $i, $e := until (atoi (quote $root.Values.replicaCount) | default 3) }}
+---
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+ name: {{ $root.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
index 0000000000..884bc396a8
--- /dev/null
+++ b/kubernetes/aai/charts/aai-cassandra/values.yaml
@@ -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
diff --git a/kubernetes/aai/charts/aai-champ/resources/config/dynamic/conf/champ-beans.xml b/kubernetes/aai/charts/aai-champ/resources/config/dynamic/conf/champ-beans.xml
index f97ac16864..6a66811e8c 100644
--- a/kubernetes/aai/charts/aai-champ/resources/config/dynamic/conf/champ-beans.xml
+++ b/kubernetes/aai/charts/aai-champ/resources/config/dynamic/conf/champ-beans.xml
@@ -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 -->
diff --git a/kubernetes/aai/charts/aai-champ/templates/deployment.yaml b/kubernetes/aai/charts/aai-champ/templates/deployment.yaml
index ccb90213d9..7176d09aeb 100644
--- a/kubernetes/aai/charts/aai-champ/templates/deployment.yaml
+++ b/kubernetes/aai/charts/aai-champ/templates/deployment.yaml
@@ -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 }}"
diff --git a/kubernetes/aai/charts/aai-data-router/values.yaml b/kubernetes/aai/charts/aai-data-router/values.yaml
index 131bcd7e5c..faf34489a0 100644
--- a/kubernetes/aai/charts/aai-data-router/values.yaml
+++ b/kubernetes/aai/charts/aai-data-router/values.yaml
@@ -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
diff --git a/kubernetes/aai/charts/aai-modelloader/values.yaml b/kubernetes/aai/charts/aai-modelloader/values.yaml
index f44d5247ab..db069d08c7 100644
--- a/kubernetes/aai/charts/aai-modelloader/values.yaml
+++ b/kubernetes/aai/charts/aai-modelloader/values.yaml
@@ -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
index 0000000000..1ddef0c9bd
--- /dev/null
+++ b/kubernetes/aai/charts/aai-resources/resources/config/aai_keystore
Binary files 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
index 0000000000..0258fc2066
--- /dev/null
+++ b/kubernetes/aai/charts/aai-resources/resources/config/aaiconfig.properties
@@ -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
index 0000000000..a65c04e4f0
--- /dev/null
+++ b/kubernetes/aai/charts/aai-resources/resources/config/application.properties
@@ -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
index 0000000000..dd5c3eed66
--- /dev/null
+++ b/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-cached.properties
@@ -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
index 0000000000..875a8a5977
--- /dev/null
+++ b/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-realtime.properties
@@ -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
index 0000000000..a318796c57
--- /dev/null
+++ b/kubernetes/aai/charts/aai-resources/resources/config/localhost-access-logback.xml
@@ -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
index 6cfc293f46..0000000000
--- a/kubernetes/aai/charts/aai-resources/resources/config/log/logback.xml
+++ /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
index 0000000000..94eb9a9226
--- /dev/null
+++ b/kubernetes/aai/charts/aai-resources/resources/config/logback.xml
@@ -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
index 0000000000..fb692cc3eb
--- /dev/null
+++ b/kubernetes/aai/charts/aai-resources/resources/config/realm.properties
@@ -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
diff --git a/kubernetes/aai/charts/aai-resources/templates/configmap.yaml b/kubernetes/aai/charts/aai-resources/templates/configmap.yaml
index 97c720a6ab..5e371ea5bf 100644
--- a/kubernetes/aai/charts/aai-resources/templates/configmap.yaml
+++ b/kubernetes/aai/charts/aai-resources/templates/configmap.yaml
@@ -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 }}
diff --git a/kubernetes/aai/charts/aai-resources/templates/deployment.yaml b/kubernetes/aai/charts/aai-resources/templates/deployment.yaml
index 6aef4475f7..6c65bce4cc 100644
--- a/kubernetes/aai/charts/aai-resources/templates/deployment.yaml
+++ b/kubernetes/aai/charts/aai-resources/templates/deployment.yaml
@@ -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"
diff --git a/kubernetes/aai/charts/aai-resources/values.yaml b/kubernetes/aai/charts/aai-resources/values.yaml
index 3b41a399e3..b7c02876d4 100644
--- a/kubernetes/aai/charts/aai-resources/values.yaml
+++ b/kubernetes/aai/charts/aai-resources/values.yaml
@@ -10,17 +10,18 @@ global: # global defaults
# 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: {}
diff --git a/kubernetes/aai/charts/aai-search-data/resources/config/log/logback.xml b/kubernetes/aai/charts/aai-search-data/resources/config/log/logback.xml
index 14ed4142fe..3fbbbab864 100644
--- a/kubernetes/aai/charts/aai-search-data/resources/config/log/logback.xml
+++ b/kubernetes/aai/charts/aai-search-data/resources/config/log/logback.xml
@@ -1,188 +1,177 @@
-<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>
diff --git a/kubernetes/aai/charts/aai-search-data/values.yaml b/kubernetes/aai/charts/aai-search-data/values.yaml
index 9e16b23bcc..65b3c9dbc2 100644
--- a/kubernetes/aai/charts/aai-search-data/values.yaml
+++ b/kubernetes/aai/charts/aai-search-data/values.yaml
@@ -10,7 +10,7 @@ global: # global defaults
# 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
index 0000000000..1ddef0c9bd
--- /dev/null
+++ b/kubernetes/aai/charts/aai-traversal/resources/config/aai_keystore
Binary files 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
index 0000000000..2452a1e85b
--- /dev/null
+++ b/kubernetes/aai/charts/aai-traversal/resources/config/aaiconfig.properties
@@ -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
index 0000000000..14c59d23f7
--- /dev/null
+++ b/kubernetes/aai/charts/aai-traversal/resources/config/application.properties
@@ -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
index 0000000000..dd5c3eed66
--- /dev/null
+++ b/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-cached.properties
@@ -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
index 0000000000..875a8a5977
--- /dev/null
+++ b/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-realtime.properties
@@ -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
index 0000000000..a318796c57
--- /dev/null
+++ b/kubernetes/aai/charts/aai-traversal/resources/config/localhost-access-logback.xml
@@ -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
index fb8d8a53bf..0000000000
--- a/kubernetes/aai/charts/aai-traversal/resources/config/log/logback.xml
+++ /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
index 0000000000..2ed8f5c8f1
--- /dev/null
+++ b/kubernetes/aai/charts/aai-traversal/resources/config/logback.xml
@@ -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
index 0000000000..fb692cc3eb
--- /dev/null
+++ b/kubernetes/aai/charts/aai-traversal/resources/config/realm.properties
@@ -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
diff --git a/kubernetes/aai/charts/aai-traversal/templates/configmap.yaml b/kubernetes/aai/charts/aai-traversal/templates/configmap.yaml
index a7e9428a88..cc88444ae2 100644
--- a/kubernetes/aai/charts/aai-traversal/templates/configmap.yaml
+++ b/kubernetes/aai/charts/aai-traversal/templates/configmap.yaml
@@ -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
diff --git a/kubernetes/aai/charts/aai-traversal/templates/deployment.yaml b/kubernetes/aai/charts/aai-traversal/templates/deployment.yaml
index b4249aede1..bda80a0483 100644
--- a/kubernetes/aai/charts/aai-traversal/templates/deployment.yaml
+++ b/kubernetes/aai/charts/aai-traversal/templates/deployment.yaml
@@ -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
index 0000000000..c15c05398f
--- /dev/null
+++ b/kubernetes/aai/charts/aai-traversal/templates/job.yaml
@@ -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"
diff --git a/kubernetes/aai/charts/aai-traversal/values.yaml b/kubernetes/aai/charts/aai-traversal/values.yaml
index b1c8fedae8..d3d686d9f1 100644
--- a/kubernetes/aai/charts/aai-traversal/values.yaml
+++ b/kubernetes/aai/charts/aai-traversal/values.yaml
@@ -10,14 +10,20 @@ global: # global defaults
# 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
diff --git a/kubernetes/aai/templates/configmap.yaml b/kubernetes/aai/templates/configmap.yaml
index 78235bcd4f..592e4129d1 100644
--- a/kubernetes/aai/templates/configmap.yaml
+++ b/kubernetes/aai/templates/configmap.yaml
@@ -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 }}
+
diff --git a/kubernetes/aai/values.yaml b/kubernetes/aai/values.yaml
index 8f35c62f5e..5d08268e88 100644
--- a/kubernetes/aai/values.yaml
+++ b/kubernetes/aai/values.yaml
@@ -26,6 +26,8 @@ global: # global defaults
loggingRepository: docker.elastic.co
loggingImage: beats/filebeat:5.5.0
restartPolicy: Always
+ cassandra:
+ replicas: 3
# application image
dockerhubRepository: registry.hub.docker.com
diff --git a/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh b/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh
index 0b9e63127b..e5f04ca5e2 100755
--- a/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh
+++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh
@@ -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
diff --git a/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/appc.properties b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/appc.properties
index f4ee6fcfc7..2d98d11a00 100644
--- a/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/appc.properties
+++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/appc.properties
@@ -31,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
diff --git a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/bin/installSdncDb.sh b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/bin/installSdncDb.sh
index 25560fbef4..25560fbef4 100755
--- a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/bin/installSdncDb.sh
+++ b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/bin/installSdncDb.sh
diff --git a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/bin/startODL.sh b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/bin/startODL.sh
index a84893c00f..a84893c00f 100755
--- a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/bin/startODL.sh
+++ b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/bin/startODL.sh
diff --git a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/aaiclient.properties b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/aaiclient.properties
index b2f7102d8c..b2f7102d8c 100644
--- a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/aaiclient.properties
+++ b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/aaiclient.properties
diff --git a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/dblib.properties b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/dblib.properties
index f603977013..f603977013 100644
--- a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/dblib.properties
+++ b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/dblib.properties
diff --git a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/svclogic.properties b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/svclogic.properties
index 908d60a089..908d60a089 100644
--- a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/svclogic.properties
+++ b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/svclogic.properties
diff --git a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/svclogic/bin/showActiveGraphs.sh b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/svclogic/bin/showActiveGraphs.sh
index a568dfdc20..a568dfdc20 100755
--- a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/svclogic/bin/showActiveGraphs.sh
+++ b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/svclogic/bin/showActiveGraphs.sh
diff --git a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/svclogic/config/svclogic.properties b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/svclogic/config/svclogic.properties
index 44ae32f9cc..44ae32f9cc 100644
--- a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/svclogic/config/svclogic.properties
+++ b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/svclogic/config/svclogic.properties
diff --git a/kubernetes/appc/templates/configmap.yaml b/kubernetes/appc/templates/configmap.yaml
index 0574cfcf22..67b409a3e8 100644
--- a/kubernetes/appc/templates/configmap.yaml
+++ b/kubernetes/appc/templates/configmap.yaml
@@ -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
diff --git a/kubernetes/appc/templates/statefulset.yaml b/kubernetes/appc/templates/statefulset.yaml
index 6ecfc19342..5da50a5fdf 100644
--- a/kubernetes/appc/templates/statefulset.yaml
+++ b/kubernetes/appc/templates/statefulset.yaml
@@ -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
diff --git a/kubernetes/common/common/templates/_service.tpl b/kubernetes/common/common/templates/_service.tpl
index d76c5e0e8a..77b77d059a 100644
--- a/kubernetes/common/common/templates/_service.tpl
+++ b/kubernetes/common/common/templates/_service.tpl
@@ -17,8 +17,8 @@
{{/*
Resolve the name of a chart's service.
- The default will be the chart name, unless
- overridden in the service configuration.
+ 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
*/}}
@@ -26,5 +26,6 @@
Expand the service name for a chart.
*/}}
{{- define "common.servicename" -}}
- {{- default .Chart.Name .Values.service.name trunc 63 | trimSuffix "-" -}}
+ {{- $name := default .Chart.Name .Values.nameOverride -}}
+ {{- default $name .Values.service.name | trunc 63 | trimSuffix "-" -}}
{{- end -}} \ No newline at end of file
diff --git a/kubernetes/common/mariadb-galera/.helmignore b/kubernetes/common/mariadb-galera/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/common/mariadb-galera/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/common/mariadb-galera/Chart.yaml b/kubernetes/common/mariadb-galera/Chart.yaml
new file mode 100644
index 0000000000..85f36dc6fb
--- /dev/null
+++ b/kubernetes/common/mariadb-galera/Chart.yaml
@@ -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
index 0000000000..c169924d82
--- /dev/null
+++ b/kubernetes/common/mariadb-galera/requirements.yaml
@@ -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
index 0000000000..3dd25ac4b7
--- /dev/null
+++ b/kubernetes/common/mariadb-galera/templates/NOTES.txt
@@ -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
index 0000000000..094a76cf45
--- /dev/null
+++ b/kubernetes/common/mariadb-galera/templates/configmap.yaml
@@ -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
index 0000000000..184728f8ad
--- /dev/null
+++ b/kubernetes/common/mariadb-galera/templates/pv.yaml
@@ -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
index 0000000000..e27c3311e9
--- /dev/null
+++ b/kubernetes/common/mariadb-galera/templates/pvc.yaml
@@ -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
index 0000000000..101a7eba79
--- /dev/null
+++ b/kubernetes/common/mariadb-galera/templates/secrets.yaml
@@ -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
index 0000000000..f5f93ed9b6
--- /dev/null
+++ b/kubernetes/common/mariadb-galera/templates/service.yaml
@@ -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
index 0000000000..b8ba75e52c
--- /dev/null
+++ b/kubernetes/common/mariadb-galera/templates/statefulset.yaml
@@ -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
index 0000000000..f65a8a57e6
--- /dev/null
+++ b/kubernetes/common/mariadb-galera/values.yaml
@@ -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
diff --git a/kubernetes/common/mysql/templates/nfs-provisoner.yaml b/kubernetes/common/mysql/templates/nfs-provisoner.yaml
index 3f19977ae2..35894df7a7 100644
--- a/kubernetes/common/mysql/templates/nfs-provisoner.yaml
+++ b/kubernetes/common/mysql/templates/nfs-provisoner.yaml
@@ -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 }}
diff --git a/kubernetes/common/mysql/templates/pvc.yaml b/kubernetes/common/mysql/templates/pvc.yaml
index edb370ae35..d1558f131f 100644
--- a/kubernetes/common/mysql/templates/pvc.yaml
+++ b/kubernetes/common/mysql/templates/pvc.yaml
@@ -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:
diff --git a/kubernetes/common/mysql/templates/statefulset.yaml b/kubernetes/common/mysql/templates/statefulset.yaml
index e43698865e..ff73b45620 100644
--- a/kubernetes/common/mysql/templates/statefulset.yaml
+++ b/kubernetes/common/mysql/templates/statefulset.yaml
@@ -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 }}
diff --git a/kubernetes/common/mysql/templates/storageclass.yaml b/kubernetes/common/mysql/templates/storageclass.yaml
index 398c998e0f..3cd502ea30 100644
--- a/kubernetes/common/mysql/templates/storageclass.yaml
+++ b/kubernetes/common/mysql/templates/storageclass.yaml
@@ -14,9 +14,11 @@
# 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 }}
diff --git a/kubernetes/onap/resources/environments/dev.yaml b/kubernetes/onap/resources/environments/dev.yaml
index 61a7546db0..a8dd5243ff 100644
--- a/kubernetes/onap/resources/environments/dev.yaml
+++ b/kubernetes/onap/resources/environments/dev.yaml
@@ -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
diff --git a/kubernetes/onap/values.yaml b/kubernetes/onap/values.yaml
index f784eebe30..a2427711cd 100644
--- a/kubernetes/onap/values.yaml
+++ b/kubernetes/onap/values.yaml
@@ -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
diff --git a/kubernetes/robot/demo-k8s.sh b/kubernetes/robot/demo-k8s.sh
index 23fc555dc5..d5e7a0384d 100755
--- a/kubernetes/robot/demo-k8s.sh
+++ b/kubernetes/robot/demo-k8s.sh
@@ -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
;;
*)
diff --git a/kubernetes/robot/resources/config/authorization b/kubernetes/robot/resources/config/authorization
index 988730f7a8..23b429e04e 100755
--- a/kubernetes/robot/resources/config/authorization
+++ b/kubernetes/robot/resources/config/authorization
@@ -1 +1 @@
-robot:robot
+{{ .Values.config.lightHttpdUsername }}:{{ .Values.config.lightHttpdPassword }}
diff --git a/kubernetes/robot/resources/config/eteshare/config/integration_preload_parameters.py b/kubernetes/robot/resources/config/eteshare/config/integration_preload_parameters.py
index b125f792b9..502d8fcc63 100755
--- a/kubernetes/robot/resources/config/eteshare/config/integration_preload_parameters.py
+++ b/kubernetes/robot/resources/config/eteshare/config/integration_preload_parameters.py
@@ -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" : {
}
}
diff --git a/kubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py b/kubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py
index 305ba3e8a0..0c65960ad8 100755
--- a/kubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py
+++ b/kubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py
@@ -1,50 +1,56 @@
-# 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)
+# 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,18 +58,18 @@ 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"
@@ -71,11 +77,9 @@ GLOBAL_VID_PASSWORD = "Kp8bJ4SXszM0WX"
GLOBAL_VID_HEALTH_USERNAME = "Default"
GLOBAL_VID_HEALTH_PASSWORD = "AppPassword!1"
#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"
diff --git a/kubernetes/robot/resources/config/eteshare/config/vm_properties.py b/kubernetes/robot/resources/config/eteshare/config/vm_properties.py
index c62c4402b7..b7da6fadd2 100755
--- a/kubernetes/robot/resources/config/eteshare/config/vm_properties.py
+++ b/kubernetes/robot/resources/config/eteshare/config/vm_properties.py
@@ -1,5 +1,6 @@
-#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" .}}"
@@ -7,56 +8,65 @@ GLOBAL_INJECTED_ARTIFACTS_VERSION = "{{.Values.demoArtifactsVersion}}"
GLOBAL_INJECTED_CLAMP_IP_ADDR = "{{.Release.Name}}-clamp.{{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_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_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_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_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_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_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 +74,18 @@ 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 }}"
+ "GLOBAL_INJECTED_VM_FLAVOR" : "{{ .Values.openStackFlavourMedium }}"
} \ No newline at end of file
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
index 5b69a66c7c..0000000000
--- a/kubernetes/robot/resources/config/robot/resources/asdc_interface.robot
+++ /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}
diff --git a/kubernetes/robot/resources/config/robot/resources/policy_interface.robot b/kubernetes/robot/resources/config/robot/resources/policy_interface.robot
index 9193fe438a..9656b7bc90 100644
--- a/kubernetes/robot/resources/config/robot/resources/policy_interface.robot
+++ b/kubernetes/robot/resources/config/robot/resources/policy_interface.robot
@@ -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
diff --git a/kubernetes/robot/resources/config/robot/resources/sdngc_interface.robot b/kubernetes/robot/resources/config/robot/resources/sdngc_interface.robot
index 5b79f9a305..57198dbe99 100644
--- a/kubernetes/robot/resources/config/robot/resources/sdngc_interface.robot
+++ b/kubernetes/robot/resources/config/robot/resources/sdngc_interface.robot
@@ -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
diff --git a/kubernetes/robot/templates/deployment.yaml b/kubernetes/robot/templates/deployment.yaml
index 3403810d20..6379aa1908 100644
--- a/kubernetes/robot/templates/deployment.yaml
+++ b/kubernetes/robot/templates/deployment.yaml
@@ -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"
diff --git a/kubernetes/robot/templates/service.yaml b/kubernetes/robot/templates/service.yaml
index f9f2805f00..3fc21b4550 100644
--- a/kubernetes/robot/templates/service.yaml
+++ b/kubernetes/robot/templates/service.yaml
@@ -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
diff --git a/kubernetes/robot/values.yaml b/kubernetes/robot/values.yaml
index 06f168c571..a842673930 100644
--- a/kubernetes/robot/values.yaml
+++ b/kubernetes/robot/values.yaml
@@ -18,38 +18,69 @@
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:
diff --git a/kubernetes/sdnc/resources/config/bin/startODL.sh b/kubernetes/sdnc/resources/config/bin/startODL.sh
index 0c41d3e3e0..aa5b6d1479 100755
--- a/kubernetes/sdnc/resources/config/bin/startODL.sh
+++ b/kubernetes/sdnc/resources/config/bin/startODL.sh
@@ -34,17 +34,38 @@ function enable_odl_cluster(){
hm=$(hostname)
echo "Get current Hostname ${hm}"
- 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}}";
+ node=($(echo ${hm} | tr '-' '\n'))
+ node_name=${node[0]}
+ node_index=${node[1]}
+
+ if [ -z $PEER_ODL_CLUSTER ]; then
+ echo "This is a local cluster"
+ node_list="${node_name}-0.{{.Values.service.name}}-cluster.{{.Release.Namespace}}";
+
+ for ((i=1;i<${SDNC_REPLICAS};i++));
+ do
+ node_list="${node_list} ${node_name}-$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}
@@ -53,6 +74,8 @@ 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
diff --git a/kubernetes/sdnc/resources/config/conf/dblib.properties b/kubernetes/sdnc/resources/config/conf/dblib.properties
index 9faf9e2482..499834e0e2 100644
--- a/kubernetes/sdnc/resources/config/conf/dblib.properties
+++ b/kubernetes/sdnc/resources/config/conf/dblib.properties
@@ -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
diff --git a/kubernetes/sdnc/resources/config/conf/svclogic.properties b/kubernetes/sdnc/resources/config/conf/svclogic.properties
index dbbbb92b41..99f6cf84b7 100644
--- a/kubernetes/sdnc/resources/config/conf/svclogic.properties
+++ b/kubernetes/sdnc/resources/config/conf/svclogic.properties
@@ -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
diff --git a/kubernetes/sdnc/templates/statefulset.yaml b/kubernetes/sdnc/templates/statefulset.yaml
index fd4f81bd8f..8b4055e1df 100644
--- a/kubernetes/sdnc/templates/statefulset.yaml
+++ b/kubernetes/sdnc/templates/statefulset.yaml
@@ -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
diff --git a/kubernetes/sdnc/values.yaml b/kubernetes/sdnc/values.yaml
index 8de608b3c6..6360d37e21 100644
--- a/kubernetes/sdnc/values.yaml
+++ b/kubernetes/sdnc/values.yaml
@@ -80,7 +80,7 @@ mysql:
persistence:
mountSubPath: sdnc/data
enabled: true
- disableNfsProvisioner: false
+ disableNfsProvisioner: true
replicaCount: 1
dgbuilder:
diff --git a/kubernetes/so/resources/config/mso/mso-docker.json b/kubernetes/so/resources/config/mso/mso-docker.json
index 17f01931a6..92988ba2f0 100755
--- a/kubernetes/so/resources/config/mso/mso-docker.json
+++ b/kubernetes/so/resources/config/mso/mso-docker.json
@@ -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,
@@ -38,20 +38,20 @@
{
"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"
},
@@ -128,37 +128,37 @@
"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",
@@ -179,4 +179,3 @@
"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
index 0000000000..81c21f6ef2
--- /dev/null
+++ b/kubernetes/so/resources/config/mso/mso.bpmn.urn.properties
@@ -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
index 0000000000..24b668bb7b
--- /dev/null
+++ b/kubernetes/so/resources/config/mso/mso.workflow-message-adapter.properties
@@ -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
diff --git a/kubernetes/so/resources/config/mso/topology.properties b/kubernetes/so/resources/config/mso/topology.properties
new file mode 100644
index 0000000000..833129e15b
--- /dev/null
+++ b/kubernetes/so/resources/config/mso/topology.properties
@@ -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}}
diff --git a/kubernetes/so/templates/deployment.yaml b/kubernetes/so/templates/deployment.yaml
index 0727ce80a3..67630d2619 100644
--- a/kubernetes/so/templates/deployment.yaml
+++ b/kubernetes/so/templates/deployment.yaml
@@ -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
diff --git a/kubernetes/so/values.yaml b/kubernetes/so/values.yaml
index 540ed328c7..705f3880e7 100644
--- a/kubernetes/so/values.yaml
+++ b/kubernetes/so/values.yaml
@@ -46,6 +46,21 @@ 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
# default number of instances
replicaCount: 1
diff --git a/kubernetes/vfc/charts/vfc-workflow-engine/templates/service.yaml b/kubernetes/vfc/charts/vfc-workflow-engine/templates/service.yaml
index 392cb13302..4a4ae0e402 100644
--- a/kubernetes/vfc/charts/vfc-workflow-engine/templates/service.yaml
+++ b/kubernetes/vfc/charts/vfc-workflow-engine/templates/service.yaml
@@ -25,7 +25,7 @@ metadata:
annotations:
msb.onap.org/service-info: '[
{
- "serviceName": "workflow",
+ "serviceName": "workflow-engine",
"version": "v1",
"url": "/activiti-rest",
"protocol": "REST",