Merge "[AAI] Releasing the Istanbul AAI Docker Images"
authorSylvain Desbureaux <sylvain.desbureaux@orange.com>
Tue, 21 Sep 2021 07:07:56 +0000 (07:07 +0000)
committerGerrit Code Review <gerrit@onap.org>
Tue, 21 Sep 2021 07:07:56 +0000 (07:07 +0000)
72 files changed:
kubernetes/common/cassandra/resources/restore.sh
kubernetes/common/mariadb-galera/templates/statefulset.yaml
kubernetes/common/mariadb-galera/values.yaml
kubernetes/config/prepull_docker.sh
kubernetes/contrib/dns-server-for-vhost-ingress-testing/deploy_dns.sh
kubernetes/contrib/metallb-loadbalancer-inst/install-metallb-on-cluster.sh
kubernetes/dcaegen2-services/components/dcae-bbs-eventprocessor-ms/values.yaml
kubernetes/dcaegen2-services/components/dcae-datalake-admin-ui/values.yaml
kubernetes/dcaegen2-services/components/dcae-heartbeat/values.yaml
kubernetes/dcaegen2-services/components/dcae-kpi-ms/values.yaml
kubernetes/dcaegen2-services/components/dcae-pm-mapper/values.yaml
kubernetes/dcaegen2-services/components/dcae-pmsh/values.yaml
kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/values.yaml
kubernetes/dcaegen2-services/components/dcae-son-handler/values.yaml
kubernetes/dcaegen2-services/components/dcae-tcagen2/values.yaml
kubernetes/dcaegen2/components/dcae-bootstrap/values.yaml
kubernetes/dcaegen2/components/dcae-config-binding-service/values.yaml
kubernetes/dcaemod/components/dcaemod-designtool/requirements.yaml
kubernetes/dcaemod/components/dcaemod-designtool/templates/deployment.yaml
kubernetes/dcaemod/components/dcaemod-designtool/values.yaml
kubernetes/dcaemod/components/dcaemod-distributor-api/requirements.yaml
kubernetes/dcaemod/components/dcaemod-distributor-api/templates/deployment.yaml
kubernetes/dcaemod/components/dcaemod-distributor-api/values.yaml
kubernetes/dcaemod/components/dcaemod-genprocessor/requirements.yaml
kubernetes/dcaemod/components/dcaemod-genprocessor/templates/deployment.yaml
kubernetes/dcaemod/components/dcaemod-genprocessor/values.yaml
kubernetes/dcaemod/components/dcaemod-healthcheck/requirements.yaml
kubernetes/dcaemod/components/dcaemod-healthcheck/templates/deployment.yaml
kubernetes/dcaemod/components/dcaemod-healthcheck/values.yaml
kubernetes/dcaemod/components/dcaemod-nifi-registry/requirements.yaml
kubernetes/dcaemod/components/dcaemod-nifi-registry/templates/deployment.yaml
kubernetes/dcaemod/components/dcaemod-nifi-registry/values.yaml
kubernetes/dcaemod/components/dcaemod-onboarding-api/requirements.yaml
kubernetes/dcaemod/components/dcaemod-onboarding-api/templates/deployment.yaml
kubernetes/dcaemod/components/dcaemod-onboarding-api/values.yaml
kubernetes/dcaemod/components/dcaemod-runtime-api/requirements.yaml
kubernetes/dcaemod/components/dcaemod-runtime-api/templates/deployment.yaml
kubernetes/dcaemod/components/dcaemod-runtime-api/values.yaml
kubernetes/helm/plugins/deploy/deploy.sh
kubernetes/msb/components/msb-consul/resources/docker-entrypoint.sh
kubernetes/msb/components/msb-discovery/values.yaml
kubernetes/msb/components/msb-eag/values.yaml
kubernetes/msb/components/msb-iag/values.yaml
kubernetes/policy/components/policy-apex-pdp/resources/config/OnapPfConfig.json
kubernetes/policy/components/policy-apex-pdp/resources/config/config.json [deleted file]
kubernetes/policy/components/policy-apex-pdp/values.yaml
kubernetes/policy/components/policy-api/resources/config/config.json
kubernetes/policy/components/policy-api/values.yaml
kubernetes/policy/components/policy-distribution/resources/config/config.json
kubernetes/policy/components/policy-distribution/values.yaml
kubernetes/policy/components/policy-drools-pdp/resources/configmaps/base.conf
kubernetes/policy/components/policy-drools-pdp/resources/configmaps/engine-system.properties [new file with mode: 0644]
kubernetes/policy/components/policy-drools-pdp/resources/configmaps/logback.xml
kubernetes/policy/components/policy-drools-pdp/values.yaml
kubernetes/policy/components/policy-pap/resources/config/config.json
kubernetes/policy/components/policy-pap/values.yaml
kubernetes/policy/components/policy-xacml-pdp/resources/config/config.json
kubernetes/policy/components/policy-xacml-pdp/values.yaml
kubernetes/policy/resources/config/db.sh
kubernetes/policy/resources/config/db_migrator_policy_init.sh [new file with mode: 0644]
kubernetes/policy/templates/configmap.yaml
kubernetes/policy/templates/job.yaml
kubernetes/policy/values.yaml
kubernetes/portal/components/portal-mariadb/resources/config/mariadb/docker-entrypoint.sh
kubernetes/robot/demo-k8s.sh
kubernetes/robot/scripts/etescript/hvves-etescript.sh
kubernetes/robot/scripts/etescript/security-etescript.sh
kubernetes/sdnc/resources/config/bin/createLinks.sh
kubernetes/sdnc/resources/config/bin/installSdncDb.sh
kubernetes/so/components/so-mariadb/resources/config/docker-entrypoint-initdb.d/98-create-so-user.sh
kubernetes/so/components/so-mariadb/resources/config/docker-entrypoint-initdb.d/99-create-so-admin.sh
kubernetes/so/resources/config/docker-files/scripts/start-jboss-server.sh

index 7f271d2..0df2d79 100644 (file)
@@ -20,25 +20,25 @@ find_target_table_name ()
 
 print_usage ()
 {
-       echo "NAME"
-       echo "  Script to restore Cassandra database from Nuvo/Cain snapshot"
-       echo "SYNOPSIS"
-       echo "  $me [--help|-h] [--base_db_dir|-b] [--snapshot_dir|-s] [--keyspace|-k] [--tag|-t]"
-       echo "  MUST OPTIONS: base_db_dir, snapshot_dir, keyspace_name"
-       echo "DESCRIPTION"
-       echo "  --base_db_dir, -b"
-       echo "          Location of running Cassandra database"
-       echo "  --snapshot_dir, -s"
-       echo "          Snapshot location of Cassandra database taken by Nuvo/Cain"
-       echo "  --keyspace, -k"
-       echo "          Name of the keyspace to restore"
-       echo "EXAMPLE"
-       echo "  $me -b /var/lib/cassandra/data -s /root/data.ss -k DISCOVERY_SERVER -t 1234567"
-       exit
+    echo "NAME"
+    echo "    Script to restore Cassandra database from Nuvo/Cain snapshot"
+    echo "SYNOPSIS"
+    echo "    $me [--help|-h] [--base_db_dir|-b] [--snapshot_dir|-s] [--keyspace|-k] [--tag|-t]"
+    echo "    MUST OPTIONS: base_db_dir, snapshot_dir, keyspace_name"
+    echo "DESCRIPTION"
+    echo "    --base_db_dir, -b"
+    echo "        Location of running Cassandra database"
+    echo "    --snapshot_dir, -s"
+    echo "        Snapshot location of Cassandra database taken by Nuvo/Cain"
+    echo "    --keyspace, -k"
+    echo "        Name of the keyspace to restore"
+    echo "EXAMPLE"
+    echo "    $me -b /var/lib/cassandra/data -s /root/data.ss -k DISCOVERY_SERVER -t 1234567"
+    exit
 }
 if [ $# -eq  0 ]
 then
-       print_usage
+    print_usage
 fi
 
 while [ $# -gt 0 ]
@@ -47,40 +47,40 @@ key="$1"
 shift
 
 case $key in
-       -h|--help)
-       print_usage
-       ;;
-       -b|--base_db_dir)
-       base_db_dir="$1"
-       shift
-       ;;
-       -s|--snapshot_dir)
-       ss_dir="$1"
-       shift
-       ;;
-       -k|--keyspace)
-       keyspace_name="$1"
-       ;;
-       -t|--tag)
-       tag_name="$1"
-       ;;
-       --default)
-       DEFAULT=YES
-       shift
-       ;;
-       *)
-       # unknown option
-       ;;
+    -h|--help)
+    print_usage
+    ;;
+    -b|--base_db_dir)
+    base_db_dir="$1"
+    shift
+    ;;
+    -s|--snapshot_dir)
+    ss_dir="$1"
+    shift
+    ;;
+    -k|--keyspace)
+    keyspace_name="$1"
+    ;;
+    -t|--tag)
+    tag_name="$1"
+    ;;
+    --default)
+    DEFAULT=YES
+    shift
+    ;;
+    *)
+    # unknown option
+    ;;
 esac
 done
 
 # Validate inputs
 if [ "$base_db_dir" = "" ] || [ "$ss_dir" = "" ] || [ "$keyspace_name" = "" ]
 then
-       echo ""
-       echo ">>>>>>>>>>Not all inputs provided, please check usage >>>>>>>>>>"
-       echo ""
-       print_usage
+    echo ""
+    echo ">>>>>>>>>>Not all inputs provided, please check usage >>>>>>>>>>"
+    echo ""
+    print_usage
 fi
 
 # Remove commit logs from current data dir
