summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kubernetes/aai/templates/aai-deployment.yaml6
-rw-r--r--kubernetes/aai/templates/aai-resources-deployment.yaml6
-rw-r--r--kubernetes/aai/templates/aai-traversal-deployment.yaml6
-rw-r--r--kubernetes/aai/templates/data-router-deployment.yaml6
-rw-r--r--kubernetes/aai/templates/elasticsearch-deployment.yaml6
-rw-r--r--kubernetes/aai/templates/gremlin-deployment.yaml8
-rw-r--r--kubernetes/aai/templates/hbase-deployment.yaml8
-rw-r--r--kubernetes/aai/templates/modelloader-deployment.yaml6
-rw-r--r--kubernetes/aai/templates/search-data-service-deployment.yaml6
-rw-r--r--kubernetes/aai/templates/sparky-be-deployment.yaml6
-rw-r--r--kubernetes/appc/templates/appc-deployment.yaml6
-rw-r--r--kubernetes/appc/templates/appc-pv-pvc.yaml6
-rw-r--r--kubernetes/appc/templates/db-deployment.yaml6
-rw-r--r--kubernetes/appc/templates/dgbuilder-deployment.yaml8
-rw-r--r--kubernetes/cli/Chart.yaml4
-rw-r--r--kubernetes/cli/templates/all-service.yaml16
-rw-r--r--kubernetes/cli/templates/cli-deployment.yaml34
-rw-r--r--kubernetes/cli/values.yaml5
-rwxr-xr-xkubernetes/config/docker/init/config-init.sh4
-rw-r--r--kubernetes/config/docker/init/src/config/log/aai/ajsc-aai/logback.xml295
-rw-r--r--kubernetes/config/docker/init/src/config/log/aai/model-loader/logback.xml163
-rw-r--r--kubernetes/config/docker/init/src/config/log/appc/org.ops4j.pax.logging.cfg151
-rw-r--r--kubernetes/config/docker/init/src/config/log/filebeat/log4j/filebeat.yml48
-rw-r--r--kubernetes/config/docker/init/src/config/log/filebeat/logback/filebeat.yml40
-rw-r--r--kubernetes/config/docker/init/src/config/log/mso/logback.apihandler-infra.xml110
-rw-r--r--kubernetes/config/docker/init/src/config/log/mso/logback.appc.xml110
-rw-r--r--kubernetes/config/docker/init/src/config/log/mso/logback.asdc.xml110
-rw-r--r--kubernetes/config/docker/init/src/config/log/mso/logback.bpmn.xml110
-rw-r--r--kubernetes/config/docker/init/src/config/log/mso/logback.msorequestsdbadapter.xml110
-rw-r--r--kubernetes/config/docker/init/src/config/log/mso/logback.network.xml110
-rw-r--r--kubernetes/config/docker/init/src/config/log/mso/logback.sdnc.xml110
-rw-r--r--kubernetes/config/docker/init/src/config/log/mso/logback.tenant.xml110
-rw-r--r--kubernetes/config/docker/init/src/config/log/mso/logback.vnf.xml110
-rw-r--r--kubernetes/config/docker/init/src/config/log/policy/drools/logback.xml152
-rw-r--r--kubernetes/config/docker/init/src/config/log/policy/ep_sdk_app/logback.xml190
-rw-r--r--kubernetes/config/docker/init/src/config/log/policy/pypdpserver/logback.xml154
-rw-r--r--kubernetes/config/docker/init/src/config/log/policy/xacml-pap-rest/logback.xml153
-rw-r--r--kubernetes/config/docker/init/src/config/log/policy/xacml-pdp-rest/logback.xml153
-rw-r--r--kubernetes/config/docker/init/src/config/log/portal/portal-be/logback.xml244
-rw-r--r--kubernetes/config/docker/init/src/config/log/portal/portal-db/logback.xml306
-rw-r--r--kubernetes/config/docker/init/src/config/log/sdc/be/logback.xml187
-rw-r--r--kubernetes/config/docker/init/src/config/log/sdc/fe/logback.xml187
-rw-r--r--kubernetes/config/docker/init/src/config/log/sdnc/org.ops4j.pax.logging.cfg57
-rw-r--r--kubernetes/config/docker/init/src/config/log/vid/logback.xml299
-rwxr-xr-xkubernetes/config/docker/init/src/config/policy/opt/policy/config/drools/base.conf91
-rwxr-xr-xkubernetes/config/docker/init/src/config/policy/opt/policy/config/drools/drools-tweaks.sh47
-rw-r--r--kubernetes/config/docker/init/src/config/policy/opt/policy/config/drools/feature-healthcheck.conf2
-rwxr-xr-xkubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/base.conf8
-rwxr-xr-xkubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/brmsgw-tweaks.sh22
-rwxr-xr-xkubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/brmsgw.conf23
-rwxr-xr-xkubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/console.conf43
-rw-r--r--kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/elk.conf3
-rwxr-xr-xkubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/pap-tweaks.sh14
-rwxr-xr-xkubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/pdp.conf19
-rw-r--r--kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/push-policies.sh121
-rwxr-xr-xkubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/pypdp-tweaks.sh3
-rw-r--r--kubernetes/config/templates/pod.yaml2
-rw-r--r--kubernetes/dcae/Chart.yaml4
-rw-r--r--kubernetes/dcae/README18
-rwxr-xr-xkubernetes/dcae/cdap/docker/00-provisioning.sh257
-rwxr-xr-xkubernetes/dcae/cdap/docker/01-entrypoint.sh8
-rw-r--r--kubernetes/dcae/cdap/docker/Dockerfile57
-rw-r--r--kubernetes/dcae/cdap/docker/docker-compose.yaml44
-rw-r--r--kubernetes/dcae/cdap/docker/fs/Dockerfile4
-rwxr-xr-xkubernetes/dcae/pgaas/Dockerfile45
-rwxr-xr-xkubernetes/dcae/pgaas/setup.sh437
-rw-r--r--kubernetes/dcae/templates/all-services.yaml117
-rw-r--r--kubernetes/dcae/templates/cdap0-dep.yaml84
-rw-r--r--kubernetes/dcae/templates/cdap1-dep.yaml84
-rw-r--r--kubernetes/dcae/templates/cdap2-dep.yaml84
-rw-r--r--kubernetes/dcae/templates/dcae-collector-common-event.yaml38
-rw-r--r--kubernetes/dcae/templates/dcae-collector-dmaapbc.yaml37
-rw-r--r--kubernetes/dcae/templates/dcae-controller.yaml61
-rw-r--r--kubernetes/dcae/templates/dcae-dmaap.yaml75
-rw-r--r--kubernetes/dcae/templates/dcae-kafka.yaml83
-rw-r--r--kubernetes/dcae/templates/dcae-zookeeper.yaml31
-rw-r--r--kubernetes/dcae/templates/pgaas.yaml47
-rw-r--r--kubernetes/dcae/values.yaml14
-rw-r--r--kubernetes/log/Chart.yaml4
-rw-r--r--kubernetes/log/resources/elasticsearch/conf/elasticsearch.yml140
-rw-r--r--kubernetes/log/resources/kibana/conf/kibana.yml116
-rw-r--r--kubernetes/log/resources/logstash/conf/logstash.yml16
-rw-r--r--kubernetes/log/resources/logstash/pipeline/onap-pipeline.conf204
-rw-r--r--kubernetes/log/templates/all-services.yaml49
-rw-r--r--kubernetes/log/templates/elasticsearch-deployment.yaml81
-rw-r--r--kubernetes/log/templates/kibana-deployment.yaml71
-rw-r--r--kubernetes/log/templates/log-pv-pvc.yaml30
-rw-r--r--kubernetes/log/templates/logstash-deployment.yaml82
-rw-r--r--kubernetes/log/values.yaml10
-rw-r--r--kubernetes/message-router/templates/message-router-dmaap.yaml6
-rw-r--r--kubernetes/message-router/templates/message-router-kafka.yaml6
-rw-r--r--kubernetes/message-router/templates/message-router-pv-pvc.yaml12
-rw-r--r--kubernetes/message-router/templates/message-router-zookeeper.yaml6
-rw-r--r--kubernetes/mso/templates/db-deployment.yaml6
-rw-r--r--kubernetes/mso/templates/mso-deployment.yaml6
-rw-r--r--kubernetes/mso/templates/mso-pv-pvc.yaml6
-rwxr-xr-xkubernetes/oneclick/createAll.bash22
-rwxr-xr-xkubernetes/oneclick/dcae.sh18
-rw-r--r--kubernetes/oneclick/setenv.bash2
-rw-r--r--kubernetes/policy/templates/all-services.yaml16
-rw-r--r--kubernetes/policy/templates/dep-brmsgw.yaml6
-rw-r--r--kubernetes/policy/templates/dep-drools.yaml6
-rw-r--r--kubernetes/policy/templates/dep-maria.yaml13
-rw-r--r--kubernetes/policy/templates/dep-nexus.yaml14
-rw-r--r--kubernetes/policy/templates/dep-pap.yaml6
-rw-r--r--kubernetes/policy/templates/dep-pdp.yaml6
-rw-r--r--kubernetes/policy/templates/policy-pv-pvc.yaml6
-rw-r--r--kubernetes/policy/values.yaml8
-rw-r--r--kubernetes/portal/templates/all-services.yaml11
-rwxr-xr-xkubernetes/portal/templates/portal-apps-deployment.yaml6
-rwxr-xr-xkubernetes/portal/templates/portal-mariadb-deployment.yaml6
-rw-r--r--kubernetes/portal/templates/portal-pv-pvc.yaml6
-rw-r--r--kubernetes/portal/templates/portal-vnc-dep.yaml6
-rw-r--r--kubernetes/portal/templates/portal-widgets-deployment.yaml6
-rw-r--r--kubernetes/robot/templates/robot-deployment.yaml6
-rw-r--r--kubernetes/sdc/templates/sdc-be.yaml1
-rw-r--r--kubernetes/sdc/templates/sdc-cs.yaml1
-rw-r--r--kubernetes/sdc/templates/sdc-es.yaml1
-rw-r--r--kubernetes/sdc/templates/sdc-fe.yaml1
-rw-r--r--kubernetes/sdc/templates/sdc-kb.yaml1
-rw-r--r--kubernetes/sdc/templates/sdc-pv-pvc.yaml6
-rw-r--r--kubernetes/sdnc/templates/db-deployment.yaml6
-rw-r--r--kubernetes/sdnc/templates/dgbuilder-deployment.yaml8
-rw-r--r--kubernetes/sdnc/templates/sdnc-deployment.yaml6
-rw-r--r--kubernetes/sdnc/templates/sdnc-pv-pvc.yaml6
-rw-r--r--kubernetes/sdnc/templates/web-deployment.yaml8
-rw-r--r--kubernetes/vid/templates/vid-mariadb-deployment.yaml6
-rw-r--r--kubernetes/vid/templates/vid-pv-pvc.yaml6
-rw-r--r--kubernetes/vid/templates/vid-server-deployment.yaml8
129 files changed, 6856 insertions, 179 deletions
diff --git a/kubernetes/aai/templates/aai-deployment.yaml b/kubernetes/aai/templates/aai-deployment.yaml
index 9b55d4e736..dc375cb6bc 100644
--- a/kubernetes/aai/templates/aai-deployment.yaml
+++ b/kubernetes/aai/templates/aai-deployment.yaml
@@ -40,6 +40,9 @@ spec:
image: "{{ .Values.image.aaiProxy }}:{{ .Values.image.aaiProxyVersion}}"
imagePullPolicy: {{ .Values.pullPolicy }}
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /dev/log
name: aai-service-log
- mountPath: /usr/local/etc/haproxy/haproxy.cfg
@@ -53,6 +56,9 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: aai-service-log
hostPath:
path: "/dockerdata-nfs/{{ .Values.nsPrefix }}/aai/haproxy/log/"
diff --git a/kubernetes/aai/templates/aai-resources-deployment.yaml b/kubernetes/aai/templates/aai-resources-deployment.yaml
index 1aff10bb94..c61bc6f0a6 100644
--- a/kubernetes/aai/templates/aai-resources-deployment.yaml
+++ b/kubernetes/aai/templates/aai-resources-deployment.yaml
@@ -55,6 +55,9 @@ spec:
- name: CHEF_GIT_URL
value: http://gerrit.onap.org/r/aai
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /opt/aai/logroot/
name: aai-resources-logs
- mountPath: /var/chef/aai-data/
@@ -69,6 +72,9 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: aai-resources-logs
hostPath:
path: "/dockerdata-nfs/{{ .Values.nsPrefix }}/aai/aai-resources/logs/"
diff --git a/kubernetes/aai/templates/aai-traversal-deployment.yaml b/kubernetes/aai/templates/aai-traversal-deployment.yaml
index debd1f6926..ec387b04e8 100644
--- a/kubernetes/aai/templates/aai-traversal-deployment.yaml
+++ b/kubernetes/aai/templates/aai-traversal-deployment.yaml
@@ -57,6 +57,9 @@ spec:
- name: CHEF_GIT_URL
value: http://gerrit.onap.org/r/aai
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /opt/aai/logroot/
name: aai-traversal-logs
- mountPath: /var/chef/aai-data/
@@ -71,6 +74,9 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: aai-traversal-logs
hostPath:
path: "/dockerdata-nfs/{{ .Values.nsPrefix }}/aai/aai-traversal/logs/"
diff --git a/kubernetes/aai/templates/data-router-deployment.yaml b/kubernetes/aai/templates/data-router-deployment.yaml
index f823061c33..4473dcf8fe 100644
--- a/kubernetes/aai/templates/data-router-deployment.yaml
+++ b/kubernetes/aai/templates/data-router-deployment.yaml
@@ -33,6 +33,9 @@ spec:
- name: JAVA_HOME
value: usr/lib/jvm/java-8-openjdk-amd64
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /opt/app/data-router/config/
name: data-router-config
- mountPath: /opt/app/data-router/dynamic/
@@ -47,6 +50,9 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: data-router-config
hostPath:
path: "/dockerdata-nfs/{{ .Values.nsPrefix }}/aai/data-router/appconfig/"
diff --git a/kubernetes/aai/templates/elasticsearch-deployment.yaml b/kubernetes/aai/templates/elasticsearch-deployment.yaml
index 1c2a2ad57b..1fc92addfc 100644
--- a/kubernetes/aai/templates/elasticsearch-deployment.yaml
+++ b/kubernetes/aai/templates/elasticsearch-deployment.yaml
@@ -26,11 +26,17 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumeMounts:
+ - name: localtime
+ mountPath: /etc/localtime
+ readOnly: true
- name: elasticsearch-config
mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
- name: elasticsearch-data
mountPath: /usr/share/elasticsearch/data
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: elasticsearch-config
hostPath:
path: "/dockerdata-nfs/{{ .Values.nsPrefix }}/aai/elasticsearch/config/elasticsearch.yml"
diff --git a/kubernetes/aai/templates/gremlin-deployment.yaml b/kubernetes/aai/templates/gremlin-deployment.yaml
index d28b286b68..75b3e92437 100644
--- a/kubernetes/aai/templates/gremlin-deployment.yaml
+++ b/kubernetes/aai/templates/gremlin-deployment.yaml
@@ -58,5 +58,13 @@ spec:
port: 8182
initialDelaySeconds: 5
periodSeconds: 10
+ volumeMounts:
+ - name: localtime
+ mountPath: /etc/localtime
+ readOnly: true
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
diff --git a/kubernetes/aai/templates/hbase-deployment.yaml b/kubernetes/aai/templates/hbase-deployment.yaml
index 98c38828ec..c261504d22 100644
--- a/kubernetes/aai/templates/hbase-deployment.yaml
+++ b/kubernetes/aai/templates/hbase-deployment.yaml
@@ -31,5 +31,13 @@ spec:
port: 2181
initialDelaySeconds: 5
periodSeconds: 10
+ volumeMounts:
+ - name: localtime
+ mountPath: /etc/localtime
+ readOnly: true
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
diff --git a/kubernetes/aai/templates/modelloader-deployment.yaml b/kubernetes/aai/templates/modelloader-deployment.yaml
index 5391273d9d..22b72815cb 100644
--- a/kubernetes/aai/templates/modelloader-deployment.yaml
+++ b/kubernetes/aai/templates/modelloader-deployment.yaml
@@ -18,6 +18,9 @@ spec:
- name: CONFIG_HOME
value: /opt/app/model-loader/config/
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /opt/app/model-loader/config/
name: aai-model-loader-config
- mountPath: /logs/
@@ -29,6 +32,9 @@ spec:
- containerPort: 8080
- containerPort: 8443
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: aai-model-loader-config
hostPath:
path: "/dockerdata-nfs/{{ .Values.nsPrefix }}/aai/model-loader/appconfig/"
diff --git a/kubernetes/aai/templates/search-data-service-deployment.yaml b/kubernetes/aai/templates/search-data-service-deployment.yaml
index f2db9370fd..74132758f2 100644
--- a/kubernetes/aai/templates/search-data-service-deployment.yaml
+++ b/kubernetes/aai/templates/search-data-service-deployment.yaml
@@ -25,6 +25,9 @@ spec:
- name: KEY_MANAGER_PASSWORD
value: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /opt/app/search-data-service/config/
name: aai-search-data-service-config
- mountPath: /logs/
@@ -37,6 +40,9 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: aai-search-data-service-config
hostPath:
path: "/dockerdata-nfs/{{ .Values.nsPrefix }}/aai/search-data-service/appconfig/"
diff --git a/kubernetes/aai/templates/sparky-be-deployment.yaml b/kubernetes/aai/templates/sparky-be-deployment.yaml
index 6a8ff9308d..a17325c056 100644
--- a/kubernetes/aai/templates/sparky-be-deployment.yaml
+++ b/kubernetes/aai/templates/sparky-be-deployment.yaml
@@ -25,6 +25,9 @@ spec:
- name: KEY_STORE_PASSWORD
value: OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /opt/app/sparky/config/
name: aai-sparky-be-config
- mountPath: /logs/
@@ -37,6 +40,9 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: aai-sparky-be-config
hostPath:
path: "/dockerdata-nfs/{{ .Values.nsPrefix }}/aai/sparky-be/appconfig/"
diff --git a/kubernetes/appc/templates/appc-deployment.yaml b/kubernetes/appc/templates/appc-deployment.yaml
index 8be421cbf9..8046107243 100644
--- a/kubernetes/appc/templates/appc-deployment.yaml
+++ b/kubernetes/appc/templates/appc-deployment.yaml
@@ -55,6 +55,9 @@ spec:
imagePullPolicy: {{ .Values.pullPolicy }}
name: appc-controller-container
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /opt/openecomp/appc/data/properties/appc.properties
name: appc-properties
- mountPath: /opt/openecomp/appc/data/properties/aaiclient.properties
@@ -72,6 +75,9 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: appc-properties
hostPath:
path: /dockerdata-nfs/{{ .Values.nsPrefix }}/appc/conf/appc.properties
diff --git a/kubernetes/appc/templates/appc-pv-pvc.yaml b/kubernetes/appc/templates/appc-pv-pvc.yaml
index 51392f7c30..2ce6228953 100644
--- a/kubernetes/appc/templates/appc-pv-pvc.yaml
+++ b/kubernetes/appc/templates/appc-pv-pvc.yaml
@@ -1,10 +1,10 @@
apiVersion: v1
kind: PersistentVolume
metadata:
- name: appc-db
+ name: "{{ .Values.nsPrefix }}-appc-db"
namespace: "{{ .Values.nsPrefix }}-appc"
labels:
- name: appc-db
+ name: "{{ .Values.nsPrefix }}-appc-db"
spec:
capacity:
storage: 2Gi
@@ -27,4 +27,4 @@ spec:
storage: 2Gi
selector:
matchLabels:
- name: appc-db
+ name: "{{ .Values.nsPrefix }}-appc-db"
diff --git a/kubernetes/appc/templates/db-deployment.yaml b/kubernetes/appc/templates/db-deployment.yaml
index 542f8f4d42..560f48220d 100644
--- a/kubernetes/appc/templates/db-deployment.yaml
+++ b/kubernetes/appc/templates/db-deployment.yaml
@@ -22,6 +22,9 @@ spec:
imagePullPolicy: {{ .Values.pullPolicy }}
name: appc-db-container
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /var/lib/mysql
name: appc-data
ports:
@@ -33,6 +36,9 @@ spec:
periodSeconds: 10
restartPolicy: Always
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: appc-data
persistentVolumeClaim:
claimName: appc-db
diff --git a/kubernetes/appc/templates/dgbuilder-deployment.yaml b/kubernetes/appc/templates/dgbuilder-deployment.yaml
index e0342578bf..07923930d8 100644
--- a/kubernetes/appc/templates/dgbuilder-deployment.yaml
+++ b/kubernetes/appc/templates/dgbuilder-deployment.yaml
@@ -63,6 +63,14 @@ spec:
port: 3100
initialDelaySeconds: 5
periodSeconds: 10
+ volumeMounts:
+ - name: localtime
+ mountPath: /etc/localtime
+ readOnly: true
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
restartPolicy: Always
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
diff --git a/kubernetes/cli/Chart.yaml b/kubernetes/cli/Chart.yaml
new file mode 100644
index 0000000000..077cc6ecd6
--- /dev/null
+++ b/kubernetes/cli/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: A Helm chart for Kubernetes
+name: cli
+version: 0.1.0
diff --git a/kubernetes/cli/templates/all-service.yaml b/kubernetes/cli/templates/all-service.yaml
new file mode 100644
index 0000000000..ffd9f68187
--- /dev/null
+++ b/kubernetes/cli/templates/all-service.yaml
@@ -0,0 +1,16 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: cli
+ namespace: "{{ .Values.nsPrefix }}-cli"
+ labels:
+ app: cli
+spec:
+ ports:
+ - name: 80-port
+ port: 80
+ targetPort: 80
+ nodePort: {{ .Values.nodePortPrefix }}60
+ type: NodePort
+ selector:
+ app: cli
diff --git a/kubernetes/cli/templates/cli-deployment.yaml b/kubernetes/cli/templates/cli-deployment.yaml
new file mode 100644
index 0000000000..88cb3eb3dc
--- /dev/null
+++ b/kubernetes/cli/templates/cli-deployment.yaml
@@ -0,0 +1,34 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ labels:
+ app: cli
+ name: cli
+ namespace: "{{ .Values.nsPrefix }}-cli"
+spec:
+ selector:
+ matchLabels:
+ app: cli
+ template:
+ metadata:
+ labels:
+ app: cli
+ name: cli
+ spec:
+ containers:
+ - image: {{ .Values.image.cliImage}}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: "cli"
+ env:
+ - name: CLI_MODE
+ value: daemon
+ ports:
+ - containerPort: 80
+ name: cli
+ readinessProbe:
+ tcpSocket:
+ port: 80
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ imagePullSecrets:
+ - name: "{{ .Values.nsPrefix }}-docker-registry-key"
diff --git a/kubernetes/cli/values.yaml b/kubernetes/cli/values.yaml
new file mode 100644
index 0000000000..b8fe44e03a
--- /dev/null
+++ b/kubernetes/cli/values.yaml
@@ -0,0 +1,5 @@
+nsPrefix: onap
+pullPolicy: Always
+nodePortPrefix: 302
+image:
+ cliImage: nexus3.onap.org:10001/onap/cli:1.1-STAGING-latest
diff --git a/kubernetes/config/docker/init/config-init.sh b/kubernetes/config/docker/init/config-init.sh
index cc3a0f62f4..b97eee0026 100755
--- a/kubernetes/config/docker/init/config-init.sh
+++ b/kubernetes/config/docker/init/config-init.sh
@@ -48,6 +48,7 @@ mkdir -p /config-init/$NAMESPACE/aai/elasticsearch/es-data/
mkdir -p /config-init/$NAMESPACE/aai/search-data-service/logs/
mkdir -p /config-init/$NAMESPACE/aai/data-router/logs/
mkdir -p /config-init/$NAMESPACE/mso/mariadb/data
+mkdir -p /config-init/$NAMESPACE/log/elasticsearch/data
echo "Setting permissions to container writeable directories"
chmod -R 777 /config-init/$NAMESPACE/sdc/logs/
@@ -64,6 +65,7 @@ chmod -R 777 /config-init/$NAMESPACE/aai/elasticsearch/es-data/
chmod -R 777 /config-init/$NAMESPACE/aai/search-data-service/logs/
chmod -R 777 /config-init/$NAMESPACE/aai/data-router/logs/
chmod -R 777 /config-init/$NAMESPACE/policy/mariadb/
+chmod -R 777 /config-init/$NAMESPACE/log/elasticsearch
echo "Substituting configuration parameters"
@@ -107,4 +109,4 @@ find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s/OPENSTACK_ENCRYPTED_PAS
find /config-init/$NAMESPACE/ -type f -exec sed -i -e "s/OPENSTACK_TENANT_NAME_HERE/$OPENSTACK_TENANT_NAME/g" {} \;
-echo "Done!" \ No newline at end of file
+echo "Done!"
diff --git a/kubernetes/config/docker/init/src/config/log/aai/ajsc-aai/logback.xml b/kubernetes/config/docker/init/src/config/log/aai/ajsc-aai/logback.xml
new file mode 100644
index 0000000000..b16b6ebb18
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/aai/ajsc-aai/logback.xml
@@ -0,0 +1,295 @@
+<configuration debug="false" scan="true" scanPeriod="60 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}/dmaapAAIWorkloadConsumer" />
+ <property name="perfLogsDirectory" value="${logDir}/${componentName}/perf-audit" />
+ <property name="pattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- 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" />
+ <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="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>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncMETRIC">
+ <queueSize>${queueSize}</queueSize>
+ <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>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncDEBUG">
+ <queueSize>${queueSize}</queueSize>
+ <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>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncERROR">
+ <queueSize>${queueSize}</queueSize>
+ <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>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncAUDIT">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="AUDIT" />
+ </appender>
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="dmaapAAIWorkloadConsumer">
+ <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>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="dmaapAAIWorkloadConsumerdebug">
+ <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>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="dmaapAAIWorkloadConsumermetric">
+ <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>
+ <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>1000</queueSize>
+ <discardingThreshold>0</discardingThreshold>
+ <appender-ref ref="Audit-Record-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>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC-perf">
+ <queueSize>1000</queueSize>
+ <discardingThreshold>0</discardingThreshold>
+ <appender-ref ref="Performance-Tracker-Queue" />
+ </appender>
+ <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.openecomp.aai.dmaap">
+ <appender-ref ref="dmaapAAIWorkloadConsumer" />
+ <appender-ref ref="dmaapAAIWorkloadConsumerdebug" />
+ <appender-ref ref="dmaapAAIWorkloadConsumermetric" />
+ </logger>
+ <logger additivity="false" level="INFO" name="org.openecomp.aai">
+ <appender-ref ref="asyncDEBUG" />
+ <appender-ref ref="asyncERROR" />
+ <appender-ref ref="asyncMETRIC" />
+ </logger>
+ <logger additivity="false" level="INFO" name="org.openecomp.aai.AUDITLOGGER">
+ <appender-ref ref="asyncAUDIT" />
+ </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="WARN">
+ <appender-ref ref="asyncDEBUG" />
+ <appender-ref ref="asyncERROR" />
+ <appender-ref ref="asyncMETRIC" />
+ <appender-ref ref="asyncAUDIT" />
+ </root>
+</configuration>
diff --git a/kubernetes/config/docker/init/src/config/log/aai/model-loader/logback.xml b/kubernetes/config/docker/init/src/config/log/aai/model-loader/logback.xml
new file mode 100644
index 0000000000..cdef6d3708
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/aai/model-loader/logback.xml
@@ -0,0 +1,163 @@
+<configuration debug="false" scan="true" scanPeriod="3 seconds">
+ <!--<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"></property>
+ <property name="subComponentName" value="aai-ml"></property>
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <!-- 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="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{36}\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}/${generalLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${generalLogName}.%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>256</queueSize>
+ <appender-ref ref="EELF" />
+ </appender>
+ <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>256</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>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFMetrics">
+ <queueSize>256</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>256</queueSize>
+ <appender-ref ref="EELFDebug" />
+ <includeCallerData>true</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" />
+ <logger level="INFO" name="com.att" />
+ <!-- Model Loader loggers -->
+ <logger level="INFO" name="org.openecomp.modelloader" />
+ <!-- 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>
diff --git a/kubernetes/config/docker/init/src/config/log/appc/org.ops4j.pax.logging.cfg b/kubernetes/config/docker/init/src/config/log/appc/org.ops4j.pax.logging.cfg
new file mode 100644
index 0000000000..c582620fa8
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/appc/org.ops4j.pax.logging.cfg
@@ -0,0 +1,151 @@
+################################################################################
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You 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.
+#
+################################################################################
+
+# Root logger
+log4j.rootLogger=INFO, async, osgi:*
+log4j.throwableRenderer=org.apache.log4j.OsgiThrowableRenderer
+
+maxFileSize=100MB
+maxBackupIndex=20
+logDir=/var/log/onap
+componentName=appc
+logDirectory=${logDir}/${componentName}
+karafLogName=karaf
+errorLogName=error
+metricsLogName=metrics
+auditLogName=audit
+debugLogName=debug
+
+
+# CONSOLE appender not used by default
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd'T'HH:mm:ss.SSS}\t%-16.16t\t%-5.5p\t%c{36}\t%X{bundle.id} - %X{bundle.name} - %X{bundle.version}\t%m%n
+
+# Async appender forwarding to file appender
+log4j.appender.async=org.apache.log4j.AsyncAppender
+log4j.appender.async.appenders=out
+
+# File appender
+log4j.appender.out=org.apache.log4j.RollingFileAppender
+log4j.appender.out.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.out.layout.Properties=true
+log4j.appender.out.file=${logDirectory}/${karafLogName}.log
+log4j.appender.out.append=true
+log4j.appender.out.maxFileSize=${maxFileSize}
+log4j.appender.out.maxBackupIndex=${maxBackupIndex}
+
+# Sift appender
+log4j.appender.sift=org.apache.log4j.sift.MDCSiftingAppender
+log4j.appender.sift.key=bundle.name
+log4j.appender.sift.default=karaf
+log4j.appender.sift.appender=org.apache.log4j.RollingFileAppender
+log4j.appender.sift.appender.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.sift.appender.layout.Properties=true
+log4j.appender.sift.appender.file=${logDirectory}/$\\{bundle.name\\}.log
+log4j.appender.sift.appender.append=true
+
+
+
+log4j.category.org.opendaylight.controller.netconf.persist.impl.osgi.ConfigPusherImpl=DEBUG
+log4j.category.org.opendaylight.controller.netconf.persist.impl.osgi.ConfigPersisterActivator=DEBUG
+
+
+#ECOMP Debug appender
+log4j.appender.debug=org.apache.log4j.RollingFileAppender
+log4j.appender.debug.key=bundle.name
+log4j.appender.debug.default=karaf
+log4j.appender.debug.appName=EELFDebug
+log4j.appender.debug.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.debug.layout.Properties=true
+log4j.appender.debug.file=${logDirectory}/${debugLogName}.log
+log4j.appender.debug.append=true
+log4j.appender.debug.maxFileSize=${maxFileSize}
+log4j.appender.debug.maxBackupIndex=${maxBackupIndex}
+#log4j.appender.debug.filter.f1=org.apache.log4j.varia.LevelRangeFilter
+#log4j.appender.debug.filter.f1.LevelMax=WARN
+#log4j.appender.debug.filter.f1.LevelMin=TRACE
+
+
+#Error appender
+log4j.appender.error=org.apache.log4j.RollingFileAppender
+log4j.appender.error.appName=EELFError
+log4j.appender.error.File=${logDirectory}/${errorLogName}.log
+log4j.appender.error.Threshold=ERROR
+log4j.appender.error.maxFileSize=${maxFileSize}
+log4j.appender.error.maxBackupIndex=${maxBackupIndex}
+log4j.appender.error.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.error.layout.Properties=true
+
+#Metrics appender
+log4j.appender.metric=org.apache.log4j.RollingFileAppender
+log4j.appender.metric.appName=EELFMetrics
+log4j.appender.metric.File=${logDirectory}/${metricsLogName}.log
+log4j.appender.metric.maxFileSize=${maxFileSize}
+log4j.appender.metric.maxBackupIndex=${maxBackupIndex}
+log4j.appender.metric.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.metric.layout.Properties=true
+
+#Audit appender
+log4j.appender.audit=org.apache.log4j.RollingFileAppender
+log4j.appender.audit.appName=EELFAudit
+log4j.appender.audit.File=${logDirectory}/${auditLogName}.log
+log4j.appender.audit.maxFileSize=${maxFileSize}
+log4j.appender.audit.maxBackupIndex=${maxBackupIndex}
+log4j.appender.audit.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.audit.layout.Properties=true
+
+#Loggers
+#Routing of all messages from root logger
+log4j.logger.com.att=TRACE, debug, error
+#Store to the same log file messages from upper level appender or not
+log4j.additivity.com.att=false
+
+#EELFManager loggers
+#EELF parent logger
+log4j.logger.com.att.eelf=TRACE, debug
+log4j.additivity.com.att.eelf=false
+
+#Audit logger routing
+log4j.logger.com.att.eelf.audit=DEBUG, audit
+log4j.additivity.com.att.eelf.audit=false
+
+#Metric logger routing
+log4j.logger.com.att.eelf.metrics=DEBUG, metric
+log4j.additivity.com.att.eelf.metrics=false
+
+#Performance logger routing
+log4j.logger.com.att.eelf.perf=DEBUG, metric
+log4j.additivity.com.att.eelf.perf=false
+
+#Server logger routing
+log4j.logger.com.att.eelf.server=DEBUG, debug
+log4j.additivity.com.att.eelf.server=false
+
+#Policy logger routing
+log4j.logger.com.att.eelf.policy=DEBUG, debug
+log4j.additivity.com.att.eelf.policy=false
+
+#Error logger routing
+log4j.logger.com.att.eelf.error=DEBUG, error
+log4j.additivity.com.att.eelf.error=false
+
+#Debug logger routing
+log4j.logger.com.att.eelf.debug=DEBUG, debug
+log4j.additivity.com.att.eelf.debug=false
diff --git a/kubernetes/config/docker/init/src/config/log/filebeat/log4j/filebeat.yml b/kubernetes/config/docker/init/src/config/log/filebeat/log4j/filebeat.yml
new file mode 100644
index 0000000000..90fce2be14
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/filebeat/log4j/filebeat.yml
@@ -0,0 +1,48 @@
+filebeat.prospectors:
+#it is mandatory, in our case it's log
+- input_type: log
+ #This is the canolical path as mentioned in logback.xml, *.* means it will monitor all files in the directory.
+ paths:
+ - /var/log/onap/*/*/*.log
+ - /var/log/onap/*/*.log
+
+ # The below commented properties are for time-based rolling policy. But as the log4j 1.2x does not support time-based rolling these properties are not set
+ #Files older than this should be ignored.In our case it will be 48 hours i.e. 2 days. It is a helping flag for clean_inactive
+ #ignore_older: 48h
+ # Remove the registry entry for a file that is more than the specified time. In our case it will be 96 hours, i.e. 4 days. It will help to keep registry records with in limit
+ #clean_inactive: 96h
+
+ #Multiline properties for log4j xml log events
+ multiline.pattern: '</log4j:event>'
+ multiline.negate: true
+ multiline.match: before
+ #multiline.max_lines: 500
+ #multiline.timeout: 5s
+
+# Name of the registry file. If a relative path is used, it is considered relative to the
+# data path. Else full qualified file name.
+#filebeat.registry_file: ${path.data}/registry
+
+
+output.logstash:
+ #List of logstash server ip addresses with port number.
+ #But, in our case, this will be the loadbalancer IP address.
+ #For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
+ hosts: ["logstash.onap-log:5044"]
+ #If enable will do load balancing among availabe Logstash, automatically.
+ loadbalance: true
+
+ #The list of root certificates for server verifications.
+ #If certificate_authorities is empty or not set, the trusted
+ #certificate authorities of the host system are used.
+ #ssl.certificate_authorities: $ssl.certificate_authorities
+
+ #The path to the certificate for SSL client authentication. If the certificate is not specified,
+ #client authentication is not available.
+ #ssl.certificate: $ssl.certificate
+
+ #The client certificate key used for client authentication.
+ #ssl.key: $ssl.key
+
+ #The passphrase used to decrypt an encrypted key stored in the configured key file
+ #ssl.key_passphrase: $ssl.key_passphrase
diff --git a/kubernetes/config/docker/init/src/config/log/filebeat/logback/filebeat.yml b/kubernetes/config/docker/init/src/config/log/filebeat/logback/filebeat.yml
new file mode 100644
index 0000000000..9a60dbde3e
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/filebeat/logback/filebeat.yml
@@ -0,0 +1,40 @@
+filebeat.prospectors:
+#it is mandatory, in our case it's log
+- input_type: log
+ #This is the canolical path as mentioned in logback.xml, *.* means it will monitor all files in the directory.
+ paths:
+ - /var/log/onap/*/*/*.log
+ - /var/log/onap/*/*.log
+ #Files older than this should be ignored.In our case it will be 48 hours i.e. 2 days. It is a helping flag for clean_inactive
+ ignore_older: 48h
+ # Remove the registry entry for a file that is more than the specified time. In our case it will be 96 hours, i.e. 4 days. It will help to keep registry records with in limit
+ clean_inactive: 96h
+
+
+# Name of the registry file. If a relative path is used, it is considered relative to the
+# data path. Else full qualified file name.
+#filebeat.registry_file: ${path.data}/registry
+
+
+output.logstash:
+ #List of logstash server ip addresses with port number.
+ #But, in our case, this will be the loadbalancer IP address.
+ #For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
+ hosts: ["logstash.onap-log:5044"]
+ #If enable will do load balancing among availabe Logstash, automatically.
+ loadbalance: true
+
+ #The list of root certificates for server verifications.
+ #If certificate_authorities is empty or not set, the trusted
+ #certificate authorities of the host system are used.
+ #ssl.certificate_authorities: $ssl.certificate_authorities
+
+ #The path to the certificate for SSL client authentication. If the certificate is not specified,
+ #client authentication is not available.
+ #ssl.certificate: $ssl.certificate
+
+ #The client certificate key used for client authentication.
+ #ssl.key: $ssl.key
+
+ #The passphrase used to decrypt an encrypted key stored in the configured key file
+ #ssl.key_passphrase: $ssl.key_passphrase
diff --git a/kubernetes/config/docker/init/src/config/log/mso/logback.apihandler-infra.xml b/kubernetes/config/docker/init/src/config/log/mso/logback.apihandler-infra.xml
new file mode 100644
index 0000000000..d6c11888f8
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/mso/logback.apihandler-infra.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="true" scanPeriod="3 seconds" debug="true">
+ <property name="logDir" value="/var/log/onap" />
+ <property name="componentName" value="mso" />
+ <property name="subComponentName" value="apiHandlerInfra" />
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- 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" />
+ <!-- EELF Appenders -->
+ <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}.%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 name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</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}.%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 name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFMetrics" />
+ </appender>
+ <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <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>
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ </appender>
+ <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFError" />
+ </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}.%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 name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFDebug" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+ <!-- EELF loggers -->
+ <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>
+ <logger name="com.att.eelf.error" level="info" additivity="false">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+ <logger name="com.att.eelf.debug" level="debug" additivity="false">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+ <root level="INFO">
+ <appender-ref ref="asyncEELFDebug" />
+ </root>
+</configuration> \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/mso/logback.appc.xml b/kubernetes/config/docker/init/src/config/log/mso/logback.appc.xml
new file mode 100644
index 0000000000..ef9589adfc
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/mso/logback.appc.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="true" scanPeriod="3 seconds" debug="true">
+ <property name="logDir" value="/var/log/onap" />
+ <property name="componentName" value="mso" />
+ <property name="subComponentName" value="appcAdapter" />
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- 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" />
+ <!-- EELF Appenders -->
+ <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}.%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 name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</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}.%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 name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFMetrics" />
+ </appender>
+ <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <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>
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ </appender>
+ <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFError" />
+ </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}.%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 name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFDebug" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+ <!-- EELF loggers -->
+ <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>
+ <logger name="com.att.eelf.error" level="info" additivity="false">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+ <logger name="com.att.eelf.debug" level="debug" additivity="false">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+ <root level="INFO">
+ <appender-ref ref="asyncEELFDebug" />
+ </root>
+</configuration> \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/mso/logback.asdc.xml b/kubernetes/config/docker/init/src/config/log/mso/logback.asdc.xml
new file mode 100644
index 0000000000..99615e361c
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/mso/logback.asdc.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="true" scanPeriod="3 seconds" debug="true">
+ <property name="logDir" value="/var/log/onap" />
+ <property name="componentName" value="mso" />
+ <property name="subComponentName" value="asdcController" />
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- 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" />
+ <!-- EELF Appenders -->
+ <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}.%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 name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</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}.%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 name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFMetrics" />
+ </appender>
+ <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <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>
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ </appender>
+ <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFError" />
+ </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}.%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 name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFDebug" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+ <!-- EELF loggers -->
+ <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>
+ <logger name="com.att.eelf.error" level="info" additivity="false">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+ <logger name="com.att.eelf.debug" level="debug" additivity="false">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+ <root level="INFO">
+ <appender-ref ref="asyncEELFDebug" />
+ </root>
+</configuration> \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/mso/logback.bpmn.xml b/kubernetes/config/docker/init/src/config/log/mso/logback.bpmn.xml
new file mode 100644
index 0000000000..2e6425906c
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/mso/logback.bpmn.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="true" scanPeriod="3 seconds" debug="true">
+ <property name="logDir" value="/var/log/onap" />
+ <property name="componentName" value="mso" />
+ <property name="subComponentName" value="bpmn" />
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- 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" />
+ <!-- EELF Appenders -->
+ <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}.%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 name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</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}.%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 name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFMetrics" />
+ </appender>
+ <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <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>
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ </appender>
+ <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFError" />
+ </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}.%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 name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFDebug" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+ <!-- EELF loggers -->
+ <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>
+ <logger name="com.att.eelf.error" level="info" additivity="false">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+ <logger name="com.att.eelf.debug" level="debug" additivity="false">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+ <root level="INFO">
+ <appender-ref ref="asyncEELFDebug" />
+ </root>
+</configuration> \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/mso/logback.msorequestsdbadapter.xml b/kubernetes/config/docker/init/src/config/log/mso/logback.msorequestsdbadapter.xml
new file mode 100644
index 0000000000..e6e0591b3a
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/mso/logback.msorequestsdbadapter.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="true" scanPeriod="3 seconds" debug="true">
+ <property name="logDir" value="/var/log/onap" />
+ <property name="componentName" value="mso" />
+ <property name="subComponentName" value="requestDB" />
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- 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" />
+ <!-- EELF Appenders -->
+ <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}.%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 name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</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}.%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 name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFMetrics" />
+ </appender>
+ <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <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>
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ </appender>
+ <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFError" />
+ </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}.%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 name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFDebug" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+ <!-- EELF loggers -->
+ <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>
+ <logger name="com.att.eelf.error" level="info" additivity="false">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+ <logger name="com.att.eelf.debug" level="debug" additivity="false">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+ <root level="INFO">
+ <appender-ref ref="asyncEELFDebug" />
+ </root>
+</configuration> \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/mso/logback.network.xml b/kubernetes/config/docker/init/src/config/log/mso/logback.network.xml
new file mode 100644
index 0000000000..3e5c670e05
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/mso/logback.network.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="true" scanPeriod="3 seconds" debug="true">
+ <property name="logDir" value="/var/log/onap" />
+ <property name="componentName" value="mso" />
+ <property name="subComponentName" value="networkAdapter" />
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- 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" />
+ <!-- EELF Appenders -->
+ <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}.%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 name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</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}.%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 name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFMetrics" />
+ </appender>
+ <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <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>
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ </appender>
+ <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFError" />
+ </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}.%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 name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFDebug" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+ <!-- EELF loggers -->
+ <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>
+ <logger name="com.att.eelf.error" level="info" additivity="false">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+ <logger name="com.att.eelf.debug" level="debug" additivity="false">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+ <root level="INFO">
+ <appender-ref ref="asyncEELFDebug" />
+ </root>
+</configuration> \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/mso/logback.sdnc.xml b/kubernetes/config/docker/init/src/config/log/mso/logback.sdnc.xml
new file mode 100644
index 0000000000..07d1df3914
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/mso/logback.sdnc.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="true" scanPeriod="3 seconds" debug="true">
+ <property name="logDir" value="/var/log/onap" />
+ <property name="componentName" value="mso" />
+ <property name="subComponentName" value="sdncAdapter" />
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- 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" />
+ <!-- EELF Appenders -->
+ <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}.%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 name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</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}.%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 name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFMetrics" />
+ </appender>
+ <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <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>
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ </appender>
+ <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFError" />
+ </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}.%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 name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFDebug" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+ <!-- EELF loggers -->
+ <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>
+ <logger name="com.att.eelf.error" level="info" additivity="false">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+ <logger name="com.att.eelf.debug" level="debug" additivity="false">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+ <root level="INFO">
+ <appender-ref ref="asyncEELFDebug" />
+ </root>
+</configuration> \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/mso/logback.tenant.xml b/kubernetes/config/docker/init/src/config/log/mso/logback.tenant.xml
new file mode 100644
index 0000000000..6e5bc2748c
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/mso/logback.tenant.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="true" scanPeriod="3 seconds" debug="true">
+ <property name="logDir" value="/var/log/onap" />
+ <property name="componentName" value="mso" />
+ <property name="subComponentName" value="tenantAdapter" />
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- 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" />
+ <!-- EELF Appenders -->
+ <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}.%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 name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</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}.%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 name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFMetrics" />
+ </appender>
+ <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <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>
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ </appender>
+ <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFError" />
+ </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}.%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 name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFDebug" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+ <!-- EELF loggers -->
+ <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>
+ <logger name="com.att.eelf.error" level="info" additivity="false">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+ <logger name="com.att.eelf.debug" level="debug" additivity="false">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+ <root level="INFO">
+ <appender-ref ref="asyncEELFDebug" />
+ </root>
+</configuration> \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/mso/logback.vnf.xml b/kubernetes/config/docker/init/src/config/log/mso/logback.vnf.xml
new file mode 100644
index 0000000000..aca0fff177
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/mso/logback.vnf.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="true" scanPeriod="3 seconds" debug="true">
+ <property name="logDir" value="/var/log/onap" />
+ <property name="componentName" value="mso" />
+ <property name="subComponentName" value="vnfAdapter" />
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- 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" />
+ <!-- EELF Appenders -->
+ <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}.%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 name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</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}.%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 name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFMetrics" />
+ </appender>
+ <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <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>
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ </appender>
+ <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFError" />
+ </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}.%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 name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFDebug" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+ <!-- EELF loggers -->
+ <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>
+ <logger name="com.att.eelf.error" level="info" additivity="false">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+ <logger name="com.att.eelf.debug" level="debug" additivity="false">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+ <root level="INFO">
+ <appender-ref ref="asyncEELFDebug" />
+ </root>
+</configuration> \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/policy/drools/logback.xml b/kubernetes/config/docker/init/src/config/log/policy/drools/logback.xml
new file mode 100644
index 0000000000..2b6d11e962
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/policy/drools/logback.xml
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ policy-management
+ ================================================================================
+ Copyright (C) 2017 AT&amp;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=========================================================
+ -->
+<configuration debug="true" scan="true" scanPeriod="3 seconds">
+ <!--<jmxConfigurator /> -->
+ <!-- specify the base path of the log directory -->
+ <property name="logDir" value="/var/log/onap" />
+ <!-- specify the component name -->
+ <property name="componentName" value="policy" />
+ <!-- specify the sub component name -->
+ <property name="subComponentName" value="drools" />
+ <!-- The directories where logs are written -->
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- 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" />
+ <!-- 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 -->
+ <!-- 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>${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="EELFError">
+ <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>
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFError">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFError" />
+ </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}.%i.log.zip</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>true</includeCallerData>
+ </appender>
+ <!-- ============================================================================ -->
+ <!-- EELF loggers -->
+ <!-- ============================================================================ -->
+ <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>
+ <logger additivity="false" level="info" name="com.att.eelf.error">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+ <logger additivity="false" level="debug" name="com.att.eelf.debug">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+ <root level="INFO">
+ <appender-ref ref="asyncEELFDebug" />
+ <appender-ref ref="asyncEELFError" />
+ </root>
+</configuration> \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/policy/ep_sdk_app/logback.xml b/kubernetes/config/docker/init/src/config/log/policy/ep_sdk_app/logback.xml
new file mode 100644
index 0000000000..d0871bdb4a
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/policy/ep_sdk_app/logback.xml
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ================================================================================
+ eCOMP Portal SDK
+ ================================================================================
+ Copyright (C) 2017 AT&amp;T Intellectual Property
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ================================================================================
+ -->
+<configuration debug="true" scan="true" scanPeriod="3 seconds">
+ <!--
+ Logback files for the ECOMP SDK Application "ecomp_app"
+ are created in directory ${catalina.base}/logs/ecomp_app;
+ e.g., apache-tomcat-8.0.35/logs/ecomp_app/application.log
+ -->
+ <!--<jmxConfigurator /> -->
+ <!-- specify the base path of the log directory -->
+ <property name="logDir" value="/var/log/onap" />
+ <!-- specify the component name -->
+ <property name="componentName" value="policy" />
+ <!-- specify the sub component name -->
+ <property name="subComponentName" value="ep_sdk_app" />
+ <!-- The directories where logs are written -->
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- log file names -->
+ <property name="generalLogName" value="application" />
+ <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" />
+ <!--
+ These loggers are not used in code (yet).
+ <property name="securityLogName" value="security" />
+ <property name="policyLogName" value="policy" />
+ <property name="performanceLogName" value="performance" />
+ <property name="serverLogName" value="server" />
+ -->
+ <!-- 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}/${generalLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!-- daily rollover -->
+ <fileNamePattern>${logDirectory}/${generalLogName}.%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>
+ <filter class="org.openecomp.portalapp.util.CustomLoggingFilter" />
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELF">
+ <queueSize>${queueSize}</queueSize>
+ <!-- Class name is part of caller data -->
+ <includeCallerData>true</includeCallerData>
+ <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">
+ <!-- daily rollover -->
+ <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">
+ <!-- daily rollover -->
+ <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>${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="EELFError">
+ <file>${logDirectory}/${errorLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!-- daily rollover -->
+ <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>
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFError">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFError" />
+ </appender>
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">
+ <file>${logDirectory}/${debugLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!-- daily rollover -->
+ <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>true</includeCallerData>
+ </appender>
+ <!-- ============================================================================ -->
+ <!-- EELF loggers -->
+ <!-- ============================================================================ -->
+ <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>
+ <logger additivity="false" level="info" name="com.att.eelf.error">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+ <logger additivity="false" level="debug" name="com.att.eelf.debug">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+ <root level="INFO">
+ <appender-ref ref="asyncEELFDebug" />
+ </root>
+</configuration> \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/policy/pypdpserver/logback.xml b/kubernetes/config/docker/init/src/config/log/policy/pypdpserver/logback.xml
new file mode 100644
index 0000000000..c4b596b6d5
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/policy/pypdpserver/logback.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ ECOMP Policy Engine
+ ================================================================================
+ Copyright (C) 2017 AT&amp;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=========================================================
+ -->
+<configuration debug="true" scan="true" scanPeriod="3 seconds">
+ <!--<jmxConfigurator /> -->
+ <!-- specify the base path of the log directory -->
+ <property name="logDir" value="/var/log/onap" />
+ <!-- specify the component name -->
+ <property name="componentName" value="policy" />
+ <!-- specify the sub component name -->
+ <property name="subComponentName" value="pypdpserver" />
+ <!-- The directories where logs are written -->
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- 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" />
+ <!-- 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 -->
+ <!-- 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="EELFError">
+ <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>
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFError">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFError" />
+ </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>true</includeCallerData>
+ </appender>
+ <!-- ============================================================================ -->
+ <!-- EELF loggers -->
+ <!-- ============================================================================ -->
+ <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>
+ <logger additivity="false" level="info" name="com.att.eelf.error">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+ <logger additivity="false" level="debug" name="com.att.eelf.debug">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+ <root level="INFO">
+ <appender-ref ref="asyncEELFDebug" />
+ <appender-ref ref="asyncEELFError" />
+ </root>
+</configuration> \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/policy/xacml-pap-rest/logback.xml b/kubernetes/config/docker/init/src/config/log/policy/xacml-pap-rest/logback.xml
new file mode 100644
index 0000000000..77068bb9aa
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/policy/xacml-pap-rest/logback.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ ECOMP-PAP-REST
+ ================================================================================
+ Copyright (C) 2017 AT&amp;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=========================================================
+ -->
+<configuration debug="true" scan="true" scanPeriod="3 seconds">
+ <!--<jmxConfigurator /> -->
+ <!-- specify the base path of the log directory -->
+ <property name="logDir" value="/var/log/onap" />
+ <!-- specify the component name -->
+ <property name="componentName" value="policy" />
+ <!-- specify the sub component name -->
+ <property name="subComponentName" value="xacml-pap-rest" />
+ <!-- The directories where logs are written -->
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- 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" />
+ <!-- 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 -->
+ <!-- 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="EELFError">
+ <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>
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFError">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFError" />
+ </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>true</includeCallerData>
+ </appender>
+ <!-- ============================================================================ -->
+ <!-- EELF loggers -->
+ <!-- ============================================================================ -->
+ <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>
+ <logger additivity="false" level="info" name="com.att.eelf.error">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+ <logger additivity="false" level="debug" name="com.att.eelf.debug">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+ <root level="INFO">
+ <appender-ref ref="asyncEELFDebug" />
+ </root>
+</configuration> \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/policy/xacml-pdp-rest/logback.xml b/kubernetes/config/docker/init/src/config/log/policy/xacml-pdp-rest/logback.xml
new file mode 100644
index 0000000000..c9c05d922d
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/policy/xacml-pdp-rest/logback.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ ECOMP-PDP-REST
+ ================================================================================
+ Copyright (C) 2017 AT&amp;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=========================================================
+ -->
+<configuration scan="true" scanPeriod="3 seconds" debug="true">
+ <!--<jmxConfigurator /> -->
+ <!-- specify the base path of the log directory -->
+ <property name="logDir" value="/var/log/onap" />
+ <!-- specify the component name -->
+ <property name="componentName" value="policy" />
+ <!-- specify the sub component name -->
+ <property name="subComponentName" value="xacml-pdp-rest" />
+ <!-- The directories where logs are written -->
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- 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" />
+ <!-- Example evaluator filter applied against console appender -->
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+ <!-- ============================================================================ -->
+ <!-- EELF Appenders -->
+ <!-- ============================================================================ -->
+ <!-- The EELFAppender is used to record events to the general application
+ log -->
+ <!-- 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}.%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 name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</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}.%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 name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFMetrics" />
+ </appender>
+ <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <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>
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ </appender>
+ <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFError" />
+ </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}.%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 name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFDebug" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+ <!-- ============================================================================ -->
+ <!-- EELF loggers -->
+ <!-- ============================================================================ -->
+ <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>
+ <logger name="com.att.eelf.error" level="info" additivity="false">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+ <logger name="com.att.eelf.debug" level="debug" additivity="false">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+ <root level="INFO">
+ <appender-ref ref="asyncEELFDebug" />
+ </root>
+</configuration> \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/portal/portal-be/logback.xml b/kubernetes/config/docker/init/src/config/log/portal/portal-be/logback.xml
new file mode 100644
index 0000000000..26533ef751
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/portal/portal-be/logback.xml
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ================================================================================
+ eCOMP Portal
+ ================================================================================
+ Copyright (C) 2017 AT&T Intellectual Property
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ================================================================================
+ -->
+<!DOCTYPE xml>
+<configuration debug="true" scan="true" scanPeriod="3 seconds">
+ <!-- Log-back files for the ECOMP Portal "ecompportal" are created in directory
+ ${catalina.base}/logs/ecompportal; e.g., apache-tomcat-8.0.35/logs/ecompportal/application.log -->
+ <!--<jmxConfigurator /> -->
+ <!-- specify the component name -->
+ <property name="componentName" value="portal"></property>
+ <property name="subComponentName" value="portalBE"></property>
+ <!-- specify the base path of the log directory -->
+ <property name="logDirPrefix" value="/var/log/onap"></property>
+ <!-- The directories where logs are written -->
+ <property name="logDirectory" value="${logDirPrefix}/${componentName}/${subComponentName}" />
+ <!-- Can easily relocate debug logs by modifying this path. -->
+ <property name="debugLogDirectory" value="${logDirPrefix}/${componentName}/${subComponentName}" />
+ <!-- log file names -->
+ <property name="generalLogName" value="application" />
+ <property name="errorLogName" value="error" />
+ <property name="metricsLogName" value="metrics" />
+ <property name="auditLogName" value="audit" />
+ <property name="debugLogName" value="debug" />
+ <!-- These loggers are not used in code (yet). <property name="securityLogName"
+ value="security" /> <property name="policyLogName" value="policy" /> <property
+ name="performanceLogName" value="performance" /> <property name="serverLogName"
+ value="server" /> -->
+ <!-- ServerFQDN=Server, -->
+ <property name="pattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <property name="maxHistory" value="30" />
+ <property name="queueSize" value="256" />
+ <property name="maxFileSize" value="50MB" />
+ <property name="totalSizeCap" value="10GB" />
+ <!-- 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}/${generalLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!-- daily rollover -->
+ <fileNamePattern>${logDirectory}/${generalLogName}.%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>
+ <filter class="org.openecomp.portalapp.portal.utils.CustomLoggingFilter" />
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELF">
+ <queueSize>${queueSize}</queueSize>
+ <!-- Class name is part of caller data -->
+ <includeCallerData>true</includeCallerData>
+ <appender-ref ref="EELF" />
+ </appender>
+ <!-- EELF Security Appender. This appender is used to record security events
+ to the security log file. Security events are separate from other loggers
+ in EELF so that security log records can be captured and managed in a secure
+ way separate from the other logs. This appender is set to never discard any
+ events. -->
+ <!-- <appender name="EELFSecurity" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${securityLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${securityLogName}.%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>${defaultPattern}</pattern> </encoder>
+ </appender> <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize> <discardingThreshold>0</discardingThreshold> <appender-ref
+ ref="EELFSecurity" /> </appender> -->
+ <!-- EELF Performance Appender. This appender is used to record performance
+ records. -->
+ <!-- <appender name="EELFPerformance" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${performanceLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip </fileNamePattern>
+ <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy> <encoder> <outputPatternAsHeader>true</outputPatternAsHeader>
+ <pattern>${defaultPattern}</pattern> </encoder> </appender> <appender name="asyncEELFPerformance"
+ class="ch.qos.logback.classic.AsyncAppender"> <queueSize>256</queueSize>
+ <appender-ref ref="EELFPerformance" /> </appender> -->
+ <!-- EELF Server Appender. This appender is used to record Server related
+ logging events. The Server logger and appender are specializations of the
+ EELF application root logger and appender. This can be used to segregate
+ Server events from other components, or it can be eliminated to record these
+ events as part of the application root log. -->
+ <!-- <appender name="EELFServer" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${serverLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${serverLogName}.%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>${defaultPattern}</pattern> </encoder>
+ </appender> <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize> <appender-ref ref="EELFServer" /> </appender> -->
+ <!-- EELF Policy Appender. This appender is used to record Policy engine
+ related logging events. The Policy 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="EELFPolicy" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${policyLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${policyLogName}.%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>${defaultPattern}</pattern> </encoder>
+ </appender> <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize> <appender-ref ref="EELFPolicy" /> </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">
+ <!-- daily roll over -->
+ <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">
+ <!-- daily roll over -->
+ <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>${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="EELFError">
+ <file>${logDirectory}/${errorLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!-- daily roll over -->
+ <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="asyncEELFError">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFError" />
+ </appender>
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">
+ <file>${debugLogDirectory}/${debugLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!-- daily roll over -->
+ <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>true</includeCallerData>
+ </appender>
+ <!-- ============================================================================ -->
+ <!-- EELF loggers -->
+ <!-- ============================================================================ -->
+ <logger additivity="false" level="info" name="com.att.eelf">
+ <appender-ref ref="asyncEELF" />
+ </logger>
+ <!-- <logger name="com.att.eelf.security" level="info" additivity="false">
+ <appender-ref ref="asyncEELFSecurity" /> </logger> <logger name="com.att.eelf.perf"
+ level="info" additivity="false"> <appender-ref ref="asyncEELFPerformance"
+ /> </logger> <logger name="com.att.eelf.server" level="info" additivity="false">
+ <appender-ref ref="asyncEELFServer" /> </logger> <logger name="com.att.eelf.policy"
+ level="info" additivity="false"> <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>
+ <logger additivity="false" level="info" name="com.att.eelf.error">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+ <logger additivity="false" level="debug" name="com.att.eelf.debug">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+ <root level="INFO">
+ <appender-ref ref="asyncEELF" />
+ </root>
+</configuration> \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/portal/portal-db/logback.xml b/kubernetes/config/docker/init/src/config/log/portal/portal-db/logback.xml
new file mode 100644
index 0000000000..4990fac239
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/portal/portal-db/logback.xml
@@ -0,0 +1,306 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration debug="true" scan="true" scanPeriod="3 seconds">
+ <!--
+ Logback files for the ECOMP SDK Application "ecomp_app"
+ are created in directory ${catalina.base}/logs/ecomp_app;
+ e.g., apache-tomcat-8.0.35/logs/ecomp_app/application.log
+ -->
+ <!--<jmxConfigurator /> -->
+ <!-- specify the component name -->
+ <property name="componentName" value="portal"></property>
+ <property name="subComponentName" value="portalDB"></property>
+ <!-- specify the base path of the log directory -->
+ <property name="logDirPrefix" value="/var/log/onap"></property>
+ <!-- The directories where logs are written -->
+ <property name="logDirectory" value="${logDirPrefix}/${componentName}/${subComponentName}" />
+ <!-- Can easily relocate debug logs by modifying this path. -->
+ <property name="debugLogDirectory" value="${logDirPrefix}/${componentName}/${subComponentName}" />
+ <!-- log file names -->
+ <property name="generalLogName" value="application" />
+ <property name="errorLogName" value="error" />
+ <property name="metricsLogName" value="metrics" />
+ <property name="auditLogName" value="audit" />
+ <property name="debugLogName" value="debug" />
+ <!--
+ These loggers are not used in code (yet).
+ <property name="securityLogName" value="security" />
+ <property name="policyLogName" value="policy" />
+ <property name="performanceLogName" value="performance" />
+ <property name="serverLogName" value="server" />
+ -->
+ <property name="pattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <property name="maxHistory" value="30" />
+ <property name="queueSize" value="256" />
+ <property name="maxFileSize" value="50MB" />
+ <property name="totalSizeCap" value="10GB" />
+ <!-- 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}/${generalLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!-- daily rollover -->
+ <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <!-- keep 30 days' worth of history capped at ${totalSizeCap} total size -->
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <maxFileSize>${maxFileSize}</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ <maxHistory>${maxHistory}</maxHistory>
+ <totalSizeCap>${totalSizeCap}</totalSizeCap>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ <filter class="org.openecomp.fusionapp.util.CustomLoggingFilter" />
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELF">
+ <queueSize>${queueSize}</queueSize>
+ <!-- Class name is part of caller data -->
+ <includeCallerData>true</includeCallerData>
+ <appender-ref ref="EELF" />
+ </appender>
+ <!-- EELF Security Appender. This appender is used to record security events
+ to the security log file. Security events are separate from other loggers
+ in EELF so that security log records can be captured and managed in a secure
+ way separate from the other logs. This appender is set to never discard any
+ events. -->
+ <!--
+ <appender name="EELFSecurity"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${securityLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${securityLogName}.%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>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <discardingThreshold>0</discardingThreshold>
+ <appender-ref ref="EELFSecurity" />
+ </appender>
+ -->
+ <!-- EELF Performance Appender. This appender is used to record performance
+ records. -->
+ <!--
+ <appender name="EELFPerformance"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${performanceLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <outputPatternAsHeader>true</outputPatternAsHeader>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFPerformance" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFPerformance" />
+ </appender>
+ -->
+ <!-- EELF Server Appender. This appender is used to record Server related
+ logging events. The Server logger and appender are specializations of the
+ EELF application root logger and appender. This can be used to segregate Server
+ events from other components, or it can be eliminated to record these events
+ as part of the application root log. -->
+ <!--
+ <appender name="EELFServer"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${serverLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${serverLogName}.%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>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFServer" />
+ </appender>
+ -->
+ <!-- EELF Policy Appender. This appender is used to record Policy engine
+ related logging events. The Policy 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="EELFPolicy"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${policyLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${policyLogName}.%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>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFPolicy" />
+ </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">
+ <!-- daily rollover -->
+ <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <!-- keep 30 days' worth of history capped at ${totalSizeCap} total size -->
+ <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">
+ <!-- daily rollover -->
+ <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <!-- keep 30 days' worth of history capped at ${totalSizeCap} total size -->
+ <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="asyncEELFMetrics">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFMetrics" />
+ </appender>
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFError">
+ <file>${logDirectory}/${errorLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!-- daily rollover -->
+ <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <!-- keep 30 days' worth of history capped at ${totalSizeCap} total size -->
+ <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="asyncEELFError">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFError" />
+ </appender>
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">
+ <file>${debugLogDirectory}/${debugLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!-- daily rollover -->
+ <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+ <!-- keep 30 days' worth of history capped at ${totalSizeCap} total size -->
+ <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" />
+ </appender>
+ <!-- ============================================================================ -->
+ <!-- EELF loggers -->
+ <!-- ============================================================================ -->
+ <logger additivity="false" level="debug" name="com.att.eelf">
+ <appender-ref ref="asyncEELF" />
+ </logger>
+ <!--
+ <logger name="com.att.eelf.security" level="info" additivity="false">
+ <appender-ref ref="asyncEELFSecurity" />
+ </logger>
+ <logger name="com.att.eelf.perf" level="info" additivity="false">
+ <appender-ref ref="asyncEELFPerformance" />
+ </logger>
+ <logger name="com.att.eelf.server" level="info" additivity="false">
+ <appender-ref ref="asyncEELFServer" />
+ </logger>
+ <logger name="com.att.eelf.policy" level="info" additivity="false">
+ <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>
+ <logger additivity="false" level="info" name="com.att.eelf.error">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+ <logger additivity="false" level="debug" name="com.att.eelf.debug">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+ <root level="DEBUG">
+ <appender-ref ref="asyncEELF" />
+ </root>
+</configuration> \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/sdc/be/logback.xml b/kubernetes/config/docker/init/src/config/log/sdc/be/logback.xml
new file mode 100644
index 0000000000..4d508e3047
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/sdc/be/logback.xml
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration scan="true" scanPeriod="3 seconds">
+ <property name="logDir" value="/var/log/onap" />
+ <property name="componentName" scope="system" value="sdc"></property>
+ <property name="subComponentName" scope="system" value="sdc-be"></property>
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property file="${config.home}/catalog-be/configuration.yaml" />
+ <property name="enable-all-log" scope="context" value="false" />
+ <!-- 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="transactionLogName" value="transaction" />
+ <property name="allLogName" value="all" />
+ <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{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- All log -->
+ <if condition='property("enable-all-log").equalsIgnoreCase("true")'>
+ <then>
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ALL_ROLLING">
+ <file>${logDirectory}/${allLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${allLogName}.%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_ALL">
+ <appender-ref ref="ALL_ROLLING" />
+ </appender>
+ </then>
+ </if>
+ <!-- Error log -->
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ERROR_ROLLING">
+ <file>${logDirectory}/${errorLogName}.log</file>
+ <!-- Audit messages filter - deny audit messages -->
+ <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+ <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
+ <marker>AUDIT_MARKER</marker>
+ </evaluator>
+ <onMismatch>NEUTRAL</onMismatch>
+ <onMatch>DENY</onMatch>
+ </filter>
+ <!-- Transaction messages filter - deny Transaction messages -->
+ <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+ <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
+ <marker>TRANSACTION_MARKER</marker>
+ </evaluator>
+ <onMismatch>NEUTRAL</onMismatch>
+ <onMatch>DENY</onMatch>
+ </filter>
+ <!-- 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>
+ <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>
+ <!-- Debug log -->
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="DEBUG_ROLLING">
+ <file>${logDirectory}/${debugLogName}.log</file>
+ <!-- No need to deny audit messages - they are INFO only, will be denied
+ anyway -->
+ <!-- Transaction messages filter - deny Transaction messages, there are
+ some DEBUG level messages among them -->
+ <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+ <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
+ <marker>TRANSACTION_MARKER</marker>
+ </evaluator>
+ <onMismatch>NEUTRAL</onMismatch>
+ <onMatch>DENY</onMatch>
+ </filter>
+ <!-- accept DEBUG and TRACE level -->
+ <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+ <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">
+ <expression>e.level.toInt() &lt;= DEBUG.toInt()</expression>
+ </evaluator>
+ <OnMismatch>DENY</OnMismatch>
+ <OnMatch>NEUTRAL</OnMatch>
+ </filter>
+ <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>
+ <!-- Audit log -->
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="AUDIT_ROLLING">
+ <file>${logDirectory}/${auditLogName}.log</file>
+ <!-- Audit messages filter - accept audit messages -->
+ <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+ <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
+ <marker>AUDIT_MARKER</marker>
+ </evaluator>
+ <onMismatch>DENY</onMismatch>
+ <onMatch>ACCEPT</onMatch>
+ </filter>
+ <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>
+ <!-- SdncTransaction log -->
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="TRANSACTION_ROLLING">
+ <file>${logDirectory}/${transactionLogName}.log</file>
+ <!-- Transaction messages filter - accept audit messages -->
+ <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+ <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
+ <marker>TRANSACTION_MARKER</marker>
+ </evaluator>
+ <onMismatch>DENY</onMismatch>
+ <onMatch>ACCEPT</onMatch>
+ </filter>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${transactionLogName}.%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>
+ <!-- Asynchronicity Configurations -->
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_DEBUG">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="DEBUG_ROLLING" />
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_TRANSACTION">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="TRANSACTION_ROLLING" />
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ERROR">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="ERROR_ROLLING" />
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_AUDIT">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="AUDIT_ROLLING" />
+ </appender>
+ <root level="INFO">
+ <appender-ref ref="ASYNC_ERROR" />
+ <appender-ref ref="ASYNC_DEBUG" />
+ <appender-ref ref="ASYNC_AUDIT" />
+ <appender-ref ref="ASYNC_TRANSACTION" />
+ <if condition='property("enable-all-log").equalsIgnoreCase("true")'>
+ <then>
+ <appender-ref ref="ALL_ROLLING" />
+ </then>
+ </if>
+ </root>
+ <logger level="INFO" name="org.openecomp.sdc" />
+</configuration> \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/sdc/fe/logback.xml b/kubernetes/config/docker/init/src/config/log/sdc/fe/logback.xml
new file mode 100644
index 0000000000..a8e9ed7264
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/sdc/fe/logback.xml
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration scan="true" scanPeriod="3 seconds">
+ <property name="logDir" value="/var/log/onap" />
+ <property name="componentName" scope="system" value="sdc"></property>
+ <property name="subComponentName" scope="system" value="sdc-fe"></property>
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property file="${config.home}/catalog-fe/configuration.yaml" />
+ <property name="enable-all-log" scope="context" value="false" />
+ <!-- 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="transactionLogName" value="transaction" />
+ <property name="allLogName" value="all" />
+ <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{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- All log -->
+ <if condition='property("enable-all-log").equalsIgnoreCase("true")'>
+ <then>
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ALL_ROLLING">
+ <file>${logDirectory}/${allLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${allLogName}.%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_ALL">
+ <appender-ref ref="ALL_ROLLING" />
+ </appender>
+ </then>
+ </if>
+ <!-- Error log -->
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ERROR_ROLLING">
+ <file>${logDirectory}/${errorLogName}.log</file>
+ <!-- Audit messages filter - deny audit messages -->
+ <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+ <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
+ <marker>AUDIT_MARKER</marker>
+ </evaluator>
+ <onMismatch>NEUTRAL</onMismatch>
+ <onMatch>DENY</onMatch>
+ </filter>
+ <!-- Transaction messages filter - deny Transaction messages -->
+ <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+ <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
+ <marker>TRANSACTION_MARKER</marker>
+ </evaluator>
+ <onMismatch>NEUTRAL</onMismatch>
+ <onMatch>DENY</onMatch>
+ </filter>
+ <!-- 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>
+ <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>
+ <!-- Debug log -->
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="DEBUG_ROLLING">
+ <file>${logDirectory}/${debugLogName}.log</file>
+ <!-- No need to deny audit messages - they are INFO only, will be denied
+ anyway -->
+ <!-- Transaction messages filter - deny Transaction messages, there are
+ some DEBUG level messages among them -->
+ <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+ <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
+ <marker>TRANSACTION_MARKER</marker>
+ </evaluator>
+ <onMismatch>NEUTRAL</onMismatch>
+ <onMatch>DENY</onMatch>
+ </filter>
+ <!-- accept DEBUG and TRACE level -->
+ <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+ <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">
+ <expression>e.level.toInt() &lt;= DEBUG.toInt()</expression>
+ </evaluator>
+ <OnMismatch>DENY</OnMismatch>
+ <OnMatch>NEUTRAL</OnMatch>
+ </filter>
+ <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>
+ <!-- Audit log -->
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="AUDIT_ROLLING">
+ <file>${logDirectory}/${auditLogName}.log</file>
+ <!-- Audit messages filter - accept audit messages -->
+ <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+ <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
+ <marker>AUDIT_MARKER</marker>
+ </evaluator>
+ <onMismatch>DENY</onMismatch>
+ <onMatch>ACCEPT</onMatch>
+ </filter>
+ <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>
+ <!-- SdncTransaction log -->
+ <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="TRANSACTION_ROLLING">
+ <file>${logDirectory}/${transactionLogName}.log</file>
+ <!-- Transaction messages filter - accept audit messages -->
+ <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+ <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
+ <marker>TRANSACTION_MARKER</marker>
+ </evaluator>
+ <onMismatch>DENY</onMismatch>
+ <onMatch>ACCEPT</onMatch>
+ </filter>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${transactionLogName}.%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>
+ <!-- Asynchronicity Configurations -->
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_DEBUG">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="DEBUG_ROLLING" />
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_TRANSACTION">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="TRANSACTION_ROLLING" />
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ERROR">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="ERROR_ROLLING" />
+ </appender>
+ <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_AUDIT">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="AUDIT_ROLLING" />
+ </appender>
+ <root level="INFO">
+ <appender-ref ref="ASYNC_ERROR" />
+ <appender-ref ref="ASYNC_DEBUG" />
+ <appender-ref ref="ASYNC_AUDIT" />
+ <appender-ref ref="ASYNC_TRANSACTION" />
+ <if condition='property("enable-all-log").equalsIgnoreCase("true")'>
+ <then>
+ <appender-ref ref="ALL_ROLLING" />
+ </then>
+ </if>
+ </root>
+ <logger level="INFO" name="org.openecomp.sdc" />
+</configuration> \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/log/sdnc/org.ops4j.pax.logging.cfg b/kubernetes/config/docker/init/src/config/log/sdnc/org.ops4j.pax.logging.cfg
new file mode 100644
index 0000000000..50818a3d18
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/sdnc/org.ops4j.pax.logging.cfg
@@ -0,0 +1,57 @@
+################################################################################
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You 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.
+#
+################################################################################
+
+# Root logger
+log4j.rootLogger=INFO, async, osgi:*
+log4j.throwableRenderer=org.apache.log4j.OsgiThrowableRenderer
+
+# Log Directory
+logDir=/var/log/onap
+componentName=sdnc
+logDirectory=${logDir}/${componentName}
+maxFileSize=100MB
+maxBackupIndex=20
+
+# CONSOLE appender not used by default
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd'T'HH:mm:ss.SSS}\t%-16.16t\t%-5.5p\t%c{36}\t%X{bundle.id} - %X{bundle.name} - %X{bundle.version}\t%m%n
+
+# Async appender forwarding to file appender
+log4j.appender.async=org.apache.log4j.AsyncAppender
+log4j.appender.async.appenders=out
+
+# File appender
+log4j.appender.out=org.apache.log4j.RollingFileAppender
+log4j.appender.out.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.out.layout.Properties=true
+log4j.appender.out.file=${logDirectory}/karaf.log
+log4j.appender.out.append=true
+log4j.appender.out.maxFileSize=${maxFileSize}
+log4j.appender.out.maxBackupIndex=${maxBackupIndex}
+
+# Sift appender
+log4j.appender.sift=org.apache.log4j.sift.MDCSiftingAppender
+log4j.appender.sift.key=bundle.name
+log4j.appender.sift.default=karaf
+log4j.appender.sift.appender=org.apache.log4j.RollingFileAppender
+log4j.appender.sift.appender.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.sift.appender.layout.Properties=true
+log4j.appender.sift.appender.file=${logDirectory}/$\\{bundle.name\\}.log
+log4j.appender.sift.appender.append=true
diff --git a/kubernetes/config/docker/init/src/config/log/vid/logback.xml b/kubernetes/config/docker/init/src/config/log/vid/logback.xml
new file mode 100644
index 0000000000..d3177f03ce
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/log/vid/logback.xml
@@ -0,0 +1,299 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ================================================================================
+ eCOMP Portal SDK
+ ================================================================================
+ Copyright (C) 2017 AT&amp;T Intellectual Property
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ================================================================================
+ -->
+<configuration scan="true" scanPeriod="3 seconds" debug="true">
+ <!-- specify the base path of the log directory -->
+ <property name="logDir" value="/var/log/onap" />
+ <!-- specify the component name -->
+ <property name="componentName" value="vid" />
+ <!-- The directory where logs are written -->
+ <property name="logDirectory" value="${logDir}/${componentName}" />
+ <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- log file names -->
+ <property name="generalLogName" value="application" />
+ <property name="errorLogName" value="error" />
+ <property name="metricsLogName" value="metrics" />
+ <property name="auditLogName" value="audit" />
+ <property name="debugLogName" value="debug" />
+ <!-- other constants -->
+ <property name="queueSize" value="256" />
+ <property name="maxFileSize" value="50MB" />
+ <property name="maxHistory" value="30" />
+ <property name="totalSizeCap" value="10GB" />
+ <!-- Example evaluator filter applied against console appender -->
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>${pattern}</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}.%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>
+ <filter class="org.openecomp.portalapp.util.CustomLoggingFilter" />
+ </appender>
+ <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <includeCallerData>true</includeCallerData>
+ <appender-ref ref="EELF" />
+ </appender>
+ <!-- EELF Security Appender. This appender is used to record security events
+ to the security log file. Security events are separate from other loggers
+ in EELF so that security log records can be captured and managed in a secure
+ way separate from the other logs. This appender is set to never discard any
+ events. -->
+ <!--
+ <appender name="EELFSecurity"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${securityLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${securityLogName}.%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>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <discardingThreshold>0</discardingThreshold>
+ <appender-ref ref="EELFSecurity" />
+ </appender>
+ -->
+ <!-- EELF Performance Appender. This appender is used to record performance
+ records. -->
+ <!--
+ <appender name="EELFPerformance"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${performanceLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <outputPatternAsHeader>true</outputPatternAsHeader>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFPerformance" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFPerformance" />
+ </appender>
+ -->
+ <!-- EELF Server Appender. This appender is used to record Server related
+ logging events. The Server logger and appender are specializations of the
+ EELF application root logger and appender. This can be used to segregate Server
+ events from other components, or it can be eliminated to record these events
+ as part of the application root log. -->
+ <!--
+ <appender name="EELFServer"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${serverLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${serverLogName}.%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>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFServer" />
+ </appender>
+ -->
+ <!-- EELF Policy Appender. This appender is used to record Policy engine
+ related logging events. The Policy 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="EELFPolicy"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${policyLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${policyLogName}.%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>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFPolicy" />
+ </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}.%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 name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</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}.%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 name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFMetrics" />
+ </appender>
+ <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <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 name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFError" />
+ </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}.%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 name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>${queueSize}</queueSize>
+ <appender-ref ref="EELFDebug" />
+ </appender>
+ <!-- ============================================================================ -->
+ <!-- EELF loggers -->
+ <!-- ============================================================================ -->
+ <logger name="com.att.eelf" level="debug" additivity="false">
+ <appender-ref ref="asyncEELF" />
+ </logger>
+ <!--
+ <logger name="com.att.eelf.security" level="info" additivity="false">
+ <appender-ref ref="asyncEELFSecurity" />
+ </logger>
+ <logger name="com.att.eelf.perf" level="info" additivity="false">
+ <appender-ref ref="asyncEELFPerformance" />
+ </logger>
+ <logger name="com.att.eelf.server" level="info" additivity="false">
+ <appender-ref ref="asyncEELFServer" />
+ </logger>
+ <logger name="com.att.eelf.policy" level="info" additivity="false">
+ <appender-ref ref="asyncEELFPolicy" />
+ </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>
+ <logger name="com.att.eelf.error" level="info" additivity="false">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+ <logger name="com.att.eelf.debug" level="debug" additivity="false">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+ <root level="INFO">
+ <appender-ref ref="asyncEELF" />
+ </root>
+</configuration> \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/policy/opt/policy/config/drools/base.conf b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/drools/base.conf
index 164c03821c..f531c0fa85 100755
--- a/kubernetes/config/docker/init/src/config/policy/opt/policy/config/drools/base.conf
+++ b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/drools/base.conf
@@ -1,43 +1,39 @@
+###
+# ============LICENSE_START=======================================================
+# ONAP POLICY
+# ================================================================================
+# Copyright (C) 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=========================================================
+###
+
+
+# SYSTEM software configuration
+
POLICY_HOME=/opt/app/policy
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
KEYSTORE_PASSWD=PolicyR0ck$
+# Telemetry credentials
+
ENGINE_MANAGEMENT_PORT=9696
ENGINE_MANAGEMENT_HOST=localhost
ENGINE_MANAGEMENT_USER=@1b3rt
-ENGINE_MANAGEMENT_PASSWORD=31nst@1n
-
-JDBC_DRIVER=org.mariadb.jdbc.Driver
-JDBC_URL=jdbc:mysql://mariadb.onap-policy:3306/ecomp_sdk
-JDBC_DROOLS_URL=jdbc:mysql://mariadb.onap-policy:3306/drools
-JDBC_USER=policy_user
-JDBC_PASSWORD=policy_user
-
-# Integrity Monitor properties
-site_name=site_1
-fp_monitor_interval=30
-failed_counter_threshold=3
-test_trans_interval=20
-write_fpc_interval=5
-max_fpc_update_interval=60
-test_via_jmx=false
-jmx_fqdn=
-node_type=pdp_drools
-# Dependency groups are groups of resources upon which a node operational state is dependent upon.
-# Each group is a comma-separated list of resource names and groups are separated by a semicolon.
-dependency_groups=
-resource_name=pdpd_1
-
-# The (optional) period of time in seconds between executions of the integrity audit.
-# Value < 0 : Audit does not run (default value if property is not present = -1)
-# Value = 0 : Audit runs continuously
-# Value > 0 : The period of time in seconds between execution of the audit on a particular node
-integrity_audit_period_seconds=-1
-
-host_port=0.0.0.0:9981
-
-# To use a Nexus repository for rules artifacts,
-# following properties must be uncommented and set:
+ENGINE_MANAGEMENT_PASSWORD=31nst31n
+
+# nexus repository
+
snapshotRepositoryID=policy-nexus-snapshots
snapshotRepositoryUrl=http://nexus:8081/nexus/content/repositories/snapshots/
releaseRepositoryID=policy-nexus-releases
@@ -45,6 +41,14 @@ releaseRepositoryUrl=http://nexus:8081/nexus/content/repositories/releases/
repositoryUsername=admin
repositoryPassword=admin123
+# Relational (SQL) DB access
+
+SQL_HOST=mariadb.onap-policy
+SQL_USER=policy_user
+SQL_PASSWORD=policy_user
+
+# PDP-D DMaaP configuration channel
+
PDPD_CONFIGURATION_TOPIC=PDPD-CONFIGURATION
PDPD_CONFIGURATION_SERVERS=dmaap.onap-message-router
PDPD_CONFIGURATION_API_KEY=
@@ -52,3 +56,24 @@ PDPD_CONFIGURATION_API_SECRET=
PDPD_CONFIGURATION_CONSUMER_GROUP=
PDPD_CONFIGURATION_CONSUMER_INSTANCE=
PDPD_CONFIGURATION_PARTITION_KEY=
+
+# PAP
+
+PAP_HOST=pap.onap-policy
+PAP_USERNAME=testpap
+PAP_PASSWORD=alpha123
+
+# PDP-X
+
+PDP_HOST=pdp.onap-policy
+PDP_USERNAME=testpdp
+PDP_PASSWORD=alpha123
+
+# DCAE DMaaP
+
+DCAE_TOPIC=unauthenticated.TCA_EVENT_OUTPUT
+DCAE_SERVERS=dcae-controller.onap-dcae
+
+# Open DMaaP
+
+DMAAP_SERVERS=dmaap.onap-message-router
diff --git a/kubernetes/config/docker/init/src/config/policy/opt/policy/config/drools/drools-tweaks.sh b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/drools/drools-tweaks.sh
index edf5e9d563..8bff59c2e7 100755
--- a/kubernetes/config/docker/init/src/config/policy/opt/policy/config/drools/drools-tweaks.sh
+++ b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/drools/drools-tweaks.sh
@@ -1,30 +1,23 @@
#! /bin/bash
-# changes for health check
-options enable policy-healthcheck
-sedArgs=("-i")
-while read var value ; do
- if [[ "${var}" == "" ]] ; then
- continue
- fi
- sedArgs+=("-e" "s@\${{${var}}}@${value}@g")
-done <<-EOF
- PAP_HOST pap
- PAP_USERNAME testpap
- PAP_PASSWORD alpha123
- PDP_HOST pdp
- PDP_USERNAME testpdp
- PDP_PASSWORD alpha123
-EOF
+###
+# ============LICENSE_START=======================================================
+# ONAP
+# ================================================================================
+# Copyright (C) 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=========================================================
+###
-# convert file
-sed "${sedArgs[@]}" ${POLICY_HOME}/config/*health*
-
-cat >>${POLICY_HOME}/config/*health* <<-'EOF'
- http.server.services.HEALTHCHECK.userName=healthcheck
- http.server.services.HEALTHCHECK.password=zb!XztG34
-EOF
-
-sed -i -e 's/DCAE-CL-EVENT/unauthenticated.TCA_EVENT_OUTPUT/' \
- -e '/TCA_EVENT_OUTPUT\.servers/s/servers=.*$/servers=10.0.4.102/' \
- $POLICY_HOME/config/v*-controller.properties
+${POLICY_HOME}/bin/features enable healthcheck
diff --git a/kubernetes/config/docker/init/src/config/policy/opt/policy/config/drools/feature-healthcheck.conf b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/drools/feature-healthcheck.conf
new file mode 100644
index 0000000000..31baed21e3
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/drools/feature-healthcheck.conf
@@ -0,0 +1,2 @@
+HEALTHCHECK_USER=healthcheck
+HEALTHCHECK_PASSWORD=zb!XztG34
diff --git a/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/base.conf b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/base.conf
index bd4b433179..9c87d9ca72 100755
--- a/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/base.conf
+++ b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/base.conf
@@ -3,8 +3,8 @@ POLICY_HOME=/opt/app/policy
KEYSTORE_PASSWD=PolicyR0ck$
JDBC_DRIVER=org.mariadb.jdbc.Driver
-JDBC_URL=jdbc:mariadb://mariadb.onap-policy:3306/ecomp_sdk
-JDBC_LOG_URL=jdbc:mariadb://mariadb.onap-policy:3306/log
+JDBC_URL=jdbc:mariadb://mariadb.onap-policy:3306/onap_sdk?failOverReadOnly=false&autoReconnect=true
+JDBC_LOG_URL=jdbc:mariadb://mariadb.onap-policy:3306/log?failOverReadOnly=false&autoReconnect=true
JDBC_USER=policy_user
JDBC_PASSWORD=policy_user
@@ -18,3 +18,7 @@ test_via_jmx=false
jmx_fqdn=
ENVIRONMENT=TEST
+
+#Micro Service Model Properties
+policy_msOnapName=
+policy_msPolicyName= \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/brmsgw-tweaks.sh b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/brmsgw-tweaks.sh
index 350b9c7039..d318d4d189 100755
--- a/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/brmsgw-tweaks.sh
+++ b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/brmsgw-tweaks.sh
@@ -13,14 +13,26 @@ fi
source "${POLICY_HOME}/etc/build.info"
+if [ -z "${version}" ]; then
+ echo "error: no version information present"
+ exit 1
+fi
+
for CONFIG in ${PROPS_RUNTIME} ${PROPS_INSTALL}; do
if [ ! -f "${CONFIG}" ]; then
echo "warning: configuration does not exist: ${CONFIG}"
else
- if [ -n "${version}" ]; then
- /bin/sed -i -e "s/brms.dependency.version=.*/brms.dependency.version=${version}/g" "${CONFIG}"
- else
- echo "error: no version information present"
- fi
+ sed -i -e "s/brms.dependency.version=.*/brms.dependency.version=${version}/g" "${CONFIG}"
+ fi
+done
+
+DEPS_JSON_RUNTIME="${POLICY_HOME}/servers/brmsgw/dependency.json"
+DEPS_JSON_INSTALL="${POLICY_HOME}/install/servers/brmsgw/dependency.json"
+
+for DEP in ${DEPS_JSON_RUNTIME} ${DEPS_JSON_INSTALL}; do
+ if [ ! -f "${DEP}" ]; then
+ echo "warning: configuration does not exist: ${DEP}"
+ else
+ sed -i -e "s/\"version\":.*/\"version\": \"${version}\"/g" "${DEP}"
fi
done
diff --git a/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/brmsgw.conf b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/brmsgw.conf
index 8c70090550..3cafc32a4c 100755
--- a/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/brmsgw.conf
+++ b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/brmsgw.conf
@@ -26,11 +26,11 @@ UEB_TOPIC=PDPD-CONFIGURATION
UEB_API_KEY=
UEB_API_SECRET=
-groupID=org.openecomp.policy-engine
+groupID=org.onap.policy-engine
artifactID=drlPDPGroup
-VFW_GROUP_ID=org.openecomp.policy-engine.drools.vFW
+VFW_GROUP_ID=org.onap.policy-engine.drools.vFW
VFW_ARTIFACT_ID=policy-vFW-rules
-VDNS_GROUP_ID=org.openecomp.policy-engine.drools.vDNS
+VDNS_GROUP_ID=org.onap.policy-engine.drools.vDNS
VDNS_ARTIFACT_ID=policy-vDNS-rules
@@ -38,6 +38,19 @@ VDNS_ARTIFACT_ID=policy-vDNS-rules
resource_name=brmsgw_1
node_type=brms_gateway
-CLIENT_ID=PyPDPServer
-CLIENT_KEY=test
+#Environment should be Set either DEV, TEST or PROD
ENVIRONMENT=TEST
+
+#Notification Properties... type can be either websocket, ueb, or dmaap
+BRMS_NOTIFICATION_TYPE=websocket
+BRMS_UEB_URL=dmaap.onap-message-router
+BRMS_UEB_TOPIC=PDPD-CONFIGURATION
+BRMS_UEB_DELAY=
+BRMS_CLIENT_ID=python
+BRMS_CLIENT_KEY=dGVzdA==
+BRMS_UEB_API_KEY=
+BRMS_UEB_API_SECRET=
+
+#Dependency.json file version
+BRMS_DEPENDENCY_VERSION=1.1.0-SNAPSHOT
+
diff --git a/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/console.conf b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/console.conf
index 35867eb220..d5be80a675 100755
--- a/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/console.conf
+++ b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/console.conf
@@ -77,7 +77,7 @@ REFRESH_RATE=40000
#
-REST_PAP_URL=http://pap:9091/pap/
+REST_PAP_URL=http://pap.onap-policy:9091/pap/
#
# Config/Action Properties location.
@@ -102,7 +102,7 @@ resource_name=console_1
# Value > 0 : The period of time in seconds between execution of the audit on a particular node
integrity_audit_period_seconds=-1
-#Automatic Policy Distribution
+#Automatic Policy Distribution
automatic_push=false
#Diff of policies for Firewall feature
@@ -112,24 +112,21 @@ FW_PROXY=
FW_PORT=
#SMTP Server Details for Java Mail
-ecomp_smtp_host=
-ecomp_smtp_port=25
-ecomp_smtp_userName=
-ecomp_smtp_password=
-ecomp_application_name=
-
-#-----------------------ECOMP-PORTAL-Properties----------------------
-
-ECOMP_REDIRECT_URL=http://portalapps.onap-portal:8989/ECOMPPORTAL/login.htm
-ECOMP_REST_URL=
-ECOMP_UEB_URL_LIST=
-ECOMP_PORTAL_INBOX_NAME=
-ECOMP_UEB_APP_KEY=
-ECOMP_UEB_APP_SECRET=
-ECOMP_UEB_APP_MAILBOX_NAME=
-APP_DISPLAY_NAME=OpenECOMP Policy
-ECOMP_SHARED_CONTEXT_REST_URL=http://portalapps.onap-portal:8989/ECOMPPORTAL/context
-
-#Add the Rest PAP url and pap auth password on adding delimiter @Auth@
-
-REST_PAPURL_WITH_AUTH_PASSWORD=http://pap.onap-policy:9091/pap/@Auth@dGVzdHBhcDphbHBoYTEyMw==
+onap_smtp_host=
+onap_smtp_port=25
+onap_smtp_userName=
+onap_smtp_password=
+onap_smtp_emailExtension=
+onap_application_name=
+
+#-----------------------ONAP-PORTAL-Properties----------------------
+
+ONAP_REDIRECT_URL=http://portalapps.onap-portal:8989/ECOMPPORTAL/login.htm
+ONAP_REST_URL=
+ONAP_UEB_URL_LIST=
+ONAP_PORTAL_INBOX_NAME=
+ONAP_UEB_APP_KEY=
+ONAP_UEB_APP_SECRET=
+ONAP_UEB_APP_MAILBOX_NAME=
+APP_DISPLAY_NAME=ONAP Policy
+ONAP_SHARED_CONTEXT_REST_URL=http://portalapps.onap-portal:8989/ECOMPPORTAL/context
diff --git a/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/elk.conf b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/elk.conf
new file mode 100644
index 0000000000..938954ce63
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/elk.conf
@@ -0,0 +1,3 @@
+# elasticsearch
+
+ELK_JMX_PORT=9995 \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/pap-tweaks.sh b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/pap-tweaks.sh
index be8a905af0..36ac3689b1 100755
--- a/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/pap-tweaks.sh
+++ b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/pap-tweaks.sh
@@ -1,15 +1 @@
#! /bin/bash
-
-# config directory may contain an ip_addr.txt file that specifies
-# the VM IP address. Substitute this value in the URL in the
-# config.json file, overriding the hostname that came from the
-# REST_PAPURL_WITH_AUTH_PASSWORD property in console.conf. This is
-# to avoid hardcoding an IP address in console.conf that can change
-# from one VM instance to the next.
-
-if [[ -f config/ip_addr.txt ]]; then
- vm_ip=$(<config/ip_addr.txt)
- echo "Substituting VM IP address $vm_ip in console config.json file"
- sed -i -e "s@http:.*:@http://$vm_ip:@" \
- $POLICY_HOME/servers/console/webapps/ecomp/app/policyApp/Properties/config.json
-fi
diff --git a/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/pdp.conf b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/pdp.conf
index 9d56d49f96..d1dee77a11 100755
--- a/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/pdp.conf
+++ b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/pdp.conf
@@ -32,5 +32,22 @@ PDP_PAP_PDP_HTTP_PASSWORD=alpha123
node_type=pdp_xacml
resource_name=pdp_1
-dependency_groups=pdplp_1;pypdp_1;brmsgw_1
+dependency_groups=pdplp_1;brmsgw_1
test_via_jmx=true
+
+#
+# Notification Properties
+# Notification type: websocket, ueb or dmaap... if left blank websocket is the default
+PDP_NOTIFICATION_TYPE=websocket
+PDP_UEB_CLUSTER=
+PDP_UEB_TOPIC=
+PDP_UEB_DELAY=
+PDP_UEB_API_KEY=
+PDP_UEB_API_SECRET=
+PDP_DMAAP_AAF_LOGIN=
+PDP_DMAAP_AAF_PASSWORD=
+
+#AAF Policy Name space
+#Required only, when we use AAF
+POLICY_AAF_NAMESPACE=
+POLICY_AAF_RESOURCE=
diff --git a/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/push-policies.sh b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/push-policies.sh
new file mode 100644
index 0000000000..7a71639595
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/push-policies.sh
@@ -0,0 +1,121 @@
+#! /bin/bash
+
+
+echo "Pushing default policies"
+
+# Sometimes brmsgw gets an error when trying to retrieve the policies on initial push,
+# so for the BRMS policies we will do a push, then delete from the pdp group, then push again.
+# Second push should be successful.
+
+echo "pushPolicy : PUT : com.vFirewall"
+curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+ "pdpGroup": "default",
+ "policyName": "com.vFirewall",
+ "policyType": "MicroService"
+}' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
+
+sleep 2
+
+echo "pushPolicy : PUT : com.vLoadBalancer"
+curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+ "pdpGroup": "default",
+ "policyName": "com.vLoadBalancer",
+ "policyType": "MicroService"
+}' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
+
+sleep 2
+
+echo "pushPolicy : PUT : com.BRMSParamvLBDemoPolicy"
+curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+ "pdpGroup": "default",
+ "policyName": "com.BRMSParamvLBDemoPolicy",
+ "policyType": "BRMS_Param"
+}' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
+
+sleep 2
+
+echo "pushPolicy : PUT : com.BRMSParamvFWDemoPolicy"
+curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+ "pdpGroup": "default",
+ "policyName": "com.BRMSParamvFWDemoPolicy",
+ "policyType": "BRMS_Param"
+}' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
+
+sleep 2
+
+echo "deletePolicy : DELETE : com.vFirewall"
+curl -v --silent -X DELETE --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+"pdpGroup": "default",
+"policyComponent": "PDP",
+"policyName": "com.vFirewall",
+"policyType": "MicroService"
+}' 'http://pdp.onap-policy:8081/pdp/api/deletePolicy'
+
+
+sleep 2
+
+echo "deletePolicy : DELETE : com.vLoadBalancer"
+curl -v --silent -X DELETE --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+"pdpGroup": "default",
+"policyComponent": "PDP",
+"policyName": "com.vLoadBalancer",
+"policyType": "MicroService"
+}' 'http://pdp.onap-policy:8081/pdp/api/deletePolicy'
+
+sleep 2
+
+echo "deletePolicy : DELETE : com.BRMSParamvFWDemoPolicy"
+curl -v --silent -X DELETE --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+"pdpGroup": "default",
+"policyComponent": "PDP",
+"policyName": "com.BRMSParamvFWDemoPolicy",
+"policyType": "BRMS_Param"
+}' 'http://pdp.onap-policy:8081/pdp/api/deletePolicy'
+
+
+sleep 2
+
+echo "deletePolicy : DELETE : com.BRMSParamvLBDemoPolicy"
+curl -v --silent -X DELETE --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+"pdpGroup": "default",
+"policyComponent": "PDP",
+"policyName": "com.BRMSParamvLBDemoPolicy",
+"policyType": "BRMS_Param"
+}' 'http://pdp.onap-policy:8081/pdp/api/deletePolicy'
+
+sleep 2
+
+echo "pushPolicy : PUT : com.vFirewall"
+curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+ "pdpGroup": "default",
+ "policyName": "com.vFirewall",
+ "policyType": "MicroService"
+}' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
+
+sleep 2
+
+echo "pushPolicy : PUT : com.vLoadBalancer"
+curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+ "pdpGroup": "default",
+ "policyName": "com.vLoadBalancer",
+ "policyType": "MicroService"
+}' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
+
+sleep 2
+
+echo "pushPolicy : PUT : com.BRMSParamvLBDemoPolicy"
+curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+ "pdpGroup": "default",
+ "policyName": "com.BRMSParamvLBDemoPolicy",
+ "policyType": "BRMS_Param"
+}' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
+
+sleep 2
+
+echo "pushPolicy : PUT : com.BRMSParamvFWDemoPolicy"
+curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+ "pdpGroup": "default",
+ "policyName": "com.BRMSParamvFWDemoPolicy",
+ "policyType": "BRMS_Param"
+}' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
+
diff --git a/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/pypdp-tweaks.sh b/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/pypdp-tweaks.sh
deleted file mode 100755
index 5d899bd18c..0000000000
--- a/kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/pypdp-tweaks.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/bash
-
-
diff --git a/kubernetes/config/templates/pod.yaml b/kubernetes/config/templates/pod.yaml
index c9bf7a907c..217478bb4d 100644
--- a/kubernetes/config/templates/pod.yaml
+++ b/kubernetes/config/templates/pod.yaml
@@ -4,7 +4,7 @@ metadata:
name: global-onap-configmap
namespace: "{{ .Values.nsPrefix }}"
data:
- {{ (.Files.Glob "onap-parameters.yaml").AsConfig | indent 2 }}
+{{ .Files.Get "onap-parameters.yaml" | indent 2 }}
---
apiVersion: v1
kind: Pod
diff --git a/kubernetes/dcae/Chart.yaml b/kubernetes/dcae/Chart.yaml
new file mode 100644
index 0000000000..168a2148f0
--- /dev/null
+++ b/kubernetes/dcae/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: DCAE Gen 1
+name: DCAE
+version: 1.1.0
diff --git a/kubernetes/dcae/README b/kubernetes/dcae/README
new file mode 100644
index 0000000000..c733355682
--- /dev/null
+++ b/kubernetes/dcae/README
@@ -0,0 +1,18 @@
+DCAE Port mapping
+-----------------------------------------------------------------------------------------
+Container name | Connector name | Node port | Target port |
+-----------------------------------------------------------------------------------------
+dcae-collector-common-event | dcae-ce1 | 30236 | 8080 |
+-----------------------------------------------------------------------------------------
+ | dcae-ce2 | 30237 | 8443 |
+-----------------------------------------------------------------------------------------
+ | dcae-ce3 | 30238 | 9999 |
+-----------------------------------------------------------------------------------------
+dcae-collector-dmaapbc | dcae-bc1 | 30239 | 8080 |
+-----------------------------------------------------------------------------------------
+ | dcae-bc2 | 30240 | 8443 |
+-----------------------------------------------------------------------------------------
+dcae-ves-collector | dcae-ves1 | 30241 | 8080 |
+-----------------------------------------------------------------------------------------
+ | dcae-ves2 | 30242 | 9999 |
+-----------------------------------------------------------------------------------------
diff --git a/kubernetes/dcae/cdap/docker/00-provisioning.sh b/kubernetes/dcae/cdap/docker/00-provisioning.sh
new file mode 100755
index 0000000000..98b67c4476
--- /dev/null
+++ b/kubernetes/dcae/cdap/docker/00-provisioning.sh
@@ -0,0 +1,257 @@
+#!/bin/bash
+set -x
+
+export DEBIAN_FRONTEND=noninteractive
+
+##############################################################
+################### File provisioning ########################
+##############################################################
+
+cd /tmp
+
+
+## Adding configuration file: mount_config
+cat > /tmp/dcae-mount.conf << EOF_CONFIG
+osType: ubuntu
+volumes:
+ ephemeral:
+ uuid: ephemeral
+ size: 80
+ filesystems:
+ /opt/tools:
+ size: 80
+ type: ext4
+ mount_opts: ''
+ data:
+ uuid: cinder
+ size: 75
+ filesystems:
+ /opt/data:
+ size: 75
+ type: ext4
+ mount_opts: ''
+EOF_CONFIG
+
+
+## Adding configuration file: ecomp-nexus
+cat > /tmp/ecomp-nexus.crt << EOF_CONFIG
+-----BEGIN CERTIFICATE-----
+MIIFRTCCBC2gAwIBAgIQM/5eM8D0jY3yHTSyN5iO9zANBgkqhkiG9w0BAQsFADCB
+kDELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
+A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxNjA0BgNV
+BAMTLUNPTU9ETyBSU0EgRG9tYWluIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciBD
+QTAeFw0xNzAzMjgwMDAwMDBaFw0xODAzMjgyMzU5NTlaMFcxITAfBgNVBAsTGERv
+bWFpbiBDb250cm9sIFZhbGlkYXRlZDEdMBsGA1UECxMUUG9zaXRpdmVTU0wgV2ls
+ZGNhcmQxEzARBgNVBAMMCioub25hcC5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IB
+DwAwggEKAoIBAQDIVo+kmG2sGaeIJy5pqP6mzlIwqYUXcFOG2fodsCPg9CEdlsBO
+IECuoPYmCqrJ/MHLfs+F+SjEoBfpJlqyrpLhVj8O/9xCp4Tda/YJ18n59uDJ7Rpq
+omqZlFCj/B4+H6+dkWCFy1FxYBBAIO52iscd4F6YHD1p3xUjJRd9Yf6qnktmSooI
+hbIKzPIpSTsYiN3ArWbrGeucoQUdKX+intRHFLkKay88R7yqoqguPFIEtkXwDoJj
+aV+rC103eZ1RLwtBcS/4UcDXRDfkyQANAYvKGeHiyGuRQqEUyGEmKz2i11m1oyEP
+uD1AK+zPd33wBdOe8iZMr0CxcOGhgcKOWJ7vAgMBAAGjggHRMIIBzTAfBgNVHSME
+GDAWgBSQr2o6lFoL2JDqElZz30O0Oija5zAdBgNVHQ4EFgQUMVkz3DD9qwhzY5WT
+/P1mCVpsauQwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
+FAYIKwYBBQUHAwEGCCsGAQUFBwMCME8GA1UdIARIMEYwOgYLKwYBBAGyMQECAgcw
+KzApBggrBgEFBQcCARYdaHR0cHM6Ly9zZWN1cmUuY29tb2RvLmNvbS9DUFMwCAYG
+Z4EMAQIBMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly9jcmwuY29tb2RvY2EuY29t
+L0NPTU9ET1JTQURvbWFpblZhbGlkYXRpb25TZWN1cmVTZXJ2ZXJDQS5jcmwwgYUG
+CCsGAQUFBwEBBHkwdzBPBggrBgEFBQcwAoZDaHR0cDovL2NydC5jb21vZG9jYS5j
+b20vQ09NT0RPUlNBRG9tYWluVmFsaWRhdGlvblNlY3VyZVNlcnZlckNBLmNydDAk
+BggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMB8GA1UdEQQYMBaC
+Cioub25hcC5vcmeCCG9uYXAub3JnMA0GCSqGSIb3DQEBCwUAA4IBAQAd5mu22sts
+at/bdRlIOz3dbqGwIFOo8XajlAs6ApMpyx/xetcgIKipzvGp9Wc1X8lDZl4boCH6
+KQ1//4tpksYj8RsZSZeac8vQLKggWO107sBa33yFg6Y1Dk2DdgOKZ+lNbvB1iMwK
+hSGtV3HYx1jLyQRoeYby4R7+kTI1lHAiOgT+vn5C9Z3TxqfgWuBf24CFp/95gki6
+vRysJh9Jf7A8JrrMGykC94Tpo6OiUehtQ+f65xtetvwsfNHVp3hsLzR5KwIMDARI
+IgXKyROodILsOXfR9qdA9klcXUSi6qvKF8wAopNuot4Ltyz8chiFKISjxqVrKnY2
+M7En/HyX0s1I
+-----END CERTIFICATE-----
+EOF_CONFIG
+
+
+## Adding configuration file: vm-cdap-cluster-cdap.properties
+cat > /tmp/vm-cdap-cluster-cdap.properties << EOF_CONFIG
+cluster.endpoint= foobar
+cluster.user= foobar
+cluster.password= foobar
+EOF_CONFIG
+
+
+## Adding configuration file: vm-cdap-cluster-console.properties
+cat > /tmp/vm-cdap-cluster-console.properties << EOF_CONFIG
+localhost.endpoint=http://localhost:1999
+localhost.user=console
+localhost.password=NTJhYWU1NzAwMzc3OTk1
+EOF_CONFIG
+
+
+## Adding configuration file: vm-cdap-cluster-gui.properties
+cat > /tmp/vm-cdap-cluster-gui.properties << EOF_CONFIG
+EOF_CONFIG
+
+
+## Adding configuration file: vm-cdap-cluster-log4j.properties
+cat > /tmp/vm-cdap-cluster-log4j.properties << EOF_CONFIG
+#log4j.debug=0
+log4j.rootLogger=warn, file
+log4j.logger.org.openecomp.ncomp=info, file
+log4j.additivity.org.openecomp.ncomp=false
+
+#log4j.logger.org.apache.http.headers=debug, file
+#log4j.logger.org.apache.http.wire=debug, file
+## uploaded logger
+log4j.logger.org.openecomp.ncomp.sirius.manager.uploaded=info, uploaded
+log4j.additivity.org.openecomp.ncomp.sirius.manager.uploaded=false
+## request logging
+log4j.logger.org.openecomp.ncomp.sirius.manager.ManagementServer.requests=info, requests
+log4j.additivity.org.openecomp.ncomp.sirius.manager.ManagementServer.requests=false
+## openstack polling
+log4j.logger.org.openecomp.ncomp.openstack.OpenStackUtil.polling=info, polling
+log4j.additivity.org.openecomp.ncomp.openstack.OpenStackUtil.polling=false
+log4j.appender.file=org.apache.log4j.RollingFileAppender
+log4j.appender.file.File=logs/manager.log
+log4j.appender.file.layout=org.apache.log4j.PatternLayout
+log4j.appender.file.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n
+log4j.appender.file.MaxFileSize=50MB
+log4j.appender.file.MaxBackupIndex=5
+
+log4j.appender.uploaded=org.apache.log4j.RollingFileAppender
+log4j.appender.uploaded.File=logs/manager-uploaded.log
+log4j.appender.uploaded.layout=org.apache.log4j.PatternLayout
+log4j.appender.uploaded.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n
+log4j.appender.uploaded.MaxFileSize=50MB
+log4j.appender.uploaded.MaxBackupIndex=5
+
+log4j.appender.requests=org.apache.log4j.RollingFileAppender
+log4j.appender.requests.File=logs/manager-requests.log
+log4j.appender.requests.layout=org.apache.log4j.PatternLayout
+log4j.appender.requests.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n
+log4j.appender.requests.MaxFileSize=50MB
+log4j.appender.requests.MaxBackupIndex=5
+log4j.appender.polling=org.apache.log4j.RollingFileAppender
+log4j.appender.polling.File=logs/manager-polling.log
+log4j.appender.polling.layout=org.apache.log4j.PatternLayout
+log4j.appender.polling.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n
+log4j.appender.polling.MaxFileSize=50MB
+log4j.appender.polling.MaxBackupIndex=5
+
+### ECOMP Logging
+log4j.logger.org.openecomp.audit=info, audit
+log4j.additivity.org.openecomp.audit=false
+log4j.logger.org.openecomp.metrics=info, metrics
+log4j.additivity.org.openecomp.metrics=false
+log4j.logger.org.openecomp.error=info, error
+log4j.additivity.org.openecomp.error=false
+log4j.logger.com.att.eelf.debug=info, debug
+log4j.additivity.org.openecomp.debug=false
+log4j.appender.audit=org.apache.log4j.RollingFileAppender
+log4j.appender.audit.File=logs/audit.log
+log4j.appender.audit.layout=org.apache.log4j.PatternLayout
+log4j.appender.audit.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%5p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n
+log4j.appender.audit.MaxFileSize=50MB
+log4j.appender.audit.MaxBackupIndex=5
+log4j.appender.metrics=org.apache.log4j.RollingFileAppender
+log4j.appender.metrics.File=logs/metrics.log
+log4j.appender.metrics.layout=org.apache.log4j.PatternLayout
+log4j.appender.metrics.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n
+log4j.appender.metrics.MaxFileSize=50MB
+log4j.appender.metrics.MaxBackupIndex=5
+log4j.appender.error=org.apache.log4j.RollingFileAppender
+log4j.appender.error.File=logs/error.log
+log4j.appender.error.layout=org.apache.log4j.PatternLayout
+log4j.appender.error.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n
+log4j.appender.error.MaxFileSize=50MB
+log4j.appender.error.MaxBackupIndex=5
+log4j.appender.debug=org.apache.log4j.RollingFileAppender
+log4j.appender.debug.File=logs/debug.log
+log4j.appender.debug.layout=org.apache.log4j.PatternLayout
+log4j.appender.debug.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n
+log4j.appender.debug.MaxFileSize=50MB
+log4j.appender.debug.MaxBackupIndex=5
+EOF_CONFIG
+
+
+## Adding configuration file: vm-cdap-cluster-manager.properties
+cat > /tmp/vm-cdap-cluster-manager.properties << EOF_CONFIG
+server.dir = data/resources
+metrics.dir = data/metrics
+properties.dir = data/properties
+server.port = 1999
+server.user.console = NTJhYWU1NzAwMzc3OTk1
+server.user.gui = MDlhZWVjZWEwMmFiOTJi
+server.user.client = YmE2OGE1N2U5NzRmMDg1
+EOF_CONFIG
+
+
+## Adding configuration file: vm-cdap-cluster-runtime.properties
+cat > /tmp/vm-cdap-cluster-runtime.properties << EOF_CONFIG
+factory.vm=org.openecomp.dcae.controller.service.servers.vm.DcaeVmFactory
+
+## Adding configuration file: monitoring-agent-gui.properties
+cat > /tmp/monitoring-agent-gui.properties << EOF_CONFIG
+EOF_CONFIG
+
+
+cat > /tmp/certificate.pkcs12.b64code << EOF_CERT
+EOF_CERT
+
+
+##############################################################
+################## Config Provisioning #######################
+##############################################################
+
+mkdir -p ~/.ssh
+touch ~/.ssh/authorized_keys
+echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBn8Ctt5hJGkTQaffuSeINeABV4viBIM4TcP14kaLiWR1LkyNY+TaUnjxODobtZa4YW1lxFtoMCfZt2A5W9ZZPM+shZr4BOj+wU+xIrzn7ezN/CQjH7c4Wh0mWteuPnJrtdpyGQ/qBI2T+xo5G/Tl++SPUvvN2D4H8vl0miEgVPR47/P7Ba6kl7Bmrf9m0VDPdS69Qr2AhgBq5Qi/fTeGZA4sfKDHHRJxkQIXYmS8R5FISRpBD7ta2NTHapRz9dC6Cw8UttEFiWFUBjN6lwF9LUOkj9MiqiTQaElKKQzMIHr0AhlgIkwBLKAJoDrGQD9GKPwKCdW3OmnODMPxJjXc3 > ~/.ssh/authorized_keys
+
+cp /tmp/ecomp-nexus.crt /usr/local/share/ca-certificates/ ; update-ca-certificates
+
+wget https://nexus.onap.org/content/repositories/staging/org/openecomp/dcae/controller/dcae-controller-core-utils/1.1.0/dcae-controller-core-utils-1.1.0-runtime.zip -P /opt/app/dcae-controller-core-utils
+
+cd /opt/app/dcae-controller-core-utils
+unzip -o dcae-controller-core-utils*.zip
+
+chown -R dcae:dcae /opt/app/dcae-controller-core-utils
+
+/opt/app/dcae-controller-core-utils/bin/fs-init.py
+
+wget https://nexus.onap.org/content/repositories/staging/org/openecomp/dcae/controller/dcae-controller-service-cdap-cluster-manager/1.1.0/dcae-controller-service-cdap-cluster-manager-1.1.0-runtime.zip -P /opt/app/dcae-controller-service-cdap-cluster-manager
+
+cd /opt/app/dcae-controller-service-cdap-cluster-manager
+unzip -o dcae-controller-service-cdap-cluster-manager*.zip
+
+chown -R dcae:dcae /opt/app/dcae-controller-service-cdap-cluster-manager
+
+wget https://nexus.onap.org/content/repositories/staging/org/openecomp/dcae/controller/dcae-controller-service-dmaap-drsub/1.1.0/dcae-controller-service-dmaap-drsub-1.1.0.pom -P /opt/app/dcae-controller-service-dmaap-drsub
+
+chown -R dcae:dcae /opt/app/dcae-controller-service-dmaap-drsub
+
+curl -s -k -f -o /tmp/dcae-apod-cdap-small-hadoop_1.1.0.deb https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.apod.cdap/deb-releases/dcae-apod-cdap-small-hadoop_1.1.0.deb
+
+curl -s -k -f -o /tmp/dcae-apod-analytics-tca_1.1.0.deb https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.apod.analytics/deb-releases/dcae-apod-analytics-tca_1.1.0.deb
+
+curl -s -k -f -o /tmp/HelloWorld-3.5.1.jar http://repo1.maven.org/maven2/co/cask/cdap/HelloWorld/3.5.1/HelloWorld-3.5.1.jar
+mkdir -p /opt/app/cask-hello-world/lib
+mv /tmp/HelloWorld-3.5.1.jar /opt/app/cask-hello-world/lib
+
+find /opt -type f -exec sed -i 's/sudo//g' {} \;
+
+apt-key adv --keyserver-options --keyserver keyserver.ubuntu.com --recv 07513CAD
+wget -qO - http://repository.cask.co/ubuntu/precise/amd64/cdap/3.5/pubkey.gpg | apt-key add -
+
+wget https://nexus.onap.org/content/repositories/staging/org/openecomp/dcae/controller/dcae-controller-service-dmaap-drsub-manager/1.1.0/dcae-controller-service-dmaap-drsub-manager-1.1.0-runtime.zip -P /opt/app/dcae-controller-service-dmaap-drsub-manager
+
+cd /opt/app/dcae-controller-service-dmaap-drsub-manager
+unzip -o dcae-controller-service-dmaap-drsub-manager-1.1.0-runtime.zip
+
+chown -R dcae:dcae /opt/app/dcae-controller-service-dmaap-drsub-manager
+
+mkdir /home/dcae/.ssh
+chmod og-rwx /home/dcae/.ssh
+chown -R dcae:dcae /home/dcae/.ssh
+touch /home/dcae/.ssh/authorized_keys
+chmod og-rwx /home/dcae/.ssh/authorized_keys
+chown -R dcae:dcae /home/dcae/.ssh/authorized_keys
+echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBn8Ctt5hJGkTQaffuSeINeABV4viBIM4TcP14kaLiWR1LkyNY+TaUnjxODobtZa4YW1lxFtoMCfZt2A5W9ZZPM+shZr4BOj+wU+xIrzn7ezN/CQjH7c4Wh0mWteuPnJrtdpyGQ/qBI2T+xo5G/Tl++SPUvvN2D4H8vl0miEgVPR47/P7Ba6kl7Bmrf9m0VDPdS69Qr2AhgBq5Qi/fTeGZA4sfKDHHRJxkQIXYmS8R5FISRpBD7ta2NTHapRz9dC6Cw8UttEFiWFUBjN6lwF9LUOkj9MiqiTQaElKKQzMIHr0AhlgIkwBLKAJoDrGQD9GKPwKCdW3OmnODMPxJjXc3 >> /home/dcae/.ssh/authorized_keys
+
+#bash /opt/app/dcae-cdap-small-hadoop/install.sh
diff --git a/kubernetes/dcae/cdap/docker/01-entrypoint.sh b/kubernetes/dcae/cdap/docker/01-entrypoint.sh
new file mode 100755
index 0000000000..952d1d4cc6
--- /dev/null
+++ b/kubernetes/dcae/cdap/docker/01-entrypoint.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+dpkg --install /tmp/dcae-apod-cdap-small-hadoop_1.1.0.deb
+dpkg --install /tmp/dcae-apod-analytics-tca_1.1.0.deb
+
+bash /opt/app/dcae-cdap-small-hadoop/install.sh
+su dcae -c "/opt/app/dcae-controller-service-cdap-cluster-manager/bin/manager.sh config"
+su dcae -c "/opt/app/dcae-controller-service-cdap-cluster-manager/bin/manager.sh restart" \ No newline at end of file
diff --git a/kubernetes/dcae/cdap/docker/Dockerfile b/kubernetes/dcae/cdap/docker/Dockerfile
new file mode 100644
index 0000000000..5b8583ee51
--- /dev/null
+++ b/kubernetes/dcae/cdap/docker/Dockerfile
@@ -0,0 +1,57 @@
+FROM ubuntu:16.04
+
+# Setup apt.conf proxy settings
+#RUN echo 'Acquire::http::proxy "http://some.proxy:8084/";' >> /etc/apt/apt.conf
+
+# Setup Corporate proxy
+#ENV no_proxy "localhost,127.0.0.1,localaddress,.localdomain.com,192.168.141.0/24"
+#ENV https_proxy http://some.proxy:8084/
+#ENV http_proxy http://fsome.proxy:8084/
+#ENV HTTP_PROXY http://some.proxy:8084/
+#ENV HTTPS_PROXY http://some.proxy:8084/
+#ENV FTP_PROXY http://some.proxy:8084/
+#ENV NO_PROXY "localhost,127.0.0.1,localaddress,.localdomain.com,192.168.141.0/24"
+
+# Additional packages
+RUN apt-get update -y
+RUN apt-get install -y git wget unzip curl dnsutils sudo
+RUN apt-get install -y maven unzip
+
+# Install python and pip
+RUN apt-get install -y python
+RUN wget https://bootstrap.pypa.io/get-pip.py
+RUN python get-pip.py
+RUN rm get-pip.py
+RUN pip install pyyaml
+
+# Install Groovy
+RUN mkdir -p /opt/app
+RUN (cd /opt/app ; curl -Lo apache-groovy-binary-2.4.6.zip https://dl.bintray.com/groovy/maven/apache-groovy-binary-2.4.6.zip )
+RUN (cd /opt/app ; unzip apache-groovy-binary-2.4.6.zip )
+RUN mkdir -p /opt/app/java/jdk
+RUN ln -s /usr /opt/app/java/jdk/jdk170
+RUN mkdir -p /opt/app/groovy
+RUN ln -s /opt/app/groovy-2.4.6 /opt/app/groovy/246
+ENV JAVA_HOME /opt/app/java/jdk/jdk170
+
+# Create user dcae
+RUN if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi
+
+# Hadoop
+EXPOSE 8020 8025 50070 50075 50010 50020
+
+# Zookeeper
+EXPOSE 3888 2888 2181
+
+VOLUME /opt/tools
+VOLUME /opt/data
+
+# Provisioning
+COPY 00-provisioning.sh /usr/local/bin/00-provisioning.sh
+RUN chmod a+x /usr/local/bin/00-provisioning.sh
+RUN /usr/local/bin/00-provisioning.sh
+
+# define the entrypoint
+COPY 01-entrypoint.sh /usr/local/bin/01-entrypoint.sh
+RUN chmod a+x /usr/local/bin/01-entrypoint.sh
+ENTRYPOINT ["/usr/local/bin/01-entrypoint.sh"]
diff --git a/kubernetes/dcae/cdap/docker/docker-compose.yaml b/kubernetes/dcae/cdap/docker/docker-compose.yaml
new file mode 100644
index 0000000000..8800c10e81
--- /dev/null
+++ b/kubernetes/dcae/cdap/docker/docker-compose.yaml
@@ -0,0 +1,44 @@
+version: '2'
+services:
+ cdap00:
+ build: .
+ hostname: zldcprivatecloudtruecdap00
+ image: cdap
+ ports:
+ - 8020
+ - 50070
+ - 50075
+ - 50010
+ - 50020
+ - 3888
+ - 2888
+ - 2181
+ - 8025
+ cdap01:
+ build: .
+ hostname: zldcprivatecloudtruecdap01
+ image: cdap
+ ports:
+ - 8020
+ - 50070
+ - 50075
+ - 50010
+ - 50020
+ - 3888
+ - 2888
+ - 2181
+ - 8025
+ cdap02:
+ build: .
+ hostname: zldcprivatecloudtruecdap02
+ image: cdap
+ ports:
+ - 8020
+ - 50070
+ - 50075
+ - 50010
+ - 50020
+ - 3888
+ - 2888
+ - 2181
+ - 8025 \ No newline at end of file
diff --git a/kubernetes/dcae/cdap/docker/fs/Dockerfile b/kubernetes/dcae/cdap/docker/fs/Dockerfile
new file mode 100644
index 0000000000..4e458dcd1e
--- /dev/null
+++ b/kubernetes/dcae/cdap/docker/fs/Dockerfile
@@ -0,0 +1,4 @@
+FROM ubuntu:16.04
+
+RUN mkdir -p /cdap
+VOLUME /cdap \ No newline at end of file
diff --git a/kubernetes/dcae/pgaas/Dockerfile b/kubernetes/dcae/pgaas/Dockerfile
new file mode 100755
index 0000000000..e1d147dfa9
--- /dev/null
+++ b/kubernetes/dcae/pgaas/Dockerfile
@@ -0,0 +1,45 @@
+FROM ubuntu:16.04
+
+# Install additional packages
+RUN apt-get update && apt-get -y install maven openjdk-8-jdk unzip python-pip curl dnsutils vim gawk wget openssh-client-ssh1
+RUN pip install pyyaml
+
+RUN apt-get update && apt-get install -y postgresql libpq5 repmgr python-psycopg2 python3-psycopg2 libgetopt-java
+RUN rm -f /usr/sbin/policy-rc.d
+
+# Install Groovy
+RUN mkdir -p /opt/app
+RUN (cd /opt/app ; curl -Lo apache-groovy-binary-2.4.6.zip https://dl.bintray.com/groovy/maven/apache-groovy-binary-2.4.6.zip )
+RUN (cd /opt/app ; unzip apache-groovy-binary-2.4.6.zip )
+RUN mkdir -p /opt/app/java/jdk
+RUN ln -s /usr /opt/app/java/jdk/jdk170
+RUN mkdir -p /opt/app/groovy
+RUN ln -s /opt/app/groovy-2.4.6 /opt/app/groovy/246
+
+# Create user dcae
+RUN if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi
+
+# Download required packages
+RUN curl -s -k -f -o /tmp/org.openecomp.dcae.storage.pgaas-cdf_1.0.0.deb https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-cdf_1.0.0.deb
+RUN curl -s -k -f -o /tmp/org.openecomp.dcae.storage.pgaas-postgresql-prep_1.0.0.deb https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-postgresql-prep_1.0.0.deb
+RUN curl -s -k -f -o /tmp/org.openecomp.dcae.storage.pgaas-postgresql-config_1.0.0.deb https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-postgresql-config_1.0.0.deb
+RUN curl -s -k -f -o /tmp/org.openecomp.dcae.storage.pgaas-pgaas_1.0.0.deb https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-pgaas_1.0.0.deb
+RUN curl -s -k -f -o /tmp/org.openecomp.dcae.storage.pgaas-pgaas-post_1.0.0.deb https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-pgaas-post_1.0.0.deb
+
+RUN apt-get update && apt-get install -y sudo && rm -rf /var/lib/apt/lists/*
+
+RUN mkdir -p /opt/tools
+RUN mkdir -p /dbroot/pgdata
+RUN mkdir -p /dbroot/pglogs
+
+EXPOSE 5432
+
+VOLUME /opt/tools
+VOLUME /dbroot/pgdata
+VOLUME /dbroot/pglogs
+
+# Setup the entrypoint
+COPY setup.sh /usr/local/bin/entrypoint.sh
+RUN chmod a+x /usr/local/bin/entrypoint.sh
+
+ENTRYPOINT ["usr/local/bin/entrypoint.sh"]
diff --git a/kubernetes/dcae/pgaas/setup.sh b/kubernetes/dcae/pgaas/setup.sh
new file mode 100755
index 0000000000..a843995003
--- /dev/null
+++ b/kubernetes/dcae/pgaas/setup.sh
@@ -0,0 +1,437 @@
+#!/bin/bash
+cat > /tmp/dcae_install.sh << EOF_DCAE_INSTALL
+#!/bin/bash
+set -x
+cd /tmp
+
+export DEBIAN_FRONTEND=noninteractive
+
+#### Using special configuration resource: instances/vm-postgresql/iad4.yaml
+## Adding configuration file: main
+cat | cat > /tmp/postgres.conf << EOF_CONFIG
+master: zldciad4vipstg00
+secondmaster: notused
+DRTR_NODE_KSTOREFILE: /opt/app/dcae-certificate/keystore.jks
+DRTR_NODE_KSTOREPASS: "No Certificate"
+DRTR_NODE_PVTKEYPASS: "No Certificate"
+PG_NODES : zldciad4vipstg00
+PG_JAVA_HOME : /opt/app/java/jdk/jdk170
+PG_CLUSTER : site
+EOF_CONFIG
+
+## Adding configuration file: mount_config
+cat | cat > /tmp/dcae-mount.conf << EOF_CONFIG
+osType: ubuntu
+volumes:
+ opt:
+ uuid: ephemeral
+ size: 80
+ filesystems:
+ /opt/tools:
+ size: 80
+ type: ext4
+ mount_opts: ''
+ dbroot:
+ uuid: cinder
+ size: 75
+ filesystems:
+ /dbroot/pgdata:
+ size: 50
+ type: ext4
+ mount_opts: ''
+ /dbroot/pglogs:
+ size: 25
+ type: ext4
+ mount_opts: ''
+
+EOF_CONFIG
+
+## Adding configuration file: ecomp-nexus
+cat > /tmp/ecomp-nexus.crt << EOF_CONFIG
+-----BEGIN CERTIFICATE-----
+MIIDtzCCAp+gAwIBAgIEet16RjANBgkqhkiG9w0BAQsFADB2MQswCQYDVQQGEwJVUzEUMBIGA1UE
+CBMLVW5zcGVjaWZpZWQxFDASBgNVBAcTC1Vuc3BlY2lmaWVkMREwDwYDVQQKEwhTb25hdHlwZTEQ
+MA4GA1UECxMHRXhhbXBsZTEWMBQGA1UEAwwNKi5lY29tcC1uZXh1czAeFw0xNjExMTQxMDE5NDJa
+Fw0zMDA3MjQxMDE5NDJaMHYxCzAJBgNVBAYTAlVTMRQwEgYDVQQIEwtVbnNwZWNpZmllZDEUMBIG
+A1UEBxMLVW5zcGVjaWZpZWQxETAPBgNVBAoTCFNvbmF0eXBlMRAwDgYDVQQLEwdFeGFtcGxlMRYw
+FAYDVQQDDA0qLmVjb21wLW5leHVzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqkDu
+vC91cZxOaRMYGHSyDeuw4hyXjqyD5Etl5L5TNN7+uFKEtvXsRYOxtD62TqWHKozffLE5o6zoRZL4
+8qNTQyAx0LaEfWfR2w0jat+UqtqEtW0xpOD0/O0qRq5Y/XG3Yr8SQ/y84Pr1FIflM7pM4PZTt3kc
+UfqzbaONW5K8t+UG+5jgNXdRk3hln8WMunVZeci0J6TV+tWs9tOeAKBdpI7K7LV+FJBaF8vBAw2x
+8AhlNPXKQUhK+M3DD73c1aLWrZ3mIwJXt2oQUDwgtXGCPR1/Z9f2tTAoDxpzvkwtP/BtH3qvgtpY
+QfDNmWbJVHh6ll39Hapt7V0v4aCRSN21ZQIDAQABo00wSzAMBgNVHRMEBTADAQH/MBwGA1UdEQQV
+MBOCC2Vjb21wLW5leHVzhwQK0MVLMB0GA1UdDgQWBBQxcUlk/lkKkwSz0GuewbXptJxl+zANBgkq
+hkiG9w0BAQsFAAOCAQEAPnNbtdreMZaUSjv+1eqpriLKquwnZhnwWENn1u3sw4hTAWQc+ehhogGg
+eIqPN81Dt3jhr0bYZW+r3gGq7tgrLxdSXso8bTtqHsFLszirgWcQXDlBQGnw9wqp/KBzeDJInJep
+d6aGu3yBXV6459S/mClxZTSvsR+Vz3rRWxx01R3/ft5/myqrRMDnEncqPopTbEamBuUJL3eJDpFO
+xlVqYR3y6AXwwguMaTiHMfFBmDOVaz4K8Qy6AaHH9eoch9fxOJ/7ASvqSwkC9GYTJSnF2vE37rmH
+kPp//Vm4WSnQ2NrBGkH9rUUdYdDdgWJYnTeZ+YFd8J6z9xNiEn9QKQNNcA==
+-----END CERTIFICATE-----
+
+EOF_CONFIG
+## Adding configuration file: vm-postgresql-console.properties
+cat > /tmp/vm-postgresql-console.properties << EOF_CONFIG
+localhost.endpoint=http://localhost:9999
+localhost.user=console
+localhost.password=MDBmMzE0NTgyMDU1NmVj
+EOF_CONFIG
+
+## Adding configuration file: vm-postgresql-gui.properties
+cat > /tmp/vm-postgresql-gui.properties << EOF_CONFIG
+EOF_CONFIG
+
+## Adding configuration file: vm-postgresql-log4j.properties
+cat > /tmp/vm-postgresql-log4j.properties << EOF_CONFIG
+#log4j.debug=0
+log4j.rootLogger=warn, file
+log4j.logger.org.openecomp.ncomp=info, file
+log4j.additivity.org.openecomp.ncomp=false
+
+#log4j.logger.org.apache.http.headers=debug, file
+#log4j.logger.org.apache.http.wire=debug, file
+## uploaded logger
+log4j.logger.org.openecomp.ncomp.sirius.manager.uploaded=info, uploaded
+log4j.additivity.org.openecomp.ncomp.sirius.manager.uploaded=false
+## request logging
+log4j.logger.org.openecomp.ncomp.sirius.manager.ManagementServer.requests=info, requests
+log4j.additivity.org.openecomp.ncomp.sirius.manager.ManagementServer.requests=false
+## openstack polling
+log4j.logger.org.openecomp.ncomp.openstack.OpenStackUtil.polling=info, polling
+log4j.additivity.org.openecomp.ncomp.openstack.OpenStackUtil.polling=false
+log4j.appender.file=org.apache.log4j.RollingFileAppender
+log4j.appender.file.File=logs/manager.log
+log4j.appender.file.layout=org.apache.log4j.PatternLayout
+log4j.appender.file.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n
+log4j.appender.file.MaxFileSize=50MB
+log4j.appender.file.MaxBackupIndex=5
+
+log4j.appender.uploaded=org.apache.log4j.RollingFileAppender
+log4j.appender.uploaded.File=logs/manager-uploaded.log
+log4j.appender.uploaded.layout=org.apache.log4j.PatternLayout
+log4j.appender.uploaded.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n
+log4j.appender.uploaded.MaxFileSize=50MB
+log4j.appender.uploaded.MaxBackupIndex=5
+
+log4j.appender.requests=org.apache.log4j.RollingFileAppender
+log4j.appender.requests.File=logs/manager-requests.log
+log4j.appender.requests.layout=org.apache.log4j.PatternLayout
+log4j.appender.requests.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n
+log4j.appender.requests.MaxFileSize=50MB
+log4j.appender.requests.MaxBackupIndex=5
+log4j.appender.polling=org.apache.log4j.RollingFileAppender
+log4j.appender.polling.File=logs/manager-polling.log
+log4j.appender.polling.layout=org.apache.log4j.PatternLayout
+log4j.appender.polling.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n
+log4j.appender.polling.MaxFileSize=50MB
+log4j.appender.polling.MaxBackupIndex=5
+
+### ECOMP Logging
+log4j.logger.org.openecomp.audit=info, audit
+log4j.additivity.org.openecomp.audit=false
+log4j.logger.org.openecomp.metrics=info, metrics
+log4j.additivity.org.openecomp.metrics=false
+log4j.logger.org.openecomp.error=info, error
+log4j.additivity.org.openecomp.error=false
+log4j.logger.com.att.eelf.debug=info, debug
+log4j.additivity.org.openecomp.debug=false
+log4j.appender.audit=org.apache.log4j.RollingFileAppender
+log4j.appender.audit.File=logs/audit.log
+log4j.appender.audit.layout=org.apache.log4j.PatternLayout
+log4j.appender.audit.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%5p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n
+log4j.appender.audit.MaxFileSize=50MB
+log4j.appender.audit.MaxBackupIndex=5
+log4j.appender.metrics=org.apache.log4j.RollingFileAppender
+log4j.appender.metrics.File=logs/metrics.log
+log4j.appender.metrics.layout=org.apache.log4j.PatternLayout
+log4j.appender.metrics.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n
+log4j.appender.metrics.MaxFileSize=50MB
+log4j.appender.metrics.MaxBackupIndex=5
+log4j.appender.error=org.apache.log4j.RollingFileAppender
+log4j.appender.error.File=logs/error.log
+log4j.appender.error.layout=org.apache.log4j.PatternLayout
+log4j.appender.error.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n
+log4j.appender.error.MaxFileSize=50MB
+log4j.appender.error.MaxBackupIndex=5
+log4j.appender.debug=org.apache.log4j.RollingFileAppender
+log4j.appender.debug.File=logs/debug.log
+log4j.appender.debug.layout=org.apache.log4j.PatternLayout
+log4j.appender.debug.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n
+log4j.appender.debug.MaxFileSize=50MB
+log4j.appender.debug.MaxBackupIndex=5
+EOF_CONFIG
+
+## Adding configuration file: vm-postgresql-manager.properties
+cat > /tmp/vm-postgresql-manager.properties << EOF_CONFIG
+server.dir = data/resources
+metrics.dir = data/metrics
+properties.dir = data/properties
+server.port = 9999
+server.user.console = MDBmMzE0NTgyMDU1NmVj
+server.user.gui = M2NiOTg1YzNiYTI2NTJh
+server.user.client = OTNmMmFkYzkxMzYzNTk0
+EOF_CONFIG
+
+## Adding configuration file: vm-postgresql-runtime.properties
+cat > /tmp/vm-postgresql-runtime.properties << EOF_CONFIG
+factory.vm=org.openecomp.dcae.controller.service.servers.vm.DcaeVmFactory
+factory.postgres=org.openecomp.dcae.controller.service.storage.postgres.service.impl.ServicePackageImpl
+EOF_CONFIG
+
+## Adding configuration file: vm-postgresql-hosts
+cat > /tmp/vm-postgresql-hosts << EOF_CONFIG
+EOF_CONFIG
+
+## Adding configuration file: monitoring-agent-gui.properties
+cat > /tmp/monitoring-agent-gui.properties << EOF_CONFIG
+EOF_CONFIG
+
+cat >> /etc/hosts << HOSTS_EOF
+HOSTS_EOF
+
+cat > /tmp/certificate.pkcs12.b64code << EOF_CERT
+EOF_CERT
+
+##############################################################
+##################### CLOUDINIT ##############################
+##############################################################
+
+## need to fix cloudinit in Centos.
+
+CLOUDHOSTCFG=/etc/cloud/cloud.cfg.d/99_hostname.cfg
+if [ -f /etc/redhat-release ]; then
+ # CentOS/RHEL
+ ( echo "hostname: \$(hostname)"; echo "fqdn: \$(hostname -f)" ) > \$CLOUDHOSTCFG
+fi
+
+mkdir -p ~/.ssh
+touch ~/.ssh/authorized_keys
+
+echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCYz++VKcW3Sw0Sh7fFyTIjXED6NUUNYbje7awcnvaHHAC0rUxs7boX6hmWDViXoGZA5xw4Xhk5kIEs+zxMCDlF1q/9rbyq5ndonlBz3aPx7+SBqVR5sPalbSr8dJhGPwpj/0Df+FzqjGVL2p2d4VV7SeT/kKrNcSY6SmYHln6osoGFAHsOZC0d+fiba4zfCI9EI6zHdyCujwayjQ5W5UgA50XQ0KXpI5WtF6MOwO6jPL3SNNDlWobG/nsCAMxTQ04dALpYSoamM12Ps72MfxEwaKkoAcsH6WsFbuvoUSXwNcosmyxYrxNynsUz4C2Tz+PZqelGvm8Y8MtNuhN7oqAD root@ecomp-jumpbox >> /home/ubuntu/.ssh/authorized_keys
+
+######### step-1
+
+cp /tmp/ecomp-nexus.crt /usr/local/share/ca-certificates/ ; update-ca-certificates
+
+######### step-2
+
+echo 162.242.254.138 ecomp-nexus >> /etc/hosts
+
+######### step-3
+
+if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi
+
+case runtime in
+ %*)
+ A1=org.openecomp.dcae.controller:dcae-controller-core-utils:1.0.0:zip
+ ;;
+ *)
+ A1=org.openecomp.dcae.controller:dcae-controller-core-utils:1.0.0:zip:runtime
+ ;;
+esac
+
+wget https://nexus.onap.org/content/repositories/staging/org/openecomp/dcae/controller/dcae-controller-core-utils/1.0.0/dcae-controller-core-utils-1.0.0-runtime.zip -P /opt/app/dcae-controller-core-utils
+
+case zip in
+ jar)
+ mkdir /opt/app/dcae-controller-core-utils/lib
+ mv /opt/app/dcae-controller-core-utils/*.jar /opt/app/dcae-controller-core-utils/lib
+ ;;
+ zip)
+ ( cd /opt/app/dcae-controller-core-utils ; unzip -o dcae-controller-core-utils*.zip )
+ ;;
+esac
+
+chown -R dcae:dcae /opt/app/dcae-controller-core-utils
+
+######### step-4
+
+/opt/app/dcae-controller-core-utils/bin/fs-init.py
+
+######### step-5
+
+if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi
+
+case runtime in
+ %*)
+ A1=org.openecomp.dcae.controller:dcae-controller-service-common-vm-manager:1.0.0:zip
+ ;;
+ *)
+ A1=org.openecomp.dcae.controller:dcae-controller-service-common-vm-manager:1.0.0:zip:runtime
+ ;;
+esac
+
+wget https://nexus.onap.org/content/repositories/staging/org/openecomp/dcae/controller/dcae-controller-service-common-vm-manager/1.0.0/dcae-controller-service-common-vm-manager-1.0.0-runtime.zip -P /opt/app/dcae-controller-service-common-vm-manager
+
+case zip in
+ jar)
+ mkdir /opt/app/dcae-controller-service-common-vm-manager/lib
+ mv /opt/app/dcae-controller-service-common-vm-manager/*.jar /opt/app/dcae-controller-service-common-vm-manager/lib
+ ;;
+ zip)
+ ( cd /opt/app/dcae-controller-service-common-vm-manager ; unzip -o dcae-controller-service-common-vm-manager*.zip )
+ ;;
+esac
+
+chown -R dcae:dcae /opt/app/dcae-controller-service-common-vm-manager
+
+######### step-6
+
+if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi
+
+case %{assemblyId} in
+ %*)
+ A1=org.openecomp.dcae.controller:dcae-controller-service-storage-postgres-model:1.0.0:jar
+ ;;
+ *)
+ A1=org.openecomp.dcae.controller:dcae-controller-service-storage-postgres-model:1.0.0:jar:%{assemblyId}
+ ;;
+esac
+
+wget https://nexus.onap.org/content/repositories/staging/org/openecomp/dcae/controller/dcae-controller-service-storage-postgres-model/1.0.0/dcae-controller-service-storage-postgres-model-1.0.0.jar -P /opt/app/dcae-controller-service-storage-postgres-model
+
+case jar in
+ jar)
+ mkdir /opt/app/dcae-controller-service-storage-postgres-model/lib
+ mv /opt/app/dcae-controller-service-storage-postgres-model/*.jar /opt/app/dcae-controller-service-storage-postgres-model/lib
+ ;;
+ zip)
+ ( cd /opt/app/dcae-controller-service-storage-postgres-model ; unzip -o dcae-controller-service-storage-postgres-model*.zip )
+ ;;
+esac
+
+chown -R dcae:dcae /opt/app/dcae-controller-service-storage-postgres-model
+
+######### step-7
+
+if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi
+
+OUT=/tmp/`basename https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-cdf_1.0.0.deb`
+
+case deb in
+ deb)
+ dpkg --install \$OUT
+ ;;
+ jar)
+ mkdir -p /opt/app/%{artifactId}/lib
+ mv \$OUT /opt/app/%{artifactId}/lib
+ chown -R dcae:dcae /opt/app/%{artifactId}
+ ;;
+ zip)
+ mkdir -p /opt/app/%{artifactId}/lib
+ ( cd /opt/app/%{artifactId} ; cp -p \$OUT . ; unzip -o \$OUT )
+ chown -R dcae:dcae /opt/app/%{artifactId}
+ ;;
+esac
+
+######### step-8
+
+if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi
+
+OUT=/tmp/`basename https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-postgresql-prep_1.0.0.deb`
+
+case deb in
+ deb)
+ dpkg --install \$OUT
+ ;;
+ jar)
+ mkdir -p /opt/app/%{artifactId}/lib
+ mv \$OUT /opt/app/%{artifactId}/lib
+ chown -R dcae:dcae /opt/app/%{artifactId}
+ ;;
+ zip)
+ mkdir -p /opt/app/%{artifactId}/lib
+ ( cd /opt/app/%{artifactId} ; cp -p \$OUT . ; unzip -o \$OUT )
+ chown -R dcae:dcae /opt/app/%{artifactId}
+ ;;
+esac
+
+######### step-9
+
+if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi
+
+OUT=/tmp/`basename https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-postgresql-config_1.0.0.deb`
+
+case deb in
+ deb)
+ dpkg --install \$OUT
+ ;;
+ jar)
+ mkdir -p /opt/app/%{artifactId}/lib
+ mv \$OUT /opt/app/%{artifactId}/lib
+ chown -R dcae:dcae /opt/app/%{artifactId}
+ ;;
+ zip)
+ mkdir -p /opt/app/%{artifactId}/lib
+ ( cd /opt/app/%{artifactId} ; cp -p \$OUT . ; unzip -o \$OUT )
+ chown -R dcae:dcae /opt/app/%{artifactId}
+ ;;
+esac
+
+######### step-10
+
+if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi
+
+OUT=/tmp/`basename https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-pgaas_1.0.0.deb`
+
+case deb in
+ deb)
+ dpkg --install \$OUT
+ ;;
+ jar)
+ mkdir -p /opt/app/%{artifactId}/lib
+ mv \$OUT /opt/app/%{artifactId}/lib
+ chown -R dcae:dcae /opt/app/%{artifactId}
+ ;;
+ zip)
+ mkdir -p /opt/app/%{artifactId}/lib
+ ( cd /opt/app/%{artifactId} ; cp -p \$OUT . ; unzip -o \$OUT )
+ chown -R dcae:dcae /opt/app/%{artifactId}
+ ;;
+esac
+
+touch /etc/sudoers.d/dcae-postgres
+echo "dcae ALL=(postgres) NOPASSWD: ALL" > /etc/sudoers.d/dcae-postgres
+
+/opt/app/postgresql-prep/bin/iDNS-responder.py &
+
+/etc/init.d/cron restart
+
+######### step-11
+
+if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi
+
+OUT=/tmp/`basename https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-pgaas-post_1.0.0.deb`
+case deb in
+ deb)
+ dpkg --install \$OUT
+ ;;
+ jar)
+ mkdir -p /opt/app/%{artifactId}/lib
+ mv \$OUT /opt/app/%{artifactId}/lib
+ chown -R dcae:dcae /opt/app/%{artifactId}
+ ;;
+ zip)
+ mkdir -p /opt/app/%{artifactId}/lib
+ ( cd /opt/app/%{artifactId} ; cp -p \$OUT . ; unzip -o \$OUT )
+ chown -R dcae:dcae /opt/app/%{artifactId}
+ ;;
+esac
+
+######### step-12
+
+find /opt -type f -exec sed -i 's/sudo//g' {} \;
+su dcae -c "/opt/app/dcae-controller-service-common-vm-manager/bin/manager.sh config"
+su dcae -c "/opt/app/dcae-controller-service-common-vm-manager/bin/manager.sh restart"
+
+mkdir /home/dcae/.ssh
+chmod og-rwx /home/dcae/.ssh
+chown -R dcae:dcae /home/dcae/.ssh
+touch /home/dcae/.ssh/authorized_keys
+chmod og-rwx /home/dcae/.ssh/authorized_keys
+chown -R dcae:dcae /home/dcae/.ssh/authorized_keys
+echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCYz++VKcW3Sw0Sh7fFyTIjXED6NUUNYbje7awcnvaHHAC0rUxs7boX6hmWDViXoGZA5xw4Xhk5kIEs+zxMCDlF1q/9rbyq5ndonlBz3aPx7+SBqVR5sPalbSr8dJhGPwpj/0Df+FzqjGVL2p2d4VV7SeT/kKrNcSY6SmYHln6osoGFAHsOZC0d+fiba4zfCI9EI6zHdyCujwayjQ5W5UgA50XQ0KXpI5WtF6MOwO6jPL3SNNDlWobG/nsCAMxTQ04dALpYSoamM12Ps72MfxEwaKkoAcsH6WsFbuvoUSXwNcosmyxYrxNynsUz4C2Tz+PZqelGvm8Y8MtNuhN7oqAD root@ecomp-jumpbox >> /home/dcae/.ssh/authorized_keys
+#no final script: vm-postgresql.userdata
+EOF_DCAE_INSTALL
+echo null > /tmp/.password
+chmod u+x /tmp/dcae_install.sh
+/tmp/dcae_install.sh 2>&1 | tee /tmp/dcae_install.log
diff --git a/kubernetes/dcae/templates/all-services.yaml b/kubernetes/dcae/templates/all-services.yaml
new file mode 100644
index 0000000000..45d22dba21
--- /dev/null
+++ b/kubernetes/dcae/templates/all-services.yaml
@@ -0,0 +1,117 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: zookeeper
+ namespace: "{{ .Values.nsPrefix }}-dcae"
+ labels:
+ app: zookeeper
+spec:
+ ports:
+ - name: zookeeper1
+ port: 2181
+ selector:
+ app: zookeeper
+ clusterIP: None
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: kafka
+ namespace: "{{ .Values.nsPrefix }}-dcae"
+ labels:
+ app: kafka
+spec:
+ ports:
+ - name: kafka1
+ port: 9092
+ selector:
+ app: kafka
+ clusterIP: None
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: dmaap
+ namespace: "{{ .Values.nsPrefix }}-dcae"
+ labels:
+ app: dmaap
+ version: 1.1.0
+spec:
+ ports:
+ - name: mr1
+ port: 3904
+ #nodePort: {{ .Values.nodePortPrefix }}27
+ - name: mr2
+ port: 3905
+ #nodePort: {{ .Values.nodePortPrefix }}26
+ selector:
+ app: dmaap
+ #type: NodePort
+ clusterIP: None
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: zldciad4vipstg00
+ namespace: "{{ .Values.nsPrefix }}-dcae"
+ labels:
+ app: dcae-pgaas
+spec:
+ selector:
+ app: dcae-pgaas
+ ports:
+ - port: 5432
+ protocol: TCP
+ targetPort: 5432
+ nodePort: {{ .Values.nodePortPrefix }}45
+ type: NodePort
+---
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app: dcae-collector-common-event
+ version: latest
+ name: dcae-collector-common-event
+ namespace: "{{ .Values.nsPrefix }}-dcae"
+spec:
+ ports:
+ - name: dcae-ce1
+ port: 8080
+ protocol: TCP
+ nodePort: {{ .Values.nodePortPrefix }}36
+ - name: dcae-ce2
+ port: 8443
+ protocol: TCP
+ nodePort: {{ .Values.nodePortPrefix }}37
+ - name: dcae-ce3
+ port: 9999
+ protocol: TCP
+ nodePort: {{ .Values.nodePortPrefix }}38
+ selector:
+ app: dcae-collector-common-event
+ type: NodePort
+---
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app: dcae-collector-dmaapbc
+ version: latest
+ name: dcae-collector-dmaapbc
+ namespace: "{{ .Values.nsPrefix }}-dcae"
+spec:
+ ports:
+ - name: dcae-bc1
+ port: 8080
+ protocol: TCP
+ targetPort: 8080
+ nodePort: {{ .Values.nodePortPrefix }}39
+ - name: dcae-bc2
+ port: 8443
+ protocol: TCP
+ targetPort: 8443
+ nodePort: {{ .Values.nodePortPrefix }}40
+ selector:
+ app: dcae-collector-dmaapbc
+ type: NodePort
diff --git a/kubernetes/dcae/templates/cdap0-dep.yaml b/kubernetes/dcae/templates/cdap0-dep.yaml
new file mode 100644
index 0000000000..d438ab9477
--- /dev/null
+++ b/kubernetes/dcae/templates/cdap0-dep.yaml
@@ -0,0 +1,84 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ annotations:
+ deployment.kubernetes.io/revision: "1"
+ labels:
+ app: cdap0
+ name: cdap0
+ namespace: "{{ .Values.nsPrefix }}-dcae"
+spec:
+ selector:
+ matchLabels:
+ app: cdap0
+ strategy:
+ rollingUpdate:
+ maxSurge: 1
+ maxUnavailable: 1
+ type: RollingUpdate
+ template:
+ metadata:
+ labels:
+ app: cdap0
+ name: cdap0
+ annotations:
+ pod.beta.kubernetes.io/init-containers: '[
+ {
+ "name": "create-fs",
+ "image": "{{ .Values.image.cdapfs }}",
+ "imagePullPolicy": "{{ .Values.pullPolicy }}",
+ "command": ["/bin/bash", "-c", "mkdir -p /cdap/{cdap0-opt-tools,cdap0-opt-data,pod-ip}; grep `hostname` /etc/hosts > /cdap/pod-ip/`hostname`_ip.txt; while [`ls /cdap/pod-ip | wc -l` < 3]; do sleep 1; done"],
+ "volumeMounts": [
+ {
+ "mountPath": "/cdap",
+ "name": "cdap-root"
+ }
+ ]
+ }
+ ]'
+ spec:
+ hostname: zldcprivatecloudtruecdap00
+ containers:
+ - image: {{ .Values.image.cdap }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ command: ["/bin/bash"]
+ args: ["-c", "cat /cdap/pod-ip/* >> /etc/hosts; /usr/local/bin/01-entrypoint.sh; sleep infinity;"]
+ name: cdap0
+ ports:
+ - containerPort: 8020
+ protocol: TCP
+ - containerPort: 8025
+ protocol: TCP
+ - containerPort: 50070
+ protocol: TCP
+ - containerPort: 50075
+ protocol: TCP
+ - containerPort: 50010
+ protocol: TCP
+ - containerPort: 50020
+ protocol: TCP
+ - containerPort: 3888
+ protocol: TCP
+ - containerPort: 2888
+ protocol: TCP
+ - containerPort: 2181
+ protocol: TCP
+ volumeMounts:
+ - mountPath: /cdap
+ name: cdap-root
+ - mountPath: /opt/tools
+ name: dcae-cdap0-opt-tools
+ - mountPath: /opt/data
+ name: dcae-cdap0-opt-data
+ volumes:
+ - name: cdap-root
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap
+ - name: dcae-cdap0-opt-tools
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap/cdap0-opt-tools
+ - name: dcae-cdap0-opt-data
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap/cdap0-opt-data
+ imagePullSecrets:
+ - name: "{{ .Values.nsPrefix }}-docker-registry-key"
diff --git a/kubernetes/dcae/templates/cdap1-dep.yaml b/kubernetes/dcae/templates/cdap1-dep.yaml
new file mode 100644
index 0000000000..efc64da203
--- /dev/null
+++ b/kubernetes/dcae/templates/cdap1-dep.yaml
@@ -0,0 +1,84 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ annotations:
+ deployment.kubernetes.io/revision: "1"
+ labels:
+ app: cdap1
+ name: cdap1
+ namespace: "{{ .Values.nsPrefix }}-dcae"
+spec:
+ selector:
+ matchLabels:
+ app: cdap1
+ strategy:
+ rollingUpdate:
+ maxSurge: 1
+ maxUnavailable: 1
+ type: RollingUpdate
+ template:
+ metadata:
+ labels:
+ app: cdap1
+ name: cdap1
+ annotations:
+ pod.beta.kubernetes.io/init-containers: '[
+ {
+ "name": "create-fs",
+ "image": "{{ .Values.image.cdapfs }}",
+ "imagePullPolicy": "{{ .Values.pullPolicy }}",
+ "command": ["/bin/bash", "-c", "mkdir -p /cdap/{cdap1-opt-tools,cdap1-opt-data}; grep `hostname` /etc/hosts > /cdap/pod-ip/`hostname`_ip.txt; while [`ls /cdap/pod-ip | wc -l` < 3]; do sleep 1; done"],
+ "volumeMounts": [
+ {
+ "mountPath": "/cdap",
+ "name": "cdap-root"
+ }
+ ]
+ }
+ ]'
+ spec:
+ hostname: zldcprivatecloudtruecdap01
+ containers:
+ - image: {{ .Values.image.cdap }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ command: ["/bin/bash"]
+ args: ["-c", "cat /cdap/pod-ip/* >> /etc/hosts; /usr/local/bin/01-entrypoint.sh; sleep infinity;"]
+ name: cdap1
+ ports:
+ - containerPort: 8020
+ protocol: TCP
+ - containerPort: 8025
+ protocol: TCP
+ - containerPort: 50070
+ protocol: TCP
+ - containerPort: 50075
+ protocol: TCP
+ - containerPort: 50010
+ protocol: TCP
+ - containerPort: 50020
+ protocol: TCP
+ - containerPort: 3888
+ protocol: TCP
+ - containerPort: 2888
+ protocol: TCP
+ - containerPort: 2181
+ protocol: TCP
+ volumeMounts:
+ - mountPath: /cdap
+ name: cdap-root
+ - mountPath: /opt/tools
+ name: dcae-cdap1-opt-tools
+ - mountPath: /opt/data
+ name: dcae-cdap1-opt-data
+ volumes:
+ - name: cdap-root
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap
+ - name: dcae-cdap1-opt-tools
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap/cdap1-opt-tools
+ - name: dcae-cdap1-opt-data
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap/cdap1-opt-data
+ imagePullSecrets:
+ - name: "{{ .Values.nsPrefix }}-docker-registry-key"
diff --git a/kubernetes/dcae/templates/cdap2-dep.yaml b/kubernetes/dcae/templates/cdap2-dep.yaml
new file mode 100644
index 0000000000..64f8e300b7
--- /dev/null
+++ b/kubernetes/dcae/templates/cdap2-dep.yaml
@@ -0,0 +1,84 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ annotations:
+ deployment.kubernetes.io/revision: "1"
+ labels:
+ app: cdap2
+ name: cdap2
+ namespace: "{{ .Values.nsPrefix }}-dcae"
+spec:
+ selector:
+ matchLabels:
+ app: cdap2
+ strategy:
+ rollingUpdate:
+ maxSurge: 1
+ maxUnavailable: 1
+ type: RollingUpdate
+ template:
+ metadata:
+ labels:
+ app: cdap2
+ name: cdap2
+ annotations:
+ pod.beta.kubernetes.io/init-containers: '[
+ {
+ "name": "create-fs",
+ "image": "{{ .Values.image.cdapfs }}",
+ "imagePullPolicy": "{{ .Values.pullPolicy }}",
+ "command": ["/bin/bash", "-c", "mkdir -p /cdap/{cdap2-opt-tools,cdap2-opt-data}; grep `hostname` /etc/hosts > /cdap/pod-ip/`hostname`_ip.txt; while [`ls /cdap/pod-ip | wc -l` < 3]; do sleep 1; done"],
+ "volumeMounts": [
+ {
+ "mountPath": "/cdap",
+ "name": "cdap-root"
+ }
+ ]
+ }
+ ]'
+ spec:
+ hostname: zldcprivatecloudtruecdap02
+ containers:
+ - image: {{ .Values.image.cdap }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ command: ["/bin/bash"]
+ args: ["-c", "cat /cdap/pod-ip/* >> /etc/hosts; /usr/local/bin/01-entrypoint.sh; sleep infinity;"]
+ name: cdap2
+ ports:
+ - containerPort: 8020
+ protocol: TCP
+ - containerPort: 8025
+ protocol: TCP
+ - containerPort: 50070
+ protocol: TCP
+ - containerPort: 50075
+ protocol: TCP
+ - containerPort: 50010
+ protocol: TCP
+ - containerPort: 50020
+ protocol: TCP
+ - containerPort: 3888
+ protocol: TCP
+ - containerPort: 2888
+ protocol: TCP
+ - containerPort: 2181
+ protocol: TCP
+ volumeMounts:
+ - mountPath: /cdap
+ name: cdap-root
+ - mountPath: /opt/tools
+ name: dcae-cdap2-opt-tools
+ - mountPath: /opt/data
+ name: dcae-cdap2-opt-data
+ volumes:
+ - name: cdap-root
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap
+ - name: dcae-cdap2-opt-tools
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap/cdap2-opt-tools
+ - name: dcae-cdap2-opt-data
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap/cdap2-opt-data
+ imagePullSecrets:
+ - name: "{{ .Values.nsPrefix }}-docker-registry-key"
diff --git a/kubernetes/dcae/templates/dcae-collector-common-event.yaml b/kubernetes/dcae/templates/dcae-collector-common-event.yaml
new file mode 100644
index 0000000000..c77e5a4d96
--- /dev/null
+++ b/kubernetes/dcae/templates/dcae-collector-common-event.yaml
@@ -0,0 +1,38 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: dcae-collector-common-event
+ namespace: "{{ .Values.nsPrefix }}-dcae"
+spec:
+ selector:
+ matchLabels:
+ app: dcae-collector-common-event
+ template:
+ metadata:
+ labels:
+ app: dcae-collector-common-event
+ name: dcae-collector-common-event
+ spec:
+ containers:
+ - image: {{ .Values.image.commonevent }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: dcae-collector-common-event
+ ports:
+ - containerPort: 8080
+ - containerPort: 8443
+ - containerPort: 9999
+ env:
+# - name: KAFKA_ZOOKEEPER_CONNECT
+# value: "zookeeper:2181"
+# command:
+# - start-kafka.sh
+ volumeMounts:
+ - mountPath: /opt/app/manager/config
+ name: dcae-collector-common-event-config
+ restartPolicy: Always
+ volumes:
+ - name: dcae-collector-common-event-config
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/common-event/config
+ imagePullSecrets:
+ - name: "{{ .Values.nsPrefix }}-docker-registry-key"
diff --git a/kubernetes/dcae/templates/dcae-collector-dmaapbc.yaml b/kubernetes/dcae/templates/dcae-collector-dmaapbc.yaml
new file mode 100644
index 0000000000..a36d5061f2
--- /dev/null
+++ b/kubernetes/dcae/templates/dcae-collector-dmaapbc.yaml
@@ -0,0 +1,37 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: dcae-collector-dmaapbc
+ namespace: "{{ .Values.nsPrefix }}-dcae"
+spec:
+ selector:
+ matchLabels:
+ app: dcae-collector-dmaapbc
+ template:
+ metadata:
+ labels:
+ app: dcae-collector-dmaapbc
+ name: dcae-collector-dmaapbc
+ spec:
+ containers:
+ - image: {{ .Values.image.dmaapbc }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: dcae-collector-dmaapbc
+ ports:
+ - containerPort: 18080
+ - containerPort: 18443
+ env:
+# - name: KAFKA_ZOOKEEPER_CONNECT
+# value: "zookeeper:2181"
+# command:
+# - start-kafka.sh
+ volumeMounts:
+ - mountPath: /opt/app/config
+ name: dcae-collector-dmaapbc-config
+ restartPolicy: Always
+ volumes:
+ - name: dcae-collector-dmaapbc-config
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/dmaapbc/config
+ imagePullSecrets:
+ - name: "{{ .Values.nsPrefix }}-docker-registry-key"
diff --git a/kubernetes/dcae/templates/dcae-controller.yaml b/kubernetes/dcae/templates/dcae-controller.yaml
new file mode 100644
index 0000000000..459e81e8b3
--- /dev/null
+++ b/kubernetes/dcae/templates/dcae-controller.yaml
@@ -0,0 +1,61 @@
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app: dcae-controller
+ version: latest
+ name: dcae-controller
+ namespace: "{{ .Values.nsPrefix }}-dcae"
+spec:
+ ports:
+ - name: dcae-con1
+ port: 8000
+ protocol: TCP
+ targetPort: 8000
+ nodePort: {{ .Values.nodePortPrefix }}34
+ - name: dcae-con2
+ port: 9998
+ protocol: TCP
+ targetPort: 9998
+ nodePort: {{ .Values.nodePortPrefix }}35
+ selector:
+ app: dcae-controller
+ type: NodePort
+---
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: dcae-controller
+ namespace: "{{ .Values.nsPrefix }}-dcae"
+spec:
+ selector:
+ matchLabels:
+ app: dcae-controller
+ template:
+ metadata:
+ labels:
+ app: dcae-controller
+ name: dcae-controller
+ spec:
+ containers:
+ - image: {{ .Values.image.controller }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: dcae-controller
+ ports:
+ - containerPort: 8000
+ - containerPort: 9998
+ env:
+# - name: KAFKA_ZOOKEEPER_CONNECT
+# value: "zookeeper:2181"
+# command:
+# - start-kafka.sh
+ volumeMounts:
+ - mountPath: /opt/app/config
+ name: dcae-controller-config
+ restartPolicy: Always
+ volumes:
+ - name: dcae-controller-config
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/dcae-controller/config
+ imagePullSecrets:
+ - name: "{{ .Values.nsPrefix }}-docker-registry-key"
diff --git a/kubernetes/dcae/templates/dcae-dmaap.yaml b/kubernetes/dcae/templates/dcae-dmaap.yaml
new file mode 100644
index 0000000000..e1f61e5135
--- /dev/null
+++ b/kubernetes/dcae/templates/dcae-dmaap.yaml
@@ -0,0 +1,75 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: dmaap
+ namespace: "{{ .Values.nsPrefix }}-dcae"
+spec:
+ selector:
+ matchLabels:
+ app: dmaap
+ template:
+ metadata:
+ labels:
+ app: dmaap
+ name: dmaap
+ annotations:
+ pod.beta.kubernetes.io/init-containers: '[
+ {
+ "args": [
+ "--container-name",
+ "kafka",
+ "--container-name",
+ "zookeeper"
+ ],
+ "command": [
+ "/root/ready.py"
+ ],
+ "env": [
+ {
+ "name": "NAMESPACE",
+ "valueFrom": {
+ "fieldRef": {
+ "apiVersion": "v1",
+ "fieldPath": "metadata.namespace"
+ }
+ }
+ }
+ ],
+ "image": "{{ .Values.image.readiness }}",
+ "imagePullPolicy": "{{ .Values.pullPolicy }}",
+ "name": "dmaap-readiness"
+ }
+ ]'
+ spec:
+ containers:
+ - image: {{ .Values.image.dmaap }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: dmaap
+ ports:
+ - containerPort: 3904
+ - containerPort: 3905
+ readinessProbe:
+ tcpSocket:
+ port: 3904
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ volumeMounts:
+ - mountPath: /appl/dmaapMR1/bundleconfig/etc/appprops/MsgRtrApi.properties
+ name: appprops
+ - mountPath: /appl/dmaapMR1/etc/cadi.properties
+ name: cadi
+ - mountPath: /appl/dmaapMR1/etc/keyfile
+ name: mykey
+ restartPolicy: Always
+ volumes:
+ - name: appprops
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/message-router/dmaap/MsgRtrApi.properties
+ - name: cadi
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/message-router/dmaap/cadi.properties
+ - name: mykey
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/message-router/dmaap/mykey
+ imagePullSecrets:
+ - name: "{{ .Values.nsPrefix }}-docker-registry-key"
diff --git a/kubernetes/dcae/templates/dcae-kafka.yaml b/kubernetes/dcae/templates/dcae-kafka.yaml
new file mode 100644
index 0000000000..9a092264f9
--- /dev/null
+++ b/kubernetes/dcae/templates/dcae-kafka.yaml
@@ -0,0 +1,83 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: kafka
+ namespace: "{{ .Values.nsPrefix }}-dcae"
+spec:
+ selector:
+ matchLabels:
+ app: kafka
+ template:
+ metadata:
+ labels:
+ app: kafka
+ name: kafka
+ annotations:
+ pod.beta.kubernetes.io/init-containers: '[
+ {
+ "args": [
+ "--container-name",
+ "zookeeper"
+ ],
+ "command": [
+ "/root/ready.py"
+ ],
+ "env": [
+ {
+ "name": "NAMESPACE",
+ "valueFrom": {
+ "fieldRef": {
+ "apiVersion": "v1",
+ "fieldPath": "metadata.namespace"
+ }
+ }
+ }
+ ],
+ "image": "{{ .Values.image.readiness }}",
+ "imagePullPolicy": "{{ .Values.pullPolicy }}",
+ "name": "kafka-readiness"
+ }
+ ]'
+ spec:
+ containers:
+ - image: {{ .Values.image.kafka }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: kafka
+ ports:
+ - containerPort: 9092
+ readinessProbe:
+ tcpSocket:
+ port: 9092
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ env:
+ - name: KAFKA_ZOOKEEPER_CONNECT
+ value: "zookeeper.{{ .Values.nsPrefix }}-dcae:2181"
+ - name: KAFKA_ADVERTISED_HOST_NAME
+ value: "kafka"
+ - name: KAFKA_BROKER_ID
+ value: "1"
+ - name: KAFKA_ADVERTISED_PORT
+ value: "9092"
+ - name: KAFKA_PORT
+ value: "9092"
+ volumeMounts:
+ - mountPath: /var/run/docker.sock
+ name: docker-socket
+ - mountPath: /kafka
+ name: kafka-data
+ - mountPath: /start-kafka.sh
+ name: start-kafka
+ restartPolicy: Always
+ volumes:
+ - name: docker-socket
+ hostPath:
+ path: /var/run/docker.sock
+ - name: kafka-data
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/message-router/dcae-startup-vm-message-router/docker_files/data-kafka/
+ - name: start-kafka
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/message-router/dcae-startup-vm-message-router/docker_files/start-kafka.sh
+ imagePullSecrets:
+ - name: "{{ .Values.nsPrefix }}-docker-registry-key"
diff --git a/kubernetes/dcae/templates/dcae-zookeeper.yaml b/kubernetes/dcae/templates/dcae-zookeeper.yaml
new file mode 100644
index 0000000000..8d03c9d985
--- /dev/null
+++ b/kubernetes/dcae/templates/dcae-zookeeper.yaml
@@ -0,0 +1,31 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: zookeeper
+ namespace: "{{ .Values.nsPrefix }}-dcae"
+spec:
+ selector:
+ matchLabels:
+ app: zookeeper
+ template:
+ metadata:
+ labels:
+ app: zookeeper
+ name: zookeeper
+ spec:
+ containers:
+ - image: {{ .Values.image.zookeeper }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: zookeeper
+ ports:
+ - containerPort: 2181
+ volumeMounts:
+ - mountPath: /opt/zookeeper-3.4.9/data
+ name: zookeeper-data
+ restartPolicy: Always
+ volumes:
+ - name: zookeeper-data
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/message-router/dcae-startup-vm-message-router/docker_files/data-zookeeper
+ imagePullSecrets:
+ - name: "{{ .Values.nsPrefix }}-docker-registry-key"
diff --git a/kubernetes/dcae/templates/pgaas.yaml b/kubernetes/dcae/templates/pgaas.yaml
new file mode 100644
index 0000000000..de62be501a
--- /dev/null
+++ b/kubernetes/dcae/templates/pgaas.yaml
@@ -0,0 +1,47 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ annotations:
+ deployment.kubernetes.io/revision: "1"
+ labels:
+ app: dcae-pgaas
+ name: dcae-pgaas
+ namespace: "{{ .Values.nsPrefix }}-dcae"
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: dcae-pgaas
+ template:
+ metadata:
+ labels:
+ app: dcae-pgaas
+ spec:
+ hostname: zldciad4vipstg00
+ containers:
+ - image: {{ .Values.image.pgaas }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ command: ["/bin/bash"]
+ args: ["-c", "/usr/local/bin/entrypoint.sh; sleep infinity;"]
+ name: dcae-pgaas
+ ports:
+ - containerPort: 5432
+ volumeMounts:
+ - mountPath: /dbroot/pgdata
+ name: dcae-pgaas-pgdata
+ - mountPath: /dbroot/pglogs
+ name: dcae-pgaas-pglogs
+ - mountPath: /opt/tools
+ name: dcae-pgaas-tools
+ volumes:
+ - name: dcae-pgaas-pgdata
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/pgaas/pgdata
+ - name: dcae-pgaas-pglogs
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/pgaas/pglogs
+ - name: dcae-pgaas-tools
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/pgaas/tools
+ imagePullSecrets:
+ - name: "{{ .Values.nsPrefix }}-docker-registry-key"
diff --git a/kubernetes/dcae/values.yaml b/kubernetes/dcae/values.yaml
new file mode 100644
index 0000000000..ae41f83248
--- /dev/null
+++ b/kubernetes/dcae/values.yaml
@@ -0,0 +1,14 @@
+nsPrefix: onap
+pullPolicy: Always
+nodePortPrefix: 302
+image:
+ readiness: oomk8s/readiness-check:1.0.0
+ pgaas: oomk8s/pgaas:1
+ cdapfs: oomk8s/cdap-fs:1.0.0
+ cdap: oomk8s/cdap:1.0.7
+ dmaap: attos/dmaap:latest
+ kafka: wurstmeister/kafka:latest
+ zookeeper: wurstmeister/zookeeper:latest
+ dmaapbc: nexus3.onap.org:10001/openecomp/dcae-dmaapbc:1.1-STAGING-latest
+ commonevent: nexus3.onap.org:10001/openecomp/dcae-collector-common-event:1.1-STAGING-latest
+ controller: nexus3.onap.org:10001/openecomp/dcae-controller:1.1-STAGING-latest
diff --git a/kubernetes/log/Chart.yaml b/kubernetes/log/Chart.yaml
new file mode 100644
index 0000000000..36d0299a4c
--- /dev/null
+++ b/kubernetes/log/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: A Helm chart for Kubernetes
+name: log
+version: 0.1.0
diff --git a/kubernetes/log/resources/elasticsearch/conf/elasticsearch.yml b/kubernetes/log/resources/elasticsearch/conf/elasticsearch.yml
new file mode 100644
index 0000000000..de92a584e9
--- /dev/null
+++ b/kubernetes/log/resources/elasticsearch/conf/elasticsearch.yml
@@ -0,0 +1,140 @@
+# ======================== Elasticsearch Configuration =========================
+#
+# NOTE: Elasticsearch comes with reasonable defaults for most settings.
+# Before you set out to tweak and tune the configuration, make sure you
+# understand what are you trying to accomplish and the consequences.
+#
+# The primary way of configuring a node is via this file. This template lists
+# the most important settings you may want to configure for a production cluster.
+#
+# Please consult the documentation for further information on configuration options:
+# https://www.elastic.co/guide/en/elasticsearch/reference/index.html
+#
+# ---------------------------------- Cluster -----------------------------------
+#
+# Name of the Elasticsearch cluster.
+# A node can only join a cluster when it shares its cluster.name with all the other nodes in the cluster.
+# The default name is elasticsearch, but you should change it to an appropriate name which describes the
+# purpose of the cluster.
+#
+cluster.name: "onap-log"
+#
+# The port that other nodes in the cluster should use when communicating with this node.
+# Required for Elasticsearch's nodes running on different cluster nodes.
+# More : https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-transport.html
+transport.publish_port:$transport.publish_port
+#
+# The host address to publish for nodes in the cluster to connect to.
+# Required for Elasticsearch's nodes running on different cluster nodes.
+# More : https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-transport.html
+transport.publish_host:$transport.publish_host
+#
+# ------------------------------------ Node ------------------------------------
+#
+# It is better to provide different meaningfull names fot different elastic nodes.
+# By default, Elasticsearch will take the 7 first character of the randomly generated uuid used as the node id.
+# Note that the node id is persisted and does not change when a node restarts
+#
+#node.name: $node.name
+#
+# Add custom attributes to the node:
+#
+#node.attr.rack: r1
+#
+# ----------------------------------- Paths ------------------------------------
+#
+# The location of the data files of each index / shard allocated on the node. Can hold multiple locations separated by coma.
+# In production, we should not keep this default to "/elasticsearch/data", as on upgrading Elasticsearch, directory structure
+# may change & can deal to data loss.
+path.data: /usr/share/elasticsearch/data
+#
+# Elasticsearch's log files location. In production, we should not keep this default to "/elasticsearch/logs",
+# as on upgrading Elasticsearch, directory structure may change.
+path.logs: /usr/share/elasticsearch/logs
+#
+# ----------------------------------- Memory -----------------------------------
+#
+# It is vitally important to the health of your node that none of the JVM is ever swapped out to disk.
+# Lock the memory on startup.
+#
+bootstrap.memory_lock: true
+#
+# Make sure that the heap size is set to about half the memory available
+# on the system and that the owner of the process is allowed to use this
+# limit.
+#
+# Elasticsearch performs poorly when the system is swapping the memory.
+#
+# ---------------------------------- Network -----------------------------------
+#
+# Set the bind address to a specific IP (IPv4 or IPv6):
+# In order to communicate and to form a cluster with nodes on other servers, your node will need to bind to a
+# non-loopback address.
+network.host: 0.0.0.0
+#
+# Set a custom port for HTTP: If required, default is 9200-9300
+#
+#http.port: $http.port
+#
+# For more information, consult the network module documentation.
+#
+# --------------------------------- Discovery ----------------------------------
+#
+# Pass an initial list of hosts to perform discovery when new node is started:
+# To form a cluster with nodes on other servers, you have to provide a seed list of other nodes in the cluster
+# that are likely to be live and contactable.
+# By default, Elasticsearch will bind to the available loopback addresses and will scan ports 9300 to 9305 to try
+# to connect to other nodes running on the same server.
+#
+discovery.zen.ping.unicast.hosts: ["elasticsearch.onap-log"]
+#$discovery.zen.ping.unicast.hosts
+#
+# This setting tells Elasticsearch to not elect a master unless there are enough master-eligible nodes
+# available. Only then will an election take place.
+# Prevent the "split brain" by configuring the majority of nodes (total number of master-eligible nodes / 2 + 1):
+discovery.zen.minimum_master_nodes: 1
+#
+# For more information, consult the zen discovery module documentation.
+#
+# ---------------------------------- Gateway -----------------------------------
+#
+# Block initial recovery after a full cluster restart until N nodes are started:
+#
+#gateway.recover_after_nodes: 3
+#
+# For more information, consult the gateway module documentation.
+#
+# ---------------------------------- Various -----------------------------------
+#
+# Require explicit names when deleting indices:
+#
+#action.destructive_requires_name: true
+# Set a custom port for HTTP: If required, default is 9200-9300
+# This is used for REST APIs
+http.port: 9200
+# Port to bind for communication between nodes. Accepts a single value or a range.
+# If a range is specified, the node will bind to the first available port in the range.
+# Defaults to 9300-9400.
+# More info:
+transport.tcp.port: 9300
+
+xpack.graph.enabled: false
+#Set to false to disable X-Pack graph features.
+
+xpack.ml.enabled: false
+#Set to false to disable X-Pack machine learning features.
+
+xpack.monitoring.enabled: false
+#Set to false to disable X-Pack monitoring features.
+
+xpack.reporting.enabled: false
+#Set to false to disable X-Pack reporting features.
+
+xpack.security.enabled: false
+#Set to false to disable X-Pack security features.
+
+xpack.watcher.enabled: false
+#Set to false to disable Watcher.
+
+index.number_of_replicas: 0
+
diff --git a/kubernetes/log/resources/kibana/conf/kibana.yml b/kubernetes/log/resources/kibana/conf/kibana.yml
new file mode 100644
index 0000000000..0f72daa497
--- /dev/null
+++ b/kubernetes/log/resources/kibana/conf/kibana.yml
@@ -0,0 +1,116 @@
+xpack.graph.enabled: false
+#Set to false to disable X-Pack graph features.
+xpack.ml.enabled: false
+#Set to false to disable X-Pack machine learning features.
+xpack.monitoring.enabled: false
+#Set to false to disable X-Pack monitoring features.
+xpack.reporting.enabled: false
+#Set to false to disable X-Pack reporting features.
+xpack.security.enabled: false
+#Set to false to disable X-Pack security features.
+xpack.watcher.enabled: false
+#Set to false to disable Watcher.
+# Kibana is served by a back end server. This setting specifies the port to use.
+server.port: 5601
+
+# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values.
+# The default is 'localhost', which usually means remote machines will not be able to connect.
+# To allow connections from remote users, set this parameter to a non-loopback address.
+server.host: "0"
+
+# Enables you to specify a path to mount Kibana at if you are running behind a proxy. This only affects
+# the URLs generated by Kibana, your proxy is expected to remove the basePath value before forwarding requests
+# to Kibana. This setting cannot end in a slash.
+#server.basePath: ""
+
+# The maximum payload size in bytes for incoming server requests.
+#server.maxPayloadBytes: 1048576
+
+# The Kibana server's name. This is used for display purposes.
+server.name: "Kibana"
+
+# The URL of the Elasticsearch instance to use for all your queries.
+elasticsearch.url: "http://elasticsearch.onap-log:9200"
+#elasticsearch-service.onap-log:9200"
+#elasticsearch.url: "http://10.247.47.3:9200"
+# When this setting's value is true Kibana uses the hostname specified in the server.host
+# setting. When the value of this setting is false, Kibana uses the hostname of the host
+# that connects to this Kibana instance.
+#elasticsearch.preserveHost: true
+
+# Kibana uses an index in Elasticsearch to store saved searches, visualizations and
+# dashboards. Kibana creates a new index if the index doesn't already exist.
+#kibana.index: ".kibana"
+
+# The default application to load.
+#kibana.defaultAppId: "discover"
+
+# If your Elasticsearch is protected with basic authentication, these settings provide
+# the username and password that the Kibana server uses to perform maintenance on the Kibana
+# index at startup. Your Kibana users still need to authenticate with Elasticsearch, which
+# is proxied through the Kibana server.
+elasticsearch.username: "elastic"
+elasticsearch.password: "changeme"
+# Enables SSL and paths to the PEM-format SSL certificate and SSL key files, respectively.
+# These settings enable SSL for outgoing requests from the Kibana server to the browser.
+#server.ssl.enabled: $server_ssl_enabled
+#server.ssl.certificate: $server_ssl_certificate
+#server.ssl.key: $server_ssl_key
+
+# Optional settings that provide the paths to the PEM-format SSL certificate and key files.
+# These files validate that your Elasticsearch backend uses the same key files.
+#elasticsearch.ssl.certificate: $elasticsearch_ssl_certificate
+#elasticsearch.ssl.key: $elasticsearch_ssl_key
+
+# Optional setting that enables you to specify a path to the PEM file for the certificate
+# authority for your Elasticsearch instance.
+#elasticsearch.ssl.certificateAuthorities: $elasticsearch_ssl_certificateAuthorities
+
+# To disregard the validity of SSL certificates, change this setting's value to 'none'.
+#elasticsearch.ssl.verificationMode: $elasticsearch_ssl_verificationMode
+
+# Time in milliseconds to wait for Elasticsearch to respond to pings. Defaults to the value of
+# the elasticsearch.requestTimeout setting.
+#elasticsearch.pingTimeout: 1500
+
+# Time in milliseconds to wait for responses from the back end or Elasticsearch. This value
+# must be a positive integer.
+#elasticsearch.requestTimeout: 30000
+
+# List of Kibana client-side headers to send to Elasticsearch. To send *no* client-side
+# headers, set this value to [] (an empty list).
+#elasticsearch.requestHeadersWhitelist: [ authorization ]
+
+# Header names and values that are sent to Elasticsearch. Any custom headers cannot be overwritten
+# by client-side headers, regardless of the elasticsearch.requestHeadersWhitelist configuration.
+#elasticsearch.customHeaders: {}
+
+# Time in milliseconds for Elasticsearch to wait for responses from shards. Set to 0 to disable.
+#elasticsearch.shardTimeout: 0
+
+# Time in milliseconds to wait for Elasticsearch at Kibana startup before retrying.
+#elasticsearch.startupTimeout: 5000
+
+# Specifies the path where Kibana creates the process ID file.
+#pid.file: /var/run/kibana.pid
+
+# Enables you specify a file where Kibana stores log output.
+#logging.dest: stdout
+
+# Set the value of this setting to true to suppress all logging output.
+#logging.silent: false
+
+# Set the value of this setting to true to suppress all logging output other than error messages.
+#logging.quiet: false
+
+# Set the value of this setting to true to log all events, including system usage information
+# and all requests.
+#logging.verbose: false
+
+# Set the interval in milliseconds to sample system and process performance
+# metrics. Minimum is 100ms. Defaults to 5000.
+#ops.interval: 5000
+
+# The default locale. This locale can be used in certain circumstances to substitute any missing
+# translations.
+#i18n.defaultLocale: "en"
diff --git a/kubernetes/log/resources/logstash/conf/logstash.yml b/kubernetes/log/resources/logstash/conf/logstash.yml
new file mode 100644
index 0000000000..f658006503
--- /dev/null
+++ b/kubernetes/log/resources/logstash/conf/logstash.yml
@@ -0,0 +1,16 @@
+http.host: "0.0.0.0"
+## Path where pipeline configurations reside
+path.config: /usr/share/logstash/pipeline
+
+## Type of queue : memeory based or file based
+#queue.type: persisted
+## Size of queue
+#queue.max_bytes: 1024mb
+## Setting true makes logstash check periodically for change in pipeline configurations
+config.reload.automatic: true
+
+## xpack configurations
+#xpack.monitoring.elasticsearch.url: ["http://10.247.186.12:9200", "http://10.247.186.13:9200"]
+#xpack.monitoring.elasticsearch.username: elastic
+#xpack.monitoring.elasticsearch.password: changeme
+xpack.monitoring.enabled: false
diff --git a/kubernetes/log/resources/logstash/pipeline/onap-pipeline.conf b/kubernetes/log/resources/logstash/pipeline/onap-pipeline.conf
new file mode 100644
index 0000000000..1a46375047
--- /dev/null
+++ b/kubernetes/log/resources/logstash/pipeline/onap-pipeline.conf
@@ -0,0 +1,204 @@
+input {
+ beats {
+
+ ## Add a id to plugin configuration. Can be anything unique.
+ id => 'beats_plugin'
+
+ ######## Connection configurations ########
+
+ ## The port to listen on.
+ port => 5044
+
+ ## Close Idle clients after the specified time in seconds. Default is 60 seconds
+ #client_inactivity_timeout => 60
+
+ ######## Security configurations ########
+
+ ## Enable encryption. Default false.
+ #ssl => $filebeat_ssl
+
+ ## ssl certificate path.
+ #ssl_certificate => $filebeat_ssl_certificate
+
+ ## SSL key to use.
+ #ssl_key => $filebeat_ssl_key
+
+ ##SSL key passphrase to use.
+ #ssl_key_passphrase => $filebeat_ssl_key_passphrase
+
+ ## Value can be any of: none, peer, force_peer.
+ #ssl_verify_mode => $filebeat_ssl_verify_mode
+
+ ## Time in milliseconds for an incomplete ssl handshake to timeout. Default is 10000 ms.
+ #ssl_handshake_timeout => 10000
+ include_codec_tag => false
+ }
+}
+
+
+filter {
+ # Filter for log4j xml events
+ if "</log4j:event>" in [message] {
+ #Filter to parse xml event and retrieve data
+ xml {
+ source => "message"
+ store_xml => false
+ remove_namespaces => true
+ target => "xml_content"
+ xpath => [ "/event/message/text()", "logmsg" ,
+ "/event/@logger", "Logger",
+ "/event/@timestamp", "Timestamp",
+ "/event/@level", "loglevel",
+ "/event/@thread", "Thread",
+ "/event/throwable/text()", "Exceptionthrowable",
+ "/event/NDC/text()", "NDCs",
+ "/event/properties/data/@name","mdcname",
+ "/event/properties/data/@value","mdcvalue"]
+
+ }
+
+ #Ruby filter to iterate and separate MDCs into documents
+ ruby {
+ code => '
+ $i = 0
+ $num = 0
+ if event.get("[mdcname]")
+ $num = event.get("[mdcname]").length
+ end
+ if $num != 0
+ until $i > $num do
+ if event.get("[mdcname]").at($i) and event.get("[mdcvalue]").at($i)
+ event.set(event.get("[mdcname]").at($i), event.get("[mdcvalue]").at($i))
+ end
+ $i=$i+1
+ end
+ end
+ '
+ }
+
+ #Validations
+ if [Exceptionthrowable]
+ {
+ mutate {
+ replace => {
+ "exceptionmessage" => "%{[Exceptionthrowable]}"
+ }
+ }
+ }
+
+ if [NDCs]
+ {
+ mutate {
+ replace => {
+ "NDC" => "%{[NDCs]}"
+ }
+ }
+ }
+
+ mutate {
+ replace => {
+ "Logger" =>"%{[Logger]}"
+ "logmsg" =>"%{[logmsg]}"
+ "Timestamp" =>"%{[Timestamp]}"
+ "loglevel" =>"%{[loglevel]}"
+ "message" => "%{logmsg}"
+ "Thread" => "%{[Thread]}"
+ }
+ remove_field => ["mdcname", "mdcvalue", "logmsg","Exceptionthrowable","NDCs"]
+ }
+
+ if [Timestamp]
+ {
+ date {
+ match => ["Timestamp", "UNIX_MS"]
+ target => "Timestamp"
+ }
+ }
+ }
+ # Filter for logback events
+ else {
+ mutate {
+ gsub => [
+ 'message', '= ', '=null',
+ 'message', '=\t', '=null ', #This null is followed by a tab
+ 'message', '\t$', '\t'
+ ]
+ }
+ kv {
+ field_split => "\t"
+ trim_key => "\s"
+ trim_value => "\s"
+ }
+ grok {
+ break_on_match => false
+ match => {
+ "message" => "%{TIMESTAMP_ISO8601:Timestamp}\t%{GREEDYDATA:Thread}\t%{SPACE}%{LOGLEVEL:loglevel}%{SPACE}\t%{JAVACLASS:Logger}\t(?:[^\t]+\t)*%{GREEDYDATA:message}"
+ }
+ overwrite => ["message"]
+ }
+ }
+}
+
+
+output {
+ elasticsearch {
+ id => 'onap_es'
+
+ ######### Security configurations #########
+
+ user => "elastic"
+ password => "changeme"
+
+ ## The .cer or .pem file to validate the server’s certificate
+ #cacert => $es_cacert
+
+ ## The keystore used to present a certificate to the server. It can be either .jks or .p12
+ #keystore => $es_keystore
+ #keystore_password => $es_keystore_password
+
+ ## Enable SSL/TLS secured communication to Elasticsearch cluster.
+ ## Default is not set which in that case depends on the protocol specidfied in hosts list
+ #ssl => $es_ssl
+
+ ## Option to validate the server’s certificate. Default is true
+ #ssl_certificate_verification => $es_ssl_certificate_verification
+
+ ## The JKS truststore to validate the server’s certificate.
+ #truststore => $es_truststore
+ #truststore_password => $es_truststore_password
+
+
+ ######### Elasticsearchcluster and host configurations #########
+
+#can specify one or a list of hosts. If sniffing is set, one is enough and others will be auto-discovered
+##Also protocol can be specified like ["http://10.247.186.12:9200"]
+ hosts => ["http://elasticsearch.onap-log:9200"]
+
+
+ ## This setting asks Elasticsearch for the list of all cluster nodes and adds them to the hosts list. Default is false.
+ sniffing => true
+
+ ## How long to wait, in seconds, between sniffing attempts. Default is 5 seconds.
+ #sniffing_delay => 5
+
+ ## Set the address of a forward HTTP proxy.
+ #proxy => $es_proxy
+
+ ##Use this if you must run Elasticsearch behind a proxy that remaps the root path for the Elasticsearch HTTP API lives
+ #path => $es_path
+
+ ######### Elasticsearch request configurations #########
+
+ ## This setting defines the maximum sized bulk request Logstash will make.
+ #flush_size => ?
+
+ ######### Document configurations #########
+
+ index => "onaplogs-%{+YYYY.MM.dd}"
+ document_type => "logs"
+
+ ## This can be used to associate child documents with a parent using the parent ID.
+ #parent => "abcd'
+ }
+}
+
diff --git a/kubernetes/log/templates/all-services.yaml b/kubernetes/log/templates/all-services.yaml
new file mode 100644
index 0000000000..5f9412e872
--- /dev/null
+++ b/kubernetes/log/templates/all-services.yaml
@@ -0,0 +1,49 @@
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app: elasticsearch
+ name: elasticsearch
+ namespace: {{ .Values.nsPrefix }}-log
+spec:
+ ports:
+ - name: http
+ port: 9200
+ targetPort: 9200
+ nodePort: {{ .Values.nodePortPrefix }}54
+ selector:
+ app: elasticsearch
+ type: NodePort
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: logstash
+ namespace: {{ .Values.nsPrefix }}-log
+ labels:
+ app: logstash
+spec:
+ ports:
+ - name: transport
+ port: 5044
+ targetPort: 5044
+ selector:
+ app: logstash
+---
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app: kibana
+ name: kibana
+ namespace: {{ .Values.nsPrefix }}-log
+spec:
+ ports:
+ - name: tcp-ks
+ port: 5601
+ targetPort: 5601
+ nodePort: {{ .Values.nodePortPrefix }}53
+ selector:
+ app: kibana
+ type: NodePort
+
diff --git a/kubernetes/log/templates/elasticsearch-deployment.yaml b/kubernetes/log/templates/elasticsearch-deployment.yaml
new file mode 100644
index 0000000000..75df8a16e1
--- /dev/null
+++ b/kubernetes/log/templates/elasticsearch-deployment.yaml
@@ -0,0 +1,81 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ labels:
+ app: elasticsearch
+ name: elasticsearch
+ namespace: {{ .Values.nsPrefix }}-log
+spec:
+ selector:
+ matchLabels:
+ app: elasticsearch
+ template:
+ metadata:
+ labels:
+ app: elasticsearch
+ name: elasticsearch
+ annotations:
+ pod.beta.kubernetes.io/init-containers: '[
+ {
+ "command": ["sysctl", "-w", "vm.max_map_count=262144"],
+ "env": [
+ {
+ "name": "NAMESPACE",
+ "valueFrom": {
+ "fieldRef": {
+ "apiVersion": "v1",
+ "fieldPath": "metadata.namespace"
+ }
+ }
+ }
+ ],
+ "securityContext": {
+ "privileged": true
+ },
+ "image": "{{ .Values.image.es_bb }}",
+ "imagePullPolicy": "{{ .Values.pullPolicy }}",
+ "name": "init-sysctl"
+ }
+ ]'
+ spec:
+ containers:
+ - name: elasticsearch
+ image: {{ .Values.image.elasticsearch}}
+ ports:
+ - containerPort: 9200
+ name: http
+ protocol: TCP
+ - containerPort: 9300
+ name: transport
+ protocol: TCP
+ readinessProbe:
+ tcpSocket:
+ port: 9200
+ volumeMounts:
+ - mountPath: /usr/share/elasticsearch/conf/
+ name: elasticsearch-conf
+ - mountPath: /usr/share/elasticsearch/data/
+ name: elasticsearch-data
+ - mountPath: /usr/share/elasticsearch/logs/
+ name: elasticsearch-logs
+ volumes:
+ - name: elasticsearch-data
+ persistentVolumeClaim:
+ claimName: elasticsearch-db
+ - name: elasticsearch-logs
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/log/elasticsearch/logs
+ - name: elasticsearch-conf
+ configMap:
+ name: elasticsearch-configmap
+ items:
+ - key: elasticsearch.yml
+ path: elasticsearch.yml
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: elasticsearch-configmap
+ namespace: {{ .Values.nsPrefix }}-log
+data:
+{{ (.Files.Glob "resources/elasticsearch/conf/elasticsearch.yml").AsConfig | indent 2 }} \ No newline at end of file
diff --git a/kubernetes/log/templates/kibana-deployment.yaml b/kubernetes/log/templates/kibana-deployment.yaml
new file mode 100644
index 0000000000..f8070ef780
--- /dev/null
+++ b/kubernetes/log/templates/kibana-deployment.yaml
@@ -0,0 +1,71 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ labels:
+ app: kibana
+ name: kibana
+ namespace: {{ .Values.nsPrefix }}-log
+spec:
+ selector:
+ matchLabels:
+ app: kibana
+ template:
+ metadata:
+ labels:
+ app: kibana
+ name: kibana
+ annotations:
+ pod.beta.kubernetes.io/init-containers: '[
+ {
+ "args": [
+ "--container-name",
+ "elasticsearch"
+ ],
+ "command": [
+ "/root/ready.py"
+ ],
+ "env": [
+ {
+ "name": "NAMESPACE",
+ "valueFrom": {
+ "fieldRef": {
+ "apiVersion": "v1",
+ "fieldPath": "metadata.namespace"
+ }
+ }
+ }
+ ],
+ "image": "{{ .Values.image.readiness }}",
+ "imagePullPolicy": "{{ .Values.pullPolicy }}",
+ "name": "kibana-readiness"
+ }
+ ]'
+ spec:
+ containers:
+ - name: kibana
+ image: {{ .Values.image.kibana }}
+ ports:
+ - containerPort: 5601
+ name: http
+ protocol: TCP
+ readinessProbe:
+ tcpSocket:
+ port: 5601
+ volumeMounts:
+ - name: kibana-conf
+ mountPath: /usr/share/kibana/config/
+ volumes:
+ - name: kibana-conf
+ configMap:
+ name: kibana-configmap
+ items:
+ - key: kibana.yml
+ path: kibana.yml
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: kibana-configmap
+ namespace: {{ .Values.nsPrefix }}-log
+data:
+{{ (.Files.Glob "resources/kibana/conf/kibana.yml").AsConfig | indent 2 }} \ No newline at end of file
diff --git a/kubernetes/log/templates/log-pv-pvc.yaml b/kubernetes/log/templates/log-pv-pvc.yaml
new file mode 100644
index 0000000000..989b118ca9
--- /dev/null
+++ b/kubernetes/log/templates/log-pv-pvc.yaml
@@ -0,0 +1,30 @@
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+ name: elasticsearch-db
+ namespace: "{{ .Values.nsPrefix }}-log"
+ labels:
+ name: elasticsearch-db
+spec:
+ capacity:
+ storage: 2Gi
+ accessModes:
+ - ReadWriteMany
+ persistentVolumeReclaimPolicy: Retain
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/log/elasticsearch/data
+---
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: elasticsearch-db
+ namespace: "{{ .Values.nsPrefix }}-log"
+spec:
+ accessModes:
+ - ReadWriteMany
+ resources:
+ requests:
+ storage: 2Gi
+ selector:
+ matchLabels:
+ name: elasticsearch-db
diff --git a/kubernetes/log/templates/logstash-deployment.yaml b/kubernetes/log/templates/logstash-deployment.yaml
new file mode 100644
index 0000000000..23d590690f
--- /dev/null
+++ b/kubernetes/log/templates/logstash-deployment.yaml
@@ -0,0 +1,82 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ labels:
+ app: logstash
+ name: logstash
+ namespace: {{ .Values.nsPrefix }}-log
+spec:
+ selector:
+ matchLabels:
+ app: logstash
+ template:
+ metadata:
+ labels:
+ app: logstash
+ name: logstash
+ annotations:
+ pod.beta.kubernetes.io/init-containers: '[
+ {
+ "args": [
+ "--container-name",
+ "elasticsearch"
+ ],
+ "command": [
+ "/root/ready.py"
+ ],
+ "env": [
+ {
+ "name": "NAMESPACE",
+ "valueFrom": {
+ "fieldRef": {
+ "apiVersion": "v1",
+ "fieldPath": "metadata.namespace"
+ }
+ }
+ }
+ ],
+ "image": "{{ .Values.image.readiness }}",
+ "imagePullPolicy": "{{ .Values.pullPolicy }}",
+ "name": "logstash-readiness"
+ }
+ ]'
+
+ spec:
+ containers:
+ - name: logstash
+ image: {{ .Values.image.logstash }}
+ ports:
+ - containerPort: 5044
+ name: transport
+ protocol: TCP
+ readinessProbe:
+ tcpSocket:
+ port: 5044
+ volumeMounts:
+ - mountPath: /usr/share/logstash/config/
+ name: logstash-conf
+ - mountPath: /usr/share/logstash/pipeline/
+ name: logstash-pipeline
+ volumes:
+ - name: logstash-conf
+ configMap:
+ name: logstash-configmap
+ items:
+ - key: logstash.yml
+ path: logstash.yml
+ - name: logstash-pipeline
+ configMap:
+ name: logstash-configmap
+ items:
+ - key: onap-pipeline.conf
+ path: onap-pipeline.conf
+
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: logstash-configmap
+ namespace: {{ .Values.nsPrefix }}-log
+data:
+{{ (.Files.Glob "resources/logstash/conf/logstash.yml").AsConfig | indent 2 }}
+{{ (.Files.Glob "resources/logstash/pipeline/onap-pipeline.conf").AsConfig | indent 2 }}
diff --git a/kubernetes/log/values.yaml b/kubernetes/log/values.yaml
new file mode 100644
index 0000000000..04418302b2
--- /dev/null
+++ b/kubernetes/log/values.yaml
@@ -0,0 +1,10 @@
+nsPrefix: onap
+pullPolicy: Always
+nodePortPrefix: 302
+image:
+ readiness: oomk8s/readiness-check:1.0.0
+ logstash: docker.elastic.co/logstash/logstash:5.4.3
+ kibana: docker.elastic.co/kibana/kibana:5.5.0
+ elasticsearch: docker.elastic.co/elasticsearch/elasticsearch:5.5.0
+ es_bb: busybox
+
diff --git a/kubernetes/message-router/templates/message-router-dmaap.yaml b/kubernetes/message-router/templates/message-router-dmaap.yaml
index 59c57f85f6..1cc79c819e 100644
--- a/kubernetes/message-router/templates/message-router-dmaap.yaml
+++ b/kubernetes/message-router/templates/message-router-dmaap.yaml
@@ -54,6 +54,9 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /appl/dmaapMR1/bundleconfig/etc/appprops/MsgRtrApi.properties
name: appprops
- mountPath: /appl/dmaapMR1/etc/cadi.properties
@@ -62,6 +65,9 @@ spec:
name: mykey
restartPolicy: Always
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: appprops
hostPath:
path: /dockerdata-nfs/{{ .Values.nsPrefix }}/message-router/dmaap/MsgRtrApi.properties
diff --git a/kubernetes/message-router/templates/message-router-kafka.yaml b/kubernetes/message-router/templates/message-router-kafka.yaml
index ab5c3d497c..1564f9b03a 100644
--- a/kubernetes/message-router/templates/message-router-kafka.yaml
+++ b/kubernetes/message-router/templates/message-router-kafka.yaml
@@ -62,6 +62,9 @@ spec:
- name: KAFKA_PORT
value: "9092"
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /var/run/docker.sock
name: docker-socket
- mountPath: /kafka
@@ -70,6 +73,9 @@ spec:
name: start-kafka
restartPolicy: Always
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: docker-socket
hostPath:
path: /var/run/docker.sock
diff --git a/kubernetes/message-router/templates/message-router-pv-pvc.yaml b/kubernetes/message-router/templates/message-router-pv-pvc.yaml
index 16d6fcd446..e31e78c1fd 100644
--- a/kubernetes/message-router/templates/message-router-pv-pvc.yaml
+++ b/kubernetes/message-router/templates/message-router-pv-pvc.yaml
@@ -1,10 +1,10 @@
apiVersion: v1
kind: PersistentVolume
metadata:
- name: message-router-kafka
+ name: "{{ .Values.nsPrefix }}-message-router-kafka"
namespace: "{{ .Values.nsPrefix }}-message-router"
labels:
- name: message-router-kafka
+ name: "{{ .Values.nsPrefix }}-message-router-kafka"
spec:
capacity:
storage: 2Gi
@@ -27,15 +27,15 @@ spec:
storage: 2Gi
selector:
matchLabels:
- name: message-router-kafka
+ name: "{{ .Values.nsPrefix }}-message-router-kafka"
---
apiVersion: v1
kind: PersistentVolume
metadata:
- name: message-router-zookeeper
+ name: "{{ .Values.nsPrefix }}-message-router-zookeeper"
namespace: "{{ .Values.nsPrefix }}-message-router"
labels:
- name: message-router-zookeeper
+ name: "{{ .Values.nsPrefix }}-message-router-zookeeper"
spec:
capacity:
storage: 2Gi
@@ -58,4 +58,4 @@ spec:
storage: 2Gi
selector:
matchLabels:
- name: message-router-zookeeper
+ name: "{{ .Values.nsPrefix }}-message-router-zookeeper"
diff --git a/kubernetes/message-router/templates/message-router-zookeeper.yaml b/kubernetes/message-router/templates/message-router-zookeeper.yaml
index c07ef3a8c8..0377beb05a 100644
--- a/kubernetes/message-router/templates/message-router-zookeeper.yaml
+++ b/kubernetes/message-router/templates/message-router-zookeeper.yaml
@@ -25,10 +25,16 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /opt/zookeeper-3.4.9/data
name: zookeeper-data
restartPolicy: Always
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: zookeeper-data
persistentVolumeClaim:
claimName: message-router-zookeeper
diff --git a/kubernetes/mso/templates/db-deployment.yaml b/kubernetes/mso/templates/db-deployment.yaml
index 389fb5ab75..4722c4a0c5 100644
--- a/kubernetes/mso/templates/db-deployment.yaml
+++ b/kubernetes/mso/templates/db-deployment.yaml
@@ -28,6 +28,9 @@ spec:
- name: MARIADB_VERSION
value: "10.1.11+maria-1~jessie"
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /etc/mysql/conf.d
name: mso-mariadb-conf
- mountPath: /docker-entrypoint-initdb.d
@@ -43,6 +46,9 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: mso-mariadb-conf
hostPath:
path: /dockerdata-nfs/{{ .Values.nsPrefix }}/mso/mariadb/conf.d
diff --git a/kubernetes/mso/templates/mso-deployment.yaml b/kubernetes/mso/templates/mso-deployment.yaml
index 0f3034f4cc..8973db3e6f 100644
--- a/kubernetes/mso/templates/mso-deployment.yaml
+++ b/kubernetes/mso/templates/mso-deployment.yaml
@@ -47,6 +47,9 @@ spec:
imagePullPolicy: {{ .Values.pullPolicy }}
name: mso
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /shared
name: mso
- mountPath: /docker-files
@@ -66,6 +69,9 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: mso
hostPath:
path: /dockerdata-nfs/{{ .Values.nsPrefix }}/mso/mso
diff --git a/kubernetes/mso/templates/mso-pv-pvc.yaml b/kubernetes/mso/templates/mso-pv-pvc.yaml
index c195980841..47389e3ff0 100644
--- a/kubernetes/mso/templates/mso-pv-pvc.yaml
+++ b/kubernetes/mso/templates/mso-pv-pvc.yaml
@@ -1,10 +1,10 @@
apiVersion: v1
kind: PersistentVolume
metadata:
- name: mso-db
+ name: "{{ .Values.nsPrefix }}-mso-db"
namespace: "{{ .Values.nsPrefix }}-mso"
labels:
- name: mso-db
+ name: "{{ .Values.nsPrefix }}-mso-db"
spec:
capacity:
storage: 2Gi
@@ -27,4 +27,4 @@ spec:
storage: 2Gi
selector:
matchLabels:
- name: mso-db
+ name: "{{ .Values.nsPrefix }}-mso-db"
diff --git a/kubernetes/oneclick/createAll.bash b/kubernetes/oneclick/createAll.bash
index 7b8e2f8886..7be2e6a7de 100755
--- a/kubernetes/oneclick/createAll.bash
+++ b/kubernetes/oneclick/createAll.bash
@@ -18,12 +18,25 @@ Usage: $0 [PARAMs]
EOF
}
+check_return_code(){
+ ret=$?
+ if [ $ret -ne 0 ]; then
+ printf "The command $1 returned with error code $ret \n" 1>&2
+ exit $ret
+ fi
+}
+
+
create_namespace() {
- kubectl create namespace $1-$2
+ cmd=`echo kubectl create namespace $1-$2`
+ eval ${cmd}
+ check_return_code $cmd
}
create_registry_key() {
- kubectl --namespace $1-$2 create secret docker-registry $3 --docker-server=$4 --docker-username=$5 --docker-password=$6 --docker-email=$7
+ cmd=`echo kubectl --namespace $1-$2 create secret docker-registry $3 --docker-server=$4 --docker-username=$5 --docker-password=$6 --docker-email=$7`
+ eval ${cmd}
+ check_return_code $cmd
}
create_onap_helm() {
@@ -31,10 +44,11 @@ create_onap_helm() {
if [[ ! -z $HELM_VALUES_FILEPATH ]]; then
HELM_VALUES_ADDITION="--values=$HELM_VALUES_FILEPATH"
fi
- helm install $LOCATION/$2/ --name $1-$2 --namespace $1 --set nsPrefix=$1,nodePortPrefix=$3 ${HELM_VALUES_ADDITION}
+ cmd=`echo helm install $LOCATION/$2/ --name $1-$2 --namespace $1 --set nsPrefix=$1,nodePortPrefix=$3 ${HELM_VALUES_ADDITION}`
+ eval ${cmd}
+ check_return_code $cmd
}
-
#MAINs
NS=
HELM_VALUES_FILEPATH=""
diff --git a/kubernetes/oneclick/dcae.sh b/kubernetes/oneclick/dcae.sh
index 8a95e0bfff..5dd1a2f071 100755
--- a/kubernetes/oneclick/dcae.sh
+++ b/kubernetes/oneclick/dcae.sh
@@ -1,2 +1,18 @@
#!/bin/bash
-echo "DCAE under construction"
+# manual deployment order is mentioned - but we need to specify dependencies in the service
+KUBECTL_CMD="kubectl --namespace $1-$2 $3 -f ../$2"
+
+printf "dcae....\n"
+$KUBECTL_CMD/message-router/dcae-zookeeper.yaml
+$KUBECTL_CMD/message-router/dcae-kafka.yaml
+$KUBECTL_CMD/message-router/dcae-dmaap.yaml
+
+$KUBECTL_CMD/pgaas/pgaas.yaml
+
+$KUBECTL_CMD/dcae-collector-common-event.yaml
+$KUBECTL_CMD/dcae-collector-dmaapbc.yaml
+$KUBECTL_CMD/dcae-collector-pvs.yaml
+
+$KUBECTL_CMD/cdap/cdap0-dep.yaml
+$KUBECTL_CMD/cdap/cdap1-dep.yaml
+$KUBECTL_CMD/cdap/cdap2-dep.yaml
diff --git a/kubernetes/oneclick/setenv.bash b/kubernetes/oneclick/setenv.bash
index 8fd8cd4d3c..c52f4d3fda 100644
--- a/kubernetes/oneclick/setenv.bash
+++ b/kubernetes/oneclick/setenv.bash
@@ -1,6 +1,6 @@
#!/bin/bash
-HELM_APPS=('mso' 'message-router' 'sdnc' 'vid' 'robot' 'portal' 'policy' 'appc' 'aai' 'sdc')
+HELM_APPS=('mso' 'message-router' 'sdnc' 'vid' 'robot' 'portal' 'policy' 'appc' 'aai' 'sdc' 'dcae' 'log' 'cli')
ONAP_DOCKER_REGISTRY=${ONAP_DOCKER_REGISTRY:-nexus3.onap.org:10001}
ONAP_DOCKER_USER=${ONAP_DOCKER_USER:-docker}
ONAP_DOCKER_PASS=${ONAP_DOCKER_PASS:-docker}
diff --git a/kubernetes/policy/templates/all-services.yaml b/kubernetes/policy/templates/all-services.yaml
index cd01b54ee8..0d9a68ac25 100644
--- a/kubernetes/policy/templates/all-services.yaml
+++ b/kubernetes/policy/templates/all-services.yaml
@@ -102,22 +102,6 @@ spec:
apiVersion: v1
kind: Service
metadata:
- name: pypdp
- namespace: "{{ .Values.nsPrefix }}-policy"
- labels:
- app: pypdp
-spec:
- ports:
- - name: tcp-31032-8480-bm91k
- port: 8480
- nodePort: {{ .Values.nodePortPrefix }}21
- selector:
- app: pypdp
- type: NodePort
----
-apiVersion: v1
-kind: Service
-metadata:
name: brmsgw
namespace: "{{ .Values.nsPrefix }}-policy"
labels:
diff --git a/kubernetes/policy/templates/dep-brmsgw.yaml b/kubernetes/policy/templates/dep-brmsgw.yaml
index 17e4896e79..e47b0403ca 100644
--- a/kubernetes/policy/templates/dep-brmsgw.yaml
+++ b/kubernetes/policy/templates/dep-brmsgw.yaml
@@ -55,9 +55,15 @@ spec:
imagePullPolicy: {{ .Values.pullPolicy }}
name: brmsgw
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /tmp/policy-install/config
name: pe
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: pe
hostPath:
path: /dockerdata-nfs/{{ .Values.nsPrefix }}/policy/opt/policy/config/pe/
diff --git a/kubernetes/policy/templates/dep-drools.yaml b/kubernetes/policy/templates/dep-drools.yaml
index 75055c10d8..9c3fc29d99 100644
--- a/kubernetes/policy/templates/dep-drools.yaml
+++ b/kubernetes/policy/templates/dep-drools.yaml
@@ -64,11 +64,17 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /tmp/policy-install/config
name: drools
- mountPath: /usr/share/maven/conf/settings.xml
name: drools-settingsxml
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: drools-settingsxml
hostPath:
path: /dockerdata-nfs/{{ .Values.nsPrefix }}/policy/drools/settings.xml
diff --git a/kubernetes/policy/templates/dep-maria.yaml b/kubernetes/policy/templates/dep-maria.yaml
index 30d0db3af5..e3c93d7fe6 100644
--- a/kubernetes/policy/templates/dep-maria.yaml
+++ b/kubernetes/policy/templates/dep-maria.yaml
@@ -4,7 +4,6 @@ metadata:
name: mariadb
namespace: "{{ .Values.nsPrefix }}-policy"
spec:
- replicas: 1
selector:
matchLabels:
app: mariadb
@@ -15,16 +14,15 @@ spec:
spec:
hostname: mariadb
containers:
- - command:
- - /bin/bash
- - -c
- - exec bash /tmp/do-start.sh
- image: "{{ .Values.image.policyDb }}:{{ .Values.image.policyDbVersion }}"
+ - image: "{{ .Values.image.policyDb }}:{{ .Values.image.policyDbVersion }}"
imagePullPolicy: {{ .Values.pullPolicy }}
name: mariadb
ports:
- containerPort: 3306
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /var/lib/mysql
name: policy-mariadb-data
readinessProbe:
@@ -33,6 +31,9 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: policy-mariadb-data
persistentVolumeClaim:
claimName: policy-db
diff --git a/kubernetes/policy/templates/dep-nexus.yaml b/kubernetes/policy/templates/dep-nexus.yaml
index de067b162f..15b7ec38fd 100644
--- a/kubernetes/policy/templates/dep-nexus.yaml
+++ b/kubernetes/policy/templates/dep-nexus.yaml
@@ -40,12 +40,16 @@ spec:
]'
spec:
containers:
- - command:
- - /bin/bash
- - -c
- - bash -c "/opt/nexus/nexus-2.14.2-01/bin/nexus start && sleep 1000d"
- image: "{{ .Values.image.policyNexus }}:{{ .Values.image.policyNexusVersion }}"
+ - image: "{{ .Values.image.policyNexus }}:{{ .Values.image.policyNexusVersion }}"
imagePullPolicy: {{ .Values.pullPolicy }}
name: nexus
+ volumeMounts:
+ - name: localtime
+ mountPath: /etc/localtime
+ readOnly: true
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
diff --git a/kubernetes/policy/templates/dep-pap.yaml b/kubernetes/policy/templates/dep-pap.yaml
index fcb590bdb2..794c6548b8 100644
--- a/kubernetes/policy/templates/dep-pap.yaml
+++ b/kubernetes/policy/templates/dep-pap.yaml
@@ -81,9 +81,15 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /tmp/policy-install/config/
name: pe
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: pe
hostPath:
path: /dockerdata-nfs/{{ .Values.nsPrefix }}/policy/opt/policy/config/pe/
diff --git a/kubernetes/policy/templates/dep-pdp.yaml b/kubernetes/policy/templates/dep-pdp.yaml
index c8a4f7108a..d7d697d71d 100644
--- a/kubernetes/policy/templates/dep-pdp.yaml
+++ b/kubernetes/policy/templates/dep-pdp.yaml
@@ -60,9 +60,15 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /tmp/policy-install/config
name: pe
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: pe
hostPath:
path: /dockerdata-nfs/{{ .Values.nsPrefix }}/policy/opt/policy/config/pe/
diff --git a/kubernetes/policy/templates/policy-pv-pvc.yaml b/kubernetes/policy/templates/policy-pv-pvc.yaml
index dda9820c06..71cf3d8a48 100644
--- a/kubernetes/policy/templates/policy-pv-pvc.yaml
+++ b/kubernetes/policy/templates/policy-pv-pvc.yaml
@@ -1,10 +1,10 @@
apiVersion: v1
kind: PersistentVolume
metadata:
- name: policy-db
+ name: "{{ .Values.nsPrefix }}-policy-db"
namespace: "{{ .Values.nsPrefix }}-policy"
labels:
- name: policy-db
+ name: "{{ .Values.nsPrefix }}-policy-db"
spec:
capacity:
storage: 2Gi
@@ -27,4 +27,4 @@ spec:
storage: 2Gi
selector:
matchLabels:
- name: policy-db
+ name: "{{ .Values.nsPrefix }}-policy-db"
diff --git a/kubernetes/policy/values.yaml b/kubernetes/policy/values.yaml
index 1b2ed0f880..62e91f88f5 100644
--- a/kubernetes/policy/values.yaml
+++ b/kubernetes/policy/values.yaml
@@ -4,12 +4,12 @@ nodePortPrefix: 302
image:
readiness: oomk8s/readiness-check
readinessVersion: 1.0.0
- policyPe: nexus3.onap.org:10001/openecomp/policy/policy-pe
+ policyPe: nexus3.onap.org:10001/onap/policy/policy-pe
policyPeVersion: 1.1-STAGING-latest
- policyDrools: nexus3.onap.org:10001/openecomp/policy/policy-drools
+ policyDrools: nexus3.onap.org:10001/onap/policy/policy-drools
policyDroolsVersion: 1.1-STAGING-latest
- policyDb: nexus3.onap.org:10001/openecomp/policy/policy-db
+ policyDb: nexus3.onap.org:10001/onap/policy/policy-db
policyDbVersion: 1.1-STAGING-latest
- policyNexus: nexus3.onap.org:10001/openecomp/policy/policy-nexus
+ policyNexus: nexus3.onap.org:10001/onap/policy/policy-nexus
policyNexusVersion: 1.1-STAGING-latest
ubuntu: ubuntu:16.04
diff --git a/kubernetes/portal/templates/all-services.yaml b/kubernetes/portal/templates/all-services.yaml
index b3fabb2932..b819b1c5e3 100644
--- a/kubernetes/portal/templates/all-services.yaml
+++ b/kubernetes/portal/templates/all-services.yaml
@@ -20,6 +20,17 @@ metadata:
app: portalapps
name: portalapps
namespace: "{{ .Values.nsPrefix }}-portal"
+ annotations:
+ msb.onap.org/service-info: '[
+ {
+ "serviceName": "portal",
+ "version": "v2",
+ "url": "/",
+ "protocol": "REST"
+ "port": "8989",
+ "visualRange":"1"
+ }
+ ]'
spec:
ports:
- name: portal-1
diff --git a/kubernetes/portal/templates/portal-apps-deployment.yaml b/kubernetes/portal/templates/portal-apps-deployment.yaml
index c6078678cd..2048a694f2 100755
--- a/kubernetes/portal/templates/portal-apps-deployment.yaml
+++ b/kubernetes/portal/templates/portal-apps-deployment.yaml
@@ -64,6 +64,9 @@ spec:
command: ["/bin/sh", "-c", "echo yes > /portal_root/boot.txt"]
name: portalapps
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: "{{ .Values.onapPortal.webappsDir }}/ECOMPPORTAL/WEB-INF/fusion/conf/fusion.properties"
name: portal-fusion-properties
- mountPath: "{{ .Values.onapPortal.webappsDir }}/ECOMPPORTAL/WEB-INF/classes/openid-connect.properties"
@@ -102,6 +105,9 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: portal-fusion-properties
hostPath:
path: /dockerdata-nfs/{{ .Values.nsPrefix }}/portal/portal-fe/webapps/etc/ECOMPPORTALAPP/fusion.properties
diff --git a/kubernetes/portal/templates/portal-mariadb-deployment.yaml b/kubernetes/portal/templates/portal-mariadb-deployment.yaml
index 16c0d7e6d2..f4e46ab062 100755
--- a/kubernetes/portal/templates/portal-mariadb-deployment.yaml
+++ b/kubernetes/portal/templates/portal-mariadb-deployment.yaml
@@ -23,6 +23,9 @@ spec:
- name: MYSQL_ROOT_PASSWORD
value: password
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /var/lib/mysql
name: portal-mariadb-data
ports:
@@ -34,6 +37,9 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: portal-mariadb-data
persistentVolumeClaim:
claimName: portal-db
diff --git a/kubernetes/portal/templates/portal-pv-pvc.yaml b/kubernetes/portal/templates/portal-pv-pvc.yaml
index 5d41e4febe..11b3dbb4e1 100644
--- a/kubernetes/portal/templates/portal-pv-pvc.yaml
+++ b/kubernetes/portal/templates/portal-pv-pvc.yaml
@@ -1,10 +1,10 @@
apiVersion: v1
kind: PersistentVolume
metadata:
- name: portal-db
+ name: "{{ .Values.nsPrefix }}-portal-db"
namespace: "{{ .Values.nsPrefix }}-portal"
labels:
- name: portal-db
+ name: "{{ .Values.nsPrefix }}-portal-db"
spec:
capacity:
storage: 2Gi
@@ -27,4 +27,4 @@ spec:
storage: 2Gi
selector:
matchLabels:
- name: portal-db
+ name: "{{ .Values.nsPrefix }}-portal-db"
diff --git a/kubernetes/portal/templates/portal-vnc-dep.yaml b/kubernetes/portal/templates/portal-vnc-dep.yaml
index 6c90bbfa17..075b1f19e0 100644
--- a/kubernetes/portal/templates/portal-vnc-dep.yaml
+++ b/kubernetes/portal/templates/portal-vnc-dep.yaml
@@ -120,12 +120,18 @@ spec:
value: password
name: vnc-portal
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /ubuntu-init/
name: ubuntu-init
securityContext:
privileged: true
securityContext: {}
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: ubuntu-init
emptyDir: {}
imagePullSecrets:
diff --git a/kubernetes/portal/templates/portal-widgets-deployment.yaml b/kubernetes/portal/templates/portal-widgets-deployment.yaml
index 5b020e5865..fb6b4d8712 100644
--- a/kubernetes/portal/templates/portal-widgets-deployment.yaml
+++ b/kubernetes/portal/templates/portal-widgets-deployment.yaml
@@ -44,6 +44,9 @@ spec:
imagePullPolicy: {{ .Values.pullPolicy }}
name: portalwidgets
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /application.properties
name: portalwidgets-application-properties
ports:
@@ -54,6 +57,9 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: portalwidgets-application-properties
hostPath:
path: /dockerdata-nfs/{{ .Values.nsPrefix }}/portal/portal-fe/webapps/etc/ECOMPWIDGETMS/application.properties
diff --git a/kubernetes/robot/templates/robot-deployment.yaml b/kubernetes/robot/templates/robot-deployment.yaml
index 3a98f87d21..da017db6a6 100644
--- a/kubernetes/robot/templates/robot-deployment.yaml
+++ b/kubernetes/robot/templates/robot-deployment.yaml
@@ -18,6 +18,9 @@ spec:
imagePullPolicy: {{ .Values.pullPolicy }}
name: robot
volumeMounts:
+ - name: localtime
+ mountPath: /etc/localtime
+ readOnly: true
- name: robot-eteshare
mountPath: /share
- name: robot-resources-asdc-interface
@@ -44,6 +47,9 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: robot-eteshare
hostPath:
path: /dockerdata-nfs/{{ .Values.nsPrefix }}/robot/eteshare
diff --git a/kubernetes/sdc/templates/sdc-be.yaml b/kubernetes/sdc/templates/sdc-be.yaml
index d853f18f91..77c7545f6b 100644
--- a/kubernetes/sdc/templates/sdc-be.yaml
+++ b/kubernetes/sdc/templates/sdc-be.yaml
@@ -81,6 +81,7 @@ spec:
name: sdc-environments
- mountPath: /etc/localtime
name: sdc-localtime
+ readOnly: true
- mountPath: /var/lib/jetty/logs
name: sdc-logs
ports:
diff --git a/kubernetes/sdc/templates/sdc-cs.yaml b/kubernetes/sdc/templates/sdc-cs.yaml
index 9021194968..844bd20d35 100644
--- a/kubernetes/sdc/templates/sdc-cs.yaml
+++ b/kubernetes/sdc/templates/sdc-cs.yaml
@@ -61,6 +61,7 @@ spec:
name: sdc-environments
- mountPath: /etc/localtime
name: sdc-localtime
+ readOnly: true
- mountPath: /var/lib/jetty/logs
name: sdc-logs
ports:
diff --git a/kubernetes/sdc/templates/sdc-es.yaml b/kubernetes/sdc/templates/sdc-es.yaml
index 59e69dbfdc..e322ff405a 100644
--- a/kubernetes/sdc/templates/sdc-es.yaml
+++ b/kubernetes/sdc/templates/sdc-es.yaml
@@ -35,6 +35,7 @@ spec:
name: sdc-environments
- mountPath: /etc/localtime
name: sdc-localtime
+ readOnly: true
- mountPath: /var/lib/jetty/logs
name: sdc-logs
ports:
diff --git a/kubernetes/sdc/templates/sdc-fe.yaml b/kubernetes/sdc/templates/sdc-fe.yaml
index 915d18b786..0ca83ae164 100644
--- a/kubernetes/sdc/templates/sdc-fe.yaml
+++ b/kubernetes/sdc/templates/sdc-fe.yaml
@@ -65,6 +65,7 @@ spec:
name: sdc-environments
- mountPath: /etc/localtime
name: sdc-localtime
+ readOnly: true
- mountPath: /var/lib/jetty/logs
name: sdc-logs
- mountPath: /root/chef-solo/cookbooks/sdc-catalog-fe/recipes/FE_2_setup_configuration.rb
diff --git a/kubernetes/sdc/templates/sdc-kb.yaml b/kubernetes/sdc/templates/sdc-kb.yaml
index 67110f1e8f..0d77e42d97 100644
--- a/kubernetes/sdc/templates/sdc-kb.yaml
+++ b/kubernetes/sdc/templates/sdc-kb.yaml
@@ -57,6 +57,7 @@ spec:
name: sdc-environments
- mountPath: /etc/localtime
name: sdc-localtime
+ readOnly: true
- mountPath: /var/lib/jetty/logs
name: sdc-logs
ports:
diff --git a/kubernetes/sdc/templates/sdc-pv-pvc.yaml b/kubernetes/sdc/templates/sdc-pv-pvc.yaml
index 41f85e9465..d84d8f4a93 100644
--- a/kubernetes/sdc/templates/sdc-pv-pvc.yaml
+++ b/kubernetes/sdc/templates/sdc-pv-pvc.yaml
@@ -1,10 +1,10 @@
apiVersion: v1
kind: PersistentVolume
metadata:
- name: sdc-cs-db
+ name: "{{ .Values.nsPrefix }}-sdc-cs-db"
namespace: "{{ .Values.nsPrefix }}-sdc"
labels:
- name: sdc-cs-db
+ name: "{{ .Values.nsPrefix }}-sdc-cs-db"
spec:
capacity:
storage: 2Gi
@@ -27,4 +27,4 @@ spec:
storage: 2Gi
selector:
matchLabels:
- name: sdc-cs-db
+ name: "{{ .Values.nsPrefix }}-sdc-cs-db"
diff --git a/kubernetes/sdnc/templates/db-deployment.yaml b/kubernetes/sdnc/templates/db-deployment.yaml
index 837079819f..7bc8a75214 100644
--- a/kubernetes/sdnc/templates/db-deployment.yaml
+++ b/kubernetes/sdnc/templates/db-deployment.yaml
@@ -23,6 +23,9 @@ spec:
imagePullPolicy: {{ .Values.pullPolicy }}
name: sdnc-db-container
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /var/lib/mysql
name: sdnc-data
ports:
@@ -33,6 +36,9 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: sdnc-data
persistentVolumeClaim:
claimName: sdnc-db
diff --git a/kubernetes/sdnc/templates/dgbuilder-deployment.yaml b/kubernetes/sdnc/templates/dgbuilder-deployment.yaml
index 6d911c3381..ba2008ab4a 100644
--- a/kubernetes/sdnc/templates/dgbuilder-deployment.yaml
+++ b/kubernetes/sdnc/templates/dgbuilder-deployment.yaml
@@ -61,6 +61,14 @@ spec:
port: 3100
initialDelaySeconds: 5
periodSeconds: 10
+ volumeMounts:
+ - name: localtime
+ mountPath: /etc/localtime
+ readOnly: true
restartPolicy: Always
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
diff --git a/kubernetes/sdnc/templates/sdnc-deployment.yaml b/kubernetes/sdnc/templates/sdnc-deployment.yaml
index f4947924ba..4b123906af 100644
--- a/kubernetes/sdnc/templates/sdnc-deployment.yaml
+++ b/kubernetes/sdnc/templates/sdnc-deployment.yaml
@@ -51,6 +51,9 @@ spec:
imagePullPolicy: {{ .Values.pullPolicy }}
name: sdnc-controller-container
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /opt/openecomp/sdnc/data/properties/aaiclient.properties
name: sdnc-aaiclient-properties
- mountPath: /opt/openecomp/sdnc/data/properties/admportal.json
@@ -63,6 +66,9 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: sdnc-aaiclient-properties
hostPath:
path: /dockerdata-nfs/{{ .Values.nsPrefix }}/sdnc/conf/aaiclient.properties
diff --git a/kubernetes/sdnc/templates/sdnc-pv-pvc.yaml b/kubernetes/sdnc/templates/sdnc-pv-pvc.yaml
index ac890c62b9..f8fe394907 100644
--- a/kubernetes/sdnc/templates/sdnc-pv-pvc.yaml
+++ b/kubernetes/sdnc/templates/sdnc-pv-pvc.yaml
@@ -1,10 +1,10 @@
apiVersion: v1
kind: PersistentVolume
metadata:
- name: sdnc-db
+ name: "{{ .Values.nsPrefix }}-sdnc-db"
namespace: "{{ .Values.nsPrefix }}-sdnc"
labels:
- name: sdnc-db
+ name: "{{ .Values.nsPrefix }}-sdnc-db"
spec:
capacity:
storage: 2Gi
@@ -27,4 +27,4 @@ spec:
storage: 2Gi
selector:
matchLabels:
- name: sdnc-db
+ name: "{{ .Values.nsPrefix }}-sdnc-db"
diff --git a/kubernetes/sdnc/templates/web-deployment.yaml b/kubernetes/sdnc/templates/web-deployment.yaml
index a141e765dc..4f7886dc9c 100644
--- a/kubernetes/sdnc/templates/web-deployment.yaml
+++ b/kubernetes/sdnc/templates/web-deployment.yaml
@@ -56,11 +56,19 @@ spec:
name: sdnc-portal-container
ports:
- containerPort: 8843
+ volumeMounts:
+ - name: localtime
+ mountPath: /etc/localtime
+ readOnly: true
readinessProbe:
tcpSocket:
port: 8843
initialDelaySeconds: 5
periodSeconds: 10
restartPolicy: Always
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
diff --git a/kubernetes/vid/templates/vid-mariadb-deployment.yaml b/kubernetes/vid/templates/vid-mariadb-deployment.yaml
index e5032f33c7..9b585e246f 100644
--- a/kubernetes/vid/templates/vid-mariadb-deployment.yaml
+++ b/kubernetes/vid/templates/vid-mariadb-deployment.yaml
@@ -29,6 +29,9 @@ spec:
- name: MYSQL_ROOT_PASSWORD
value: LF+tp_1WqgSY
volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
- mountPath: /var/lib/mysql
name: vid-mariadb-data
- mountPath: /docker-entrypoint-initdb.d/vid-pre-init.sql
@@ -43,6 +46,9 @@ spec:
initialDelaySeconds: 5
periodSeconds: 10
volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
- name: vid-mariadb-data
persistentVolumeClaim:
claimName: vid-db
diff --git a/kubernetes/vid/templates/vid-pv-pvc.yaml b/kubernetes/vid/templates/vid-pv-pvc.yaml
index 71c5d733dc..f568c7a74b 100644
--- a/kubernetes/vid/templates/vid-pv-pvc.yaml
+++ b/kubernetes/vid/templates/vid-pv-pvc.yaml
@@ -1,10 +1,10 @@
apiVersion: v1
kind: PersistentVolume
metadata:
- name: vid-db
+ name: "{{ .Values.nsPrefix }}-vid-db"
namespace: "{{ .Values.nsPrefix }}-vid"
labels:
- name: vid-db
+ name: "{{ .Values.nsPrefix }}-vid-db"
spec:
capacity:
storage: 2Gi
@@ -27,4 +27,4 @@ spec:
storage: 2Gi
selector:
matchLabels:
- name: vid-db
+ name: "{{ .Values.nsPrefix }}-vid-db"
diff --git a/kubernetes/vid/templates/vid-server-deployment.yaml b/kubernetes/vid/templates/vid-server-deployment.yaml
index c535b440c1..69c0b57ae1 100644
--- a/kubernetes/vid/templates/vid-server-deployment.yaml
+++ b/kubernetes/vid/templates/vid-server-deployment.yaml
@@ -88,10 +88,18 @@ spec:
name: vid-server
ports:
- containerPort: 8080
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
readinessProbe:
tcpSocket:
port: 8080
initialDelaySeconds: 5
periodSeconds: 10
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"