Merge "Update log config to log4js format"
authorAlexis de Talhouët <alexis.de_talhouet@bell.ca>
Fri, 9 Nov 2018 19:05:20 +0000 (19:05 +0000)
committerGerrit Code Review <gerrit@onap.org>
Fri, 9 Nov 2018 19:05:20 +0000 (19:05 +0000)
78 files changed:
INFO.yaml
kubernetes/aaf/charts/aaf-cm/values.yaml
kubernetes/aaf/charts/aaf-cs/values.yaml
kubernetes/aaf/charts/aaf-fs/values.yaml
kubernetes/aaf/charts/aaf-gui/values.yaml
kubernetes/aaf/charts/aaf-hello/values.yaml
kubernetes/aaf/charts/aaf-locate/values.yaml
kubernetes/aaf/charts/aaf-oauth/values.yaml
kubernetes/aaf/charts/aaf-service/values.yaml
kubernetes/aaf/values.yaml
kubernetes/aai/charts/aai-resources/values.yaml
kubernetes/aai/charts/aai-traversal/templates/job.yaml
kubernetes/aai/values.yaml
kubernetes/appc/resources/config/log/org.ops4j.pax.logging.cfg
kubernetes/appc/values.yaml
kubernetes/clamp/charts/clamp-dash-kibana/values.yaml
kubernetes/clamp/charts/clamp-dash-logstash/values.yaml
kubernetes/clamp/values.yaml
kubernetes/common/music/charts/music-tomcat/templates/deployment.yaml
kubernetes/common/network-name-gen/templates/secrets.yaml
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-datafile-collector-inputs.yaml
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-ves-inputs.yaml
kubernetes/dcaegen2/charts/dcae-bootstrap/values.yaml
kubernetes/dmaap/charts/message-router/values.yaml
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/values.yaml
kubernetes/policy/charts/drools/templates/service.yaml
kubernetes/policy/resources/config/pe/push-policies.sh
kubernetes/pomba/charts/pomba-contextaggregator/resources/bin/pre_start.sh
kubernetes/pomba/charts/pomba-contextaggregator/resources/config/future-builders/ndcb.properties [moved from kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/ndcb.properties with 100% similarity]
kubernetes/portal/charts/portal-app/resources/server/server.xml
kubernetes/portal/charts/portal-app/values.yaml
kubernetes/portal/charts/portal-mariadb/values.yaml
kubernetes/portal/charts/portal-sdk/values.yaml
kubernetes/portal/charts/portal-widget/values.yaml
kubernetes/sdc/charts/sdc-dcae-be/.helmignore [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-be/Chart.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-be/resources/config/logging/logback.xml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-be/templates/NOTES.txt [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-be/templates/configmap.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-be/templates/deployment.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-be/templates/job.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-be/templates/service.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-be/values.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-dt/Chart.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-dt/resources/config/logging/logback.xml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-dt/templates/NOTES.txt [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-dt/templates/configmap.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-dt/templates/deployment.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-dt/templates/service.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-dt/values.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-fe/.helmignore [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-fe/Chart.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-fe/resources/config/logging/logback.xml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-fe/templates/NOTES.txt [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-fe/templates/configmap.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-fe/templates/deployment.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-fe/templates/service.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-fe/values.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-tosca-lab/.helmignore [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-tosca-lab/Chart.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-tosca-lab/templates/NOTES.txt [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-tosca-lab/templates/deployment.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-tosca-lab/templates/service.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-dcae-tosca-lab/values.yaml [new file with mode: 0644]
kubernetes/sdc/resources/config/environments/AUTO.json
kubernetes/sdc/values.yaml
kubernetes/sdnc/charts/sdnc-portal/values.yaml
kubernetes/so/charts/so-bpmn-infra/resources/config/overrides/override.yaml
kubernetes/so/charts/so-sdc-controller/resources/config/overrides/override.yaml
kubernetes/uui/values.yaml
kubernetes/vvp/charts/vvp-ci-uwsgi/values.yaml
kubernetes/vvp/charts/vvp-cms-uwsgi/values.yaml
kubernetes/vvp/charts/vvp-em-uwsgi/values.yaml
kubernetes/vvp/charts/vvp-gitlab/values.yaml
kubernetes/vvp/charts/vvp-imagescanner/values.yaml
kubernetes/vvp/charts/vvp-jenkins/values.yaml
kubernetes/vvp/charts/vvp-postgres/values.yaml
kubernetes/vvp/values.yaml

index d639336..da3cd81 100644 (file)
--- a/INFO.yaml
+++ b/INFO.yaml
@@ -63,11 +63,11 @@ committers:
         company: 'ATT'
         id: 'jh245g'
         timezone: 'America/New York'
-    - name: 'Mike Elliott'
-        email: 'mike.elliott@amdocs.com'
-        company: 'Amdocs'
-        id: 'melliott'
-        timezone: 'Canada/Ontario'
+    - name: 'David Sauvageau'
+        email: 'david.sauvageau@bell.ca'
+        company: 'Bell'
+        id: 'david.sauvageau'
+        timezone: 'Canada/Montreal'
     - name: 'Mandeep Khinda'
         email: 'Mandeep.Khinda@amdocs.com'
         company: 'Amdocs'
index 6bd03cf..213a098 100644 (file)
@@ -25,7 +25,7 @@ flavor: small
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/aaf/aaf_cm:2.1.7-SNAPSHOT
+image: onap/aaf/aaf_cm:2.1.7
 aaf_register_as: "aaf-cm.onap"
 pullPolicy: Always
 
index a81bfed..7790fd0 100644 (file)
@@ -24,7 +24,7 @@ flavor: small
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/aaf/aaf_cass:2.1.7-SNAPSHOT
+image: onap/aaf/aaf_cass:2.1.7
 pullPolicy: Always
 
 # application configuration
index 07e832b..0c330a0 100644 (file)
@@ -25,7 +25,7 @@ flavor: small
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/aaf/aaf_fs:2.1.7-SNAPSHOT
+image: onap/aaf/aaf_fs:2.1.7
 aaf_register_as: "aaf-fs.onap"
 pullPolicy: Always
 
index dd8162b..d57e151 100644 (file)
@@ -26,7 +26,7 @@ flavor: small
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/aaf/aaf_gui:2.1.7-SNAPSHOT
+image: onap/aaf/aaf_gui:2.1.7
 aaf_register_as: "aaf-gui.onap"
 pullPolicy: Always
 
index fb5914d..2b76d24 100644 (file)
@@ -25,7 +25,7 @@ flavor: small
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/aaf/aaf_hello:2.1.7-SNAPSHOT
+image: onap/aaf/aaf_hello:2.1.7
 aaf_register_as: "aaf-hello.onap"
 pullPolicy: Always
 
index e65d6e3..58a5f05 100644 (file)
@@ -25,7 +25,7 @@ flavor: small
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/aaf/aaf_locate:2.1.7-SNAPSHOT
+image: onap/aaf/aaf_locate:2.1.7
 aaf_register_as: "aaf-locate.onap"
 pullPolicy: Always
 
index 99de329..e043f46 100644 (file)
@@ -25,7 +25,7 @@ flavor: small
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/aaf/aaf_oauth:2.1.7-SNAPSHOT
+image: onap/aaf/aaf_oauth:2.1.7
 aaf_register_as: "aaf-oauth.onap"
 pullPolicy: Always
 
index a3f1545..7684eb0 100644 (file)
@@ -25,7 +25,7 @@ flavor: small
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/aaf/aaf_service:2.1.7-SNAPSHOT
+image: onap/aaf/aaf_service:2.1.7
 aaf_register_as: "aaf-service.onap"
 pullPolicy: Always
 
index ea0827f..dc87e6f 100644 (file)
@@ -21,7 +21,7 @@ global:
   readinessImage: readiness-check:2.0.0
   ubuntuInitRepository: registry.hub.docker.com
   ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
-  configImage: onap/aaf/aaf_config:2.1.7-SNAPSHOT
+  configImage: onap/aaf/aaf_config:2.1.7
   persistence:
     enabled: true
 
index 5055fed..546b56d 100644 (file)
@@ -22,7 +22,7 @@ global: # global defaults
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/aai-resources:1.3.1
+image: onap/aai-resources:1.3.3
 pullPolicy: Always
 restartPolicy: Always
 flavor: small
index c8efed7..e2fe395 100644 (file)
@@ -39,6 +39,10 @@ spec:
         args:
         - --container-name
         - aai
+        {{ if eq .Values.global.aafEnabled true }}
+        - --container-name
+        - aaf-locate
+        {{ end }}
         env:
         - name: NAMESPACE
           valueFrom:
index e216b35..d5a5db0 100644 (file)
@@ -31,6 +31,7 @@ global: # global defaults
   restartPolicy: Always
 
   installSidecarSecurity: false
+  aafEnabled: true
 
   fproxy:
     name: forward-proxy
index 0bbdbb7..e68057f 100644 (file)
@@ -1,19 +1,22 @@
 ################################################################################
 #
-#    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
+#  ============LICENSE_START=======================================================
+#  ONAP : APPC
+#  ================================================================================
+#  Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+#  ================================================================================
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
 #
 #       http://www.apache.org/licenses/LICENSE-2.0
 #
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#    See the License for the specific language governing permissions and
-#    limitations under the License.
+#  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=========================================================
 #
 ################################################################################
 
index ad6070a..d6719c1 100644 (file)
@@ -31,7 +31,7 @@ global:
 flavor: small
 # application image
 repository: nexus3.onap.org:10001
-image: onap/appc-image:1.4.1-SNAPSHOT-latest
+image: onap/appc-image:1.4.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index d1e85aa..fd73ae2 100644 (file)
@@ -33,7 +33,7 @@ busyboxImage: library/busybox:latest
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/clamp-dashboard-kibana:3.0.1
+image: onap/clamp-dashboard-kibana:3.0.2
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index a05564a..cce1dec 100644 (file)
@@ -29,7 +29,7 @@ global:
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/clamp-dashboard-logstash:3.0.1
+image: onap/clamp-dashboard-logstash:3.0.2
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 24462d8..3609487 100644 (file)
@@ -28,7 +28,7 @@ subChartsOnly:
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/clamp:3.0.1
+image: onap/clamp:3.0.2
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 1fec55c..2e04b15 100755 (executable)
@@ -63,7 +63,7 @@ spec:
               fieldPath: metadata.namespace
 # War Container
       - name: "{{ .Chart.Name }}-war"
-        image: "{{ .Values.repository }}/{{ .Values.warImage }}"
+        image: "{{ include "common.repository" . }}/{{ .Values.warImage }}"
         command: ["cp","/app/MUSIC.war","/webapps"]
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         ports:
@@ -73,7 +73,7 @@ spec:
       containers:
       # Tomcat Container
         - name: "{{ include "common.name" . }}"
-          image: "{{ .Values.repository }}/{{ .Values.image }}"
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           ports:
           - containerPort: {{ .Values.service.internalPort }}
index 4b6d97a..c8630a2 100644 (file)
@@ -28,8 +28,14 @@ data:
 ---
 apiVersion: v1
 data:
-{{ tpl (.Files.Glob "resources/config/aai_keystore").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/aai_keystore").AsSecrets . | indent 2 }}
 metadata:
   name: {{ .Release.Name}}-aai-keystore
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.fullname" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 kind: Secret
+type: Opaque
\ No newline at end of file
index 09d0db0..f330e64 100644 (file)
@@ -19,8 +19,8 @@
 {{ if .Values.componentImages.datafile_collector }}
 tag_version: {{ include "common.repository" . }}/{{ .Values.componentImages.datafile_collector }}
 {{ end }}
-host_port: 30223
-host_port_secure: 30262
+host_port: {{ .Values.config.address.datafile_collector.port }}
+host_port_secure: {{ .Values.config.address.datafile_collector.portSecure }}
 dmaap_mr_host: "{{ .Values.config.address.message_router }}"
 dmaap_mr_port: 3904
 dmaap_mr_user: "admin"
index 07231fe..078af0c 100644 (file)
@@ -19,7 +19,7 @@
 {{ if .Values.componentImages.ves }}
 tag_version: {{ include "common.repository" . }}/{{ .Values.componentImages.ves }}
 {{ end }}
-external_port : "30235"
+external_port : {{ .Values.config.address.ves.port }}
 ves_other_publish_url: "http://{{ .Values.config.address.message_router }}:3904/events/unauthenticated.SEC_OTHER_OUTPUT/"
 ves_heartbeat_publish_url: "http://{{ .Values.config.address.message_router }}:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT/"
 ves_fault_publish_url: "http://{{ .Values.config.address.message_router }}:3904/events/unauthenticated.SEC_FAULT_OUTPUT/"
index 6e4ad08..d8ed347 100644 (file)
@@ -35,12 +35,17 @@ config:
       host: consul-server
       port: 8500
     cm: dcae-cloudify-manager
+    datafile_collector:
+      port: 30223
+      portSecure: 30262
     dmaap_dr_prov: dmaap-dr-prov
     message_router: message-router
     msb_discovery: msb-discovery
     msb_iag: msb-iag
     policy_pdp: pdp
     sdc: sdc-be
+    ves:
+      port: 30235
   # redisCaching is a string not a boolean!
   redisCaching: "false"
 
@@ -82,8 +87,8 @@ componentImages:
   config_binding_service: onap/org.onap.dcaegen2.platform.configbinding.app-app:2.2.3
   datafile_collector: onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.0.3
   deployment_handler: onap/org.onap.dcaegen2.platform.deployment-handler:3.0.3
-  holmes_rules: onap/holmes/rule-management:1.2.0
-  holmes_engine: onap/holmes/engine-management:1.2.0
+  holmes_rules: onap/holmes/rule-management:1.2.3
+  holmes_engine: onap/holmes/engine-management:1.2.2
   inventory: onap/org.onap.dcaegen2.platform.inventory-api:3.0.4
   policy_handler: onap/org.onap.dcaegen2.platform.policy-handler:4.4.0
   service_change_handler: onap/org.onap.dcaegen2.platform.servicechange-handler:1.1.5
@@ -115,4 +120,3 @@ resources:
 # Kubernetes namespace for components deployed via Cloudify manager
 # If empty, use the common namespace
 # dcae_ns: "onap"
-
index 9ba3488..bd1c660 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/dmaap/dmaap-mr:1.1.7
+image: onap/dmaap/dmaap-mr:1.1.8
 pullPolicy: Always
 
 kafka:
index a446929..a970f38 100644 (file)
@@ -25,12 +25,12 @@ subChartsOnly:
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/optf-cmso-service:latest
+image: onap/optf-cmso-service:1.0.1
 pullPolicy: Always
 
 #init container image
 dbinit:
-  image: onap/optf-cmso-dbinit:latest
+  image: onap/optf-cmso-dbinit:1.0.1
 
 # flag to enable debugging - application support required
 debugEnabled: false
index 84eedd1..221063b 100644 (file)
@@ -34,8 +34,8 @@ spec:
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
       name: {{ .Values.service.portName }}-{{ .Values.service.externalPort2 }}
     {{- else -}}
-    - port: {{ .Values.service.type.externalPort }}
-      targetPort: {{ .Values.service.type.internalPort }}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
       name: {{ .Values.service.portName }}
     {{- end}}
   selector:
index bdf5933..c6da184 100644 (file)
@@ -209,6 +209,21 @@ curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'A
     "description": "ONAP_VPG_NAMING_TIMESTAMP"
 }' 'https://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy'
 
+sleep 2
+
+echo "Create SDNC vSN Naming Policy"
+curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+    "configBody": "{\"service\":\"SDNC-GenerateName\",\"version\":\"CSIT\",\"content\":{\"policy-instance-name\":\"ONAP_VSN_NAMING_TIMESTAMP\",\"naming-models\":[{\"naming-properties\":[{\"property-name\":\"AIC_CLOUD_REGION\"},{\"property-name\":\"nfRole\"},{\"property-name\":\"TIMESTAMP\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"VNF\",\"nfRole\":\"vSN\",\"naming-recipe\":\"AIC_CLOUD_REGION|DELIMITER|nfRole|DELIMITER|TIMESTAMP\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-name\":\"SEQUENCE\",\"increment-sequence\":{\"max\":\"zzz\",\"scope\":\"ENTIRETY\",\"start-value\":\"001\",\"length\":\"3\",\"increment\":\"1\",\"sequence-type\":\"alpha-numeric\"}},{\"property-name\":\"NFC_NAMING_CODE\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"VNFC\",\"nfRole\":\"vSN\",\"naming-recipe\":\"VNF_NAME|DELIMITER|NFC_NAMING_CODE|DELIMITER|SEQUENCE\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"},{\"property-name\":\"VF_MODULE_LABEL\"},{\"property-name\":\"VF_MODULE_TYPE\"},{\"property-name\":\"SEQUENCE\",\"increment-sequence\":{\"max\":\"zzz\",\"scope\":\"PRECEEDING\",\"start-value\":\"01\",\"length\":\"3\",\"increment\":\"1\",\"sequence-type\":\"alpha-numeric\"}}],\"naming-type\":\"VF-MODULE\",\"nfRole\":\"vSN\",\"naming-recipe\":\"VNF_NAME|DELIMITER|VF_MODULE_LABEL|DELIMITER|VF_MODULE_TYPE|DELIMITER|SEQUENCE\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"}],\"naming-type\":\"KEY\",\"nfRole\":\"vSN\",\"naming-recipe\":\"VNF_NAME\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"protected\",\"property-name\":\"CONSTANT\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"protected_private_net_id\",\"nfRole\":\"vSN\",\"naming-recipe\":\"VNF_NAME|DELIMITER|CONSTANT\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"unprotected\",\"property-name\":\"CONSTANT\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"unprotected_private_net_id\",\"nfRole\":\"vSN\",\"naming-recipe\":\"VNF_NAME|DELIMITER|CONSTANT\"}]}}",
+    "policyName": "SDNC_Policy.ONAP_VSN_NAMING_TIMESTAMP",
+    "policyConfigType": "MicroService",
+    "onapName": "SDNC",
+    "riskLevel": "4",
+    "riskType": "test",
+    "guard": "false",
+    "priority": "4",
+    "description": "ONAP_VSN_NAMING_TIMESTAMP"
+}' 'https://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy'
+
 #########################################Creating OOF PCI Policies##########################################
 sleep 2
 
@@ -451,6 +466,15 @@ curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'A
   "policyType": "MicroService"
 }' 'https://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy'
 
+sleep 10
+
+echo "pushPolicy : PUT : SDNC_Policy.ONAP_VSN_NAMING_TIMESTAMP"
+curl -k -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": "SDNC_Policy.ONAP_VSN_NAMING_TIMESTAMP",
+  "policyType": "MicroService"
+}' 'https://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy'
+
 #########################################Pushing OOF PCI Policies##########################################
 sleep 10
 
index 3ef1434..8a76cdd 100644 (file)
@@ -18,7 +18,7 @@ do
   else
       # code if not found
       echo "$i_topic NOT found."
-      curl -X POST -H "content-type: application/json" --data "Empty post to create topic" http://$dmaap_mr_host:$dmaap_mr_port/events/$i_topic
+      curl -X POST -H "content-type: application/json" --data '{"event":"create topic"}' http://$dmaap_mr_host:$dmaap_mr_port/events/$i_topic
   fi
 done
 
index c87e6c3..c9515c1 100644 (file)
@@ -14,6 +14,8 @@
   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.
+  
+  Modifications to this file for use in ONAP are also subject to the Apache-2.0 license.
 -->
 <!-- Note:  A "Server" is not itself a "Container", so you may not
      define subcomponents such as "Valves" at this level.
index 13d0138..2123dd7 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/portal-app:2.3.0
+image: onap/portal-app:2.3.1
 pullPolicy: Always
 
 # default number of instances
index c9acba5..4b4463a 100644 (file)
@@ -24,7 +24,7 @@ global: # global defaults
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/portal-db:2.3.0
+image: onap/portal-db:2.3.1
 pullPolicy: Always
 
 readinessImage: readiness-check:2.0.0
index 772f191..63f7a49 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/portal-sdk:2.3.0
+image: onap/portal-sdk:2.3.1
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index f6581db..f356796 100644 (file)
@@ -29,7 +29,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/portal-wms:2.3.0
+image: onap/portal-wms:2.3.1
 pullPolicy: Always
 
 # flag to enable debugging - application support required
diff --git a/kubernetes/sdc/charts/sdc-dcae-be/.helmignore b/kubernetes/sdc/charts/sdc-dcae-be/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/sdc/charts/sdc-dcae-be/Chart.yaml b/kubernetes/sdc/charts/sdc-dcae-be/Chart.yaml
new file mode 100644 (file)
index 0000000..dd1f323
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP SDC DCAE Backend client of TOSCALAB and SDC
+name: sdc-dcae-be
+version: 3.0.0
diff --git a/kubernetes/sdc/charts/sdc-dcae-be/resources/config/logging/logback.xml b/kubernetes/sdc/charts/sdc-dcae-be/resources/config/logging/logback.xml
new file mode 100644 (file)
index 0000000..8d1e5cd
--- /dev/null
@@ -0,0 +1,205 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!--\r
+================================================================================\r
+Copyright (C) 2018 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
+\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="dcae-be"></property>\r
+    <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+    <property file="${config.home}/dcae-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>\r
diff --git a/kubernetes/sdc/charts/sdc-dcae-be/templates/NOTES.txt b/kubernetes/sdc/charts/sdc-dcae-be/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..41f9706
--- /dev/null
@@ -0,0 +1,33 @@
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# 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.
+
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+  http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+  export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+  export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+  echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+     NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+           You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+  export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+  echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+  export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+  echo "Visit http://127.0.0.1:8080 to use your application"
+  kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/sdc/charts/sdc-dcae-be/templates/configmap.yaml b/kubernetes/sdc/charts/sdc-dcae-be/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..1d0751a
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-logging-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
\ No newline at end of file
diff --git a/kubernetes/sdc/charts/sdc-dcae-be/templates/deployment.yaml b/kubernetes/sdc/charts/sdc-dcae-be/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..d20a1d1
--- /dev/null
@@ -0,0 +1,149 @@
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+      - name: {{ include "common.name" . }}-readiness
+        command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - "sdc-be"
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+      - name: {{ include "common.name" . }}-job-completion
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: "{{ .Values.global.pullPolicy | default .Values.pullPolicy }}"
+        command:
+        - /root/job_complete.py
+        args:
+        - --job-name
+        - {{ .Release.Name }}-sdc-be-config-backend
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          - containerPort: {{ .Values.service.internalPort2 }}
+          {{ if eq .Values.liveness.enabled true }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            httpGet:
+              path: /dcae/conf/composition
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+          - name: ENVNAME
+            value: {{ .Values.global.env.name }}
+          - name: JAVA_OPTIONS
+            value: {{ .Values.config.javaOptions }}
+          - name: HOST_IP
+            valueFrom:
+              fieldRef:
+                fieldPath: status.podIP
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-environments
+            mountPath: /var/opt/dcae-be/chef-solo/environments/
+          - name: {{ include "common.fullname" . }}-localtime
+            mountPath: /etc/localtime
+            readOnly: true
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-logback
+            mountPath: /tmp/logback.xml
+            subPath: logback.xml
+          lifecycle:
+            postStart:
+              exec:
+                command: ["/bin/sh", "-c", "export LOG=wait_logback.log; touch $LOG; export SRC=/tmp/logback.xml; export DST=/var/lib/jetty/config/dcae-be/; while [ ! -e $DST ]; do echo 'Waiting for $DST...' >> $LOG; sleep 5; done; sleep 2; /bin/cp -f $SRC $DST; echo 'Done' >> $LOG"]
+          resources:
+{{ include "common.resources" . | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+
+        # side car containers
+        - name: {{ include "common.name" . }}-filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-filebeat-conf
+            mountPath: /usr/share/filebeat/filebeat.yml
+            subPath: filebeat.yml
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+      volumes:
+      - name: {{ include "common.fullname" . }}-localtime
+        hostPath:
+          path: /etc/localtime
+      - name: {{ include "common.fullname" . }}-filebeat-conf
+        configMap:
+          name: {{ .Release.Name }}-sdc-filebeat-configmap
+      - name: {{ include "common.fullname" . }}-data-filebeat
+        emptyDir: {}
+      - name: {{ include "common.fullname" . }}-logback
+        configMap:
+          name : {{ include "common.fullname" . }}-logging-configmap
+      - name: {{ include "common.fullname" . }}-environments
+        configMap:
+          name: {{ .Release.Name }}-sdc-environments-configmap
+          defaultMode: 0755
+      - name:  {{ include "common.fullname" . }}-logs
+        emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/sdc/charts/sdc-dcae-be/templates/job.yaml b/kubernetes/sdc/charts/sdc-dcae-be/templates/job.yaml
new file mode 100644 (file)
index 0000000..0d7cabc
--- /dev/null
@@ -0,0 +1,70 @@
+# Copyright © 2017 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: {{ include "common.fullname" . }}-tools
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}-job
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  backoffLimit: 20
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}-job
+        release: {{ .Release.Name }}
+    spec:
+      restartPolicy: Never
+      initContainers:
+      - name: {{ include "common.name" . }}-init-readiness
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - {{ include "common.name" . }}
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+      containers:
+      - name: {{ include "common.name" . }}-job
+        image: {{ include "common.repository" . }}/{{ .Values.backendInitImage }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        volumeMounts:
+        - name: {{ include "common.fullname" . }}-environments
+          mountPath: /var/opt/dcae-tools/chef-solo/environments
+        env:
+        - name: ENVNAME
+          value: {{ .Values.global.env.name }}
+        - name: HOST_IP
+          valueFrom:
+            fieldRef:
+              fieldPath: status.podIP
+      volumes:
+      - name: {{ include "common.fullname" . }}-environments
+        configMap:
+          name: {{ .Release.Name }}-sdc-environments-configmap
+          defaultMode: 0755
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
+      restartPolicy: Never
diff --git a/kubernetes/sdc/charts/sdc-dcae-be/templates/service.yaml b/kubernetes/sdc/charts/sdc-dcae-be/templates/service.yaml
new file mode 100644 (file)
index 0000000..1b981c0
--- /dev/null
@@ -0,0 +1,56 @@
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.servicename" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "sdc-dcae-be",
+          "version": "v1",
+          "url": "/dcae",
+          "protocol": "REST",
+          "port": "{{ .Values.service.internalPort2 }}",
+          "visualRange": "1"
+      }
+    ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.portName }}
+    - port: {{ .Values.service.internalPort2 }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+      name: {{ .Values.service.portName2 }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.portName }}
+    - port: {{ .Values.service.externalPort2 }}
+      targetPort: {{ .Values.service.internalPort2 }}
+      name: {{ .Values.service.portName2 }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
diff --git a/kubernetes/sdc/charts/sdc-dcae-be/values.yaml b/kubernetes/sdc/charts/sdc-dcae-be/values.yaml
new file mode 100644 (file)
index 0000000..9ae8f31
--- /dev/null
@@ -0,0 +1,91 @@
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# 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.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:2.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/dcae-be:1.3-STAGING-latest
+pullPolicy: Always
+backendInitImage: onap/dcae-tools:1.3-STAGING-latest
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+config:
+  javaOptions: -XX:MaxPermSize=256m -Xmx1024m -Dconfig.home=config -Dlog.home=/var/lib/jetty/logs/ -Dlogging.config=config/dcae-be/logback-spring.xml
+  cassandraSslEnabled: "false"
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 240
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: false
+
+readiness:
+  initialDelaySeconds: 240
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: sdc-dcae-be
+  portName: sdc-dcae-be-8082
+  externalPort: 8082
+  internalPort: 8082
+  portName2: sdc-dcae-be-8444
+  externalPort2: 8444
+  internalPort2: 8444
+
+ingress:
+  enabled: false
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 1
+      memory: 4Gi
+    requests:
+      cpu: 10m
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 2
+      memory: 8Gi
+    requests:
+      cpu: 20m
+      memory: 2Gi
+  unlimited: {}
\ No newline at end of file
diff --git a/kubernetes/sdc/charts/sdc-dcae-dt/Chart.yaml b/kubernetes/sdc/charts/sdc-dcae-dt/Chart.yaml
new file mode 100644 (file)
index 0000000..e7d4830
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description:  ONAP DCAE desiner composition tool for creating customized templates
+name: sdc-dcae-dt
+version: 3.0.0
diff --git a/kubernetes/sdc/charts/sdc-dcae-dt/resources/config/logging/logback.xml b/kubernetes/sdc/charts/sdc-dcae-dt/resources/config/logging/logback.xml
new file mode 100644 (file)
index 0000000..89fd301
--- /dev/null
@@ -0,0 +1,205 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!--\r
+================================================================================\r
+Copyright (C) 2018 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
+\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="dcae-dt"></property>\r
+    <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+    <property file="${config.home}/dcae-dt/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>\r
diff --git a/kubernetes/sdc/charts/sdc-dcae-dt/templates/NOTES.txt b/kubernetes/sdc/charts/sdc-dcae-dt/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..0063bb6
--- /dev/null
@@ -0,0 +1,33 @@
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# 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.
+
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+  http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+  export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+  export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+  echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+     NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+           You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+  export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+  echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+  export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.fullname" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+  echo "Visit http://127.0.0.1:8080 to use your application"
+  kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/sdc/charts/sdc-dcae-dt/templates/configmap.yaml b/kubernetes/sdc/charts/sdc-dcae-dt/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..144bdb7
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-logging-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/sdc/charts/sdc-dcae-dt/templates/deployment.yaml b/kubernetes/sdc/charts/sdc-dcae-dt/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..f91335e
--- /dev/null
@@ -0,0 +1,144 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+      - name: {{ include "common.name" . }}-readiness
+        command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - sdc-dcae-be
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+      - name: {{ include "common.name" . }}-job-completion
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: "{{ .Values.global.pullPolicy | default .Values.pullPolicy }}"
+        command:
+        - /root/job_complete.py
+        args:
+        - --job-name
+        - {{ .Release.Name }}-sdc-dcae-be-tools
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          - containerPort: {{ .Values.service.internalPort2 }}
+          {{ if eq .Values.liveness.enabled true }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            httpGet:
+              path: /dcae/healthCheckOld
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+          - name: ENVNAME
+            value: {{ .Values.global.env.name }}
+          - name: JAVA_OPTIONS
+            value: {{ .Values.config.javaOptions }}
+          - name: HOST_IP
+            valueFrom:
+              fieldRef:
+                fieldPath: status.podIP
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-environments
+            mountPath: /var/opt/dcae-dt/chef-solo/environments/
+          - name: {{ include "common.fullname" . }}-localtime
+            mountPath: /etc/localtime
+            readOnly: true
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-logback
+            mountPath: /tmp/logback.xml
+            subPath: logback.xml
+          resources:
+{{ include "common.resources" . | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+
+        # side car containers
+        - name: {{ include "common.name" . }}-filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-filebeat-conf
+            mountPath: /usr/share/filebeat/filebeat.yml
+            subPath: filebeat.yml
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+      volumes:
+        - name: {{ include "common.fullname" . }}-localtime
+          hostPath:
+            path: /etc/localtime
+        - name: {{ include "common.fullname" . }}-filebeat-conf
+          configMap:
+            name: {{ .Release.Name }}-sdc-filebeat-configmap
+        - name: {{ include "common.fullname" . }}-data-filebeat
+          emptyDir: {}
+        - name: {{ include "common.fullname" . }}-logback
+          configMap:
+            name : {{ include "common.fullname" . }}-logging-configmap
+        - name: {{ include "common.fullname" . }}-environments
+          configMap:
+            name: {{ .Release.Name }}-sdc-environments-configmap
+            defaultMode: 0755
+        - name:  {{ include "common.fullname" . }}-logs
+          emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/sdc/charts/sdc-dcae-dt/templates/service.yaml b/kubernetes/sdc/charts/sdc-dcae-dt/templates/service.yaml
new file mode 100644 (file)
index 0000000..e918608
--- /dev/null
@@ -0,0 +1,56 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.servicename" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "sdc-dcae-dt",
+          "version": "v1",
+          "url": "/dcae",
+          "protocol": "UI",
+          "port": "{{ .Values.service.internalPort }}",
+          "visualRange": "0|1"
+      }
+    ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.portName }}
+    - port: {{ .Values.service.internalPort2 }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+      name: {{ .Values.service.portName }}2
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.portName }}
+    - port: {{ .Values.service.externalPort2 }}
+      targetPort: {{ .Values.service.internalPort2 }}
+      name: {{ .Values.service.portName }}2
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
diff --git a/kubernetes/sdc/charts/sdc-dcae-dt/values.yaml b/kubernetes/sdc/charts/sdc-dcae-dt/values.yaml
new file mode 100644 (file)
index 0000000..f04b8fa
--- /dev/null
@@ -0,0 +1,83 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:2.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/dcae-dt:1.2-STAGING-latest
+pullPolicy: IfNotPresent
+config:
+  javaOptions: -XX:MaxPermSize=256m -Xmx1024m -Dconfig.home=config -Dlog.home=/var/lib/jetty/logs/ -Dlogging.config=config/dcae-dt/logback-spring.xml
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  enabled: false
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: NodePort
+  name: sdc-dcae-dt
+  portName: dcae-dt
+  nodePort: "65"
+  internalPort: 8186
+  portName2: dcae-dt2
+  nodePort2: "66"
+  internalPort2: 9446
+
+ingress:
+  enabled: false
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 1
+      memory: 4Gi
+    requests:
+      cpu: 10m
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 2
+      memory: 8Gi
+    requests:
+      cpu: 20m
+      memory: 2Gi
+  unlimited: {}
\ No newline at end of file
diff --git a/kubernetes/sdc/charts/sdc-dcae-fe/.helmignore b/kubernetes/sdc/charts/sdc-dcae-fe/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/sdc/charts/sdc-dcae-fe/Chart.yaml b/kubernetes/sdc/charts/sdc-dcae-fe/Chart.yaml
new file mode 100644 (file)
index 0000000..7582502
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2013 Amdocs, AT&T,Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP SDC DCAE UI for service monitoring and MC create and configure
+name: sdc-dcae-fe
+version: 3.0.0
diff --git a/kubernetes/sdc/charts/sdc-dcae-fe/resources/config/logging/logback.xml b/kubernetes/sdc/charts/sdc-dcae-fe/resources/config/logging/logback.xml
new file mode 100644 (file)
index 0000000..8dbf347
--- /dev/null
@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!--\r
+================================================================================\r
+Copyright (C) 2018 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
+<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="dcae-fe"></property>\r
+    <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+    <property file="${config.home}/dcae-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>\r
diff --git a/kubernetes/sdc/charts/sdc-dcae-fe/templates/NOTES.txt b/kubernetes/sdc/charts/sdc-dcae-fe/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..0063bb6
--- /dev/null
@@ -0,0 +1,33 @@
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# 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.
+
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+  http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+  export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+  export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+  echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+     NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+           You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+  export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+  echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+  export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.fullname" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+  echo "Visit http://127.0.0.1:8080 to use your application"
+  kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/sdc/charts/sdc-dcae-fe/templates/configmap.yaml b/kubernetes/sdc/charts/sdc-dcae-fe/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..144bdb7
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-logging-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/sdc/charts/sdc-dcae-fe/templates/deployment.yaml b/kubernetes/sdc/charts/sdc-dcae-fe/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..c13942f
--- /dev/null
@@ -0,0 +1,148 @@
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+      - name: {{ include "common.name" . }}-readiness
+        command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - sdc-dcae-be
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+      - name: {{ include "common.name" . }}-job-completion
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: "{{ .Values.global.pullPolicy | default .Values.pullPolicy }}"
+        command:
+        - /root/job_complete.py
+        args:
+        - --job-name
+        - {{ .Release.Name }}-sdc-dcae-be-tools
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          - containerPort: {{ .Values.service.internalPort2 }}
+          {{ if eq .Values.liveness.enabled true }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            httpGet:
+              path: /dcaed/healthCheck
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+          - name: ENVNAME
+            value: {{ .Values.global.env.name }}
+          - name: JAVA_OPTIONS
+            value: {{ .Values.config.javaOptions }}
+          - name: HOST_IP
+            valueFrom:
+              fieldRef:
+                fieldPath: status.podIP
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-environments
+            mountPath: /var/opt/dcae-fe/chef-solo/environments/
+          - name: {{ include "common.fullname" . }}-localtime
+            mountPath: /etc/localtime
+            readOnly: true
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-logback
+            mountPath: /tmp/logback.xml
+            subPath: logback.xml
+          lifecycle:
+            postStart:
+              exec:
+                command: ["/bin/sh", "-c", "export LOG=wait_logback.log; touch $LOG; export SRC=/tmp/logback.xml; export DST=/var/lib/jetty/config/dcae-fe/; while [ ! -e $DST ]; do echo 'Waiting for $DST...' >> $LOG; sleep 5; done; sleep 2; /bin/cp -f $SRC $DST; echo 'Done' >> $LOG"]
+          resources:
+{{ include "common.resources" . | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+
+        # side car containers
+        - name: {{ include "common.name" . }}-filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-filebeat-conf
+            mountPath: /usr/share/filebeat/filebeat.yml
+            subPath: filebeat.yml
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+      volumes:
+        - name: {{ include "common.fullname" . }}-localtime
+          hostPath:
+            path: /etc/localtime
+        - name: {{ include "common.fullname" . }}-filebeat-conf
+          configMap:
+            name: {{ .Release.Name }}-sdc-filebeat-configmap
+        - name: {{ include "common.fullname" . }}-data-filebeat
+          emptyDir: {}
+        - name: {{ include "common.fullname" . }}-logback
+          configMap:
+            name : {{ include "common.fullname" . }}-logging-configmap
+        - name: {{ include "common.fullname" . }}-environments
+          configMap:
+            name: {{ .Release.Name }}-sdc-environments-configmap
+            defaultMode: 0755
+        - name:  {{ include "common.fullname" . }}-logs
+          emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/sdc/charts/sdc-dcae-fe/templates/service.yaml b/kubernetes/sdc/charts/sdc-dcae-fe/templates/service.yaml
new file mode 100644 (file)
index 0000000..49364bf
--- /dev/null
@@ -0,0 +1,56 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.servicename" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "dcae-gui",
+          "version": "v1",
+          "url": "/dcae",
+          "protocol": "UI",
+          "port": "{{ .Values.service.internalPort }}",
+          "visualRange": "0|1"
+      }
+    ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.portName }}
+    - port: {{ .Values.service.internalPort2 }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+      name: {{ .Values.service.portName }}2
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.portName }}
+    - port: {{ .Values.service.externalPort2 }}
+      targetPort: {{ .Values.service.internalPort2 }}
+      name: {{ .Values.service.portName }}2
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
diff --git a/kubernetes/sdc/charts/sdc-dcae-fe/values.yaml b/kubernetes/sdc/charts/sdc-dcae-fe/values.yaml
new file mode 100644 (file)
index 0000000..9f544cb
--- /dev/null
@@ -0,0 +1,88 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:2.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/dcae-fe:1.3-STAGING-latest
+pullPolicy: Always
+config:
+  javaOptions: -XX:MaxPermSize=256m -Xmx1024m -Dconfig.home=config -Dlog.home=/var/lib/jetty/logs/ -Dlogging.config=config/dcae-fe/logback-spring.xml
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: false
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  #Example service definition with external, internal and node ports.
+  #Services may use any combination of ports depending on the 'type' of
+  #service being defined.
+  type: NodePort
+  name: sdc-dcae-fe
+  portName: dcae-fe
+  nodePort: "63"
+  internalPort: 8183
+  portName2: dcae-fe2
+  nodePort2: "64"
+  internalPort2: 9444
+
+ingress:
+  enabled: false
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 1
+      memory: 4Gi
+    requests:
+      cpu: 10m
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 2
+      memory: 8Gi
+    requests:
+      cpu: 20m
+      memory: 2Gi
+  unlimited: {}
\ No newline at end of file
diff --git a/kubernetes/sdc/charts/sdc-dcae-tosca-lab/.helmignore b/kubernetes/sdc/charts/sdc-dcae-tosca-lab/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/sdc/charts/sdc-dcae-tosca-lab/Chart.yaml b/kubernetes/sdc/charts/sdc-dcae-tosca-lab/Chart.yaml
new file mode 100644 (file)
index 0000000..28e2500
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP Tosca model for component monitoring and descriptors deployment
+name: sdc-dcae-tosca-lab
+version: 3.0.0
diff --git a/kubernetes/sdc/charts/sdc-dcae-tosca-lab/templates/NOTES.txt b/kubernetes/sdc/charts/sdc-dcae-tosca-lab/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..41f9706
--- /dev/null
@@ -0,0 +1,33 @@
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# 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.
+
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+  http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+  export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+  export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+  echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+     NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+           You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+  export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+  echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+  export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+  echo "Visit http://127.0.0.1:8080 to use your application"
+  kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/sdc/charts/sdc-dcae-tosca-lab/templates/deployment.yaml b/kubernetes/sdc/charts/sdc-dcae-tosca-lab/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..c6cc67e
--- /dev/null
@@ -0,0 +1,124 @@
+# Copyright © 2017 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+      - name: {{ include "common.name" . }}-readiness
+        command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - "sdc-dcae-be"
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          - containerPort: {{ .Values.service.internalPort2 }}
+          {{ if eq .Values.liveness.enabled true }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            httpGet:
+              path: /healthcheck
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+          - name: ENVNAME
+            value: {{ .Values.global.env.name }}
+          - name: JAVA_OPTIONS
+            value: {{ .Values.config.javaOptions }}
+          - name: HOST_IP
+            valueFrom:
+              fieldRef:
+                fieldPath: status.podIP
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-environments
+            mountPath: /var/opt/dcae-be/chef-solo/environments/
+          - name: {{ include "common.fullname" . }}-localtime
+            mountPath: /etc/localtime
+            readOnly: true
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          resources:
+{{ include "common.resources" . | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+        # side car containers
+        - name: {{ include "common.name" . }}-filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-filebeat-conf
+            mountPath: /usr/share/filebeat/filebeat.yml
+            subPath: filebeat.yml
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+      volumes:
+      - name: {{ include "common.fullname" . }}-localtime
+        hostPath:
+          path: /etc/localtime
+      - name: {{ include "common.fullname" . }}-filebeat-conf
+        configMap:
+          name: {{ .Release.Name }}-sdc-filebeat-configmap
+      - name: {{ include "common.fullname" . }}-data-filebeat
+        emptyDir: {}
+      - name: {{ include "common.fullname" . }}-environments
+        configMap:
+          name: {{ .Release.Name }}-sdc-environments-configmap
+          defaultMode: 0755
+      - name:  {{ include "common.fullname" . }}-logs
+        emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/sdc/charts/sdc-dcae-tosca-lab/templates/service.yaml b/kubernetes/sdc/charts/sdc-dcae-tosca-lab/templates/service.yaml
new file mode 100644 (file)
index 0000000..6595a04
--- /dev/null
@@ -0,0 +1,56 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.servicename" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "dcae-be",
+          "version": "v1",
+          "url": "/dcae",
+          "protocol": "REST",
+          "port": "{{ .Values.service.internalPort2 }}",
+          "visualRange": "1"
+      }
+    ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.portName }}
+    - port: {{ .Values.service.internalPort2 }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+      name: {{ .Values.service.portName2 }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.portName }}
+    - port: {{ .Values.service.externalPort2 }}
+      targetPort: {{ .Values.service.internalPort2 }}
+      name: {{ .Values.service.portName2 }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
diff --git a/kubernetes/sdc/charts/sdc-dcae-tosca-lab/values.yaml b/kubernetes/sdc/charts/sdc-dcae-tosca-lab/values.yaml
new file mode 100644 (file)
index 0000000..a22479e
--- /dev/null
@@ -0,0 +1,90 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:2.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/dcae-tosca-app:1.3-STAGING-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+config:
+  javaOptions: -XX:MaxPermSize=256m -Xmx1024m
+  cassandraSslEnabled: "false"
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: false
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: sdc-dcae-tosca-lab
+  portName: sdc-dcae-tosca-lab-8085
+  externalPort: 8085
+  internalPort: 8085
+  portName2: sdc-dcae-tosca-lab-8445
+  externalPort2: 8445
+  internalPort2: 8445
+
+ingress:
+  enabled: false
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 1
+      memory: 4Gi
+    requests:
+      cpu: 10m
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 2
+      memory: 8Gi
+    requests:
+      cpu: 20m
+      memory: 2Gi
+  unlimited: {}
\ No newline at end of file
index 5224045..67e237a 100755 (executable)
         "CS_VIP": "sdc-cs.{{include "common.namespace" .}}",
         "BE_VIP": "sdc-be.{{include "common.namespace" .}}",
         "ONBOARDING_BE_VIP": "sdc-onboarding-be.{{include "common.namespace" .}}",
+        "DCAE_BE_VIP": "sdc-dcae-be.{{include "common.namespace" .}}",
+        "DCAE_FE_VIP": "sdc-dcae-fe.{{include "common.namespace" .}}",
+        "DCAE_TOSCA_LAB_VIP": "sdc-dcae-tosca-lab.{{include "common.namespace" .}}",
         "FE_VIP": "sdc-fe.{{include "common.namespace" .}}",
         "ES_VIP": "sdc-es.{{include "common.namespace" .}}",
         "KB_VIP": "sdc-kb.{{include "common.namespace" .}}",
-        "DCAE_BE_VIP": "",
-        "DCAE_FE_VIP": "",
         "interfaces": {
             "application": "eth0",
             "private": "eth0"
         },
         "Plugins": {
             "DCAE": {
-                "dcae_discovery_url": "{{.Values.config.environment.dcaeUrl}}",
-                "dcae_source_url": "{{.Values.config.environment.dcaeUrl}}"
+                "dcae_discovery_url": "http://sdc-dcae-fe.{{include "common.namespace" .}}:8183/dcaed/#/home",
+                "dcae_source_url": "http://sdc.dcae.plugin.simpledemo.onap.org:30263/dcaed/#/home"
             },
             "DCAE-TAB": {
-                "dcae_dt_discovery_url": "",
-                "dcae_dt_source_url": ""
+                "dcae_dt_discovery_url": "http://sdc-dcae-dt.{{include "common.namespace" .}}:8186/dcae/#/dcae/home",
+                "dcae_dt_source_url": "http://sdc.dcae.plugin.simpledemo.onap.org:30265/dcae/#/dcae/home"
             },
             "WORKFLOW": {
                 "workflow_discovery_url": "http://sdc-wfd-fe.{{include "common.namespace" .}}:8080",
index 9965673..ea95bd7 100644 (file)
@@ -29,10 +29,10 @@ config:
   logstashServiceName: log-ls
   logstashPort: 5044
   environment:
-    dcaeUrl: 10.0.2.15
     workflowUrl: 10.0.2.15
     vnfRepoPort: 8702
 
+
 sdc-es:
   service:
     name: sdc-es
index ac183f0..2c46307 100644 (file)
@@ -27,7 +27,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/admportal-sdnc-image:1.3.4
+image: onap/admportal-sdnc-image:1.4.1
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index cf554df..5fdb14f 100755 (executable)
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 aai:
-  auth: 2630606608347B7124C244AB0FE34F6F
+  auth: 65885E7C4E860E420808030D8BC653073E6782CB5026EC8F49E3E5C6F3E27F6A
   dme2:
     timeout: '30000'
   endpoint: https://aai.{{ include "common.namespace" . }}:8443
@@ -86,6 +86,9 @@ mso:
         endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}g:8087/services/rest/v1/volume-groups
     vnf-async:
       endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/VnfAsync
+    workflow:
+      message:
+        endpoint: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/WorkflowMessage
   bpmn:
     process:
       historyTimeToLive: '30'
index f45abbb..daf731f 100755 (executable)
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 aai:
-  auth: 2630606608347B7124C244AB0FE34F6F
+  auth: 65885E7C4E860E420808030D8BC653073E6782CB5026EC8F49E3E5C6F3E27F6A
 server:
   port: {{ index .Values.containerPort }}
 spring:
index faab73a..a1341d0 100644 (file)
@@ -25,7 +25,7 @@ flavor: small
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/usecase-ui:1.2.0
+image: onap/usecase-ui:1.2.1
 pullPolicy: Always
 
 # application configuration
index 7aa5881..1b58dd5 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/vvp/test-engine:1.0.0-latest
+image: onap/vvp/test-engine:1.0.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 860ee41..e57b173 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/vvp/cms:1.0.0-latest
+image: onap/vvp/cms:1.0.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index dd01834..a96ca26 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/vvp/engagementmgr:1.0.0-latest
+image: onap/vvp/engagementmgr:1.0.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index eec4f0a..4855c88 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/vvp/gitlab:1.0.0-latest
+image: onap/vvp/gitlab:1.0.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 0f7d354..ed62413 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/vvp/image-scanner:1.0.0-latest
+image: onap/vvp/image-scanner:1.0.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 7ca82e4..083f88a 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/vvp/jenkins:1.0.0-latest
+image: onap/vvp/jenkins:1.0.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index a41d923..000c049 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001 
-image: onap/vvp/postgresql:1.0.0-latest
+image: onap/vvp/postgresql:1.0.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index f3bc61d..740811e 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/vvp/portal:1.0.0-latest
+image: onap/vvp/portal:1.0.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required