Merge "hv-ves ete script added"
diff --git a/demo-k8s.sh b/demo-k8s.sh
index 3671d6c..14a44b1 100755
--- a/demo-k8s.sh
+++ b/demo-k8s.sh
@@ -18,7 +18,7 @@
 #
 function usage
 {
-	echo "Usage: demo-k8s.sh <namespace> <command> [<parameters>]"
+	echo "Usage: demo-k8s.sh <namespace> <command> [<parameters>] [execscript]"
 	echo " "
 	echo "       demo-k8s.sh <namespace> init"
 	echo "               - Execute both init_customer + distribute"
@@ -52,11 +52,21 @@
 	echo "               - Run heatbridge against the stack for the given service instance and service"
 	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 "               - 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 " "
 }
 
+# Check if execscript flag is used and drop it from input arguments
+
+if [[ "${!#}" == "execscript" ]]; then
+        set -- "${@:1:$#-1}"
+        execscript=true
+fi
+
 # Set the defaults
 
 echo "Number of parameters:"
@@ -212,8 +222,17 @@
 
 POD=$(kubectl --namespace $NAMESPACE get pods | sed 's/ .*//'| grep robot)
 
+DIR=$(dirname "$0")
+SCRIPTDIR=scripts/demoscript
+
 ETEHOME=/var/opt/ONAP
 
+if [ $execscript ]; then
+   for script in $(ls -1 "$DIR/$SCRIPTDIR"); do
+      [ -f "$DIR/$SCRIPTDIR/$script" ] && [ -x "$DIR/$SCRIPTDIR/$script" ] && source "$DIR/$SCRIPTDIR/$script"
+   done
+fi
+
 export GLOBAL_BUILD_NUMBER=$(kubectl --namespace $NAMESPACE exec  ${POD}  -- bash -c "ls -1q /share/logs/ | wc -l")
 OUTPUT_FOLDER=$(printf %04d $GLOBAL_BUILD_NUMBER)_demo_$key
 DISPLAY_NUM=$(($GLOBAL_BUILD_NUMBER + 90))
diff --git a/ete-k8s.sh b/ete-k8s.sh
index 9e17c5d..c048170 100755
--- a/ete-k8s.sh
+++ b/ete-k8s.sh
@@ -19,7 +19,7 @@
 # Please clean up logs when you are done...
 #
 if [ "$1" == "" ] || [ "$2" == "" ]; then
-   echo "Usage: ete-k8s.sh [namespace] [tag] [loadScript]"
+   echo "Usage: ete-k8s.sh [namespace] [tag] [execscript]"
    echo ""
    echo "  List of test case tags (filename for intent: tag)"
    echo ""
@@ -36,23 +36,25 @@
    echo "                      health-so, health-uui, health-vfc, health-vid, health-vnfsdk, healthdist, healthlogin, healthmr,"
    echo "                      healthportalapp, multicloud, oom"
    echo ""
-   echo " hvves.robot: HVVES, ete"
+   echo "  hvves.robot: HVVES, ete"
    echo ""
-   echo " model-distribution-vcpe.robot: distributevCPEResCust"
+   echo "  model-distribution-vcpe.robot: distributevCPEResCust"
    echo ""
-   echo " model-distribution.robot: distribute, distributeVFWDT, distributeVLB"
+   echo "  model-distribution.robot: distribute, distributeVFWDT, distributeVLB"
    echo ""
-   echo " oof-*.robot: cmso, has, homing"
+   echo "  oof-*.robot: cmso, has, homing"
    echo ""
-   echo " pnf-registration.robot: ete, pnf_registrate"
+   echo "  pnf-registration.robot: ete, pnf_registrate"
    echo ""
-   echo " post-install-tests.robot dmaapacl, postinstall"
+   echo "  post-install-tests.robot dmaapacl, postinstall"
    echo ""
-   echo " update_onap_page.robot: UpdateWebPage"
+   echo "  update_onap_page.robot: UpdateWebPage"
    echo ""
-   echo " vnf-orchestration-direct-so.robot: instantiateVFWdirectso"
+   echo "  vnf-orchestration-direct-so.robot: instantiateVFWdirectso"
    echo ""
-   echo " vnf-orchestration.robot: instantiate, instantiateNoDelete, stability72hr"
+   echo "  vnf-orchestration.robot: instantiate, instantiateNoDelete, stability72hr"
+   echo ""
+   echo "  [execscript] - optional parameter to execute user custom scripts located in scripts/etescript directory"
    exit
 fi
 
@@ -65,16 +67,16 @@
 TAGS="-i $2"
 
 DIR=$(dirname "$0")
-ETESCRIPTDIR=etescripts
-ETESCRIPTEXEC=${3:-}
+SCRIPTDIR=scripts/etescript
 
-if [[ "$2" == "ete" ]] && [[ "$ETESCRIPTEXEC" == "loadScript" ]]; then
-   for script in $(ls -1 "$DIR/$ETESCRIPTDIR"); do
-      [ -f "$DIR/$ETESCRIPTDIR/$script" ] && [ -x "$DIR/$ETESCRIPTDIR/$script" ] && "$DIR/$ETESCRIPTDIR/$script"
+ETEHOME=/var/opt/ONAP
+
+if [[ "${!#}" == "execscript" ]]; then
+   for script in $(ls -1 "$DIR/$SCRIPTDIR"); do
+      [ -f "$DIR/$SCRIPTDIR/$script" ] && [ -x "$DIR/$SCRIPTDIR/$script" ] && source "$DIR/$SCRIPTDIR/$script"
    done
 fi
 