index 9227e18..bb3af76 100644 (file)
@@ -1,5 +1,6 @@
 {{/*
-# Copyright Â© 2018 Amdocs, Bell Canada
+# Copyright Â© 2018 Amdocs
+# Copyright Â© 2018,2021 Bell Canada
 # Copyright Â© 2019 Samsung Electronics
 # Copyright Â© 2019-2020 Orange
 # Copyright Â© 2020 Bitnami
@@ -202,14 +203,20 @@ spec:
             httpGet:
               path: /metrics
               port: metrics
-            initialDelaySeconds: 30
-            timeoutSeconds: 5
+            initialDelaySeconds: {{ .Values.metrics.livenessProbe.initialDelaySeconds }}
+            periodSeconds: {{ .Values.metrics.livenessProbe.periodSeconds }}
+            timeoutSeconds: {{ .Values.metrics.livenessProbe.timeoutSeconds }}
+            successThreshold: {{ .Values.metrics.livenessProbe.successThreshold }}
+            failureThreshold: {{ .Values.metrics.livenessProbe.failureThreshold }}
           readinessProbe:
             httpGet:
               path: /metrics
               port: metrics
-            initialDelaySeconds: 5
-            timeoutSeconds: 1
+            initialDelaySeconds: {{ .Values.metrics.readinessProbe.initialDelaySeconds }}
+            periodSeconds: {{ .Values.metrics.readinessProbe.periodSeconds }}
+            timeoutSeconds: {{ .Values.metrics.readinessProbe.timeoutSeconds }}
+            successThreshold: {{ .Values.metrics.readinessProbe.successThreshold }}
+            failureThreshold: {{ .Values.metrics.readinessProbe.failureThreshold }}
           {{ include "common.containerSecurityContext" . | indent 10 | trim }}
           resources: {{- toYaml .Values.metrics.resources | nindent 12 }}
         {{- end }}
index ed9977a..bc9273f 100644 (file)
@@ -1,4 +1,5 @@
-# Copyright Â© 2018 Amdocs, Bell Canada
+# Copyright Â© 2018 Amdocs
+# Copyright Â© 2018,2021 Bell Canada
 # Copyright Â© 2019 Samsung Electronics
 # Copyright Â© 2020 Bitnami, Orange
 #
@@ -560,6 +561,23 @@ metrics:
     requests:
       cpu: 0.5
       memory: 256Mi
+  ## MariaDB Galera metrics container's liveness and readiness probes
+  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
+  ##
+  livenessProbe:
+    enabled: true
+    initialDelaySeconds: 30
+    periodSeconds: 10
+    timeoutSeconds: 5
+    successThreshold: 1
+    failureThreshold: 3
+  readinessProbe:
+    enabled: true
+    initialDelaySeconds: 5
+    periodSeconds: 10
+    timeoutSeconds: 5
+    successThreshold: 1
+    failureThreshold: 3
   ## MySQL Prometheus exporter service parameters
   ##
   service:
index efd0bd1..54d7a2d 100755 (executable)
@@ -110,7 +110,7 @@ do
                                 #remove attional prefix and postfix
                                 imageNameFinal=`echo "$imageName" | sed -e 's/^"//' -e 's/"$//' `
 
-                               #check if line contain Version as a subtag in lines if yes then call docker pull with version
+                                #check if line contain Version as a subtag in lines if yes then call docker pull with version
                                 if echo $line | grep -q $IMAGE_VERSION_TEXT ; then
                                         echo docker pull "$imageNameWithVersion":"$imageNameFinal"
                                         docker pull $imageNameWithVersion:$imageNameFinal &
index 460c046..7e9077d 100755 (executable)
@@ -24,9 +24,9 @@ SPATH="$( dirname "$( which "$0" )" )"
 usage() {
 cat << ==usage
 $0 [cluster_domain] [lb_ip] [helm_chart_args] ...
-       [cluster_domain] Default value simpledemo.onap.org
-       [lb_ip] Default value LoadBalancer IP
-       [helm_chart_args] ... Optional arguments passed to helm install command
+    [cluster_domain] Default value simpledemo.onap.org
+    [lb_ip] Default value LoadBalancer IP
+    [helm_chart_args] ... Optional arguments passed to helm install command
 $0 --help This message
 $0 --info Display howto configure target machine
 ==usage
@@ -37,10 +37,10 @@ target_machine_notice_info() {
 cat << ==infodeploy
 Extra DNS server already deployed:
 1. You can add the DNS server to the target machine using following commands:
-       sudo iptables -t nat -A OUTPUT -p tcp -d 192.168.211.211 --dport 53 -j DNAT --to-destination $CLUSTER_IP:$DNS_PORT
-       sudo iptables -t nat -A OUTPUT -p udp -d 192.168.211.211 --dport 53 -j DNAT --to-destination $CLUSTER_IP:$DNS_PORT
-       sudo sysctl -w net.ipv4.conf.all.route_localnet=1
-       sudo sysctl -w net.ipv4.ip_forward=1
+    sudo iptables -t nat -A OUTPUT -p tcp -d 192.168.211.211 --dport 53 -j DNAT --to-destination $CLUSTER_IP:$DNS_PORT
+    sudo iptables -t nat -A OUTPUT -p udp -d 192.168.211.211 --dport 53 -j DNAT --to-destination $CLUSTER_IP:$DNS_PORT
+    sudo sysctl -w net.ipv4.conf.all.route_localnet=1
+    sudo sysctl -w net.ipv4.ip_forward=1
 2. Update /etc/resolv.conf file with nameserver 192.168.211.211 entry on your target machine
 ==infodeploy
 }
@@ -48,51 +48,51 @@ Extra DNS server already deployed:
 
 list_node_with_external_addrs()
 {
-       local WORKER_NODES=$(kubectl get no -l node-role.kubernetes.io/worker=true -o jsonpath='{.items..metadata.name}')
-       for worker in $WORKER_NODES; do
-               local external_ip=$(kubectl get no $worker  -o jsonpath='{.metadata.annotations.rke\.cattle\.io/external-ip }')
-               local internal_ip=$(kubectl get no $worker  -o jsonpath='{.metadata.annotations.rke\.cattle\.io/internal-ip }')
-               if [ $internal_ip != $external_ip ]; then
-                       echo $external_ip
-                       break
-               fi
-       done
+    local WORKER_NODES=$(kubectl get no -l node-role.kubernetes.io/worker=true -o jsonpath='{.items..metadata.name}')
+    for worker in $WORKER_NODES; do
+        local external_ip=$(kubectl get no $worker  -o jsonpath='{.metadata.annotations.rke\.cattle\.io/external-ip }')
+        local internal_ip=$(kubectl get no $worker  -o jsonpath='{.metadata.annotations.rke\.cattle\.io/internal-ip }')
+        if [ $internal_ip != $external_ip ]; then
+            echo $external_ip
+            break
+        fi
+    done
 }
 
 ingress_controller_ip() {
-       local metal_ns=$(kubectl get ns --no-headers --output=custom-columns=NAME:metadata.name |grep metallb-system)
-       if [ -z $metal_ns ]; then
-               echo $CLUSTER_IP
-       else
-               list_node_with_external_addrs
-       fi
+    local metal_ns=$(kubectl get ns --no-headers --output=custom-columns=NAME:metadata.name |grep metallb-system)
+    if [ -z $metal_ns ]; then
+        echo $CLUSTER_IP
+    else
+        list_node_with_external_addrs
+    fi
 }
 
 deploy() {
-       local ingress_ip=$(ingress_controller_ip)
-       initdir = $(pwd)
-       cd $SPATH/bind9dns
-       if [ $# -eq 0 ]; then
-               local cl_domain="simpledemo.onap.org"
-       else
-               local cl_domain=$1
-               shift
-       fi
-       if [ $# -ne 0 ]; then
-               ingress_ip=$1
-               shift
-       fi
-       helm install . --set dnsconf.wildcard="$cl_domain=$ingress_ip" $@
-       cd $initdir
-       target_machine_notice_info
+    local ingress_ip=$(ingress_controller_ip)
+    initdir = $(pwd)
+    cd $SPATH/bind9dns
+    if [ $# -eq 0 ]; then
+        local cl_domain="simpledemo.onap.org"
+    else
+        local cl_domain=$1
+        shift
+    fi
+    if [ $# -ne 0 ]; then
+        ingress_ip=$1
+        shift
+    fi
+    helm install . --set dnsconf.wildcard="$cl_domain=$ingress_ip" $@
+    cd $initdir
+    target_machine_notice_info
 }
 
 if [ $# -eq 1 ] && [ "$1" = "-h" ]; then
-       usage
+    usage
 elif [ $# -eq 1 ] && [ "$1" = "--help" ]; then
-       usage
+    usage
 elif [ $# -eq 1 ] && [ "$1" = "--info" ]; then
        target_machine_notice_info
 else
-       deploy $@
+    deploy $@
 fi
index bf2bc12..ce5a19b 100755 (executable)
@@ -27,14 +27,14 @@ $0 [cluster_ip1] ... [cluster_ipn]  Cluster address or ip ranges
 
 find_nodes_with_external_addrs()
 {
-       local WORKER_NODES=$(kubectl get no -l node-role.kubernetes.io/worker=true -o jsonpath='{.items..metadata.name}')
-       for worker in $WORKER_NODES; do
-               local external_ip=$(kubectl get no $worker  -o jsonpath='{.metadata.annotations.rke\.cattle\.io/external-ip }')
-               local internal_ip=$(kubectl get no $worker  -o jsonpath='{.metadata.annotations.rke\.cattle\.io/internal-ip }')
-               if [ $internal_ip != $external_ip ]; then
-                       echo $external_ip
-               fi
-       done
+    local WORKER_NODES=$(kubectl get no -l node-role.kubernetes.io/worker=true -o jsonpath='{.items..metadata.name}')
+    for worker in $WORKER_NODES; do
+        local external_ip=$(kubectl get no $worker  -o jsonpath='{.metadata.annotations.rke\.cattle\.io/external-ip }')
+        local internal_ip=$(kubectl get no $worker  -o jsonpath='{.metadata.annotations.rke\.cattle\.io/internal-ip }')
+        if [ $internal_ip != $external_ip ]; then
+            echo $external_ip
+        fi
+    done
 }
 
 generate_config_map()
@@ -56,32 +56,32 @@ CNFEOF
 }
 
 generate_config_from_single_addr() {
-       generate_config_map "$1 - $1"
+    generate_config_map "$1 - $1"
 }
 
 install_metallb() {
-       kubectl apply -f https://raw.githubusercontent.com/google/metallb/v0.9.3/manifests/namespace.yaml
-       kubectl apply -f https://raw.githubusercontent.com/google/metallb/v0.9.3/manifests/metallb.yaml
-       # Only when install
-       kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)"
+    kubectl apply -f https://raw.githubusercontent.com/google/metallb/v0.9.3/manifests/namespace.yaml
+    kubectl apply -f https://raw.githubusercontent.com/google/metallb/v0.9.3/manifests/metallb.yaml
+    # Only when install
+    kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)"
 }
 
 automatic_configuration() {
-       install_metallb
-       generate_config_from_single_addr $(find_nodes_with_external_addrs)
+    install_metallb
+    generate_config_from_single_addr $(find_nodes_with_external_addrs)
 }
 
 manual_configuration() {
-       install_metallb
-       generate_config_map $@
+    install_metallb
+    generate_config_map $@
 }
 
 if [ $# -eq 1 ] && [ "$1" = "-h" ]; then
-       usage
+    usage
 if [ $# -eq 1 ] && [ "$1" = "--help" ]; then
-       usage
+    usage
 elif [ $# -eq 0 ]; then
-       automatic_configuration
+    automatic_configuration
 else
-       manual_configuration $@
+    manual_configuration $@
 fi
index 2eb3e5a..9815bf7 100644 (file)
@@ -55,7 +55,7 @@ consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.
 # Application Configuration Defaults.
 #################################################################
 # Application Image
-image: onap/org.onap.dcaegen2.services.components.bbs-event-processor:2.1.0
+image: onap/org.onap.dcaegen2.services.components.bbs-event-processor:2.1.1
 pullPolicy: Always
 
 # Log directory where logging sidecar should look for log files
index d092b83..faff44c 100644 (file)
@@ -49,7 +49,7 @@ consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.
 # Application Configuration Defaults.
 #################################################################
 # Application Image
-image: onap/org.onap.dcaegen2.services.datalakeadminui:1.1.0
+image: onap/org.onap.dcaegen2.services.datalakeadminui:1.1.1
 
 # Log directory where logging sidecar should look for log files
 # if absent, no sidecar will be deployed
index 09637c5..8847f29 100644 (file)
@@ -56,7 +56,7 @@ consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.
 # Application Configuration Defaults.
 #################################################################
 # Application Image
-image: onap/org.onap.dcaegen2.services.heartbeat:2.2.0
+image: onap/org.onap.dcaegen2.services.heartbeat:2.3.1
 pullPolicy: Always
 
 # Log directory where logging sidecar should look for log files
index 4250168..0bb9bdc 100644 (file)
@@ -49,7 +49,7 @@ consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.
 # Application Configuration Defaults.
 #################################################################
 # Application Image
-image: onap/org.onap.dcaegen2.services.components.kpi-ms:1.0.0
+image: onap/org.onap.dcaegen2.services.components.kpi-ms:1.0.1
 pullPolicy: Always
 
 # Log directory where logging sidecar should look for log files
index 5e1a678..0dff427 100644 (file)
@@ -54,7 +54,7 @@ consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.
 # Application Configuration Defaults.
 #################################################################
 # Application Image
-image: onap/org.onap.dcaegen2.services.pm-mapper:1.7.1
+image: onap/org.onap.dcaegen2.services.pm-mapper:1.7.2
 pullPolicy: Always
 
 # Log directory where logging sidecar should look for log files
index 0efcf2e..512bd26 100644 (file)
@@ -56,7 +56,7 @@ consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.
 # Application Configuration Defaults.
 #################################################################
 # Application Image
-image: onap/org.onap.dcaegen2.services.pmsh:1.3.1
+image: onap/org.onap.dcaegen2.services.pmsh:1.3.2
 pullPolicy: Always
 
 # Log directory where logging sidecar should look for log files
index 35d108d..5974d80 100644 (file)
@@ -56,7 +56,7 @@ consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.
 # Application Configuration Defaults.
 #################################################################
 # Application Image
-image: onap/org.onap.dcaegen2.services.components.slice-analysis-ms:1.0.4
+image: onap/org.onap.dcaegen2.services.components.slice-analysis-ms:1.0.6
 
 # Log directory where logging sidecar should look for log files
 # if absent, no sidecar will be deployed
index 31c6b46..a0ab079 100644 (file)
@@ -56,7 +56,7 @@ consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.
 # Application Configuration Defaults.
 #################################################################
 # Application Image
-image: onap/org.onap.dcaegen2.services.son-handler:2.1.3
+image: onap/org.onap.dcaegen2.services.son-handler:2.1.4
 pullPolicy: Always
 
 # Log directory where logging sidecar should look for log files
index cceed62..778f6c9 100644 (file)
@@ -94,8 +94,7 @@ service:
 #  policyRelease: "onap"
 #  policyID: |
 #    '["onap.vfirewall.tca","onap.vdns.tca"]'
-#  filter: |
-#    '["DCAE.Config_vfirewall_.*"]'
+
 
 aaiCreds:
   user: DCAE
index 3bb09f0..f3e6c29 100644 (file)
@@ -104,7 +104,7 @@ mongo:
   disableNfsProvisioner: true
 
 # application image
-image: onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:3.3.4
+image: onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:3.3.5
 default_k8s_location: central
 
 # DCAE component images to be deployed via Cloudify Manager
index 63f9604..1d42142 100644 (file)
@@ -36,7 +36,7 @@ config:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/org.onap.dcaegen2.platform.configbinding:2.5.3
+image: onap/org.onap.dcaegen2.platform.configbinding:2.5.4
 pullPolicy: Always
 
 # probe configuration parameters
index 0972e6b..233f6e4 100644 (file)
@@ -22,3 +22,6 @@ dependencies:
   - name: repositoryGenerator
     version: ~8.x-0
     repository: '@local'
+  - name: serviceAccount
+    version: ~8.x-0
+    repository: '@local'
index bd2766f..556ac90 100644 (file)
@@ -84,5 +84,6 @@ spec:
               value: {{ .Values.config.nifiJarsIndexURL }}
             - name: NIFI_DCAE_DISTRIBUTOR_API_URL
               value: {{ .Values.config.distributorAPIURL }}
+      serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
       imagePullSecrets:
         - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 74c7bdb..86aad57 100644 (file)
@@ -90,3 +90,9 @@ resources:
       cpu: 2
       memory: 2Gi
   unlimited: {}
+
+#Pods Service Account
+serviceAccount:
+  nameOverride: dcaemod-designtool
+  roles:
+    - read
index b242fbf..2684426 100644 (file)
@@ -22,3 +22,6 @@ dependencies:
   - name: repositoryGenerator
     version: ~8.x-0
     repository: '@local'
+  - name: serviceAccount
+    version: ~8.x-0
+    repository: '@local'
index 696b43a..f36c2af 100644 (file)
@@ -72,5 +72,6 @@ spec:
           - name : ONBOARDING_API_URL
             value: {{ .Values.config.onboardingAPIURL }}
           resources: {{ include "common.resources" . | nindent 12 }}
+      serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
       imagePullSecrets:
         - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 541f239..61ccfde 100644 (file)
@@ -89,3 +89,9 @@ resources:
       cpu: 2
       memory: 2Gi
   unlimited: {}
+
+#Pods Service Account
+serviceAccount:
+  nameOverride: dcaemod-distributor-api
+  roles:
+    - read
index b242fbf..2684426 100644 (file)
@@ -22,3 +22,6 @@ dependencies:
   - name: repositoryGenerator
     version: ~8.x-0
     repository: '@local'
+  - name: serviceAccount
+    version: ~8.x-0
+    repository: '@local'
index 40b0f3e..26f6586 100644 (file)
@@ -72,6 +72,7 @@ spec:
             - mountPath: /www/data
               name: genprocessor-data
               readOnly: true
+      serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
       volumes:
       - name: genprocessor-data
         persistentVolumeClaim:
index 4b79525..81c5888 100644 (file)
@@ -96,3 +96,9 @@ resources:
       memory: 2Gi
   unlimited: {}
 
+#Pods Service Account
+serviceAccount:
+  nameOverride: dcaemod-genprocessor
+  roles:
+    - read
+
index 0697ceb..3762a2a 100644 (file)
@@ -23,3 +23,6 @@ dependencies:
   - name: repositoryGenerator
     version: ~8.x-0
     repository: '@local'
+  - name: serviceAccount
+    version: ~8.x-0
+    repository: '@local'
index 0eaa229..f46dc5f 100644 (file)
@@ -58,6 +58,7 @@ spec:
               value: {{ include "common.namespace" . }}
             - name: HELM_RELEASE
               value: {{ include "common.release" . }}
+      serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
       volumes:
         - name: {{ include "common.fullname" . }}-expected-components
           configMap:
index 6a4fd54..bbc72a5 100644 (file)
@@ -64,4 +64,9 @@ resources:
       memory: 2Gi
   unlimited: {}
 
+#Pods Service Account
+serviceAccount:
+  nameOverride: dcaemod-healthcheck
+  roles:
+    - read
 
index b242fbf..2684426 100644 (file)
@@ -22,3 +22,6 @@ dependencies:
   - name: repositoryGenerator
     version: ~8.x-0
     repository: '@local'
+  - name: serviceAccount
+    version: ~8.x-0
+    repository: '@local'
index 90561ac..53f1de5 100644 (file)
@@ -69,6 +69,7 @@ spec:
             {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "dbsecret" "key" "login") | indent 12 }}
           - name: NIFI_REGISTRY_DB_PASS
             {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "dbsecret" "key" "password") | indent 12 }}
+      serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
       volumes:
       - name: flow-storage
         persistentVolumeClaim:
index 25b3b9e..a0bbacc 100644 (file)
@@ -88,3 +88,9 @@ resources:
       cpu: 2
       memory: 2Gi
   unlimited: {}
+
+#Pods Service Account
+serviceAccount:
+  nameOverride: dcaemod-nifi-registry
+  roles:
+    - read
index 7416c8c..9320cd0 100644 (file)
@@ -25,3 +25,6 @@ dependencies:
   - name: repositoryGenerator
     version: ~8.x-0
     repository: '@local'
+  - name: serviceAccount
+    version: ~8.x-0
+    repository: '@local'
index b795f6b..5c7d1b6 100644 (file)
@@ -78,5 +78,6 @@ spec:
               value: "5432"
             - name: PG_DB_NAME
               value: dcae_onboarding_db
+      serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
       imagePullSecrets:
         - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 9401bf5..c36e9b7 100644 (file)
@@ -114,3 +114,9 @@ resources:
       memory: 2Gi
   unlimited: {}
 
+#Pods Service Account
+serviceAccount:
+  nameOverride: dcaemod-onboarding-api
+  roles:
+    - read
+
index b242fbf..2684426 100644 (file)
@@ -22,3 +22,6 @@ dependencies:
   - name: repositoryGenerator
     version: ~8.x-0
     repository: '@local'
+  - name: serviceAccount
+    version: ~8.x-0
+    repository: '@local'
index 42f596d..d5c37e9 100644 (file)
@@ -71,6 +71,7 @@ spec:
               value: {{ .Values.config.bpResourcesCpuLimit }}
             - name: BP_RESOURCES_MEMORY_LIMIT
               value: {{ .Values.config.bpResourcesMemoryLimit }}
+      serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
       imagePullSecrets:
         - name: "{{ include "common.namespace" . }}-docker-registry-key"
 
index 22c4cdb..e54608b 100644 (file)
@@ -93,3 +93,9 @@ resources:
       memory: 2Gi
   unlimited: {}
 
+#Pods Service Account
+serviceAccount:
+  nameOverride: dcaemod-runtime-api
+  roles:
+    - read
+
index 2182dde..5820e77 100755 (executable)
@@ -22,13 +22,13 @@ You can specify the '--values'/'-f' flag multiple times. The priority will be gi
 last (right-most) file specified. For example, if both myvalues.yaml and override.yaml
 contained a key called 'Test', the value set in override.yaml would take precedence:
 
-       $ helm deploy demo ./onap --namespace onap -f openstack.yaml -f overrides.yaml
+    $ helm deploy demo ./onap --namespace onap -f openstack.yaml -f overrides.yaml
 
 You can specify the '--set' flag multiple times. The priority will be given to the
 last (right-most) set specified. For example, if both 'bar' and 'newbar' values are
 set for a key called 'foo', the 'newbar' value would take precedence:
 
-       $ helm deploy demo local/onap --namespace onap -f overrides.yaml --set log.enabled=false --set vid.enabled=false
+    $ helm deploy demo local/onap --namespace onap -f overrides.yaml --set log.enabled=false --set vid.enabled=false
 
 Usage:
   helm deploy [RELEASE] [CHART] [flags]
@@ -242,17 +242,17 @@ deploy() {
         else
           echo "release \"${RELEASE}-${subchart}\" deployed"
         fi
-       # Add annotation last-applied-configuration if set-last-applied flag is set
+        # Add annotation last-applied-configuration if set-last-applied flag is set
         if [ "$SET_LAST_APPLIED" = "true" ]; then
           helm get manifest "${RELEASE}-${subchart}" \
           | kubectl apply set-last-applied --create-annotation -n onap -f - \
-             > $LOG_FILE.log 2>&1
+          > $LOG_FILE.log 2>&1
         fi
       fi
-         if [ "$DELAY" = "true" ]; then
-               echo sleep 3m
-               sleep 180
-         fi
+      if [ "$DELAY" = "true" ]; then
+        echo sleep 3m
+        sleep 180
+      fi
     else
       array=($(echo "$ALL_HELM_RELEASES" | grep "${RELEASE}-${subchart}"))
       n=${#array[*]}
index cbcbf7a..2b42402 100755 (executable)
@@ -48,7 +48,7 @@ CONSUL_CONFIG_DIR=/consul/config
 # You can also set the CONSUL_LOCAL_CONFIG environemnt variable to pass some
 # Consul configuration JSON without having to bind any volumes.
 if [ -n "$CONSUL_LOCAL_CONFIG" ]; then
-       echo "$CONSUL_LOCAL_CONFIG" > "$CONSUL_CONFIG_DIR/local.json"
+    echo "$CONSUL_LOCAL_CONFIG" > "$CONSUL_CONFIG_DIR/local.json"
 fi
 
 # If the user is trying to run Consul directly with some arguments, then
index 994e84b..e981bbd 100644 (file)
@@ -21,7 +21,7 @@ global:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/msb/msb_discovery:1.2.6
+image: onap/msb/msb_discovery:1.2.7
 pullPolicy: Always
 istioSidecar: true
 
index 3629eb4..0a343cf 100644 (file)
@@ -52,7 +52,7 @@ certInitializer:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/msb/msb_apigateway:1.2.7
+image: onap/msb/msb_apigateway:1.2.8
 pullPolicy: Always
 istioSidecar: true
 
index b95a119..baf2bec 100644 (file)
@@ -52,7 +52,7 @@ certInitializer:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/msb/msb_apigateway:1.2.7
+image: onap/msb/msb_apigateway:1.2.8
 pullPolicy: Always
 istioSidecar: true
 
index 66a42f0..0c9d6a5 100755 (executable)
@@ -5,7 +5,8 @@
       "port": 6969,
       "userName": "${RESTSERVER_USER}",
       "password": "${RESTSERVER_PASSWORD}",
-      "https": true
+      "https": true,
+      "prometheus": true
     },
     "pdpStatusParameters":{
         "pdpGroup": "defaultGroup",
diff --git a/kubernetes/policy/components/policy-apex-pdp/resources/config/config.json b/kubernetes/policy/components/policy-apex-pdp/resources/config/config.json
deleted file mode 100755 (executable)
index d6bd17f..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-{{/*
-#  ============LICENSE_START=======================================================
-#   Copyright (C) 2018 Ericsson. 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.
-#
-#  SPDX-License-Identifier: Apache-2.0
-#  ============LICENSE_END=========================================================
-*/}}
-{
-  "javaProperties" : [
-    ["javax.net.ssl.trustStore", "/opt/app/policy/apex-pdp/etc/ssl/policy-truststore"],
-    ["javax.net.ssl.trustStorePassword", "${TRUSTSTORE_PASSWORD_BASE64}"]
-  ],
-  "engineServiceParameters": {
-    "name": "MyApexEngine",
-    "version": "0.0.1",
-    "id": 45,
-    "instanceCount": 4,
-    "deploymentPort": 12345,
-    "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJAVASCRIPT.json",
-    "engineParameters": {
-      "executorParameters": {
-        "JAVASCRIPT": {
-          "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
-        }
-      }
-    }
-  },
-  "eventOutputParameters": {
-    "FirstProducer": {
-      "carrierTechnologyParameters": {
-        "carrierTechnology": "FILE",
-        "parameters": {
-          "standardIo": true
-        }
-      },
-      "eventProtocolParameters": {
-        "eventProtocol": "JSON"
-      }
-    }
-  },
-  "eventInputParameters": {
-    "FirstConsumer": {
-      "carrierTechnologyParameters": {
-        "carrierTechnology": "FILE",
-        "parameters": {
-          "standardIo": true
-        }
-      },
-      "eventProtocolParameters": {
-        "eventProtocol": "JSON"
-      }
-    }
-  }
-}
index eb6292a..3983d93 100755 (executable)
@@ -49,7 +49,7 @@ secrets:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/policy-apex-pdp:2.5.2
+image: onap/policy-apex-pdp:2.6.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 729eea8..ce59965 100755 (executable)
@@ -25,7 +25,8 @@
         "userName":"${RESTSERVER_USER}",
         "password":"${RESTSERVER_PASSWORD}",
         "https": true,
