Merge "Add service endpoint annotation for message router"
authorrui hu <hu.rui2@zte.com.cn>
Fri, 15 Sep 2017 01:11:27 +0000 (01:11 +0000)
committerGerrit Code Review <gerrit@onap.org>
Fri, 15 Sep 2017 01:11:27 +0000 (01:11 +0000)
129 files changed:
kubernetes/aai/templates/aai-deployment.yaml
kubernetes/aai/templates/aai-resources-deployment.yaml
kubernetes/aai/templates/aai-traversal-deployment.yaml
kubernetes/aai/templates/data-router-deployment.yaml
kubernetes/aai/templates/elasticsearch-deployment.yaml
kubernetes/aai/templates/gremlin-deployment.yaml
kubernetes/aai/templates/hbase-deployment.yaml
kubernetes/aai/templates/modelloader-deployment.yaml
kubernetes/aai/templates/search-data-service-deployment.yaml
kubernetes/aai/templates/sparky-be-deployment.yaml
kubernetes/appc/templates/appc-deployment.yaml
kubernetes/appc/templates/appc-pv-pvc.yaml
kubernetes/appc/templates/db-deployment.yaml
kubernetes/appc/templates/dgbuilder-deployment.yaml
kubernetes/cli/Chart.yaml [new file with mode: 0644]
kubernetes/cli/templates/all-service.yaml [new file with mode: 0644]
kubernetes/cli/templates/cli-deployment.yaml [new file with mode: 0644]
kubernetes/cli/values.yaml [new file with mode: 0644]
kubernetes/config/docker/init/config-init.sh
kubernetes/config/docker/init/src/config/log/aai/ajsc-aai/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/aai/model-loader/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/appc/org.ops4j.pax.logging.cfg [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/filebeat/log4j/filebeat.yml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/filebeat/logback/filebeat.yml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/mso/logback.apihandler-infra.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/mso/logback.appc.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/mso/logback.asdc.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/mso/logback.bpmn.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/mso/logback.msorequestsdbadapter.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/mso/logback.network.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/mso/logback.sdnc.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/mso/logback.tenant.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/mso/logback.vnf.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/policy/drools/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/policy/ep_sdk_app/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/policy/pypdpserver/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/policy/xacml-pap-rest/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/policy/xacml-pdp-rest/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/portal/portal-be/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/portal/portal-db/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/sdc/be/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/sdc/fe/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/sdnc/org.ops4j.pax.logging.cfg [new file with mode: 0644]
kubernetes/config/docker/init/src/config/log/vid/logback.xml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/policy/opt/policy/config/drools/base.conf
kubernetes/config/docker/init/src/config/policy/opt/policy/config/drools/drools-tweaks.sh
kubernetes/config/docker/init/src/config/policy/opt/policy/config/drools/feature-healthcheck.conf [new file with mode: 0644]
kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/base.conf
kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/brmsgw-tweaks.sh
kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/brmsgw.conf
kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/console.conf
kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/elk.conf [new file with mode: 0644]
kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/pap-tweaks.sh
kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/pdp.conf
kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/push-policies.sh [new file with mode: 0644]
kubernetes/config/docker/init/src/config/policy/opt/policy/config/pe/pypdp-tweaks.sh [deleted file]
kubernetes/config/templates/pod.yaml
kubernetes/dcae/Chart.yaml [new file with mode: 0644]
kubernetes/dcae/README [new file with mode: 0644]
kubernetes/dcae/cdap/docker/00-provisioning.sh [new file with mode: 0755]
kubernetes/dcae/cdap/docker/01-entrypoint.sh [new file with mode: 0755]
kubernetes/dcae/cdap/docker/Dockerfile [new file with mode: 0644]
kubernetes/dcae/cdap/docker/docker-compose.yaml [new file with mode: 0644]
kubernetes/dcae/cdap/docker/fs/Dockerfile [new file with mode: 0644]
kubernetes/dcae/pgaas/Dockerfile [new file with mode: 0755]
kubernetes/dcae/pgaas/setup.sh [new file with mode: 0755]
kubernetes/dcae/templates/all-services.yaml [new file with mode: 0644]
kubernetes/dcae/templates/cdap0-dep.yaml [new file with mode: 0644]
kubernetes/dcae/templates/cdap1-dep.yaml [new file with mode: 0644]
kubernetes/dcae/templates/cdap2-dep.yaml [new file with mode: 0644]
kubernetes/dcae/templates/dcae-collector-common-event.yaml [new file with mode: 0644]
kubernetes/dcae/templates/dcae-collector-dmaapbc.yaml [new file with mode: 0644]
kubernetes/dcae/templates/dcae-controller.yaml [new file with mode: 0644]
kubernetes/dcae/templates/dcae-dmaap.yaml [new file with mode: 0644]
kubernetes/dcae/templates/dcae-kafka.yaml [new file with mode: 0644]
kubernetes/dcae/templates/dcae-zookeeper.yaml [new file with mode: 0644]
kubernetes/dcae/templates/pgaas.yaml [new file with mode: 0644]
kubernetes/dcae/values.yaml [new file with mode: 0644]
kubernetes/log/Chart.yaml [new file with mode: 0644]
kubernetes/log/resources/elasticsearch/conf/elasticsearch.yml [new file with mode: 0644]
kubernetes/log/resources/kibana/conf/kibana.yml [new file with mode: 0644]
kubernetes/log/resources/logstash/conf/logstash.yml [new file with mode: 0644]
kubernetes/log/resources/logstash/pipeline/onap-pipeline.conf [new file with mode: 0644]
kubernetes/log/templates/all-services.yaml [new file with mode: 0644]
kubernetes/log/templates/elasticsearch-deployment.yaml [new file with mode: 0644]
kubernetes/log/templates/kibana-deployment.yaml [new file with mode: 0644]
kubernetes/log/templates/log-pv-pvc.yaml [new file with mode: 0644]
kubernetes/log/templates/logstash-deployment.yaml [new file with mode: 0644]
kubernetes/log/values.yaml [new file with mode: 0644]
kubernetes/message-router/templates/message-router-dmaap.yaml
kubernetes/message-router/templates/message-router-kafka.yaml
kubernetes/message-router/templates/message-router-pv-pvc.yaml
kubernetes/message-router/templates/message-router-zookeeper.yaml
kubernetes/mso/templates/db-deployment.yaml
kubernetes/mso/templates/mso-deployment.yaml
kubernetes/mso/templates/mso-pv-pvc.yaml
kubernetes/oneclick/createAll.bash
kubernetes/oneclick/dcae.sh
kubernetes/oneclick/setenv.bash
kubernetes/policy/templates/all-services.yaml
kubernetes/policy/templates/dep-brmsgw.yaml
kubernetes/policy/templates/dep-drools.yaml
kubernetes/policy/templates/dep-maria.yaml
kubernetes/policy/templates/dep-nexus.yaml
kubernetes/policy/templates/dep-pap.yaml
kubernetes/policy/templates/dep-pdp.yaml
kubernetes/policy/templates/policy-pv-pvc.yaml
kubernetes/policy/values.yaml
kubernetes/portal/templates/all-services.yaml
kubernetes/portal/templates/portal-apps-deployment.yaml
kubernetes/portal/templates/portal-mariadb-deployment.yaml
kubernetes/portal/templates/portal-pv-pvc.yaml
kubernetes/portal/templates/portal-vnc-dep.yaml
kubernetes/portal/templates/portal-widgets-deployment.yaml
kubernetes/robot/templates/robot-deployment.yaml
kubernetes/sdc/templates/sdc-be.yaml
kubernetes/sdc/templates/sdc-cs.yaml
kubernetes/sdc/templates/sdc-es.yaml
kubernetes/sdc/templates/sdc-fe.yaml
kubernetes/sdc/templates/sdc-kb.yaml
kubernetes/sdc/templates/sdc-pv-pvc.yaml
kubernetes/sdnc/templates/db-deployment.yaml
kubernetes/sdnc/templates/dgbuilder-deployment.yaml
kubernetes/sdnc/templates/sdnc-deployment.yaml
kubernetes/sdnc/templates/sdnc-pv-pvc.yaml
kubernetes/sdnc/templates/web-deployment.yaml
kubernetes/vid/templates/vid-mariadb-deployment.yaml
kubernetes/vid/templates/vid-pv-pvc.yaml
kubernetes/vid/templates/vid-server-deployment.yaml

index 9b55d4e..dc375cb 100644 (file)
@@ -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/"
index 1aff10b..c61bc6f 100644 (file)
@@ -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/"
index debd1f6..ec387b0 100644 (file)
@@ -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/"
index f823061..4473dcf 100644 (file)
@@ -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/"
index 1c2a2ad..1fc92ad 100644 (file)
@@ -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"
index d28b286..75b3e92 100644 (file)
@@ -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"
index 98c3882..c261504 100644 (file)
@@ -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"
index 5391273..22b7281 100644 (file)
@@ -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/"
index f2db937..7413275 100644 (file)
@@ -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/"
index 6a8ff93..a17325c 100644 (file)
@@ -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/"
index 8be421c..8046107 100644 (file)
@@ -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
index 51392f7..2ce6228 100644 (file)
@@ -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"
index 542f8f4..560f482 100644 (file)
@@ -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
index e034257..0792393 100644 (file)
@@ -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 (file)
index 0000000..077cc6e
--- /dev/null
@@ -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 (file)
index 0000000..ffd9f68
--- /dev/null
@@ -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 (file)
index 0000000..88cb3eb
--- /dev/null
@@ -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 (file)
index 0000000..b8fe44e
--- /dev/null
@@ -0,0 +1,5 @@
+nsPrefix: onap
+pullPolicy: Always
+nodePortPrefix: 302
+image:
+  cliImage: nexus3.onap.org:10001/onap/cli:1.1-STAGING-latest
index cc3a0f6..b97eee0 100755 (executable)
@@ -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 (file)
index 0000000..b16b6eb
--- /dev/null
@@ -0,0 +1,295 @@
+<configuration debug="false" scan="true" scanPeriod="60 seconds">\r
+    <contextName>${module.ajsc.namespace.name}</contextName>\r
+    <jmxConfigurator />\r
+    <property name="logDir" value="/var/log/onap" />\r
+    <property name="componentName" value="aai"></property>\r
+    <property name="restLogDirectory" value="${logDir}/${componentName}/rest" />\r
+    <property name="dmaapLogDirectory" value="${logDir}/${componentName}/dmaapAAIWorkloadConsumer" />\r
+    <property name="perfLogsDirectory" value="${logDir}/${componentName}/perf-audit" />\r
+    <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" />\r
+    <!--  log file names -->\r
+    <property name="errorLogName" value="error" />\r
+    <property name="metricsLogName" value="metrics" />\r
+    <property name="auditLogName" value="audit" />\r
+    <property name="debugLogName" value="debug" />\r
+    <property name="queueSize" value="256" />\r
+    <property name="maxFileSize" value="50MB" />\r
+    <property name="maxHistory" value="30" />\r
+    <property name="totalSizeCap" value="10GB" />\r
+    <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">\r
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
+            <level>ERROR</level>\r
+            <onMatch>ACCEPT</onMatch>\r
+            <onMismatch>DENY</onMismatch>\r
+        </filter>\r
+        <encoder>\r
+            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="METRIC">\r
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
+            <level>INFO</level>\r
+            <onMatch>ACCEPT</onMatch>\r
+            <onMismatch>DENY</onMismatch>\r
+        </filter>\r
+        <file>${restLogDirectory}/${metricsLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${restLogDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncMETRIC">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="METRIC" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="DEBUG">\r
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
+            <level>DEBUG</level>\r
+            <onMatch>ACCEPT</onMatch>\r
+            <onMismatch>DENY</onMismatch>\r
+        </filter>\r
+        <file>${restLogDirectory}/${debugLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${restLogDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncDEBUG">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="DEBUG" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ERROR">\r
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+            <level>WARN</level>\r
+        </filter>\r
+        <file>${restLogDirectory}/${errorLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${restLogDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncERROR">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="ERROR" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="AUDIT">\r
+        <file>${restLogDirectory}/${auditLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${restLogDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncAUDIT">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="AUDIT" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="dmaapAAIWorkloadConsumer">\r
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+            <level>WARN</level>\r
+        </filter>\r
+        <File>${dmaapLogDirectory}/${errorLogName}.log</File>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${dmaapLogDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="dmaapAAIWorkloadConsumerdebug">\r
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
+            <level>DEBUG</level>\r
+            <onMatch>ACCEPT</onMatch>\r
+            <onMismatch>DENY</onMismatch>\r
+        </filter>\r
+        <File>${dmaapLogDirectory}/${debugLogName}.log</File>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${dmaapLogDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="dmaapAAIWorkloadConsumermetric">\r
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
+            <level>INFO</level>\r
+            <onMatch>ACCEPT</onMatch>\r
+            <onMismatch>DENY</onMismatch>\r
+        </filter>\r
+        <File>${dmaapLogDirectory}/${metricsLogName}.log</File>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${dmaapLogDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- Spring related loggers -->\r
+    <logger level="WARN" name="org.springframework" />\r
+    <logger level="WARN" name="org.springframework.beans" />\r
+    <logger level="WARN" name="org.springframework.web" />\r
+    <logger level="WARN" name="com.blog.spring.jms" />\r
+    <!-- AJSC Services (bootstrap services) -->\r
+    <logger level="WARN" name="ajsc" />\r
+    <logger level="WARN" name="ajsc.RouteMgmtService" />\r
+    <logger level="WARN" name="ajsc.ComputeService" />\r
+    <logger level="WARN" name="ajsc.VandelayService" />\r
+    <logger level="WARN" name="ajsc.FilePersistenceService" />\r
+    <logger level="WARN" name="ajsc.UserDefinedJarService" />\r
+    <logger level="WARN" name="ajsc.UserDefinedBeansDefService" />\r
+    <logger level="WARN" name="ajsc.LoggingConfigurationService" />\r
+    <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet     logging) -->\r
+    <logger level="WARN" name="ajsc.utils" />\r
+    <logger level="WARN" name="ajsc.utils.DME2Helper" />\r
+    <logger level="WARN" name="ajsc.filters" />\r
+    <logger level="WARN" name="ajsc.beans.interceptors" />\r
+    <logger level="WARN" name="ajsc.restlet" />\r
+    <logger level="WARN" name="ajsc.servlet" />\r
+    <logger level="WARN" name="com.att.ajsc" />\r
+    <logger level="WARN" name="com.att.ajsc.csi.logging" />\r
+    <logger level="WARN" name="com.att.ajsc.filemonitor" />\r
+    <!-- Other Loggers that may help troubleshoot -->\r
+    <logger level="WARN" name="net.sf" />\r
+    <logger level="WARN" name="org.apache.commons.httpclient" />\r
+    <logger level="WARN" name="org.apache.commons" />\r
+    <logger level="WARN" name="org.apache.coyote" />\r
+    <logger level="WARN" name="org.apache.jasper" />\r
+    <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.        May aid in troubleshooting) -->\r
+    <logger level="WARN" name="org.apache.camel" />\r
+    <logger level="WARN" name="org.apache.cxf" />\r
+    <logger level="WARN" name="org.apache.camel.processor.interceptor" />\r
+    <logger level="WARN" name="org.apache.cxf.jaxrs.interceptor" />\r
+    <logger level="WARN" name="org.apache.cxf.service" />\r
+    <logger level="WARN" name="org.restlet" />\r
+    <logger level="WARN" name="org.apache.camel.component.restlet" />\r
+    <!-- logback internals logging -->\r
+    <logger level="WARN" name="ch.qos.logback.classic" />\r
+    <logger level="WARN" name="ch.qos.logback.core" />\r
+    <!-- logback jms appenders & loggers definition starts here -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="auditLogs">\r
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />\r
+        <file>${perfLogsDirectory}/Audit-${lrmRVer}-${lrmRO}-${Pid}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${perfLogsDirectory}/Audit-${lrmRVer}-${lrmRO}-${Pid}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="perfLogs">\r
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />\r
+        <file>${perfLogsDirectory}/Perform-${lrmRVer}-${lrmRO}-${Pid}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${perfLogsDirectory}/Perform-${lrmRVer}-${lrmRO}-${Pid}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC-audit">\r
+        <queueSize>1000</queueSize>\r
+        <discardingThreshold>0</discardingThreshold>\r
+        <appender-ref ref="Audit-Record-Queue" />\r
+    </appender>\r
+    <logger additivity="false" level="INFO" name="AuditRecord">\r
+        <appender-ref ref="ASYNC-audit" />\r
+        <appender-ref ref="auditLogs" />\r
+    </logger>\r
+    <logger additivity="false" level="INFO" name="AuditRecord_DirectCall">\r
+        <appender-ref ref="ASYNC-audit" />\r
+        <appender-ref ref="auditLogs" />\r
+    </logger>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC-perf">\r
+        <queueSize>1000</queueSize>\r
+        <discardingThreshold>0</discardingThreshold>\r
+        <appender-ref ref="Performance-Tracker-Queue" />\r
+    </appender>\r
+    <logger additivity="false" level="INFO" name="PerfTrackerRecord">\r
+        <appender-ref ref="ASYNC-perf" />\r
+        <appender-ref ref="perfLogs" />\r
+    </logger>\r
+    <!-- logback jms appenders & loggers definition ends here -->\r
+    <logger additivity="false" level="DEBUG" name="org.openecomp.aai.dmaap">\r
+        <appender-ref ref="dmaapAAIWorkloadConsumer" />\r
+        <appender-ref ref="dmaapAAIWorkloadConsumerdebug" />\r
+        <appender-ref ref="dmaapAAIWorkloadConsumermetric" />\r
+    </logger>\r
+    <logger additivity="false" level="INFO" name="org.openecomp.aai">\r
+        <appender-ref ref="asyncDEBUG" />\r
+        <appender-ref ref="asyncERROR" />\r
+        <appender-ref ref="asyncMETRIC" />\r
+    </logger>\r
+    <logger additivity="false" level="INFO" name="org.openecomp.aai.AUDITLOGGER">\r
+        <appender-ref ref="asyncAUDIT" />\r
+    </logger>\r
+    <logger level="WARN" name="org.apache" />\r
+    <logger level="WARN" name="org.zookeeper" />\r
+    <logger level="WARN" name="com.thinkaurelius" />\r
+    <!-- ============================================================================ -->\r
+    <!-- General EELF logger -->\r
+    <!-- ============================================================================ -->\r
+    <logger additivity="false" level="WARN" name="com.att.eelf">\r
+        <appender-ref ref="asyncDEBUG" />\r
+        <appender-ref ref="asyncERROR" />\r
+        <appender-ref ref="asyncMETRIC" />\r
+        <appender-ref ref="asyncAUDIT" />\r
+    </logger>\r
+    <root level="WARN">\r
+        <appender-ref ref="asyncDEBUG" />\r
+        <appender-ref ref="asyncERROR" />\r
+        <appender-ref ref="asyncMETRIC" />\r
+        <appender-ref ref="asyncAUDIT" />\r
+    </root>\r
+</configuration>\r
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 (file)
index 0000000..cdef6d3
--- /dev/null
@@ -0,0 +1,163 @@
+<configuration debug="false" scan="true" scanPeriod="3 seconds">\r
+    <!--<jmxConfigurator /> -->\r
+    <!-- directory path for all other type logs -->\r
+    <property name="logDir" value="/var/log/onap" />\r
+    <!-- specify the component name <ECOMP-component-name>::= "MSO" | "DCAE" \r
+                | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC" -->\r
+    <property name="componentName" value="aai"></property>\r
+    <property name="subComponentName" value="aai-ml"></property>\r
+    <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+    <!-- default eelf log file names -->\r
+    <property name="generalLogName" value="error" />\r
+    <property name="metricsLogName" value="metrics" />\r
+    <property name="auditLogName" value="audit" />\r
+    <property name="debugLogName" value="debug" />\r
+    <property name="queueSize" value="256" />\r
+    <property name="maxFileSize" value="50MB" />\r
+    <property name="maxHistory" value="30" />\r
+    <property name="totalSizeCap" value="10GB" />\r
+    <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" />\r
+    <!-- Example evaluator filter applied against console appender -->\r
+    <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- ============================================================================ -->\r
+    <!-- EELF Appenders -->\r
+    <!-- ============================================================================ -->\r
+    <!-- The EELFAppender is used to record events to the general application \r
+                log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELF">\r
+        <file>${logDirectory}/${generalLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELF">\r
+        <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->\r
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+            <level>INFO</level>\r
+        </filter>\r
+        <queueSize>256</queueSize>\r
+        <appender-ref ref="EELF" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFAudit">\r
+        <file>${logDirectory}/${auditLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFAudit">\r
+        <queueSize>256</queueSize>\r
+        <appender-ref ref="EELFAudit" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFMetrics">\r
+        <file>${logDirectory}/${metricsLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFMetrics">\r
+        <queueSize>256</queueSize>\r
+        <appender-ref ref="EELFMetrics" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">\r
+        <file>${logDirectory}/${debugLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFDebug">\r
+        <queueSize>256</queueSize>\r
+        <appender-ref ref="EELFDebug" />\r
+        <includeCallerData>true</includeCallerData>\r
+    </appender>\r
+    <!-- ============================================================================ -->\r
+    <!-- EELF loggers -->\r
+    <!-- ============================================================================ -->\r
+    <logger additivity="false" level="info" name="com.att.eelf">\r
+        <appender-ref ref="asyncEELF" />\r
+        <appender-ref ref="asyncEELFDebug" />\r
+    </logger>\r
+    <logger additivity="false" level="info" name="com.att.eelf.security">\r
+        <appender-ref ref="asyncEELFSecurity" />\r
+    </logger>\r
+    <logger additivity="false" level="info" name="com.att.eelf.perf">\r
+        <appender-ref ref="asyncEELFPerformance" />\r
+    </logger>\r
+    <logger additivity="false" level="info" name="com.att.eelf.server">\r
+        <appender-ref ref="asyncEELFServer" />\r
+    </logger>\r
+    <logger additivity="false" level="info" name="com.att.eelf.policy">\r
+        <appender-ref ref="asyncEELFPolicy" />\r
+    </logger>\r
+    <logger additivity="false" level="info" name="com.att.eelf.audit">\r
+        <appender-ref ref="asyncEELFAudit" />\r
+    </logger>\r
+    <logger additivity="false" level="info" name="com.att.eelf.metrics">\r
+        <appender-ref ref="asyncEELFMetrics" />\r
+    </logger>\r
+    <!-- Spring related loggers -->\r
+    <logger level="WARN" name="org.springframework" />\r
+    <logger level="WARN" name="org.springframework.beans" />\r
+    <logger level="WARN" name="org.springframework.web" />\r
+    <logger level="WARN" name="com.blog.spring.jms" />\r
+    <logger level="INFO" name="com.att" />\r
+    <!-- Model Loader loggers -->\r
+    <logger level="INFO" name="org.openecomp.modelloader" />\r
+    <!-- Other Loggers that may help troubleshoot -->\r
+    <logger level="WARN" name="net.sf" />\r
+    <logger level="WARN" name="org.apache.commons.httpclient" />\r
+    <logger level="WARN" name="org.apache.commons" />\r
+    <logger level="WARN" name="org.apache.coyote" />\r
+    <logger level="WARN" name="org.apache.jasper" />\r
+    <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. \r
+                May aid in troubleshooting) -->\r
+    <logger level="WARN" name="org.apache.camel" />\r
+    <logger level="WARN" name="org.apache.cxf" />\r
+    <logger level="WARN" name="org.apache.camel.processor.interceptor" />\r
+    <logger level="WARN" name="org.apache.cxf.jaxrs.interceptor" />\r
+    <logger level="WARN" name="org.apache.cxf.service" />\r
+    <logger level="WARN" name="org.restlet" />\r
+    <logger level="WARN" name="org.apache.camel.component.restlet" />\r
+    <!-- logback internals logging -->\r
+    <logger level="WARN" name="ch.qos.logback.classic" />\r
+    <logger level="WARN" name="ch.qos.logback.core" />\r
+    <root>\r
+        <appender-ref ref="asyncEELF" />\r
+        <!-- <appender-ref ref="asyncEELFDebug" /> -->\r
+    </root>\r
+</configuration>\r
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 (file)
index 0000000..c582620
--- /dev/null
@@ -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 (file)
index 0000000..90fce2b
--- /dev/null
@@ -0,0 +1,48 @@
+filebeat.prospectors:\r
+#it is mandatory, in our case it's log\r
+- input_type: log\r
+  #This is the canolical path as mentioned in logback.xml, *.* means it will monitor all files in the directory.\r
+  paths:\r
+    - /var/log/onap/*/*/*.log\r
+    - /var/log/onap/*/*.log\r
+    \r
+  # 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\r
+  #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\r
+  #ignore_older: 48h\r
+  # 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\r
+  #clean_inactive: 96h\r
+  \r
+  #Multiline properties for log4j xml log events\r
+  multiline.pattern: '</log4j:event>'\r
+  multiline.negate: true\r
+  multiline.match: before\r
+  #multiline.max_lines: 500\r
+  #multiline.timeout: 5s\r
+   \r
+# Name of the registry file. If a relative path is used, it is considered relative to the\r
+# data path. Else full qualified file name.\r
+#filebeat.registry_file: ${path.data}/registry\r
+\r
+\r
+output.logstash:\r
+  #List of logstash server ip addresses with port number. \r
+  #But, in our case, this will be the loadbalancer IP address.\r
+  #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.\r
+  hosts: ["logstash.onap-log:5044"]\r
+  #If enable will do load balancing among availabe Logstash, automatically.\r
+  loadbalance: true\r
+  \r
+  #The list of root certificates for server verifications. \r
+  #If certificate_authorities is empty or not set, the trusted \r
+  #certificate authorities of the host system are used.\r
+  #ssl.certificate_authorities: $ssl.certificate_authorities\r
+  \r
+  #The path to the certificate for SSL client authentication. If the certificate is not specified, \r
+  #client authentication is not available.\r
+  #ssl.certificate: $ssl.certificate\r
+  \r
+  #The client certificate key used for client authentication. \r
+  #ssl.key: $ssl.key\r
+  \r
+  #The passphrase used to decrypt an encrypted key stored in the configured key file\r
+  #ssl.key_passphrase: $ssl.key_passphrase\r
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 (file)
index 0000000..9a60dbd
--- /dev/null
@@ -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 (file)
index 0000000..d6c1188
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <property name="componentName" value="mso" />\r
+   <property name="subComponentName" value="apiHandlerInfra" />\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <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" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- EELF Appenders -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!--  EELF loggers -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</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 (file)
index 0000000..ef9589a
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <property name="componentName" value="mso" />\r
+   <property name="subComponentName" value="appcAdapter" />\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <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" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- EELF Appenders -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!--  EELF loggers -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</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 (file)
index 0000000..99615e3
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <property name="componentName" value="mso" />\r
+   <property name="subComponentName" value="asdcController" />\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <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" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- EELF Appenders -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!--  EELF loggers -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</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 (file)
index 0000000..2e64259
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <property name="componentName" value="mso" />\r
+   <property name="subComponentName" value="bpmn" />\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <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" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- EELF Appenders -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!--  EELF loggers -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</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 (file)
index 0000000..e6e0591
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <property name="componentName" value="mso" />\r
+   <property name="subComponentName" value="requestDB" />\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <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" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- EELF Appenders -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!--  EELF loggers -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</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 (file)
index 0000000..3e5c670
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <property name="componentName" value="mso" />\r
+   <property name="subComponentName" value="networkAdapter" />\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <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" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- EELF Appenders -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!--  EELF loggers -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</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 (file)
index 0000000..07d1df3
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <property name="componentName" value="mso" />\r
+   <property name="subComponentName" value="sdncAdapter" />\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <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" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- EELF Appenders -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!--  EELF loggers -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</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 (file)
index 0000000..6e5bc27
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <property name="componentName" value="mso" />\r
+   <property name="subComponentName" value="tenantAdapter" />\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <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" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- EELF Appenders -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!--  EELF loggers -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</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 (file)
index 0000000..aca0fff
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <property name="componentName" value="mso" />\r
+   <property name="subComponentName" value="vnfAdapter" />\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <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" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- EELF Appenders -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!--  EELF loggers -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</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 (file)
index 0000000..2b6d11e
--- /dev/null
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+  ============LICENSE_START=======================================================\r
+  policy-management\r
+  ================================================================================\r
+  Copyright (C) 2017 AT&amp;T Intellectual Property. All rights reserved.\r
+  ================================================================================\r
+  Licensed under the Apache License, Version 2.0 (the "License");\r
+  you may not use this file except in compliance with the License.\r
+  You may obtain a copy of the License at\r
+  \r
+       http://www.apache.org/licenses/LICENSE-2.0\r
+  \r
+  Unless required by applicable law or agreed to in writing, software\r
+  distributed under the License is distributed on an "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+  See the License for the specific language governing permissions and\r
+  limitations under the License.\r
+  ============LICENSE_END=========================================================\r
+  -->\r
+<configuration debug="true" scan="true" scanPeriod="3 seconds">\r
+   <!--<jmxConfigurator /> -->\r
+   <!--  specify the base path of the log directory --> \r
+   <property name="logDir" value="/var/log/onap" />\r
+   <!--  specify the component name -->\r
+   <property name="componentName" value="policy" />\r
+   <!-- specify the sub component name -->\r
+   <property name="subComponentName" value="drools" />\r
+   <!-- The directories where logs are written --> \r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <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" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- Example evaluator filter applied against console appender -->\r
+   <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!-- EELF Appenders -->\r
+   <!-- ============================================================================ -->\r
+   <!-- The EELFAppender is used to record events to the general application \r
+    log -->\r
+   <!-- EELF Audit Appender. This appender is used to record audit engine \r
+    related logging events. The audit logger and appender are specializations \r
+    of the EELF application root logger and appender. This can be used to segregate \r
+    Policy engine events from other components, or it can be eliminated to record \r
+    these events as part of the application root log. -->\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFAudit">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFAudit">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFMetrics">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFMetrics">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFError">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFError">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%i.log.zip</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFDebug">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!--  EELF loggers -->\r
+   <!-- ============================================================================ -->\r
+   <logger additivity="false" level="info" name="com.att.eelf.audit">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger additivity="false" level="info" name="com.att.eelf.metrics">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger additivity="false" level="info" name="com.att.eelf.error">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger additivity="false" level="debug" name="com.att.eelf.debug">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+      <appender-ref ref="asyncEELFError" />\r
+   </root>\r
+</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 (file)
index 0000000..d0871bd
--- /dev/null
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+  ================================================================================\r
+  eCOMP Portal SDK\r
+  ================================================================================\r
+  Copyright (C) 2017 AT&amp;T Intellectual Property\r
+  ================================================================================\r
+  Licensed under the Apache License, Version 2.0 (the "License");\r
+  you may not use this file except in compliance with the License.\r
+  You may obtain a copy of the License at\r
+  \r
+       http://www.apache.org/licenses/LICENSE-2.0\r
+  \r
+  Unless required by applicable law or agreed to in writing, software\r
+  distributed under the License is distributed on an "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+  See the License for the specific language governing permissions and\r
+  limitations under the License.\r
+  ================================================================================\r
+  -->\r
+<configuration debug="true" scan="true" scanPeriod="3 seconds">\r
+   <!-- \r
+  Logback files for the ECOMP SDK Application "ecomp_app"\r
+  are created in directory ${catalina.base}/logs/ecomp_app;\r
+  e.g., apache-tomcat-8.0.35/logs/ecomp_app/application.log  \r
+  -->\r
+   <!--<jmxConfigurator /> -->\r
+   <!--  specify the base path of the log directory -->\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <!-- specify the component name -->\r
+   <property name="componentName" value="policy" />\r
+   <!-- specify the sub component name -->\r
+   <property name="subComponentName" value="ep_sdk_app" />\r
+   <!-- The directories where logs are written -->\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <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" />\r
+   <!--  log file names -->\r
+   <property name="generalLogName" value="application" />\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!--\r
+  These loggers are not used in code (yet). \r
+  <property name="securityLogName" value="security" />\r
+  <property name="policyLogName" value="policy" />\r
+  <property name="performanceLogName" value="performance" />\r
+  <property name="serverLogName" value="server" />\r
+   -->\r
+   <!-- Example evaluator filter applied against console appender -->\r
+   <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!-- EELF Appenders -->\r
+   <!-- ============================================================================ -->\r
+   <!-- The EELFAppender is used to record events to the general application \r
+    log -->\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELF">\r
+      <file>${logDirectory}/${generalLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <!-- daily rollover -->\r
+         <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="org.openecomp.portalapp.util.CustomLoggingFilter" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELF">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <!-- Class name is part of caller data -->\r
+      <includeCallerData>true</includeCallerData>\r
+      <appender-ref ref="EELF" />\r
+   </appender>\r
+   <!-- EELF Audit Appender. This appender is used to record audit engine \r
+    related logging events. The audit logger and appender are specializations \r
+    of the EELF application root logger and appender. This can be used to segregate \r
+    Policy engine events from other components, or it can be eliminated to record \r
+    these events as part of the application root log. -->\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFAudit">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <!-- daily rollover -->\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFAudit">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFMetrics">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <!-- daily rollover -->\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFMetrics">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFError">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <!-- daily rollover -->\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFError">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <!-- daily rollover -->\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFDebug">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!--  EELF loggers -->\r
+   <!-- ============================================================================ -->\r
+   <logger additivity="false" level="info" name="com.att.eelf.audit">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger additivity="false" level="info" name="com.att.eelf.metrics">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger additivity="false" level="info" name="com.att.eelf.error">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger additivity="false" level="debug" name="com.att.eelf.debug">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</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 (file)
index 0000000..c4b596b
--- /dev/null
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+  ============LICENSE_START=======================================================\r
+  ECOMP Policy Engine\r
+  ================================================================================\r
+  Copyright (C) 2017 AT&amp;T Intellectual Property. All rights reserved.\r
+  ================================================================================\r
+  Licensed under the Apache License, Version 2.0 (the "License");\r
+  you may not use this file except in compliance with the License.\r
+  You may obtain a copy of the License at\r
+  \r
+       http://www.apache.org/licenses/LICENSE-2.0\r
+  \r
+  Unless required by applicable law or agreed to in writing, software\r
+  distributed under the License is distributed on an "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+  See the License for the specific language governing permissions and\r
+  limitations under the License.\r
+  ============LICENSE_END=========================================================\r
+  -->\r
+<configuration debug="true" scan="true" scanPeriod="3 seconds">\r
+   <!--<jmxConfigurator /> -->\r
+   <!--  specify the base path of the log directory --> \r
+   <property name="logDir" value="/var/log/onap" />\r
+   <!--  specify the component name -->\r
+   <property name="componentName" value="policy" />\r
+   <!-- specify the sub component name -->\r
+   <property name="subComponentName" value="pypdpserver" />\r
+   <!-- The directories where logs are written --> \r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <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" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- Example evaluator filter applied against console appender -->\r
+   <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!-- EELF Appenders -->\r
+   <!-- ============================================================================ -->\r
+   <!-- The EELFAppender is used to record events to the general application \r
+    log -->\r
+   <!-- EELF Audit Appender. This appender is used to record audit engine \r
+    related logging events. The audit logger and appender are specializations \r
+    of the EELF application root logger and appender. This can be used to segregate \r
+    Policy engine events from other components, or it can be eliminated to record \r
+    these events as part of the application root log. -->\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFAudit">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFAudit">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFMetrics">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - \r
+        %msg%n"</pattern> -->\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFMetrics">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFError">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFError">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFDebug">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!--  EELF loggers -->\r
+   <!-- ============================================================================ -->\r
+   <logger additivity="false" level="info" name="com.att.eelf.audit">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger additivity="false" level="info" name="com.att.eelf.metrics">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger additivity="false" level="info" name="com.att.eelf.error">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger additivity="false" level="debug" name="com.att.eelf.debug">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+      <appender-ref ref="asyncEELFError" />\r
+   </root>\r
+</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 (file)
index 0000000..77068bb
--- /dev/null
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+  ============LICENSE_START=======================================================\r
+  ECOMP-PAP-REST\r
+  ================================================================================\r
+  Copyright (C) 2017 AT&amp;T Intellectual Property. All rights reserved.\r
+  ================================================================================\r
+  Licensed under the Apache License, Version 2.0 (the "License");\r
+  you may not use this file except in compliance with the License.\r
+  You may obtain a copy of the License at\r
+  \r
+       http://www.apache.org/licenses/LICENSE-2.0\r
+  \r
+  Unless required by applicable law or agreed to in writing, software\r
+  distributed under the License is distributed on an "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+  See the License for the specific language governing permissions and\r
+  limitations under the License.\r
+  ============LICENSE_END=========================================================\r
+  -->\r
+<configuration debug="true" scan="true" scanPeriod="3 seconds">\r
+   <!--<jmxConfigurator /> -->\r
+   <!--  specify the base path of the log directory -->\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <!--  specify the component name -->\r
+   <property name="componentName" value="policy" />\r
+   <!-- specify the sub component name -->\r
+   <property name="subComponentName" value="xacml-pap-rest" />\r
+   <!-- The directories where logs are written -->\r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <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" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- Example evaluator filter applied against console appender -->\r
+   <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!-- EELF Appenders -->\r
+   <!-- ============================================================================ -->\r
+   <!-- The EELFAppender is used to record events to the general application \r
+    log -->\r
+   <!-- EELF Audit Appender. This appender is used to record audit engine \r
+    related logging events. The audit logger and appender are specializations \r
+    of the EELF application root logger and appender. This can be used to segregate \r
+    Policy engine events from other components, or it can be eliminated to record \r
+    these events as part of the application root log. -->\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFAudit">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFAudit">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFMetrics">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - \r
+        %msg%n"</pattern> -->\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFMetrics">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFError">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFError">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFDebug">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!--  EELF loggers -->\r
+   <!-- ============================================================================ -->\r
+   <logger additivity="false" level="info" name="com.att.eelf.audit">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger additivity="false" level="info" name="com.att.eelf.metrics">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger additivity="false" level="info" name="com.att.eelf.error">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger additivity="false" level="debug" name="com.att.eelf.debug">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</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 (file)
index 0000000..c9c05d9
--- /dev/null
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+  ============LICENSE_START=======================================================\r
+  ECOMP-PDP-REST\r
+  ================================================================================\r
+  Copyright (C) 2017 AT&amp;T Intellectual Property. All rights reserved.\r
+  ================================================================================\r
+  Licensed under the Apache License, Version 2.0 (the "License");\r
+  you may not use this file except in compliance with the License.\r
+  You may obtain a copy of the License at\r
+  \r
+       http://www.apache.org/licenses/LICENSE-2.0\r
+  \r
+  Unless required by applicable law or agreed to in writing, software\r
+  distributed under the License is distributed on an "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+  See the License for the specific language governing permissions and\r
+  limitations under the License.\r
+  ============LICENSE_END=========================================================\r
+  -->\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <!--<jmxConfigurator /> -->\r
+   <!--  specify the base path of the log directory --> \r
+   <property name="logDir" value="/var/log/onap" />\r
+   <!--  specify the component name -->\r
+   <property name="componentName" value="policy" />\r
+   <!-- specify the sub component name -->\r
+   <property name="subComponentName" value="xacml-pdp-rest" />\r
+   <!-- The directories where logs are written --> \r
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+   <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" />\r
+   <!--  log file names -->\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- Example evaluator filter applied against console appender -->\r
+   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!-- EELF Appenders -->\r
+   <!-- ============================================================================ -->\r
+   <!-- The EELFAppender is used to record events to the general application \r
+    log -->\r
+   <!-- EELF Audit Appender. This appender is used to record audit engine \r
+    related logging events. The audit logger and appender are specializations \r
+    of the EELF application root logger and appender. This can be used to segregate \r
+    Policy engine events from other components, or it can be eliminated to record \r
+    these events as part of the application root log. -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - \r
+        %msg%n"</pattern> -->\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+         <level>INFO</level>\r
+      </filter>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+      <includeCallerData>true</includeCallerData>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!--  EELF loggers -->\r
+   <!-- ============================================================================ -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </root>\r
+</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 (file)
index 0000000..26533ef
--- /dev/null
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!--\r
+  ================================================================================\r
+  eCOMP Portal\r
+  ================================================================================\r
+  Copyright (C) 2017 AT&T Intellectual Property\r
+  ================================================================================\r
+  Licensed under the Apache License, Version 2.0 (the "License");\r
+  you may not use this file except in compliance with the License.\r
+  You may obtain a copy of the License at\r
+  \r
+       http://www.apache.org/licenses/LICENSE-2.0\r
+  \r
+  Unless required by applicable law or agreed to in writing, software\r
+  distributed under the License is distributed on an "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+  See the License for the specific language governing permissions and\r
+  limitations under the License.\r
+  ================================================================================\r
+  -->\r
+<!DOCTYPE xml>\r
+<configuration debug="true" scan="true" scanPeriod="3 seconds">\r
+    <!-- Log-back files for the ECOMP Portal "ecompportal" are created in directory \r
+                ${catalina.base}/logs/ecompportal; e.g., apache-tomcat-8.0.35/logs/ecompportal/application.log -->\r
+    <!--<jmxConfigurator /> -->\r
+    <!-- specify the component name -->\r
+    <property name="componentName" value="portal"></property>\r
+    <property name="subComponentName" value="portalBE"></property>\r
+    <!-- specify the base path of the log directory -->\r
+    <property name="logDirPrefix" value="/var/log/onap"></property>\r
+    <!-- The directories where logs are written -->\r
+    <property name="logDirectory" value="${logDirPrefix}/${componentName}/${subComponentName}" />\r
+    <!-- Can easily relocate debug logs by modifying this path. -->\r
+    <property name="debugLogDirectory" value="${logDirPrefix}/${componentName}/${subComponentName}" />\r
+    <!-- log file names -->\r
+    <property name="generalLogName" value="application" />\r
+    <property name="errorLogName" value="error" />\r
+    <property name="metricsLogName" value="metrics" />\r
+    <property name="auditLogName" value="audit" />\r
+    <property name="debugLogName" value="debug" />\r
+    <!-- These loggers are not used in code (yet). <property name="securityLogName" \r
+                value="security" /> <property name="policyLogName" value="policy" /> <property \r
+                name="performanceLogName" value="performance" /> <property name="serverLogName" \r
+                value="server" /> -->\r
+    <!-- ServerFQDN=Server,  -->\r
+    <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" />\r
+    <property name="maxHistory" value="30" />\r
+    <property name="queueSize" value="256" />\r
+    <property name="maxFileSize" value="50MB" />\r
+    <property name="totalSizeCap" value="10GB" />\r
+    <!-- Example evaluator filter applied against console appender -->\r
+    <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- ============================================================================ -->\r
+    <!-- EELF Appenders -->\r
+    <!-- ============================================================================ -->\r
+    <!-- The EELFAppender is used to record events to the general application \r
+                log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELF">\r
+        <file>${logDirectory}/${generalLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <!-- daily rollover -->\r
+            <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+        <filter class="org.openecomp.portalapp.portal.utils.CustomLoggingFilter" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELF">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <!-- Class name is part of caller data -->\r
+        <includeCallerData>true</includeCallerData>\r
+        <appender-ref ref="EELF" />\r
+    </appender>\r
+    <!-- EELF Security Appender. This appender is used to record security events \r
+                to the security log file. Security events are separate from other loggers \r
+                in EELF so that security log records can be captured and managed in a secure \r
+                way separate from the other logs. This appender is set to never discard any \r
+                events. -->\r
+    <!-- <appender name="EELFSecurity" class="ch.qos.logback.core.rolling.RollingFileAppender"> \r
+                <file>${logDirectory}/${securityLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> \r
+                <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip </fileNamePattern> \r
+                <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy \r
+                class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> \r
+                </triggeringPolicy> <encoder> <pattern>${defaultPattern}</pattern> </encoder> \r
+                </appender> <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender"> \r
+                <queueSize>256</queueSize> <discardingThreshold>0</discardingThreshold> <appender-ref \r
+                ref="EELFSecurity" /> </appender> -->\r
+    <!-- EELF Performance Appender. This appender is used to record performance \r
+                records. -->\r
+    <!-- <appender name="EELFPerformance" class="ch.qos.logback.core.rolling.RollingFileAppender"> \r
+                <file>${logDirectory}/${performanceLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> \r
+                <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip </fileNamePattern> \r
+                <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy \r
+                class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> \r
+                </triggeringPolicy> <encoder> <outputPatternAsHeader>true</outputPatternAsHeader> \r
+                <pattern>${defaultPattern}</pattern> </encoder> </appender> <appender name="asyncEELFPerformance" \r
+                class="ch.qos.logback.classic.AsyncAppender"> <queueSize>256</queueSize> \r
+                <appender-ref ref="EELFPerformance" /> </appender> -->\r
+    <!-- EELF Server Appender. This appender is used to record Server related \r
+                logging events. The Server logger and appender are specializations of the \r
+                EELF application root logger and appender. This can be used to segregate \r
+                Server events from other components, or it can be eliminated to record these \r
+                events as part of the application root log. -->\r
+    <!-- <appender name="EELFServer" class="ch.qos.logback.core.rolling.RollingFileAppender"> \r
+                <file>${logDirectory}/${serverLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> \r
+                <fileNamePattern>${logDirectory}/${serverLogName}.%i.log.zip </fileNamePattern> \r
+                <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy \r
+                class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> \r
+                </triggeringPolicy> <encoder> <pattern>${defaultPattern}</pattern> </encoder> \r
+                </appender> <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender"> \r
+                <queueSize>256</queueSize> <appender-ref ref="EELFServer" /> </appender> -->\r
+    <!-- EELF Policy Appender. This appender is used to record Policy engine \r
+                related logging events. The Policy logger and appender are specializations \r
+                of the EELF application root logger and appender. This can be used to segregate \r
+                Policy engine events from other components, or it can be eliminated to record \r
+                these events as part of the application root log. -->\r
+    <!-- <appender name="EELFPolicy" class="ch.qos.logback.core.rolling.RollingFileAppender"> \r
+                <file>${logDirectory}/${policyLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> \r
+                <fileNamePattern>${logDirectory}/${policyLogName}.%i.log.zip </fileNamePattern> \r
+                <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy \r
+                class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> \r
+                </triggeringPolicy> <encoder> <pattern>${defaultPattern}</pattern> </encoder> \r
+                </appender> <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender"> \r
+                <queueSize>256</queueSize> <appender-ref ref="EELFPolicy" /> </appender> -->\r
+    <!-- EELF Audit Appender. This appender is used to record audit engine related \r
+                logging events. The audit logger and appender are specializations of the \r
+                EELF application root logger and appender. This can be used to segregate \r
+                Policy engine events from other components, or it can be eliminated to record \r
+                these events as part of the application root log. -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFAudit">\r
+        <file>${logDirectory}/${auditLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <!-- daily roll over -->\r
+            <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFAudit">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="EELFAudit" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFMetrics">\r
+        <file>${logDirectory}/${metricsLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <!-- daily roll over -->\r
+            <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFMetrics">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="EELFMetrics" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFError">\r
+        <file>${logDirectory}/${errorLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <!-- daily roll over -->\r
+            <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFError">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="EELFError" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">\r
+        <file>${debugLogDirectory}/${debugLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <!-- daily roll over -->\r
+            <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFDebug">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="EELFDebug" />\r
+        <includeCallerData>true</includeCallerData>\r
+    </appender>\r
+    <!-- ============================================================================ -->\r
+    <!-- EELF loggers -->\r
+    <!-- ============================================================================ -->\r
+    <logger additivity="false" level="info" name="com.att.eelf">\r
+        <appender-ref ref="asyncEELF" />\r
+    </logger>\r
+    <!-- <logger name="com.att.eelf.security" level="info" additivity="false"> \r
+                <appender-ref ref="asyncEELFSecurity" /> </logger> <logger name="com.att.eelf.perf" \r
+                level="info" additivity="false"> <appender-ref ref="asyncEELFPerformance" \r
+                /> </logger> <logger name="com.att.eelf.server" level="info" additivity="false"> \r
+                <appender-ref ref="asyncEELFServer" /> </logger> <logger name="com.att.eelf.policy" \r
+                level="info" additivity="false"> <appender-ref ref="asyncEELFPolicy" /> </logger> -->\r
+    <logger additivity="false" level="info" name="com.att.eelf.audit">\r
+        <appender-ref ref="asyncEELFAudit" />\r
+    </logger>\r
+    <logger additivity="false" level="info" name="com.att.eelf.metrics">\r
+        <appender-ref ref="asyncEELFMetrics" />\r
+    </logger>\r
+    <logger additivity="false" level="info" name="com.att.eelf.error">\r
+        <appender-ref ref="asyncEELFError" />\r
+    </logger>\r
+    <logger additivity="false" level="debug" name="com.att.eelf.debug">\r
+        <appender-ref ref="asyncEELFDebug" />\r
+    </logger>\r
+    <root level="INFO">\r
+        <appender-ref ref="asyncEELF" />\r
+    </root>\r
+</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 (file)
index 0000000..4990fac
--- /dev/null
@@ -0,0 +1,306 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<configuration debug="true" scan="true" scanPeriod="3 seconds">\r
+    <!--\r
+  Logback files for the ECOMP SDK Application "ecomp_app"\r
+  are created in directory ${catalina.base}/logs/ecomp_app;\r
+  e.g., apache-tomcat-8.0.35/logs/ecomp_app/application.log\r
+  -->\r
+    <!--<jmxConfigurator /> -->\r
+    <!--  specify the component name -->\r
+    <property name="componentName" value="portal"></property>\r
+    <property name="subComponentName" value="portalDB"></property>\r
+    <!--  specify the base path of the log directory -->\r
+    <property name="logDirPrefix" value="/var/log/onap"></property>\r
+    <!-- The directories where logs are written -->\r
+    <property name="logDirectory" value="${logDirPrefix}/${componentName}/${subComponentName}" />\r
+    <!-- Can easily relocate debug logs by modifying this path. -->\r
+    <property name="debugLogDirectory" value="${logDirPrefix}/${componentName}/${subComponentName}" />\r
+    <!--  log file names -->\r
+    <property name="generalLogName" value="application" />\r
+    <property name="errorLogName" value="error" />\r
+    <property name="metricsLogName" value="metrics" />\r
+    <property name="auditLogName" value="audit" />\r
+    <property name="debugLogName" value="debug" />\r
+    <!--\r
+  These loggers are not used in code (yet).\r
+  <property name="securityLogName" value="security" />\r
+  <property name="policyLogName" value="policy" />\r
+  <property name="performanceLogName" value="performance" />\r
+  <property name="serverLogName" value="server" />\r
+   -->\r
+    <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" />\r
+    <property name="maxHistory" value="30" />\r
+    <property name="queueSize" value="256" />\r
+    <property name="maxFileSize" value="50MB" />\r
+    <property name="totalSizeCap" value="10GB" />\r
+    <!-- Example evaluator filter applied against console appender -->\r
+    <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- ============================================================================ -->\r
+    <!-- EELF Appenders -->\r
+    <!-- ============================================================================ -->\r
+    <!-- The EELFAppender is used to record events to the general application\r
+    log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELF">\r
+        <file>${logDirectory}/${generalLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <!-- daily rollover -->\r
+            <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <!-- keep 30 days' worth of history capped at ${totalSizeCap} total size -->\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+        <filter class="org.openecomp.fusionapp.util.CustomLoggingFilter" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELF">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <!-- Class name is part of caller data -->\r
+        <includeCallerData>true</includeCallerData>\r
+        <appender-ref ref="EELF" />\r
+    </appender>\r
+    <!-- EELF Security Appender. This appender is used to record security events\r
+    to the security log file. Security events are separate from other loggers\r
+    in EELF so that security log records can be captured and managed in a secure\r
+    way separate from the other logs. This appender is set to never discard any\r
+    events. -->\r
+    <!--\r
+  <appender name="EELFSecurity"\r
+    class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+    <file>${logDirectory}/${securityLogName}.log</file>\r
+    <rollingPolicy\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip\r
+      </fileNamePattern>\r
+      <minIndex>1</minIndex>\r
+      <maxIndex>9</maxIndex>\r
+    </rollingPolicy>\r
+    <triggeringPolicy\r
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+      <maxFileSize>5MB</maxFileSize>\r
+    </triggeringPolicy>\r
+    <encoder>\r
+      <pattern>${defaultPattern}</pattern>\r
+    </encoder>\r
+  </appender>\r
+\r
+  <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">\r
+    <queueSize>256</queueSize>\r
+    <discardingThreshold>0</discardingThreshold>\r
+    <appender-ref ref="EELFSecurity" />\r
+  </appender>\r
+   -->\r
+    <!-- EELF Performance Appender. This appender is used to record performance\r
+    records. -->\r
+    <!--\r
+  <appender name="EELFPerformance"\r
+    class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+    <file>${logDirectory}/${performanceLogName}.log</file>\r
+    <rollingPolicy\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip\r
+      </fileNamePattern>\r
+      <minIndex>1</minIndex>\r
+      <maxIndex>9</maxIndex>\r
+    </rollingPolicy>\r
+    <triggeringPolicy\r
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+      <maxFileSize>5MB</maxFileSize>\r
+    </triggeringPolicy>\r
+    <encoder>\r
+      <outputPatternAsHeader>true</outputPatternAsHeader>\r
+      <pattern>${defaultPattern}</pattern>\r
+    </encoder>\r
+  </appender>\r
+  <appender name="asyncEELFPerformance" class="ch.qos.logback.classic.AsyncAppender">\r
+    <queueSize>256</queueSize>\r
+    <appender-ref ref="EELFPerformance" />\r
+  </appender>\r
+  -->\r
+    <!-- EELF Server Appender. This appender is used to record Server related\r
+    logging events. The Server logger and appender are specializations of the\r
+    EELF application root logger and appender. This can be used to segregate Server\r
+    events from other components, or it can be eliminated to record these events\r
+    as part of the application root log. -->\r
+    <!--\r
+  <appender name="EELFServer"\r
+    class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+    <file>${logDirectory}/${serverLogName}.log</file>\r
+    <rollingPolicy\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${logDirectory}/${serverLogName}.%i.log.zip\r
+      </fileNamePattern>\r
+      <minIndex>1</minIndex>\r
+      <maxIndex>9</maxIndex>\r
+    </rollingPolicy>\r
+    <triggeringPolicy\r
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+      <maxFileSize>5MB</maxFileSize>\r
+    </triggeringPolicy>\r
+    <encoder>\r
+        <pattern>${defaultPattern}</pattern>\r
+    </encoder>\r
+  </appender>\r
+  <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender">\r
+    <queueSize>256</queueSize>\r
+    <appender-ref ref="EELFServer" />\r
+  </appender>\r
+   -->\r
+    <!-- EELF Policy Appender. This appender is used to record Policy engine\r
+    related logging events. The Policy logger and appender are specializations\r
+    of the EELF application root logger and appender. This can be used to segregate\r
+    Policy engine events from other components, or it can be eliminated to record\r
+    these events as part of the application root log. -->\r
+    <!--\r
+  <appender name="EELFPolicy"\r
+    class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+    <file>${logDirectory}/${policyLogName}.log</file>\r
+    <rollingPolicy\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${logDirectory}/${policyLogName}.%i.log.zip\r
+      </fileNamePattern>\r
+      <minIndex>1</minIndex>\r
+      <maxIndex>9</maxIndex>\r
+    </rollingPolicy>\r
+    <triggeringPolicy\r
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+      <maxFileSize>5MB</maxFileSize>\r
+    </triggeringPolicy>\r
+    <encoder>\r
+        <pattern>${defaultPattern}</pattern>\r
+    </encoder>\r
+  </appender>\r
+  <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender">\r
+    <queueSize>256</queueSize>\r
+    <appender-ref ref="EELFPolicy" />\r
+  </appender>\r
+  -->\r
+    <!-- EELF Audit Appender. This appender is used to record audit engine\r
+    related logging events. The audit logger and appender are specializations\r
+    of the EELF application root logger and appender. This can be used to segregate\r
+    Policy engine events from other components, or it can be eliminated to record\r
+    these events as part of the application root log. -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFAudit">\r
+        <file>${logDirectory}/${auditLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <!-- daily rollover -->\r
+            <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <!-- keep 30 days' worth of history capped at ${totalSizeCap} total size -->\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFAudit">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="EELFAudit" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFMetrics">\r
+        <file>${logDirectory}/${metricsLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <!-- daily rollover -->\r
+            <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <!-- keep 30 days' worth of history capped at ${totalSizeCap} total size -->\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFMetrics">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="EELFMetrics" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFError">\r
+        <file>${logDirectory}/${errorLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <!-- daily rollover -->\r
+            <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <!-- keep 30 days' worth of history capped at ${totalSizeCap} total size -->\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFError">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="EELFError" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">\r
+        <file>${debugLogDirectory}/${debugLogName}.log</file>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <!-- daily rollover -->\r
+            <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <!-- keep 30 days' worth of history capped at ${totalSizeCap} total size -->\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFDebug">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="EELFDebug" />\r
+    </appender>\r
+    <!-- ============================================================================ -->\r
+    <!--  EELF loggers -->\r
+    <!-- ============================================================================ -->\r
+    <logger additivity="false" level="debug" name="com.att.eelf">\r
+        <appender-ref ref="asyncEELF" />\r
+    </logger>\r
+    <!--\r
+  <logger name="com.att.eelf.security" level="info" additivity="false">\r
+    <appender-ref ref="asyncEELFSecurity" />\r
+  </logger>\r
+  <logger name="com.att.eelf.perf" level="info" additivity="false">\r
+    <appender-ref ref="asyncEELFPerformance" />\r
+  </logger>\r
+  <logger name="com.att.eelf.server" level="info" additivity="false">\r
+   <appender-ref ref="asyncEELFServer" />\r
+  </logger>\r
+  <logger name="com.att.eelf.policy" level="info" additivity="false">\r
+    <appender-ref ref="asyncEELFPolicy" />\r
+  </logger>\r
+  -->\r
+    <logger additivity="false" level="info" name="com.att.eelf.audit">\r
+        <appender-ref ref="asyncEELFAudit" />\r
+    </logger>\r
+    <logger additivity="false" level="info" name="com.att.eelf.metrics">\r
+        <appender-ref ref="asyncEELFMetrics" />\r
+    </logger>\r
+    <logger additivity="false" level="info" name="com.att.eelf.error">\r
+        <appender-ref ref="asyncEELFError" />\r
+    </logger>\r
+    <logger additivity="false" level="debug" name="com.att.eelf.debug">\r
+        <appender-ref ref="asyncEELFDebug" />\r
+    </logger>\r
+    <root level="DEBUG">\r
+        <appender-ref ref="asyncEELF" />\r
+    </root>\r
+</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 (file)
index 0000000..4d508e3
--- /dev/null
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds">\r
+    <property name="logDir" value="/var/log/onap" />\r
+    <property name="componentName" scope="system" value="sdc"></property>\r
+    <property name="subComponentName" scope="system" value="sdc-be"></property>\r
+    <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+    <property file="${config.home}/catalog-be/configuration.yaml" />\r
+    <property name="enable-all-log" scope="context" value="false" />\r
+    <!--  log file names -->\r
+    <property name="errorLogName" value="error" />\r
+    <property name="metricsLogName" value="metrics" />\r
+    <property name="auditLogName" value="audit" />\r
+    <property name="debugLogName" value="debug" />\r
+    <property name="transactionLogName" value="transaction" />\r
+    <property name="allLogName" value="all" />\r
+    <property name="queueSize" value="256" />\r
+    <property name="maxFileSize" value="50MB" />\r
+    <property name="maxHistory" value="30" />\r
+    <property name="totalSizeCap" value="10GB" />\r
+    <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" />\r
+    <!-- All log -->\r
+    <if condition='property("enable-all-log").equalsIgnoreCase("true")'>\r
+        <then>\r
+            <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ALL_ROLLING">\r
+                <file>${logDirectory}/${allLogName}.log</file>\r
+                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+                    <fileNamePattern>${logDirectory}/${allLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+                    <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                        <maxFileSize>${maxFileSize}</maxFileSize>\r
+                    </timeBasedFileNamingAndTriggeringPolicy>\r
+                    <maxHistory>${maxHistory}</maxHistory>\r
+                    <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+                </rollingPolicy>\r
+                <encoder>\r
+                    <pattern>${pattern}</pattern>\r
+                </encoder>\r
+            </appender>\r
+            <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ALL">\r
+                <appender-ref ref="ALL_ROLLING" />\r
+            </appender>\r
+        </then>\r
+    </if>\r
+    <!-- Error log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ERROR_ROLLING">\r
+        <file>${logDirectory}/${errorLogName}.log</file>\r
+        <!-- Audit messages filter - deny audit messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>AUDIT_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>NEUTRAL</onMismatch>\r
+            <onMatch>DENY</onMatch>\r
+        </filter>\r
+        <!-- Transaction messages filter - deny Transaction messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>TRANSACTION_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>NEUTRAL</onMismatch>\r
+            <onMatch>DENY</onMatch>\r
+        </filter>\r
+        <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->\r
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+            <level>INFO</level>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- Debug log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="DEBUG_ROLLING">\r
+        <file>${logDirectory}/${debugLogName}.log</file>\r
+        <!-- No need to deny audit messages - they are INFO only, will be denied \r
+                        anyway -->\r
+        <!-- Transaction messages filter - deny Transaction messages, there are \r
+                        some DEBUG level messages among them -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>TRANSACTION_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>NEUTRAL</onMismatch>\r
+            <onMatch>DENY</onMatch>\r
+        </filter>\r
+        <!-- accept DEBUG and TRACE level -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">\r
+                <expression>e.level.toInt() &lt;= DEBUG.toInt()</expression>\r
+            </evaluator>\r
+            <OnMismatch>DENY</OnMismatch>\r
+            <OnMatch>NEUTRAL</OnMatch>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- Audit log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="AUDIT_ROLLING">\r
+        <file>${logDirectory}/${auditLogName}.log</file>\r
+        <!-- Audit messages filter - accept audit messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>AUDIT_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>DENY</onMismatch>\r
+            <onMatch>ACCEPT</onMatch>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- SdncTransaction log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="TRANSACTION_ROLLING">\r
+        <file>${logDirectory}/${transactionLogName}.log</file>\r
+        <!-- Transaction messages filter - accept audit messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>TRANSACTION_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>DENY</onMismatch>\r
+            <onMatch>ACCEPT</onMatch>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${transactionLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- Asynchronicity Configurations -->\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_DEBUG">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="DEBUG_ROLLING" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_TRANSACTION">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="TRANSACTION_ROLLING" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ERROR">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="ERROR_ROLLING" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_AUDIT">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="AUDIT_ROLLING" />\r
+    </appender>\r
+    <root level="INFO">\r
+        <appender-ref ref="ASYNC_ERROR" />\r
+        <appender-ref ref="ASYNC_DEBUG" />\r
+        <appender-ref ref="ASYNC_AUDIT" />\r
+        <appender-ref ref="ASYNC_TRANSACTION" />\r
+        <if condition='property("enable-all-log").equalsIgnoreCase("true")'>\r
+            <then>\r
+                <appender-ref ref="ALL_ROLLING" />\r
+            </then>\r
+        </if>\r
+    </root>\r
+    <logger level="INFO" name="org.openecomp.sdc" />\r
+</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 (file)
index 0000000..a8e9ed7
--- /dev/null
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds">\r
+    <property name="logDir" value="/var/log/onap" />\r
+    <property name="componentName" scope="system" value="sdc"></property>\r
+    <property name="subComponentName" scope="system" value="sdc-fe"></property>\r
+    <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+    <property file="${config.home}/catalog-fe/configuration.yaml" />\r
+    <property name="enable-all-log" scope="context" value="false" />\r
+    <!--  log file names -->\r
+    <property name="errorLogName" value="error" />\r
+    <property name="metricsLogName" value="metrics" />\r
+    <property name="auditLogName" value="audit" />\r
+    <property name="debugLogName" value="debug" />\r
+    <property name="transactionLogName" value="transaction" />\r
+    <property name="allLogName" value="all" />\r
+    <property name="queueSize" value="256" />\r
+    <property name="maxFileSize" value="50MB" />\r
+    <property name="maxHistory" value="30" />\r
+    <property name="totalSizeCap" value="10GB" />\r
+    <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" />\r
+    <!-- All log -->\r
+    <if condition='property("enable-all-log").equalsIgnoreCase("true")'>\r
+        <then>\r
+            <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ALL_ROLLING">\r
+                <file>${logDirectory}/${allLogName}.log</file>\r
+                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+                    <fileNamePattern>${logDirectory}/${allLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+                    <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                        <maxFileSize>${maxFileSize}</maxFileSize>\r
+                    </timeBasedFileNamingAndTriggeringPolicy>\r
+                    <maxHistory>${maxHistory}</maxHistory>\r
+                    <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+                </rollingPolicy>\r
+                <encoder>\r
+                    <pattern>${pattern}</pattern>\r
+                </encoder>\r
+            </appender>\r
+            <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ALL">\r
+                <appender-ref ref="ALL_ROLLING" />\r
+            </appender>\r
+        </then>\r
+    </if>\r
+    <!-- Error log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ERROR_ROLLING">\r
+        <file>${logDirectory}/${errorLogName}.log</file>\r
+        <!-- Audit messages filter - deny audit messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>AUDIT_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>NEUTRAL</onMismatch>\r
+            <onMatch>DENY</onMatch>\r
+        </filter>\r
+        <!-- Transaction messages filter - deny Transaction messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>TRANSACTION_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>NEUTRAL</onMismatch>\r
+            <onMatch>DENY</onMatch>\r
+        </filter>\r
+        <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->\r
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+            <level>INFO</level>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- Debug log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="DEBUG_ROLLING">\r
+        <file>${logDirectory}/${debugLogName}.log</file>\r
+        <!-- No need to deny audit messages - they are INFO only, will be denied \r
+                        anyway -->\r
+        <!-- Transaction messages filter - deny Transaction messages, there are \r
+                        some DEBUG level messages among them -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>TRANSACTION_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>NEUTRAL</onMismatch>\r
+            <onMatch>DENY</onMatch>\r
+        </filter>\r
+        <!-- accept DEBUG and TRACE level -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">\r
+                <expression>e.level.toInt() &lt;= DEBUG.toInt()</expression>\r
+            </evaluator>\r
+            <OnMismatch>DENY</OnMismatch>\r
+            <OnMatch>NEUTRAL</OnMatch>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- Audit log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="AUDIT_ROLLING">\r
+        <file>${logDirectory}/${auditLogName}.log</file>\r
+        <!-- Audit messages filter - accept audit messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>AUDIT_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>DENY</onMismatch>\r
+            <onMatch>ACCEPT</onMatch>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- SdncTransaction log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="TRANSACTION_ROLLING">\r
+        <file>${logDirectory}/${transactionLogName}.log</file>\r
+        <!-- Transaction messages filter - accept audit messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>TRANSACTION_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>DENY</onMismatch>\r
+            <onMatch>ACCEPT</onMatch>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${transactionLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- Asynchronicity Configurations -->\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_DEBUG">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="DEBUG_ROLLING" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_TRANSACTION">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="TRANSACTION_ROLLING" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ERROR">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="ERROR_ROLLING" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_AUDIT">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="AUDIT_ROLLING" />\r
+    </appender>\r
+    <root level="INFO">\r
+        <appender-ref ref="ASYNC_ERROR" />\r
+        <appender-ref ref="ASYNC_DEBUG" />\r
+        <appender-ref ref="ASYNC_AUDIT" />\r
+        <appender-ref ref="ASYNC_TRANSACTION" />\r
+        <if condition='property("enable-all-log").equalsIgnoreCase("true")'>\r
+            <then>\r
+                <appender-ref ref="ALL_ROLLING" />\r
+            </then>\r
+        </if>\r
+    </root>\r
+    <logger level="INFO" name="org.openecomp.sdc" />\r
+</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 (file)
index 0000000..50818a3
--- /dev/null
@@ -0,0 +1,57 @@
+################################################################################\r
+#\r
+#    Licensed to the Apache Software Foundation (ASF) under one or more\r
+#    contributor license agreements.  See the NOTICE file distributed with\r
+#    this work for additional information regarding copyright ownership.\r
+#    The ASF licenses this file to You under the Apache License, Version 2.0\r
+#    (the "License"); you may not use this file except in compliance with\r
+#    the License.  You may obtain a copy of the License at\r
+#\r
+#       http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+#    Unless required by applicable law or agreed to in writing, software\r
+#    distributed under the License is distributed on an "AS IS" BASIS,\r
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+#    See the License for the specific language governing permissions and\r
+#    limitations under the License.\r
+#\r
+################################################################################\r
+\r
+# Root logger\r
+log4j.rootLogger=INFO, async, osgi:*\r
+log4j.throwableRenderer=org.apache.log4j.OsgiThrowableRenderer\r
+\r
+# Log Directory\r
+logDir=/var/log/onap\r
+componentName=sdnc\r
+logDirectory=${logDir}/${componentName}\r
+maxFileSize=100MB\r
+maxBackupIndex=20\r
+\r
+# CONSOLE appender not used by default\r
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender\r
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout\r
+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\r
+\r
+# Async appender forwarding to file appender \r
+log4j.appender.async=org.apache.log4j.AsyncAppender\r
+log4j.appender.async.appenders=out\r
+\r
+# File appender\r
+log4j.appender.out=org.apache.log4j.RollingFileAppender\r
+log4j.appender.out.layout=org.apache.log4j.xml.XMLLayout\r
+log4j.appender.out.layout.Properties=true\r
+log4j.appender.out.file=${logDirectory}/karaf.log\r
+log4j.appender.out.append=true\r
+log4j.appender.out.maxFileSize=${maxFileSize}\r
+log4j.appender.out.maxBackupIndex=${maxBackupIndex}\r
+\r
+# Sift appender\r
+log4j.appender.sift=org.apache.log4j.sift.MDCSiftingAppender\r
+log4j.appender.sift.key=bundle.name\r
+log4j.appender.sift.default=karaf\r
+log4j.appender.sift.appender=org.apache.log4j.RollingFileAppender\r
+log4j.appender.sift.appender.layout=org.apache.log4j.xml.XMLLayout\r
+log4j.appender.sift.appender.layout.Properties=true\r
+log4j.appender.sift.appender.file=${logDirectory}/$\\{bundle.name\\}.log\r
+log4j.appender.sift.appender.append=true\r
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 (file)
index 0000000..d3177f0
--- /dev/null
@@ -0,0 +1,299 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+  ================================================================================\r
+  eCOMP Portal SDK\r
+  ================================================================================\r
+  Copyright (C) 2017 AT&amp;T Intellectual Property\r
+  ================================================================================\r
+  Licensed under the Apache License, Version 2.0 (the "License");\r
+  you may not use this file except in compliance with the License.\r
+  You may obtain a copy of the License at\r
+  \r
+       http://www.apache.org/licenses/LICENSE-2.0\r
+  \r
+  Unless required by applicable law or agreed to in writing, software\r
+  distributed under the License is distributed on an "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+  See the License for the specific language governing permissions and\r
+  limitations under the License.\r
+  ================================================================================\r
+  -->\r
+<configuration scan="true" scanPeriod="3 seconds" debug="true">\r
+   <!--  specify the base path of the log directory -->\r
+   <property name="logDir" value="/var/log/onap" />\r
+   <!--  specify the component name -->\r
+   <property name="componentName" value="vid" />\r
+   <!-- The directory where logs are written -->\r
+   <property name="logDirectory" value="${logDir}/${componentName}" />\r
+   <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" />\r
+   <!--  log file names -->\r
+   <property name="generalLogName" value="application" />\r
+   <property name="errorLogName" value="error" />\r
+   <property name="metricsLogName" value="metrics" />\r
+   <property name="auditLogName" value="audit" />\r
+   <property name="debugLogName" value="debug" />\r
+   <!--  other constants -->\r
+   <property name="queueSize" value="256" />\r
+   <property name="maxFileSize" value="50MB" />\r
+   <property name="maxHistory" value="30" />\r
+   <property name="totalSizeCap" value="10GB" />\r
+   <!-- Example evaluator filter applied against console appender -->\r
+   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!-- EELF Appenders -->\r
+   <!-- ============================================================================ -->\r
+   <!-- The EELFAppender is used to record events to the general application \r
+    log -->\r
+   <appender name="EELF" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${generalLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+      <filter class="org.openecomp.portalapp.util.CustomLoggingFilter" />\r
+   </appender>\r
+   <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <includeCallerData>true</includeCallerData>\r
+      <appender-ref ref="EELF" />\r
+   </appender>\r
+   <!-- EELF Security Appender. This appender is used to record security events \r
+    to the security log file. Security events are separate from other loggers \r
+    in EELF so that security log records can be captured and managed in a secure \r
+    way separate from the other logs. This appender is set to never discard any \r
+    events. -->\r
+   <!--     \r
+  <appender name="EELFSecurity"\r
+    class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+    <file>${logDirectory}/${securityLogName}.log</file>\r
+    <rollingPolicy\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip\r
+      </fileNamePattern>\r
+      <minIndex>1</minIndex>\r
+      <maxIndex>9</maxIndex>\r
+    </rollingPolicy>\r
+    <triggeringPolicy\r
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+      <maxFileSize>5MB</maxFileSize>\r
+    </triggeringPolicy>\r
+    <encoder>\r
+      <pattern>${defaultPattern}</pattern>\r
+    </encoder>\r
+  </appender>\r
+  \r
+  <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">\r
+    <queueSize>256</queueSize>\r
+    <discardingThreshold>0</discardingThreshold>\r
+    <appender-ref ref="EELFSecurity" />\r
+  </appender>\r
+   -->\r
+   <!-- EELF Performance Appender. This appender is used to record performance \r
+    records. -->\r
+   <!--\r
+  <appender name="EELFPerformance"\r
+    class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+    <file>${logDirectory}/${performanceLogName}.log</file>\r
+    <rollingPolicy\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip\r
+      </fileNamePattern>\r
+      <minIndex>1</minIndex>\r
+      <maxIndex>9</maxIndex>\r
+    </rollingPolicy>\r
+    <triggeringPolicy\r
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+      <maxFileSize>5MB</maxFileSize>\r
+    </triggeringPolicy>\r
+    <encoder>\r
+      <outputPatternAsHeader>true</outputPatternAsHeader>\r
+      <pattern>${defaultPattern}</pattern>\r
+    </encoder>\r
+  </appender>\r
+  <appender name="asyncEELFPerformance" class="ch.qos.logback.classic.AsyncAppender">\r
+    <queueSize>256</queueSize>\r
+    <appender-ref ref="EELFPerformance" />\r
+  </appender>\r
+  -->\r
+   <!-- EELF Server Appender. This appender is used to record Server related \r
+    logging events. The Server logger and appender are specializations of the \r
+    EELF application root logger and appender. This can be used to segregate Server \r
+    events from other components, or it can be eliminated to record these events \r
+    as part of the application root log. -->\r
+   <!--\r
+  <appender name="EELFServer"\r
+    class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+    <file>${logDirectory}/${serverLogName}.log</file>\r
+    <rollingPolicy\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${logDirectory}/${serverLogName}.%i.log.zip\r
+      </fileNamePattern>\r
+      <minIndex>1</minIndex>\r
+      <maxIndex>9</maxIndex>\r
+    </rollingPolicy>\r
+    <triggeringPolicy\r
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+      <maxFileSize>5MB</maxFileSize>\r
+    </triggeringPolicy>\r
+    <encoder>\r
+        <pattern>${defaultPattern}</pattern>\r
+    </encoder>\r
+  </appender>\r
+  <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender">\r
+    <queueSize>256</queueSize>\r
+    <appender-ref ref="EELFServer" />\r
+  </appender>\r
+   -->\r
+   <!-- EELF Policy Appender. This appender is used to record Policy engine \r
+    related logging events. The Policy logger and appender are specializations \r
+    of the EELF application root logger and appender. This can be used to segregate \r
+    Policy engine events from other components, or it can be eliminated to record \r
+    these events as part of the application root log. -->\r
+   <!--\r
+  <appender name="EELFPolicy"\r
+    class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+    <file>${logDirectory}/${policyLogName}.log</file>\r
+    <rollingPolicy\r
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+      <fileNamePattern>${logDirectory}/${policyLogName}.%i.log.zip\r
+      </fileNamePattern>\r
+      <minIndex>1</minIndex>\r
+      <maxIndex>9</maxIndex>\r
+    </rollingPolicy>\r
+    <triggeringPolicy\r
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+      <maxFileSize>5MB</maxFileSize>\r
+    </triggeringPolicy>\r
+    <encoder>\r
+        <pattern>${defaultPattern}</pattern>\r
+    </encoder>\r
+  </appender>\r
+  <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender">\r
+    <queueSize>256</queueSize>\r
+    <appender-ref ref="EELFPolicy" />\r
+  </appender>\r
+  -->\r
+   <!-- EELF Audit Appender. This appender is used to record audit engine \r
+    related logging events. The audit logger and appender are specializations \r
+    of the EELF application root logger and appender. This can be used to segregate \r
+    Policy engine events from other components, or it can be eliminated to record \r
+    these events as part of the application root log. -->\r
+   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${auditLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFAudit" />\r
+   </appender>\r
+   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${metricsLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFMetrics" />\r
+   </appender>\r
+   <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${errorLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFError" />\r
+   </appender>\r
+   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+      <file>${logDirectory}/${debugLogName}.log</file>\r
+      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+            <maxFileSize>${maxFileSize}</maxFileSize>\r
+         </timeBasedFileNamingAndTriggeringPolicy>\r
+         <maxHistory>${maxHistory}</maxHistory>\r
+         <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+      </rollingPolicy>\r
+      <encoder>\r
+         <pattern>${pattern}</pattern>\r
+      </encoder>\r
+   </appender>\r
+   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
+      <queueSize>${queueSize}</queueSize>\r
+      <appender-ref ref="EELFDebug" />\r
+   </appender>\r
+   <!-- ============================================================================ -->\r
+   <!--  EELF loggers -->\r
+   <!-- ============================================================================ -->\r
+   <logger name="com.att.eelf" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELF" />\r
+   </logger>\r
+   <!--\r
+  <logger name="com.att.eelf.security" level="info" additivity="false">\r
+    <appender-ref ref="asyncEELFSecurity" />\r
+  </logger>\r
+  <logger name="com.att.eelf.perf" level="info" additivity="false">\r
+    <appender-ref ref="asyncEELFPerformance" />\r
+  </logger>\r
+  <logger name="com.att.eelf.server" level="info" additivity="false">\r
+    <appender-ref ref="asyncEELFServer" />\r
+  </logger>\r
+  <logger name="com.att.eelf.policy" level="info" additivity="false">\r
+    <appender-ref ref="asyncEELFPolicy" />\r
+  </logger>\r
+  -->\r
+   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFAudit" />\r
+   </logger>\r
+   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFMetrics" />\r
+   </logger>\r
+   <logger name="com.att.eelf.error" level="info" additivity="false">\r
+      <appender-ref ref="asyncEELFError" />\r
+   </logger>\r
+   <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
+      <appender-ref ref="asyncEELFDebug" />\r
+   </logger>\r
+   <root level="INFO">\r
+      <appender-ref ref="asyncEELF" />\r
+   </root>\r
+</configuration>
\ No newline at end of file
index 164c038..f531c0f 100755 (executable)
@@ -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
index edf5e9d..8bff59c 100755 (executable)
@@ -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 (file)
index 0000000..31baed2
--- /dev/null
@@ -0,0 +1,2 @@
+HEALTHCHECK_USER=healthcheck
+HEALTHCHECK_PASSWORD=zb!XztG34
index bd4b433..9c87d9c 100755 (executable)
@@ -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
index 350b9c7..d318d4d 100755 (executable)
@@ -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
index 8c70090..3cafc32 100755 (executable)
@@ -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
+
index 35867eb..d5be80a 100755 (executable)
@@ -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 (file)
index 0000000..938954c
--- /dev/null
@@ -0,0 +1,3 @@
+# elasticsearch
+
+ELK_JMX_PORT=9995
\ No newline at end of file
index be8a905..36ac368 100755 (executable)
@@ -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
index 9d56d49..d1dee77 100755 (executable)
@@ -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 (file)
index 0000000..7a71639
--- /dev/null
@@ -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 (executable)
index 5d899bd..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/bash
-
-
index c9bf7a9..217478b 100644 (file)
@@ -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 (file)
index 0000000..168a214
--- /dev/null
@@ -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 (file)
index 0000000..c733355
--- /dev/null
@@ -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 (executable)
index 0000000..98b67c4
--- /dev/null
@@ -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 (executable)
index 0000000..952d1d4
--- /dev/null
@@ -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 (file)
index 0000000..5b8583e
--- /dev/null
@@ -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 (file)
index 0000000..8800c10
--- /dev/null
@@ -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 (file)
index 0000000..4e458dc
--- /dev/null
@@ -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 (executable)
index 0000000..e1d147d
--- /dev/null
@@ -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 (executable)
index 0000000..a843995
--- /dev/null
@@ -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 (file)
index 0000000..45d22db
--- /dev/null
@@ -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 (file)
index 0000000..d438ab9
--- /dev/null
@@ -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 (file)
index 0000000..efc64da
--- /dev/null
@@ -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 (file)
index 0000000..64f8e30
--- /dev/null
@@ -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 (file)
index 0000000..c77e5a4
--- /dev/null
@@ -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 (file)
index 0000000..a36d506
--- /dev/null
@@ -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 (file)
index 0000000..459e81e
--- /dev/null
@@ -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 (file)
index 0000000..e1f61e5
--- /dev/null
@@ -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 (file)
index 0000000..9a09226
--- /dev/null
@@ -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 (file)
index 0000000..8d03c9d
--- /dev/null
@@ -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 (file)
index 0000000..de62be5
--- /dev/null
@@ -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 (file)
index 0000000..ae41f83
--- /dev/null
@@ -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 (file)
index 0000000..36d0299
--- /dev/null
@@ -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 (file)
index 0000000..de92a58
--- /dev/null
@@ -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 (file)
index 0000000..0f72daa
--- /dev/null
@@ -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 (file)
index 0000000..f658006
--- /dev/null
@@ -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 (file)
index 0000000..1a46375
--- /dev/null
@@ -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 (file)
index 0000000..5f9412e
--- /dev/null
@@ -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 (file)
index 0000000..75df8a1
--- /dev/null
@@ -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 (file)
index 0000000..f8070ef
--- /dev/null
@@ -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 (file)
index 0000000..989b118
--- /dev/null
@@ -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 (file)
index 0000000..23d5906
--- /dev/null
@@ -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 (file)
index 0000000..0441830
--- /dev/null
@@ -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
+
index 59c57f8..1cc79c8 100644 (file)
@@ -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
index ab5c3d4..1564f9b 100644 (file)
@@ -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
index 16d6fcd..e31e78c 100644 (file)
@@ -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"
index c07ef3a..0377beb 100644 (file)
@@ -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
index 389fb5a..4722c4a 100644 (file)
@@ -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
index 0f3034f..8973db3 100644 (file)
@@ -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
index c195980..47389e3 100644 (file)
@@ -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"
index 7b8e2f8..7be2e6a 100755 (executable)
@@ -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=""
index 8a95e0b..5dd1a2f 100755 (executable)
@@ -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
index 8fd8cd4..c52f4d3 100644 (file)
@@ -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}
index cd01b54..0d9a68a 100644 (file)
@@ -101,22 +101,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"
index 17e4896..e47b040 100644 (file)
@@ -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/
index 75055c1..9c3fc29 100644 (file)
@@ -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
index 30d0db3..e3c93d7 100644 (file)
@@ -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
index de067b1..15b7ec3 100644 (file)
@@ -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"
index fcb590b..794c654 100644 (file)
@@ -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/
index c8a4f71..d7d697d 100644 (file)
@@ -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/
index dda9820..71cf3d8 100644 (file)
@@ -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"
index 1b2ed0f..62e91f8 100644 (file)
@@ -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
index b3fabb2..b819b1c 100644 (file)
@@ -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
index c607867..2048a69 100755 (executable)
@@ -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
index 16c0d7e..f4e46ab 100755 (executable)
@@ -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
index 5d41e4f..11b3dbb 100644 (file)
@@ -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"
index 6c90bbf..075b1f1 100644 (file)
@@ -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:
index 5b020e5..fb6b4d8 100644 (file)
@@ -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
index 3a98f87..da017db 100644 (file)
@@ -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
index d853f18..77c7545 100644 (file)
@@ -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:
index 9021194..844bd20 100644 (file)
@@ -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:
index 59e69db..e322ff4 100644 (file)
@@ -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:
index 915d18b..0ca83ae 100644 (file)
@@ -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
index 67110f1..0d77e42 100644 (file)
@@ -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:
index 41f85e9..d84d8f4 100644 (file)
@@ -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"
index 8370798..7bc8a75 100644 (file)
@@ -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
index 6d911c3..ba2008a 100644 (file)
@@ -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"
index f494792..4b12390 100644 (file)
@@ -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
index ac890c6..f8fe394 100644 (file)
@@ -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"
index a141e76..4f7886d 100644 (file)
@@ -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"
index e5032f3..9b585e2 100644 (file)
@@ -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
index 71c5d73..f568c7a 100644 (file)
@@ -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"
index c535b44..69c0b57 100644 (file)
@@ -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"