-ETEHOME=/var/opt/ONAP
 export GLOBAL_BUILD_NUMBER=$(kubectl --namespace $NAMESPACE exec  ${POD}  -- bash -c "ls -1q /share/logs/ | wc -l")
 OUTPUT_FOLDER=$(printf %04d $GLOBAL_BUILD_NUMBER)_ete_$2
 DISPLAY_NUM=$(($GLOBAL_BUILD_NUMBER + 90))
diff --git a/eteHelm-k8s.sh b/eteHelm-k8s.sh
index 0895208..9f8cbb2 100755
--- a/eteHelm-k8s.sh
+++ b/eteHelm-k8s.sh
@@ -19,8 +19,9 @@
 # Please clean up logs when you are done...
 #
 if [ "$1" == "" ] ;  then
-   echo "Usage: eteHelm-k8s.sh [namespace]"
+   echo "Usage: eteHelm-k8s.sh [namespace] [execscript]"
    echo " list projects via helm list and runs health-check with those tags except dev and dev-consul"
+   echo " [execscript] - optional parameter to execute user custom scripts located in scripts/helmscript directory"
    exit
 fi
 
@@ -38,8 +39,17 @@
 TAGS="$TAGS -i $project"
 done
 
+DIR=$(dirname "$0")
+SCRIPTDIR=scripts/helmscript
 
 ETEHOME=/var/opt/ONAP
+
+if [[ "${!#}" == "execscript" ]]; then
+   for script in $(ls -1 "$DIR/$SCRIPTDIR"); do
+      [ -f "$DIR/$SCRIPTDIR/$script" ] && [ -x "$DIR/$SCRIPTDIR/$script" ] && source "$DIR/$SCRIPTDIR/$script"
+   done
+fi
+
 export GLOBAL_BUILD_NUMBER=$(kubectl --namespace $NAMESPACE exec  ${POD}  -- bash -c "ls -1q /share/logs/ | wc -l")
 OUTPUT_FOLDER=$(printf %04d $GLOBAL_BUILD_NUMBER)_ete_helmlist
 DISPLAY_NUM=$(($GLOBAL_BUILD_NUMBER + 90))
diff --git a/etescripts/README b/etescripts/README
deleted file mode 100644
index d620838..0000000
--- a/etescripts/README
+++ /dev/null
@@ -1 +0,0 @@
-Directory contains scripts that will be run before 'ete' robot testcases execution.
diff --git a/scripts/demoscript/README b/scripts/demoscript/README
new file mode 100644
index 0000000..aad63f4
--- /dev/null
+++ b/scripts/demoscript/README
@@ -0,0 +1 @@
+Directory contains scripts that will be run before 'demo' tests.
diff --git a/scripts/etescript/README b/scripts/etescript/README
new file mode 100644
index 0000000..380787e
--- /dev/null
+++ b/scripts/etescript/README
@@ -0,0 +1 @@
+Directory contains scripts that will be run before 'ete' tests.
diff --git a/scripts/etescript/hvves-etescript.sh b/scripts/etescript/hvves-etescript.sh
new file mode 100755
index 0000000..5d22c4b
--- /dev/null
+++ b/scripts/etescript/hvves-etescript.sh
@@ -0,0 +1,77 @@
+# Copyright © 2019 Nokia
+#
+# 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.
+
+#!/bin/bash
+
+#
+# Generate HV-VES SSL related certs.
+# Copy the stuff to HV-VES and Robot pods.
+#
+
+
+HVVESPOD=$(kubectl -n $NAMESPACE get pods --no-headers=true -o custom-columns=:metadata.name | grep hv-ves)
+
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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:
+}
+
+copy_server_certs_to_hvves () {
+	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
+                kubectl cp $1/$f $2/$3:$4
+        done
+}
+
+cleanup () {
+	rm -f $1/{ca,server,client}.???
+}
+
+
+generate_ca_key_cert "$DIR/$SCRIPTDIR"
+generate_server_key_csr "$DIR/$SCRIPTDIR"
+generate_client_key_csr "$DIR/$SCRIPTDIR"
+sign_server_and_client_cert "$DIR/$SCRIPTDIR"
+create_pkcs12_ca_and_server "$DIR/$SCRIPTDIR"
+copy_server_certs_to_hvves "$DIR/$SCRIPTDIR" "$NAMESPACE" "$HVVESPOD" "/tmp"
+copy_client_certs_to_robot "$DIR/$SCRIPTDIR" "$NAMESPACE" "$POD" "/tmp"
+cleanup "$DIR/$SCRIPTDIR"
diff --git a/scripts/helmscript/README b/scripts/helmscript/README
new file mode 100644
index 0000000..7666bf5
--- /dev/null
+++ b/scripts/helmscript/README
@@ -0,0 +1 @@
+Directory contains scripts that will be run before 'eteHelm' tests.