-        "aaf": false
+        "aaf": false,
+        "prometheus": true
     },
     "databaseProviderParameters": {
         "name": "PolicyProviderParameterGroup",
index 36eb5c4..87ddd73 100755 (executable)
@@ -78,7 +78,7 @@ certInitializer:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/policy-api:2.4.2
+image: onap/policy-api:2.5.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index ae31633..615afc6 100755 (executable)
@@ -2,6 +2,7 @@
 #  ============LICENSE_START=======================================================
 #   Copyright (C) 2018 Ericsson. All rights reserved.
 #   Modifications Copyright (C) 2020 AT&T Intellectual Property.
+#   Modifications Copyright (C) 2021 Bell Canada. 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.
@@ -25,7 +26,8 @@
         "port":6969,
         "userName":"${RESTSERVER_USER}",
         "password":"${RESTSERVER_PASSWORD}",
-        "https":true
+        "https":true,
+        "prometheus": true
     },
     "receptionHandlerParameters":{
         "SDCReceptionHandler":{
@@ -69,8 +71,8 @@
                 ],
                 "consumerGroup": "policy-group",
                 "environmentName": "AUTO",
-                "keystorePath": "null",
-                "keystorePassword": "null",
+                "keyStorePath": "null",
+                "keyStorePassword": "null",
                 "activeserverTlsAuth": false,
                 "isFilterinEmptyResources": true,
                 "isUseHttpsWithDmaap": true
             "parameterClassName":"org.onap.policy.distribution.forwarding.lifecycle.api.LifecycleApiForwarderParameters",
             "parameters":{
                 "apiParameters": {
-                "hostName": "policy-api",
-                "port": 6969,
-                  "userName": "${API_USER}",
-                  "password": "${API_PASSWORD}"
-                 },
+                    "clientName": "policy-api",
+                    "hostname": "policy-api",
+                    "port": 6969,
+                    "userName": "${API_USER}",
+                    "password": "${API_PASSWORD}",
+                    "useHttps": true
+                },
                 "papParameters": {
-                  "hostName": "policy-pap",
-                  "port": 6969,
-                 "userName": "${PAP_USER}",
-                "password": "${PAP_PASSWORD}"
+                    "clientName": "policy-pap",
+                    "hostname": "policy-pap",
+                    "port": 6969,
+                    "userName": "${PAP_USER}",
+                    "password": "${PAP_PASSWORD}",
+                    "useHttps": true
                 },
-                "isHttps": true,
                 "deployPolicies": true
              }
         }
index fb6ef6e..1614bd8 100755 (executable)
@@ -67,7 +67,7 @@ global:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/policy-distribution:2.5.2
+image: onap/policy-distribution:2.6.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index ec8d119..ff532ab 100755 (executable)
@@ -1,6 +1,7 @@
 {{/*
 # Copyright Â© 2017-2018 Amdocs, Bell Canada.
 # Modifications Copyright (C) 2018-2020 AT&T Intellectual Property.
+# Modifications Copyright (C) 2021 Bell Canada. 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.
@@ -40,6 +41,7 @@ REPOSITORY_OFFLINE={{.Values.nexus.offline}}
 # Relational (SQL) DB access
 
 SQL_HOST={{ .Values.db.name }}
+SQL_PORT=3306
 
 # AAF
 
@@ -47,6 +49,11 @@ AAF={{.Values.aaf.enabled}}
 AAF_NAMESPACE=org.onap.policy
 AAF_HOST=aaf-locate.{{.Release.Namespace}}
 
+# HTTP Servers
+
+HTTP_SERVER_HTTPS=true
+PROMETHEUS=true
+
 # PDP-D DMaaP configuration channel
 
 PDPD_CONFIGURATION_TOPIC=PDPD-CONFIGURATION
@@ -85,6 +92,7 @@ DCAE_CONSUMER_GROUP=dcae.policy.shared
 # Open DMaaP
 
 DMAAP_SERVERS=message-router
+DMAAP_HTTPS=true
 
 # AAI
 
diff --git a/kubernetes/policy/components/policy-drools-pdp/resources/configmaps/engine-system.properties b/kubernetes/policy/components/policy-drools-pdp/resources/configmaps/engine-system.properties
new file mode 100644 (file)
index 0000000..c7cca2b
--- /dev/null
@@ -0,0 +1,45 @@
+#
+# ============LICENSE_START=======================================================
+# ONAP
+# ================================================================================
+# Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+#
+
+# system properties set within the application
+
+java.net.preferIPv4Stack=true
+
+# jmx
+
+com.sun.management.jmxremote.port=9991
+com.sun.management.jmxremote.authenticate=false
+com.sun.management.jmxremote.ssl=false
+
+# certs
+
+javax.net.ssl.trustStore=${envd:TRUSTSTORE:/opt/app/policy/etc/ssl/policy-truststore}
+javax.net.ssl.trustStorePassword=${envd:TRUSTSTORE_PASSWD}
+
+javax.net.ssl.keyStore=${envd:KEYSTORE}
+javax.net.ssl.keyStorePassword=${envd:KEYSTORE_PASSWD}
+
+# kie
+
+kie.maven.offline.force=${envd:REPOSITORY_OFFLINE:false}
+
+# symmetric key for sensitive configuration data
+
+engine.symm.key=${envd:SYMM_KEY}
index 7173d80..2fc08e4 100755 (executable)
@@ -80,7 +80,7 @@
             <maxHistory>30</maxHistory>
             <totalSizeCap>10GB</totalSizeCap>
         </rollingPolicy>
-        <filter class="org.onap.policy.drools.utils.logging.LoggerMarkerFilter$MetricLoggerMarkerFilter" />
+        <filter class="org.onap.policy.common.utils.logging.LoggerMarkerFilter$MetricLoggerMarkerFilter" />
         <encoder>
             <pattern>%X{RequestID}|%X{InvocationID}|%X{ServiceName}|%X{PartnerName}|%X{BeginTimestamp}|%X{EndTimestamp}|%X{ElapsedTime}|%X{ServiceInstanceID}|%X{VirtualServerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%X{Severity}|%X{TargetEntity}|%X{TargetServiceName}|%X{Server}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ProcessKey}|%X{RemoteHost}||%X{TargetVirtualEntity}|%level|%thread| %msg%n</pattern>
         </encoder>
@@ -98,7 +98,7 @@
             <maxHistory>30</maxHistory>
             <totalSizeCap>10GB</totalSizeCap>
         </rollingPolicy>
-        <filter class="org.onap.policy.drools.utils.logging.LoggerMarkerFilter$TransactionLoggerMarkerFilter" />
+        <filter class="org.onap.policy.common.utils.logging.LoggerMarkerFilter$TransactionLoggerMarkerFilter" />
         <encoder>
             <pattern>%X{RequestID}|%X{InvocationID}|%X{ServiceName}|%X{PartnerName}|%X{BeginTimestamp}|%X{EndTimestamp}|%X{ElapsedTime}|%X{ServiceInstanceID}|%X{VirtualServerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%X{Severity}|%X{TargetEntity}|%X{TargetServiceName}|%X{Server}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ProcessKey}|%X{RemoteHost}||%X{TargetVirtualEntity}|%level|%thread| %msg%n</pattern>
         </encoder>
     </appender>
 
     <appender name="MetricStdOut" class="ch.qos.logback.core.ConsoleAppender">
-        <filter class="org.onap.policy.drools.utils.logging.LoggerMarkerFilter$MetricLoggerMarkerFilter" />
+        <filter class="org.onap.policy.common.utils.logging.LoggerMarkerFilter$MetricLoggerMarkerFilter" />
         <encoder>
             <pattern>%X{RequestID}|%X{InvocationID}|%X{ServiceName}|%X{PartnerName}|%X{BeginTimestamp}|%X{EndTimestamp}|%X{ElapsedTime}|%X{ServiceInstanceID}|%X{VirtualServerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%X{Severity}|%X{TargetEntity}|%X{TargetServiceName}|%X{Server}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ProcessKey}|%X{RemoteHost}||%X{TargetVirtualEntity}|%level|%thread| %msg%n</pattern>
         </encoder>
     </appender>
 
     <appender name="TransactionStdOut" class="ch.qos.logback.core.ConsoleAppender">
-        <filter class="org.onap.policy.drools.utils.logging.LoggerMarkerFilter$TransactionLoggerMarkerFilter" />
+        <filter class="org.onap.policy.common.utils.logging.LoggerMarkerFilter$TransactionLoggerMarkerFilter" />
         <encoder>
             <pattern>%X{RequestID}|%X{InvocationID}|%X{ServiceName}|%X{PartnerName}|%X{BeginTimestamp}|%X{EndTimestamp}|%X{ElapsedTime}|%X{ServiceInstanceID}|%X{VirtualServerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%X{Severity}|%X{TargetEntity}|%X{TargetServiceName}|%X{Server}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ProcessKey}|%X{RemoteHost}||%X{TargetVirtualEntity}|%level|%thread| %msg%n</pattern>
         </encoder>
index 38d3989..678cce7 100755 (executable)
@@ -1,4 +1,5 @@
-# Copyright Â© 2017 Amdocs, Bell Canada
+# Copyright Â© 2017 Amdocs
+# Copyright Â© 2017, 2021 Bell Canada
 # Modifications Copyright Â© 2018-2021 AT&T Intellectual Property
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -34,7 +35,7 @@ secrets:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/policy-pdpd-cl:1.8.2
+image: onap/policy-pdpd-cl:1.9.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 0b30a27..e5cbd22 100755 (executable)
@@ -1,6 +1,7 @@
 {{/*
 #  ============LICENSE_START=======================================================
 #   Copyright (C) 2019 Nordix Foundation.
+#   Modifications Copyright (C) 2021 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.
@@ -25,7 +26,8 @@
         "userName":"${RESTSERVER_USER}",
         "password":"${RESTSERVER_PASSWORD}",
         "https": true,
-        "aaf": false
+        "aaf": false,
+        "prometheus": true
     },
     "pdpParameters": {
         "heartBeatMs": 120000,
@@ -47,6 +49,7 @@
         "databasePassword": "${SQL_PASSWORD}",
         "persistenceUnit": "PolicyMariaDb"
     },
+    "savePdpStatisticsInDb": true,
     "topicParameterGroup": {
         "topicSources" : [{
             "topic" : "POLICY-PDP-PAP",
             "useHttps": true,
             "fetchTimeout": 15000,
             "topicCommInfrastructure" : "dmaap"
+        },
+        {
+            "topic" : "POLICY-HEARTBEAT",
+            "effectiveTopic": "POLICY-PDP-PAP",
+            "consumerGroup": "policy-pap",
+            "servers" : [ "message-router" ],
+            "useHttps": true,
+            "fetchTimeout": 15000,
+            "topicCommInfrastructure" : "dmaap"
         }],
         "topicSinks" : [{
             "topic" : "POLICY-PDP-PAP",
index 3c4c3e5..c373e04 100755 (executable)
@@ -92,7 +92,7 @@ certInitializer:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/policy-pap:2.4.2
+image: onap/policy-pap:2.5.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index a626a04..19b4d9c 100755 (executable)
         "userName": "${RESTSERVER_USER}",
         "password": "${RESTSERVER_PASSWORD}",
         "https": true,
-        "aaf": false
+        "aaf": false,
+        "prometheus": true
     },
     "policyApiParameters": {
-        "host": "policy-api",
+        "hostname": "policy-api",
         "port": 6969,
         "userName": "${API_USER}",
         "password": "${API_PASSWORD}",
-        "https": true,
+        "useHttps": true,
         "aaf": false
     },
-    "applicationPath": "/opt/app/policy/pdpx/apps",
+    "applicationParameters": {
+        "applicationPath": "/opt/app/policy/pdpx/apps"
+    },
     "topicParameterGroup": {
         "topicSources" : [{
             "topic" : "POLICY-PDP-PAP",
index 9eda53e..91984cc 100755 (executable)
@@ -83,7 +83,7 @@ certInitializer:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/policy-xacml-pdp:2.4.2
+image: onap/policy-xacml-pdp:2.5.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 90c9879..7b94372 100755 (executable)
 
 mysql() { /usr/bin/mysql  -h ${MYSQL_HOST} -P ${MYSQL_USER} "$@"; };
 
-for db in support onap_sdk log migration operationshistory10 pooling policyadmin policyclamp operationshistory
+for db in migration pooling policyadmin policyclamp operationshistory
 do
-       mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "CREATE DATABASE IF NOT EXISTS ${db};"
-       mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "GRANT ALL PRIVILEGES ON \`${db}\`.* TO '${MYSQL_USER}'@'%' ;"
+    mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "CREATE DATABASE IF NOT EXISTS ${db};"
+    mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "GRANT ALL PRIVILEGES ON \`${db}\`.* TO '${MYSQL_USER}'@'%' ;"
 done
 
 mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "FLUSH PRIVILEGES;"
diff --git a/kubernetes/policy/resources/config/db_migrator_policy_init.sh b/kubernetes/policy/resources/config/db_migrator_policy_init.sh
new file mode 100644 (file)
index 0000000..d1cc108
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh
+{{/*
+# Copyright (C) 2021 Nordix Foundation.
+#
+# 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.
+*/}}
+/opt/app/policy/bin/prepare_upgrade.sh ${SQL_DB}
+/opt/app/policy/bin/db-migrator -s ${SQL_DB} -o upgrade
+rc=$?
+/opt/app/policy/bin/db-migrator -s ${SQL_DB} -o report
+exit $rc
index 7809c74..17558f8 100755 (executable)
@@ -1,6 +1,7 @@
 {{/*
 # Copyright Â© 2017 Amdocs, Bell Canada
 # Modifications Copyright Â© 2018, 2020 AT&T Intellectual Property
+# Modifications Copyright (C) 2021 Nordix Foundation.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -26,4 +27,4 @@ metadata:
     release: {{ include "common.release" . }}
     heritage: {{ .Release.Service }}
 data:
-{{ tpl (.Files.Glob "resources/config/db.sh").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/*.sh").AsConfig . | indent 2 }}
index 72c94f3..d781a63 100755 (executable)
@@ -1,6 +1,7 @@
 {{/*
 # Copyright Â© 2018 Amdocs, Bell Canada
 # Modifications Copyright Â© 2020 AT&T Intellectual Property
+# Modifications Copyright (C) 2021 Nordix Foundation.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -47,7 +48,6 @@ spec:
             fieldRef:
               apiVersion: v1
               fieldPath: metadata.namespace
-      containers:
       - name: {{ include "common.release" . }}-policy-galera-config
         image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.mariadb.image }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
@@ -70,6 +70,32 @@ spec:
         - name: MYSQL_PORT
           value: "{{ index .Values "mariadb-galera" "service" "internalPort" }}"
         resources:
+{{ include "common.resources" . }}
+      containers:
+      - name: {{ include "common.release" . }}-policy-galera-db-migrator
+        image: {{ .Values.repository }}/{{ .Values.dbmigrator.image }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        volumeMounts:
+        - mountPath: /dbcmd-config/db_migrator_policy_init.sh
+          name: {{ include "common.fullname" . }}-config
+          subPath: db_migrator_policy_init.sh
+        command:
+        - /bin/sh
+        args:
+        - -x
+        - /dbcmd-config/db_migrator_policy_init.sh
+        env:
+        - name: SQL_HOST
+          value: "{{ index .Values "mariadb-galera" "service" "name" }}"
+        - name: SQL_USER
+          {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "login") | indent 10 }}
+        - name: SQL_PASSWORD
+          {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "password") | indent 10 }}
+        - name: SQL_DB
+          value: {{ .Values.dbmigrator.schema }}
+        - name: POLICY_HOME
+          value: {{ .Values.dbmigrator.policy_home }}
+        resources:
 {{ include "common.resources" . }}
       restartPolicy: Never
       serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
@@ -80,3 +106,5 @@ spec:
             items:
               - key: db.sh
                 path: db.sh
+              - key: db_migrator_policy_init.sh
+                path: db_migrator_policy_init.sh
index 92344dd..5478e5b 100755 (executable)
@@ -1,5 +1,6 @@
 # Copyright Â© 2017 Amdocs, Bell Canada
 # Modifications Copyright Â© 2018-2020 AT&T Intellectual Property
+# Modifications Copyright (C) 2021 Nordix Foundation.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -84,6 +85,11 @@ pullPolicy: Always
 mariadb:
   image: mariadb:10.5.8
 
+dbmigrator:
+  image: onap/policy-db-migrator:2.3.0
+  schema: policyadmin
+  policy_home: "/opt/app/policy"
+
 subChartsOnly:
   enabled: true
 
index f5dcbff..a363ab3 100644 (file)
@@ -5,18 +5,18 @@ shopt -s nullglob
 
 # logging functions
 mysql_log() {
-       local type="$1"; shift
-       printf '%s [%s] [Entrypoint]: %s\n' "$(date --rfc-3339=seconds)" "$type" "$*"
+    local type="$1"; shift
+    printf '%s [%s] [Entrypoint]: %s\n' "$(date --rfc-3339=seconds)" "$type" "$*"
 }
 mysql_note() {
-       mysql_log Note "$@"
+    mysql_log Note "$@"
 }
 mysql_warn() {
-       mysql_log Warn "$@" >&2
+    mysql_log Warn "$@" >&2
 }
 mysql_error() {
-       mysql_log ERROR "$@" >&2
-       exit 1
+    mysql_log ERROR "$@" >&2
+    exit 1
 }
 
 # usage: file_env VAR [DEFAULT]
@@ -24,170 +24,170 @@ mysql_error() {
 # (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of
 #  "$XYZ_DB_PASSWORD" from a file, especially for Docker's secrets feature)
 file_env() {
-       local var="$1"
-       local fileVar="${var}_FILE"
-       local def="${2:-}"
-       if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then
-               mysql_error "Both $var and $fileVar are set (but are exclusive)"
-       fi
-       local val="$def"
-       # val="${!var}"
-       # val="$(< "${!fileVar}")"
-       # eval replacement of the bashism equivalents above presents no security issue here
-       # since var and fileVar variables contents are derived from the file_env() function arguments.
-       # This method is only called inside this script with a limited number of possible values.
-       if [ "${!var:-}" ]; then
-               eval val=\$$var
-       elif [ "${!fileVar:-}" ]; then
-               val="$(< "$(eval echo "\$$fileVar")")"
-       fi
-       export "$var"="$val"
-       unset "$fileVar"
+    local var="$1"
+    local fileVar="${var}_FILE"
+    local def="${2:-}"
+    if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then
+        mysql_error "Both $var and $fileVar are set (but are exclusive)"
+    fi
+    local val="$def"
+    # val="${!var}"
+    # val="$(< "${!fileVar}")"
+    # eval replacement of the bashism equivalents above presents no security issue here
+    # since var and fileVar variables contents are derived from the file_env() function arguments.
+    # This method is only called inside this script with a limited number of possible values.
+    if [ "${!var:-}" ]; then
+        eval val=\$$var
+    elif [ "${!fileVar:-}" ]; then
+        val="$(< "$(eval echo "\$$fileVar")")"
+    fi
+    export "$var"="$val"
+    unset "$fileVar"
 }
 
 # check to see if this file is being run or sourced from another script
 _is_sourced() {
-       # https://unix.stackexchange.com/a/215279
-       [ "${#FUNCNAME[@]}" -ge 2 ] \
-               && [ "${FUNCNAME[0]}" = '_is_sourced' ] \
-               && [ "${FUNCNAME[1]}" = 'source' ]
+    # https://unix.stackexchange.com/a/215279
+    [ "${#FUNCNAME[@]}" -ge 2 ] \
+        && [ "${FUNCNAME[0]}" = '_is_sourced' ] \
+        && [ "${FUNCNAME[1]}" = 'source' ]
 }
 
 # usage: docker_process_init_files [file [file [...]]]
 #    ie: docker_process_init_files /always-initdb.d/*
 # process initializer files, based on file extensions
 docker_process_init_files() {
-       # mysql here for backwards compatibility "${mysql[@]}"
-       mysql=( docker_process_sql )
-
-       echo
-       local f
-       for f; do
-               case "$f" in
-                       *.sh)
-                               # https://github.com/docker-library/postgres/issues/450#issuecomment-393167936
-                               # https://github.com/docker-library/postgres/pull/452
-                               if [ -x "$f" ]; then
-                                       mysql_note "$0: running $f"
-                                       "$f"
-                               else
-                                       mysql_note "$0: sourcing $f"
-                                       . "$f"
-                               fi
-                               ;;
-                       *.sql)    mysql_note "$0: running $f"; docker_process_sql < "$f"; echo ;;
-                       *.sql.gz) mysql_note "$0: running $f"; gunzip -c "$f" | docker_process_sql; echo ;;
-                       *.sql.xz) mysql_note "$0: running $f"; xzcat "$f" | docker_process_sql; echo ;;
-                       *)        mysql_warn "$0: ignoring $f" ;;
-               esac
-               echo
-       done
+    # mysql here for backwards compatibility "${mysql[@]}"
+    mysql=( docker_process_sql )
+
+    echo
+    local f
+    for f; do
+        case "$f" in
+            *.sh)
+                # https://github.com/docker-library/postgres/issues/450#issuecomment-393167936
+                # https://github.com/docker-library/postgres/pull/452
+                if [ -x "$f" ]; then
+                    mysql_note "$0: running $f"
+                    "$f"
+                else
+                    mysql_note "$0: sourcing $f"
+                    . "$f"
+                fi
+                ;;
+            *.sql)    mysql_note "$0: running $f"; docker_process_sql < "$f"; echo ;;
+            *.sql.gz) mysql_note "$0: running $f"; gunzip -c "$f" | docker_process_sql; echo ;;
+            *.sql.xz) mysql_note "$0: running $f"; xzcat "$f" | docker_process_sql; echo ;;
+            *)        mysql_warn "$0: ignoring $f" ;;
+        esac
+        echo
+    done
 }
 
 mysql_check_config() {
-       local toRun=( "$@" --verbose --help --log-bin-index="$(mktemp -u)" ) errors
-       if ! errors="$("${toRun[@]}" 2>&1 >/dev/null)"; then
-               mysql_error "$(printf 'mysqld failed while attempting to check config\n\tcommand was: ')${toRun[*]}$(printf'\n\t')$errors"
-       fi
+    local toRun=( "$@" --verbose --help --log-bin-index="$(mktemp -u)" ) errors
+    if ! errors="$("${toRun[@]}" 2>&1 >/dev/null)"; then
+        mysql_error "$(printf 'mysqld failed while attempting to check config\n\tcommand was: ')${toRun[*]}$(printf'\n\t')$errors"
+    fi
 }
 
 # Fetch value from server config
 # We use mysqld --verbose --help instead of my_print_defaults because the
 # latter only show values present in config files, and not server defaults
 mysql_get_config() {
-       local conf="$1"; shift
-       "$@" --verbose --help --log-bin-index="$(mktemp -u)" 2>/dev/null \
-               | awk -v conf="$conf" '$1 == conf && /^[^ \t]/ { sub(/^[^ \t]+[ \t]+/, ""); print; exit }'
-       # match "datadir      /some/path with/spaces in/it here" but not "--xyz=abc\n     datadir (xyz)"
+    local conf="$1"; shift
+    "$@" --verbose --help --log-bin-index="$(mktemp -u)" 2>/dev/null \
+        | awk -v conf="$conf" '$1 == conf && /^[^ \t]/ { sub(/^[^ \t]+[ \t]+/, ""); print; exit }'
+    # match "datadir      /some/path with/spaces in/it here" but not "--xyz=abc\n     datadir (xyz)"
 }
 
 # Do a temporary startup of the MySQL server, for init purposes
 docker_temp_server_start() {
-       "$@" --skip-networking --socket="${SOCKET}" &
-       mysql_note "Waiting for server startup"
-       local i
-       for i in $(seq 30 -1 0); do
-               # only use the root password if the database has already been initializaed
-               # so that it won't try to fill in a password file when it hasn't been set yet
-               extraArgs=""
-               if [ -z "$DATABASE_ALREADY_EXISTS" ]; then
-                       extraArgs=${extraArgs}" --dont-use-mysql-root-password"
-               fi
-               if echo 'SELECT 1' |docker_process_sql ${extraArgs} --database=mysql >/dev/null 2>&1; then
-                       break
-               fi
-               sleep 1
-       done
-       if [ "$i" = 0 ]; then
-               mysql_error "Unable to start server."
-       fi
+    "$@" --skip-networking --socket="${SOCKET}" &
+    mysql_note "Waiting for server startup"
+    local i
+    for i in $(seq 30 -1 0); do
+        # only use the root password if the database has already been initializaed
+        # so that it won't try to fill in a password file when it hasn't been set yet
+        extraArgs=""
+        if [ -z "$DATABASE_ALREADY_EXISTS" ]; then
+            extraArgs=${extraArgs}" --dont-use-mysql-root-password"
+        fi
+        if echo 'SELECT 1' |docker_process_sql ${extraArgs} --database=mysql >/dev/null 2>&1; then
+            break
+        fi
+        sleep 1
+    done
+    if [ "$i" = 0 ]; then
+        mysql_error "Unable to start server."
+    fi
 }
 
 # Stop the server. When using a local socket file mysqladmin will block until
 # the shutdown is complete.
 docker_temp_server_stop() {
-       if ! mysqladmin --defaults-extra-file=<( _mysql_passfile ) shutdown -uroot --socket="${SOCKET}"; then
-               mysql_error "Unable to shut down server."
-       fi
+    if ! mysqladmin --defaults-extra-file=<( _mysql_passfile ) shutdown -uroot --socket="${SOCKET}"; then
+        mysql_error "Unable to shut down server."
+    fi
 }
 
 # Verify that the minimally required password settings are set for new databases.
 docker_verify_minimum_env() {
-       if [ -z "$MYSQL_ROOT_PASSWORD" -a -z "$MYSQL_ALLOW_EMPTY_PASSWORD" -a -z "$MYSQL_RANDOM_ROOT_PASSWORD" ]; then
-               mysql_error "$(printf'Database is uninitialized and password option is not specified\n\tYou need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD')"
-       fi
+    if [ -z "$MYSQL_ROOT_PASSWORD" -a -z "$MYSQL_ALLOW_EMPTY_PASSWORD" -a -z "$MYSQL_RANDOM_ROOT_PASSWORD" ]; then
+        mysql_error "$(printf'Database is uninitialized and password option is not specified\n\tYou need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD')"
+    fi
 }
 
 # creates folders for the database
 # also ensures permission for user mysql of run as root
 docker_create_db_directories() {
-       local user; user="$(id -u)"
+    local user; user="$(id -u)"
 
-       # TODO other directories that are used by default? like /var/lib/mysql-files
-       # see https://github.com/docker-library/mysql/issues/562
-       mkdir -p "$DATADIR"
+    # TODO other directories that are used by default? like /var/lib/mysql-files
+    # see https://github.com/docker-library/mysql/issues/562
+    mkdir -p "$DATADIR"
 
-       if [ "$user" = "0" ]; then
-               # this will cause less disk access than `chown -R`
-               find "$DATADIR" \! -user mysql -exec chown mysql '{}' +
-       fi
+    if [ "$user" = "0" ]; then
+        # this will cause less disk access than `chown -R`
+        find "$DATADIR" \! -user mysql -exec chown mysql '{}' +
+    fi
 }
 
 # initializes the database directory
 docker_init_database_dir() {
-       mysql_note "Initializing database files"
-       installArgs=" --datadir=$DATADIR --rpm "
-       if { mysql_install_db --help || :; } | grep -q -- '--auth-root-authentication-method'; then
-               # beginning in 10.4.3, install_db uses "socket" which only allows system user root to connect, switch back to "normal" to allow mysql root without a password
-               # see https://github.com/MariaDB/server/commit/b9f3f06857ac6f9105dc65caae19782f09b47fb3
-               # (this flag doesn't exist in 10.0 and below)
-               installArgs=${installArgs}" --auth-root-authentication-method=normal"
-       fi
-       # "Other options are passed to mysqld." (so we pass all "mysqld" arguments directly here)
-       mysql_install_db ${installArgs} "$(echo ${@} | sed 's/^ *[^ ]* *//')"
-       mysql_note "Database files initialized"
+    mysql_note "Initializing database files"
+    installArgs=" --datadir=$DATADIR --rpm "
+    if { mysql_install_db --help || :; } | grep -q -- '--auth-root-authentication-method'; then
+        # beginning in 10.4.3, install_db uses "socket" which only allows system user root to connect, switch back to "normal" to allow mysql root without a password
+        # see https://github.com/MariaDB/server/commit/b9f3f06857ac6f9105dc65caae19782f09b47fb3
+        # (this flag doesn't exist in 10.0 and below)
+        installArgs=${installArgs}" --auth-root-authentication-method=normal"
+    fi
+    # "Other options are passed to mysqld." (so we pass all "mysqld" arguments directly here)
+    mysql_install_db ${installArgs} "$(echo ${@} | sed 's/^ *[^ ]* *//')"
+    mysql_note "Database files initialized"
 }
 
 # Loads various settings that are used elsewhere in the script
 # This should be called after mysql_check_config, but before any other functions
 docker_setup_env() {
-       # Get config
-       declare -g DATADIR SOCKET
-       DATADIR="$(mysql_get_config 'datadir' "$@")"
-       SOCKET="$(mysql_get_config 'socket' "$@")"
-
-       # Initialize values that might be stored in a file
-       file_env 'MYSQL_ROOT_HOST' '%'
-       file_env 'MYSQL_DATABASE'
-       file_env 'MYSQL_USER'
-       file_env 'MYSQL_PASSWORD'
-       file_env 'MYSQL_ROOT_PASSWORD'
-       file_env 'PORTAL_DB_TABLES'
-
-       declare -g DATABASE_ALREADY_EXISTS
-       if [ -d "$DATADIR/mysql" ]; then
-               DATABASE_ALREADY_EXISTS='true'
-       fi
+    # Get config
+    declare -g DATADIR SOCKET
+    DATADIR="$(mysql_get_config 'datadir' "$@")"
+    SOCKET="$(mysql_get_config 'socket' "$@")"
+
+    # Initialize values that might be stored in a file
+    file_env 'MYSQL_ROOT_HOST' '%'
+    file_env 'MYSQL_DATABASE'
+    file_env 'MYSQL_USER'
+    file_env 'MYSQL_PASSWORD'
+    file_env 'MYSQL_ROOT_PASSWORD'
+    file_env 'PORTAL_DB_TABLES'
+
+    declare -g DATABASE_ALREADY_EXISTS
+    if [ -d "$DATADIR/mysql" ]; then
+        DATABASE_ALREADY_EXISTS='true'
+    fi
 }
 
 # Execute sql script, passed via stdin
@@ -195,178 +195,178 @@ docker_setup_env() {
 #    ie: docker_process_sql --database=mydb <<<'INSERT ...'
 #    ie: docker_process_sql --dont-use-mysql-root-password --database=mydb <my-file.sql
 docker_process_sql() {
-       passfileArgs=""
-       if [ '--dont-use-mysql-root-password' = "$1" ]; then
-               passfileArgs=${passfileArgs}" $1"
-               shift
-       fi
-       # args sent in can override this db, since they will be later in the command
-       if [ -n "$MYSQL_DATABASE" ]; then
-               set -- --database="$MYSQL_DATABASE" "$@"
-       fi
-
-       mysql --defaults-extra-file=<( _mysql_passfile ${passfileArgs}) --protocol=socket -uroot -hlocalhost --socket="${SOCKET}" "$@"
+    passfileArgs=""
+    if [ '--dont-use-mysql-root-password' = "$1" ]; then
+        passfileArgs=${passfileArgs}" $1"
+        shift
+    fi
+    # args sent in can override this db, since they will be later in the command
+    if [ -n "$MYSQL_DATABASE" ]; then
+        set -- --database="$MYSQL_DATABASE" "$@"
+    fi
+
+    mysql --defaults-extra-file=<( _mysql_passfile ${passfileArgs}) --protocol=socket -uroot -hlocalhost --socket="${SOCKET}" "$@"
 }
 
 # Initializes database with timezone info and root password, plus optional extra db/user
 docker_setup_db() {
-       # Load timezone info into database
-       if [ -z "$MYSQL_INITDB_SKIP_TZINFO" ]; then
-               {
-                       # Aria in 10.4+ is slow due to "transactional" (crash safety)
-                       # https://jira.mariadb.org/browse/MDEV-23326
-                       # https://github.com/docker-library/mariadb/issues/262
-                       local tztables=( time_zone time_zone_leap_second time_zone_name time_zone_transition time_zone_transition_type )
-                       for table in "${tztables[@]}"; do
-                               echo "/*!100400 ALTER TABLE $table TRANSACTIONAL=0 */;"
-                       done
-
-                       # sed is for https://bugs.mysql.com/bug.php?id=20545
-                       mysql_tzinfo_to_sql /usr/share/zoneinfo \
-                               | sed 's/Local time zone must be set--see zic manual page/FCTY/'
-
-                       for table in "${tztables[@]}"; do
-                               echo "/*!100400 ALTER TABLE $table TRANSACTIONAL=1 */;"
-                       done
-               } | docker_process_sql --dont-use-mysql-root-password --database=mysql
-               # tell docker_process_sql to not use MYSQL_ROOT_PASSWORD since it is not set yet
-       fi
-       # Generate random root password
-       if [ -n "$MYSQL_RANDOM_ROOT_PASSWORD" ]; then
-               export MYSQL_ROOT_PASSWORD="$(pwgen -1 32)"
-               mysql_note "GENERATED ROOT PASSWORD: $MYSQL_ROOT_PASSWORD"
-       fi
-       # Sets root password and creates root users for non-localhost hosts
-       local rootCreate=
-       # default root to listen for connections from anywhere
-       if [ -n "$MYSQL_ROOT_HOST" ] && [ "$MYSQL_ROOT_HOST" != 'localhost' ]; then
-               # no, we don't care if read finds a terminating character in this heredoc
-               # https://unix.stackexchange.com/questions/265149/why-is-set-o-errexit-breaking-this-read-heredoc-expression/265151#265151
-               read -r -d '' rootCreate <<-EOSQL || true
-                       CREATE USER 'root'@'${MYSQL_ROOT_HOST}' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}' ;
-                       GRANT ALL ON *.* TO 'root'@'${MYSQL_ROOT_HOST}' WITH GRANT OPTION ;
-               EOSQL
-       fi
-
-       # tell docker_process_sql to not use MYSQL_ROOT_PASSWORD since it is just now being set
-       docker_process_sql --dont-use-mysql-root-password --database=mysql <<-EOSQL
-               -- What's done in this file shouldn't be replicated
-               --  or products like mysql-fabric won't work
-               SET @@SESSION.SQL_LOG_BIN=0;
-
-               DELETE FROM mysql.user WHERE user NOT IN ('mysql.sys', 'mariadb.sys', 'mysqlxsys', 'root') OR host NOT IN ('localhost') ;
-               SET PASSWORD FOR 'root'@'localhost'=PASSWORD('${MYSQL_ROOT_PASSWORD}') ;
-               -- 10.1: https://github.com/MariaDB/server/blob/d925aec1c10cebf6c34825a7de50afe4e630aff4/scripts/mysql_secure_installation.sh#L347-L365
-               -- 10.5: https://github.com/MariaDB/server/blob/00c3a28820c67c37ebbca72691f4897b57f2eed5/scripts/mysql_secure_installation.sh#L351-L369
-               DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%' ;
-
-               GRANT ALL ON *.* TO 'root'@'localhost' WITH GRANT OPTION ;
-               FLUSH PRIVILEGES ;
-               ${rootCreate}
-               DROP DATABASE IF EXISTS test ;
-       EOSQL
-
-       # Creates a custom database and user if specified
-       if [ -n "$MYSQL_DATABASE" ]; then
-               mysql_note "Creating database ${MYSQL_DATABASE}"
-               echo "CREATE DATABASE IF NOT EXISTS \`$MYSQL_DATABASE\` ;" |docker_process_sql --database=mysql
-       fi
-
-       if [ -n "$MYSQL_USER" ] && [ -n "$MYSQL_PASSWORD" ]; then
-               mysql_note "Creating user ${MYSQL_USER}"
-               echo "CREATE USER '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD' ;" |docker_process_sql --database=mysql
-
-               if [ -n "$MYSQL_DATABASE" ]; then
-                       mysql_note "Giving user ${MYSQL_USER} access to schema ${MYSQL_DATABASE}"
-                       echo "GRANT ALL ON \`$(echo $MYSQL_DATABASE | sed 's@_@\\_@g')\`.* TO '$MYSQL_USER'@'%' ;" | docker_process_sql --database=mysql
-               fi
-
-               echo "FLUSH PRIVILEGES ;" | docker_process_sql --database=mysql
-       fi
+    # Load timezone info into database
+    if [ -z "$MYSQL_INITDB_SKIP_TZINFO" ]; then
+        {
+            # Aria in 10.4+ is slow due to "transactional" (crash safety)
+            # https://jira.mariadb.org/browse/MDEV-23326
+            # https://github.com/docker-library/mariadb/issues/262
+            local tztables=( time_zone time_zone_leap_second time_zone_name time_zone_transition time_zone_transition_type )
+            for table in "${tztables[@]}"; do
+                echo "/*!100400 ALTER TABLE $table TRANSACTIONAL=0 */;"
+            done
+
+            # sed is for https://bugs.mysql.com/bug.php?id=20545
+            mysql_tzinfo_to_sql /usr/share/zoneinfo \
+                | sed 's/Local time zone must be set--see zic manual page/FCTY/'
+
+            for table in "${tztables[@]}"; do
+                echo "/*!100400 ALTER TABLE $table TRANSACTIONAL=1 */;"
+            done
+        } | docker_process_sql --dont-use-mysql-root-password --database=mysql
+        # tell docker_process_sql to not use MYSQL_ROOT_PASSWORD since it is not set yet
+    fi
+    # Generate random root password
+    if [ -n "$MYSQL_RANDOM_ROOT_PASSWORD" ]; then
+        export MYSQL_ROOT_PASSWORD="$(pwgen -1 32)"
+        mysql_note "GENERATED ROOT PASSWORD: $MYSQL_ROOT_PASSWORD"
+    fi
+    # Sets root password and creates root users for non-localhost hosts
+    local rootCreate=
+    # default root to listen for connections from anywhere
+    if [ -n "$MYSQL_ROOT_HOST" ] && [ "$MYSQL_ROOT_HOST" != 'localhost' ]; then
+        # no, we don't care if read finds a terminating character in this heredoc
+        # https://unix.stackexchange.com/questions/265149/why-is-set-o-errexit-breaking-this-read-heredoc-expression/265151#265151
+        read -r -d '' rootCreate <<-EOSQL || true
+            CREATE USER 'root'@'${MYSQL_ROOT_HOST}' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}' ;
+            GRANT ALL ON *.* TO 'root'@'${MYSQL_ROOT_HOST}' WITH GRANT OPTION ;
+EOSQL
+    fi
+
+    # tell docker_process_sql to not use MYSQL_ROOT_PASSWORD since it is just now being set
+    docker_process_sql --dont-use-mysql-root-password --database=mysql <<-EOSQL
+        -- What's done in this file shouldn't be replicated
+        --  or products like mysql-fabric won't work
+        SET @@SESSION.SQL_LOG_BIN=0;
+
+        DELETE FROM mysql.user WHERE user NOT IN ('mysql.sys', 'mariadb.sys', 'mysqlxsys', 'root') OR host NOT IN ('localhost') ;
+        SET PASSWORD FOR 'root'@'localhost'=PASSWORD('${MYSQL_ROOT_PASSWORD}') ;
+        -- 10.1: https://github.com/MariaDB/server/blob/d925aec1c10cebf6c34825a7de50afe4e630aff4/scripts/mysql_secure_installation.sh#L347-L365
+        -- 10.5: https://github.com/MariaDB/server/blob/00c3a28820c67c37ebbca72691f4897b57f2eed5/scripts/mysql_secure_installation.sh#L351-L369
+        DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%' ;
+
+        GRANT ALL ON *.* TO 'root'@'localhost' WITH GRANT OPTION ;
+        FLUSH PRIVILEGES ;
+        ${rootCreate}
+        DROP DATABASE IF EXISTS test ;
+EOSQL
+
+    # Creates a custom database and user if specified
+    if [ -n "$MYSQL_DATABASE" ]; then
+        mysql_note "Creating database ${MYSQL_DATABASE}"
+        echo "CREATE DATABASE IF NOT EXISTS \`$MYSQL_DATABASE\` ;" |docker_process_sql --database=mysql
+    fi
+
+    if [ -n "$MYSQL_USER" ] && [ -n "$MYSQL_PASSWORD" ]; then
+        mysql_note "Creating user ${MYSQL_USER}"
+        echo "CREATE USER '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD' ;" |docker_process_sql --database=mysql
+
+        if [ -n "$MYSQL_DATABASE" ]; then
+            mysql_note "Giving user ${MYSQL_USER} access to schema ${MYSQL_DATABASE}"
+            echo "GRANT ALL ON \`$(echo $MYSQL_DATABASE | sed 's@_@\\_@g')\`.* TO '$MYSQL_USER'@'%' ;" | docker_process_sql --database=mysql
+        fi
+
+        echo "FLUSH PRIVILEGES ;" | docker_process_sql --database=mysql
+    fi
 }
 
 _mysql_passfile() {
-       # echo the password to the "file" the client uses
-       # the client command will use process substitution to create a file on the fly
-       # ie: --defaults-extra-file=<( _mysql_passfile )
-       if [ '--dont-use-mysql-root-password' != "$1" ] && [ -n "$MYSQL_ROOT_PASSWORD" ]; then
-               cat <<-EOF
-                       [client]
-                       password="${MYSQL_ROOT_PASSWORD}"
-               EOF
-       fi
+    # echo the password to the "file" the client uses
+    # the client command will use process substitution to create a file on the fly
+    # ie: --defaults-extra-file=<( _mysql_passfile )
+    if [ '--dont-use-mysql-root-password' != "$1" ] && [ -n "$MYSQL_ROOT_PASSWORD" ]; then
+        cat <<-EOF
+            [client]
+            password="${MYSQL_ROOT_PASSWORD}"
+EOF
+    fi
 }
 
 # check arguments for an option that would cause mysqld to stop
 # return true if there is one
 _mysql_want_help() {
-       local arg
-       for arg; do
-               case "$arg" in
-                       -'?'|--help|--print-defaults|-V|--version)
-                               return 0
-                               ;;
-               esac
-       done
-       return 1
+    local arg
+    for arg; do
+        case "$arg" in
+            -'?'|--help|--print-defaults|-V|--version)
+                return 0
+                ;;
+        esac
+    done
+    return 1
 }
 
 _main() {
-       # if command starts with an option, prepend mysqld
-       if echo "$1" | grep '^-' >/dev/null; then
-               set -- mysqld "$@"
-       fi
-
-       # skip setup if they aren't running mysqld or want an option that stops mysqld
-       if [ "$1" = 'mysqld' ] && ! _mysql_want_help "$@"; then
-               mysql_note "Entrypoint script for MySQL Server ${MARIADB_VERSION} started."
-
-               mysql_check_config "$@"
-               # Load various environment variables
-               docker_setup_env "$@"
-               docker_create_db_directories
-
-               # If container is started as root user, restart as dedicated mysql user
-               if [ "$(id -u)" = "0" ]; then
-                       mysql_note "Switching to dedicated user 'mysql'"
-                       exec gosu mysql "$0" "$@"
-               fi
-
-               # there's no database, so it needs to be initialized
-               if [ -z "$DATABASE_ALREADY_EXISTS" ]; then
-                       docker_verify_minimum_env
-
-                       # check dir permissions to reduce likelihood of half-initialized database
-                       ls /docker-entrypoint-initdb.d/ > /dev/null
-
-                       docker_init_database_dir "$@"
-
-                       mysql_note "Starting temporary server"
-                       docker_temp_server_start "$@"
-                       mysql_note "Temporary server started."
-
-                       docker_setup_db
-                       docker_process_init_files /docker-entrypoint-initdb.d/*
-
-                       for i in $(echo $PORTAL_DB_TABLES | sed "s/,/ /g")
-                               do
-                                       echo "Granting portal user ALL PRIVILEGES for table $i"
-                                       echo "GRANT ALL ON \`$i\`.* TO '$MYSQL_USER'@'%' ;" | "${mysql[@]}"
-                               done
-
-                       mysql_note "Stopping temporary server"
-                       docker_temp_server_stop
-                       mysql_note "Temporary server stopped"
-
-                       echo
-                       mysql_note "MySQL init process done. Ready for start up."
-                       echo
-               fi
-       fi
-       exec "$@"
+    # if command starts with an option, prepend mysqld
+    if echo "$1" | grep '^-' >/dev/null; then
+        set -- mysqld "$@"
+    fi
+
+    # skip setup if they aren't running mysqld or want an option that stops mysqld
+    if [ "$1" = 'mysqld' ] && ! _mysql_want_help "$@"; then
+        mysql_note "Entrypoint script for MySQL Server ${MARIADB_VERSION} started."
+
+        mysql_check_config "$@"
+        # Load various environment variables
+        docker_setup_env "$@"
+        docker_create_db_directories
+
+        # If container is started as root user, restart as dedicated mysql user
+        if [ "$(id -u)" = "0" ]; then
+            mysql_note "Switching to dedicated user 'mysql'"
+            exec gosu mysql "$0" "$@"
+        fi
+
+        # there's no database, so it needs to be initialized
+        if [ -z "$DATABASE_ALREADY_EXISTS" ]; then
+            docker_verify_minimum_env
+
+            # check dir permissions to reduce likelihood of half-initialized database
+            ls /docker-entrypoint-initdb.d/ > /dev/null
+
+            docker_init_database_dir "$@"
+
+            mysql_note "Starting temporary server"
+            docker_temp_server_start "$@"
+            mysql_note "Temporary server started."
+
+            docker_setup_db
+            docker_process_init_files /docker-entrypoint-initdb.d/*
+
+            for i in $(echo $PORTAL_DB_TABLES | sed "s/,/ /g")
+                do
+                    echo "Granting portal user ALL PRIVILEGES for table $i"
+                    echo "GRANT ALL ON \`$i\`.* TO '$MYSQL_USER'@'%' ;" | "${mysql[@]}"
+                done
+
+            mysql_note "Stopping temporary server"
+            docker_temp_server_stop
+            mysql_note "Temporary server stopped"
+
+            echo
+            mysql_note "MySQL init process done. Ready for start up."
+            echo
+        fi
+    fi
+    exec "$@"
 }
 
 # If we are sourced from elsewhere, don't perform any further actions
 if ! _is_sourced; then
-       _main "$@"
+    _main "$@"
 fi
index 0d30557..37631bc 100755 (executable)
 #
 usage ()
 {
-       echo "Usage: demo-k8s.sh <namespace> <command> [<parameters>] [execscript]"
-       echo " "
-       echo "       demo-k8s.sh <namespace> init"
-       echo "               - Execute both init_customer + distribute"
-       echo " "
-       echo "       demo-k8s.sh <namespace> init_customer"
-       echo "               - Create demo customer (Demonstration) and services, etc."
-       echo " "
-       echo "       demo-k8s.sh <namespace> distribute  [<prefix>]"
-       echo "               - Distribute demo models (demoVFW and demoVLB)"
-       echo " "
-       echo "       demo-k8s.sh <namespace> preload <vnf_name> <module_name>"
-       echo "               - Preload data for VNF for the <module_name>"
-       echo " "
-       echo "       demo-k8s.sh <namespace> appc <module_name>"
-       echo "               - provide APPC with vFW module mount point for closed loop"
-       echo " "
-       echo "       demo-k8s.sh <namespace> init_robot [ <etc_hosts_prefix> ]"
-       echo "               - Initialize robot after all ONAP VMs have started"
-       echo " "
-       echo "       demo-k8s.sh <namespace> instantiateVFW"
-       echo "               - Instantiate vFW module for the demo customer (DemoCust<uuid>)"
-       echo " "
-       echo "       demo-k8s.sh <namespace> instantiateVFWdirectso  csar_filename"
-       echo "               - Instantiate vFW module using direct SO interface using previously distributed model "
+    echo "Usage: demo-k8s.sh <namespace> <command> [<parameters>] [execscript]"
+    echo " "
+    echo "       demo-k8s.sh <namespace> init"
+    echo "               - Execute both init_customer + distribute"
+    echo " "
+    echo "       demo-k8s.sh <namespace> init_customer"
+    echo "               - Create demo customer (Demonstration) and services, etc."
+    echo " "
+    echo "       demo-k8s.sh <namespace> distribute  [<prefix>]"
+    echo "               - Distribute demo models (demoVFW and demoVLB)"
+    echo " "
+    echo "       demo-k8s.sh <namespace> preload <vnf_name> <module_name>"
+    echo "               - Preload data for VNF for the <module_name>"
+    echo " "
+    echo "       demo-k8s.sh <namespace> appc <module_name>"
+    echo "               - provide APPC with vFW module mount point for closed loop"
+    echo " "
+    echo "       demo-k8s.sh <namespace> init_robot [ <etc_hosts_prefix> ]"
+    echo "               - Initialize robot after all ONAP VMs have started"
+    echo " "
+    echo "       demo-k8s.sh <namespace> instantiateVFW"
+    echo "               - Instantiate vFW module for the demo customer (DemoCust<uuid>)"
+    echo " "
+    echo "       demo-k8s.sh <namespace> instantiateVFWdirectso  csar_filename"
+    echo "               - Instantiate vFW module using direct SO interface using previously distributed model "
         echo "                 that is in /tmp/csar in robot container"
-       echo " "
+    echo " "
         echo "       demo-k8s.sh <namespace> instantiateVLB_CDS"
         echo "               - Instantiate vLB module using CDS with a preloaded CBA "
         echo " "
-       echo "       demo-k8s.sh <namespace> deleteVNF <module_name from instantiateVFW>"
-       echo "               - Delete the module created by instantiateVFW"
-       echo " "
-       echo "       demo-k8s.sh <namespace> vfwclosedloop <pgn-ip-address>"
+    echo "       demo-k8s.sh <namespace> deleteVNF <module_name from instantiateVFW>"
+    echo "               - Delete the module created by instantiateVFW"
+    echo " "
+    echo "       demo-k8s.sh <namespace> vfwclosedloop <pgn-ip-address>"
         echo "               - vFWCL: Sets the packet generator to high and low rates, and checks whether the policy "
         echo "                 kicks in to modulate the rates back to medium"
-       echo " "
-       echo "       demo-k8s.sh <namespace> <command> [<parameters>] execscript"
-       echo "               - Optional parameter to execute user custom scripts located in scripts/demoscript directory"
-       echo " "
+    echo " "
+    echo "       demo-k8s.sh <namespace> <command> [<parameters>] execscript"
+    echo "               - Optional parameter to execute user custom scripts located in scripts/demoscript directory"
+    echo " "
 }
 
 # Check if execscript flag is used and drop it from input arguments
@@ -74,8 +74,8 @@ echo "Number of parameters:"
 echo $#
 
 if [ $# -lt 2 ];then
-       usage
-       exit
+    usage
+    exit
 fi
 
 NAMESPACE=$1
@@ -86,80 +86,80 @@ shift
 ##
 while [ $# -gt 0 ]
 do
-       key="$1"
+    key="$1"
         echo "KEY:"
         echo $key
 
-       case $key in
-       init_robot)
-                       TAG="UpdateWebPage"
-                       echo "WEB Site Password for user 'test': "
-                       stty -echo
-                       read WEB_PASSWORD
-                       stty echo
-                       if [ "$WEB_PASSWORD" = "" ]; then
-                               echo ""
-                               echo "WEB Password is required for user 'test'"
-                               exit
-                       fi
-                       VARIABLES="$VARIABLES -v WEB_PASSWORD:$WEB_PASSWORD"
-                       shift
-                       if [ $# -eq 2 ];then
-                               VARIABLES="$VARIABLES -v HOSTS_PREFIX:$1"
-                       fi
-                       shift
-                       ;;
-       init)
-                       TAG="InitDemo"
-                       shift
-                       ;;
-           vescollector)
-                       TAG="vescollector"
-                       shift
-                       ;;
+    case $key in
+        init_robot)
+            TAG="UpdateWebPage"
+            echo "WEB Site Password for user 'test': "
+            stty -echo
+            read WEB_PASSWORD
+            stty echo
+            if [ "$WEB_PASSWORD" = "" ]; then
+                echo ""
+                echo "WEB Password is required for user 'test'"
+                exit
+            fi
+            VARIABLES="$VARIABLES -v WEB_PASSWORD:$WEB_PASSWORD"
+            shift
+            if [ $# -eq 2 ];then
+                VARIABLES="$VARIABLES -v HOSTS_PREFIX:$1"
+            fi
+            shift
+            ;;
+        init)
+            TAG="InitDemo"
+            shift
+            ;;
+        vescollector)
+            TAG="vescollector"
+            shift
+            ;;
         distribute_vcpe)
-                       TAG="distributeVCPE"
-                       shift
-                       ;;
-       init_customer)
-                       TAG="InitCustomer"
-                       shift
-                       ;;
-       distribute)
-                       TAG="InitDistribution"
-                       shift
-                       if [ $# -eq 1 ];then
-                               VARIABLES="$VARIABLES -v DEMO_PREFIX:$1"
-                       fi
-                       shift
-                       ;;
-       preload)
-                       TAG="PreloadDemo"
-                       shift
-                       if [ $# -ne 2 ];then
-                               echo "Usage: demo-k8s.sh <namespace> preload <vnf_name> <module_name>"
-                               exit
-                       fi
-                       VARIABLES="$VARIABLES -v VNF_NAME:$1"
-                       shift
-                       VARIABLES="$VARIABLES -v MODULE_NAME:$1"
-                       shift
-                       ;;
-       appc)
-                       TAG="APPCMountPointDemo"
-                       shift
-                       if [ $# -ne 1 ];then
-                                       echo "Usage: demo-k8s.sh <namespace> appc <module_name>"
-                                       exit
-                               fi
-                       VARIABLES="$VARIABLES -v MODULE_NAME:$1"
-                       shift
-                       ;;
-       instantiateVFW)
-                       TAG="instantiateVFW"
-                       VARIABLES="$VARIABLES -v GLOBAL_BUILD_NUMBER:$$"
-                       shift
-                       ;;
+            TAG="distributeVCPE"
+            shift
+            ;;
+        init_customer)
+            TAG="InitCustomer"
+            shift
+            ;;
+        distribute)
+            TAG="InitDistribution"
+            shift
+            if [ $# -eq 1 ];then
+                VARIABLES="$VARIABLES -v DEMO_PREFIX:$1"
+            fi
+            shift
+            ;;
+        preload)
+            TAG="PreloadDemo"
+            shift
+            if [ $# -ne 2 ];then
+                echo "Usage: demo-k8s.sh <namespace> preload <vnf_name> <module_name>"
+                exit
+            fi
+            VARIABLES="$VARIABLES -v VNF_NAME:$1"
+            shift
+            VARIABLES="$VARIABLES -v MODULE_NAME:$1"
+            shift
+            ;;
+        appc)
+            TAG="APPCMountPointDemo"
+            shift
+            if [ $# -ne 1 ];then
+                    echo "Usage: demo-k8s.sh <namespace> appc <module_name>"
+                    exit
+                fi
+            VARIABLES="$VARIABLES -v MODULE_NAME:$1"
+            shift
+            ;;
+        instantiateVFW)
+            TAG="instantiateVFW"
+            VARIABLES="$VARIABLES -v GLOBAL_BUILD_NUMBER:$$"
+            shift
+            ;;
         instantiateVFWdirectso)
                         TAG="instantiateVFWdirectso"
                         shift
@@ -175,21 +175,21 @@ do
                         VARIABLES="$VARIABLES -v GLOBAL_BUILD_NUMBER:$$"
                         shift
                         ;;
-       deleteVNF)
-                       TAG="deleteVNF"
-                       shift
-                       if [ $# -ne 1 ];then
-                               echo "Usage: demo-k8s.sh <namespace> deleteVNF <module_name from instantiateVFW>"
-                               exit
-                       fi
-                       VARFILE=$1.py
-                       VARIABLES="$VARIABLES -V /share/${VARFILE}"
-                       shift
-                       ;;
-       cds)
-                       TAG="cds"
-                       shift
-                       ;;
+        deleteVNF)
+            TAG="deleteVNF"
+            shift
+            if [ $# -ne 1 ];then
+                echo "Usage: demo-k8s.sh <namespace> deleteVNF <module_name from instantiateVFW>"
+                exit
+            fi
+            VARFILE=$1.py
+            VARIABLES="$VARIABLES -V /share/${VARFILE}"
+            shift
+            ;;
+        cds)
+            TAG="cds"
+            shift
+            ;;
         distributeVFWNG)
                         TAG="distributeVFWNG"
                         shift
@@ -208,10 +208,10 @@ do
                         VARIABLES="$VARIABLES -v PACKET_GENERATOR_HOST:$1 -v pkg_host:$1"
                         shift
                         ;;
-       *)
-                       usage
-                       exit
-       esac
+        *)
+            usage
+            exit
+    esac
 done
 
 set -x
index 63e90cd..eb04e07 100755 (executable)
@@ -24,46 +24,46 @@ HVVESPOD=$(kubectl -n $NAMESPACE get pods --no-headers=true -o custom-columns=:m
 
 
 generate_ca_key_cert () {
-       openssl genrsa -out $1/ca.key 2048
-       openssl req -new -x509 -days 36500 -key $1/ca.key -out $1/ca.pem -subj /CN=dcae-hv-ves-ca.onap
+    openssl genrsa -out $1/ca.key 2048
+    openssl req -new -x509 -days 36500 -key $1/ca.key -out $1/ca.pem -subj /CN=dcae-hv-ves-ca.onap
 }
 
 generate_server_key_csr () {
-       openssl genrsa -out $1/server.key 2048
-       openssl req -new -key $1/server.key -out $1/server.csr -subj /CN=dcae-hv-ves-collector.onap
+    openssl genrsa -out $1/server.key 2048
+    openssl req -new -key $1/server.key -out $1/server.csr -subj /CN=dcae-hv-ves-collector.onap
 }
 
 generate_client_key_csr () {
-       openssl genrsa -out $1/client.key 2048
-       openssl req -new -key $1/client.key -out $1/client.csr -subj /CN=dcae-hv-ves-client.onap
+    openssl genrsa -out $1/client.key 2048
+    openssl req -new -key $1/client.key -out $1/client.csr -subj /CN=dcae-hv-ves-client.onap
 }
 
 sign_server_and_client_cert () {
-       openssl x509 -req -days 36500 -in $1/server.csr -CA $1/ca.pem -CAkey $1/ca.key -out $1/server.pem -set_serial 00
-       openssl x509 -req -days 36500 -in $1/client.csr -CA $1/ca.pem -CAkey $1/ca.key -out $1/client.pem -set_serial 00
+    openssl x509 -req -days 36500 -in $1/server.csr -CA $1/ca.pem -CAkey $1/ca.key -out $1/server.pem -set_serial 00
+    openssl x509 -req -days 36500 -in $1/client.csr -CA $1/ca.pem -CAkey $1/ca.key -out $1/client.pem -set_serial 00
 }
 
 create_pkcs12_ca_and_server () {
-       openssl pkcs12 -export -out $1/ca.p12 -inkey $1/ca.key -in $1/ca.pem -passout pass:
-       openssl pkcs12 -export -out $1/server.p12 -inkey $1/server.key -in $1/server.pem -passout pass:
+    openssl pkcs12 -export -out $1/ca.p12 -inkey $1/ca.key -in $1/ca.pem -passout pass:
+    openssl pkcs12 -export -out $1/server.p12 -inkey $1/server.key -in $1/server.pem -passout pass:
 }
 
 copy_server_certs_to_hvves () {
-       for f in ca.p12 server.p12
-       do
-               kubectl cp $1/$f $2/$3:$4
-       done
+    for f in ca.p12 server.p12
+    do
+        kubectl cp $1/$f $2/$3:$4
+    done
 }
 
 copy_client_certs_to_robot () {
-       for f in ca.pem client.key client.pem
-       do
+    for f in ca.pem client.key client.pem
+    do
                 kubectl cp $1/$f $2/$3:$4
         done
 }
 
 cleanup () {
-       rm -f $1/ca.??? $1/server.??? s$1/client.???
+    rm -f $1/ca.??? $1/server.??? s$1/client.???
 }
 
 
index 1cd911c..bf51329 100755 (executable)
@@ -25,29 +25,29 @@ TMPTPL='onap_security'
 CSV2JSON='import csv; import json; import sys; print(json.dumps({i[0]: i[1] for i in csv.reader(sys.stdin)}))'
 FILTER="$(tr -d [:space:] <<TEMPLATE
 {{range .items}}
-       {{range.spec.ports}}
-               {{if .nodePort}}
-                       {{.nodePort}}{{','}}{{.name}}{{'\n'}}
-               {{end}}
-       {{end}}
+    {{range.spec.ports}}
+        {{if .nodePort}}
+            {{.nodePort}}{{','}}{{.name}}{{'\n'}}
+        {{end}}
+    {{end}}
 {{end}}
 TEMPLATE)"
 
 
 setup () {
-       export NODEPORTS_FILE="$(mktemp -p ${TMPDIR} ${TMPTPL}XXX)"
+    export NODEPORTS_FILE="$(mktemp -p ${TMPDIR} ${TMPTPL}XXX)"
 }
 
 create_actual_nodeport_json () {
-       kubectl get svc -n $NAMESPACE -o go-template="$FILTER" | python3 -c "$CSV2JSON" > "$NODEPORTS_FILE"
+    kubectl get svc -n $NAMESPACE -o go-template="$FILTER" | python3 -c "$CSV2JSON" > "$NODEPORTS_FILE"
 }
 
 copy_actual_nodeport_json_to_robot () {
-       kubectl cp "$1" "$2/$3:$4"
+    kubectl cp "$1" "$2/$3:$4"
 }
 
 cleanup () {
-       rm "$NODEPORTS_FILE"
+    rm "$NODEPORTS_FILE"
 }
 
 
index 52c4072..d8a2025 100755 (executable)
@@ -4,8 +4,7 @@
 # ============LICENSE_START=======================================================
 # ONAP : SDN-C
 # ================================================================================
-# Copyright (C) 2017 AT&T Intellectual Property. All rights
-#                                                      reserved.
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -42,7 +41,7 @@ then
     if [ -d $JOURNAL_PATH ]
     then
         mv $JOURNAL_PATH/* $MDSAL_PATH/journal
-       rm -f $JOURNAL_PATH
+        rm -f $JOURNAL_PATH
     fi
     ln -s $MDSAL_PATH/journal $JOURNAL_PATH
 fi
@@ -52,7 +51,7 @@ then
     if [ -d $SNAPSHOTS_PATH ]
     then
         mv $SNAPSHOTS_PATH/* $MDSAL_PATH/snapshots
-       rm -f $SNAPSHOTS_PATH
+        rm -f $SNAPSHOTS_PATH
     fi
     ln -s $MDSAL_PATH/snapshots $SNAPSHOTS_PATH
 fi
index 42abf54..3c08dd6 100755 (executable)
@@ -5,8 +5,7 @@
 # ============LICENSE_START=======================================================
 # ONAP : SDN-C
 # ================================================================================
-# Copyright (C) 2017 AT&T Intellectual Property. All rights
-#                                                      reserved.
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
index 7b88055..33c4b32 100755 (executable)
@@ -27,7 +27,7 @@ echo "Creating so user . . ." 1>/tmp/mariadb-so-user.log 2>&1
 
 prepare_password()
 {
-       echo "$1" | sed -e "s/'/\\\\'/g; s/\"/\\\\\"/g"
+    echo "$1" | sed -e "s/'/\\\\'/g; s/\"/\\\\\"/g"
 }
 
 DB_PASSWORD=`prepare_password $DB_PASSWORD`
index 5296748..069556f 100755 (executable)
@@ -27,7 +27,7 @@ echo "Creating so admin user . . ." 1>/tmp/mariadb-so-admin.log 2>&1
 
 prepare_password()
 {
-       echo "$1" | sed -e "s/'/\\\\'/g; s/\"/\\\\\"/g"
+    echo "$1" | sed -e "s/'/\\\\'/g; s/\"/\\\\\"/g"
 }
 
 DB_ADMIN_PASSWORD=`prepare_password $DB_ADMIN_PASSWORD`
index 3a9ef84..5bbd187 100755 (executable)
@@ -22,10 +22,10 @@ fi
 #Start the chef-solo if mso-docker.json contains some data.
 if [ -s /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json ]
 then
-       echo "mso-docker.json has some configuration, replay the recipes."
-       chef-solo -c /var/berks-cookbooks/${CHEF_REPO_NAME}/solo.rb -o recipe[mso-config::apih],recipe[mso-config::bpmn],recipe[mso-config::jra]
+    echo "mso-docker.json has some configuration, replay the recipes."
+    chef-solo -c /var/berks-cookbooks/${CHEF_REPO_NAME}/solo.rb -o recipe[mso-config::apih],recipe[mso-config::bpmn],recipe[mso-config::jra]
 else
-       echo "mso-docker.json is empty, do not replay the recipes."
+    echo "mso-docker.json is empty, do not replay the recipes."
 fi
 
 JBOSS_PIDFILE=/tmp/jboss-standalone.pid