From c00c687517d3d764378f54775f0b6a664c1ca221 Mon Sep 17 00:00:00 2001 From: Mandeep Khinda Date: Thu, 26 Oct 2017 17:46:43 +0000 Subject: bringing robot up to date with 1.1 -updates to various files that have changed in the VM version -OpenO support (test success requires kube2msb and msb to be working) -removed un-used -docker.sh scripts (I don't find them useful so I am proposing to removing them here) -updates to SDNC preload eliminates some old parameter subst. we were doing. -With these change and a temporary tweak to kube2msb that points it to a rancher server (kubeMasterUrl) robot results are pretty much on par with my VM deployment of ONAP: ============================================================================== OpenECOMP ETE | FAIL | 31 critical tests, 25 passed, 6 failed Issue-ID: OOM-382 Change-Id: I2e3bcfd6fce31b0e4de8b7d66be90c7490e04c5c Signed-off-by: Mandeep Khinda --- .../docker/init/src/config/robot/demo-docker.sh | 123 -------------------- .../docker/init/src/config/robot/demo-k8s.sh | 123 -------------------- .../docker/init/src/config/robot/ete-docker.sh | 20 ---- .../config/docker/init/src/config/robot/ete-k8s.sh | 23 ---- .../config/integration_preload_parameters.py | 107 ++++++++++++----- .../config/integration_robot_properties.py | 10 +- .../robot/eteshare/config/vm_config2robot.sh | 13 ++- .../config/robot/eteshare/config/vm_properties.py | 49 +++++++- .../asdc/base_clearwater/base_clearwater.env | 21 ---- .../robot/robot/assets/asdc/base_vfw/base_vfw.env | 4 - .../robot/robot/assets/asdc/base_vlb/base_vlb.env | 4 - .../robot/assets/asdc/base_vlb/dnsscaling.env | 4 - .../robot/robot/resources/asdc_interface.robot | 21 +++- .../robot/robot/resources/policy_interface.robot | 2 +- .../robot/robot/resources/sdngc_interface.robot | 29 ++++- kubernetes/robot/.helmignore | 7 ++ kubernetes/robot/demo-k8s.sh | 127 +++++++++++++++++++++ kubernetes/robot/ete-k8s.sh | 23 ++++ kubernetes/robot/templates/robot-deployment.yaml | 20 ---- 19 files changed, 339 insertions(+), 391 deletions(-) delete mode 100755 kubernetes/config/docker/init/src/config/robot/demo-docker.sh delete mode 100755 kubernetes/config/docker/init/src/config/robot/demo-k8s.sh delete mode 100755 kubernetes/config/docker/init/src/config/robot/ete-docker.sh delete mode 100755 kubernetes/config/docker/init/src/config/robot/ete-k8s.sh delete mode 100644 kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_clearwater/base_clearwater.env delete mode 100644 kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/base_vfw.env delete mode 100644 kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/base_vlb.env delete mode 100644 kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/dnsscaling.env create mode 100644 kubernetes/robot/.helmignore create mode 100755 kubernetes/robot/demo-k8s.sh create mode 100755 kubernetes/robot/ete-k8s.sh diff --git a/kubernetes/config/docker/init/src/config/robot/demo-docker.sh b/kubernetes/config/docker/init/src/config/robot/demo-docker.sh deleted file mode 100755 index 2d9c6e4e9d..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/demo-docker.sh +++ /dev/null @@ -1,123 +0,0 @@ -#!/bin/bash - -# -# Execute tags built to support the hands on demo, -# -function usage -{ - echo "Usage: demo.sh []" - echo " " - echo " demo.sh init" - echo " - Execute both init_customer + distribute" - echo " " - echo " demo.sh init_customer" - echo " - Create demo customer (Demonstration) and services, etc." - echo " " - echo " demo.sh distribute" - echo " - Distribute demo models (demoVFW and demoVLB)" - echo " " - echo " demo.sh preload " - echo " - Preload data for VNF for the " - echo " " - echo " demo.sh appc " - echo " - provide APPC with vFW module mount point for closed loop" - echo " " - echo " demo.sh init_robot" - echo " - Initialize robot after all ONAP VMs have started" - echo " " - echo " demo.sh instantiateVFW" - echo " - Instantiate vFW module for the a demo customer (DemoCust)" - echo " " - echo " demo.sh deleteVNF " - echo " - Delete the module created by instantiateVFW" -} - -# Set the defaults -if [ $# -eq 0 ];then - usage - exit -fi -## -## if more than 1 tag is supplied, the must be provided with -i or -e -## -while [ $# -gt 0 ] -do - key="$1" - - case $key in - init_robot) - TAG="UpdateWebPage" - read -s -p "WEB Site Password for user 'test': " WEB_PASSWORD - if [ "$WEB_PASSWORD" = "" ]; then - echo "" - echo "WEB Password is required for user 'test'" - exit - fi - VARIABLES="$VARIABLES -v WEB_PASSWORD:$WEB_PASSWORD" - shift - ;; - init) - TAG="InitDemo" - shift - ;; - init_customer) - TAG="InitCustomer" - shift - ;; - distribute) - TAG="InitDistribution" - shift - ;; - preload) - TAG="PreloadDemo" - shift - if [ $# -ne 2 ];then - echo "Usage: demo.sh preload " - 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.sh appc " - exit - fi - VARIABLES="$VARIABLES -v MODULE_NAME:$1" - shift - ;; - instantiateVFW) - TAG="instantiateVFW" - VARIABLES="$VARIABLES -v GLOBAL_BUILD_NUMBER:$$" - shift - ;; - deleteVNF) - TAG="deleteVNF" - shift - if [ $# -ne 1 ];then - echo "Usage: demo.sh deleteVNF " - exit - fi - VARFILE=$1.py - if [ -e /opt/eteshare/${VARFILE} ]; then - VARIABLES="$VARIABLES -V /share/${VARFILE}" - else - echo "Cache file ${VARFILE} is not found" - exit - fi - shift - ;; - *) - usage - exit - esac -done - -ETEHOME=/var/opt/OpenECOMP_ETE -VARIABLEFILES="-V /share/config/vm_properties.py -V /share/config/integration_robot_properties.py -V /share/config/integration_preload_parameters.py" -CONTAINER_ID=`docker ps |grep robot |grep onap-robot|grep -v gcr|awk '{print $1}'` -docker exec ${CONTAINER_ID} ${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d ${ETEHOME}/html/logs/demo/${TAG} -i ${TAG} --display 89 2> ${TAG}.out diff --git a/kubernetes/config/docker/init/src/config/robot/demo-k8s.sh b/kubernetes/config/docker/init/src/config/robot/demo-k8s.sh deleted file mode 100755 index 8b56c8a39f..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/demo-k8s.sh +++ /dev/null @@ -1,123 +0,0 @@ -#!/bin/bash - -# -# Execute tags built to support the hands on demo, -# -function usage -{ - echo "Usage: demo.sh []" - echo " " - echo " demo.sh init" - echo " - Execute both init_customer + distribute" - echo " " - echo " demo.sh init_customer" - echo " - Create demo customer (Demonstration) and services, etc." - echo " " - echo " demo.sh distribute" - echo " - Distribute demo models (demoVFW and demoVLB)" - echo " " - echo " demo.sh preload " - echo " - Preload data for VNF for the " - echo " " - echo " demo.sh appc " - echo " - provide APPC with vFW module mount point for closed loop" - echo " " - echo " demo.sh init_robot" - echo " - Initialize robot after all ONAP VMs have started" - echo " " - echo " demo.sh instantiateVFW" - echo " - Instantiate vFW module for the a demo customer (DemoCust)" - echo " " - echo " demo.sh deleteVNF " - echo " - Delete the module created by instantiateVFW" -} - -# Set the defaults -if [ $# -eq 0 ];then - usage - exit -fi -## -## if more than 1 tag is supplied, the must be provided with -i or -e -## -while [ $# -gt 0 ] -do - key="$1" - - case $key in - init_robot) - TAG="UpdateWebPage" - read -s -p "WEB Site Password for user 'test': " WEB_PASSWORD - if [ "$WEB_PASSWORD" = "" ]; then - echo "" - echo "WEB Password is required for user 'test'" - exit - fi - VARIABLES="$VARIABLES -v WEB_PASSWORD:$WEB_PASSWORD" - shift - ;; - init) - TAG="InitDemo" - shift - ;; - init_customer) - TAG="InitCustomer" - shift - ;; - distribute) - TAG="InitDistribution" - shift - ;; - preload) - TAG="PreloadDemo" - shift - if [ $# -ne 2 ];then - echo "Usage: demo.sh preload " - 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.sh appc " - exit - fi - VARIABLES="$VARIABLES -v MODULE_NAME:$1" - shift - ;; - instantiateVFW) - TAG="instantiateVFW" - VARIABLES="$VARIABLES -v GLOBAL_BUILD_NUMBER:$$" - shift - ;; - deleteVNF) - TAG="deleteVNF" - shift - if [ $# -ne 1 ];then - echo "Usage: demo.sh deleteVNF " - exit - fi - VARFILE=$1.py - if [ -e /opt/eteshare/${VARFILE} ]; then - VARIABLES="$VARIABLES -V /share/${VARFILE}" - else - echo "Cache file ${VARFILE} is not found" - exit - fi - shift - ;; - *) - usage - exit - esac -done - -ETEHOME=/var/opt/OpenECOMP_ETE -VARIABLEFILES="-V /share/config/vm_properties.py -V /share/config/integration_robot_properties.py -V /share/config/integration_preload_parameters.py" -POD=$(kubectl --namespace onap-robot get pods | sed 's/ .*//'| grep robot) -kubectl --namespace onap-robot exec ${POD} -- ${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d ${ETEHOME}/html/logs/demo/${TAG} -i ${TAG} --display 89 2> ${TAG}.out diff --git a/kubernetes/config/docker/init/src/config/robot/ete-docker.sh b/kubernetes/config/docker/init/src/config/robot/ete-docker.sh deleted file mode 100755 index 48b568dd9a..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/ete-docker.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -# -# Run the testsuite for the passed tag. Valid tags are ete, health, closedloop, instantiate -# Please clean up logs when you are done... -# Note: Do not run multiple concurrent ete.sh as the --display is not parameterized and tests will collide -# -if [ "$1" == "" ];then - echo "Usage: ete.sh [ health | ete | closedloop | instantiate ]" - exit -fi - -export TAGS="-i $1" -export ETEHOME=/var/opt/OpenECOMP_ETE -export OUTPUT_FOLDER=ETE_$$ - -VARIABLEFILES="-V /share/config/vm_properties.py -V /share/config/integration_robot_properties.py -V /share/config/integration_preload_parameters.py" -VARIABLES="-v GLOBAL_BUILD_NUMBER:$$" -CONTAINER_ID=`docker ps |grep robot |grep onap-robot|grep -v gcr|awk '{print $1}'` -docker exec ${CONTAINER_ID} ${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d ${ETEHOME}/html/logs/ete/${OUTPUT_FOLDER} ${TAGS} --display 88 diff --git a/kubernetes/config/docker/init/src/config/robot/ete-k8s.sh b/kubernetes/config/docker/init/src/config/robot/ete-k8s.sh deleted file mode 100755 index 2c0fd6c383..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/ete-k8s.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -# -# Run the testsuite for the passed tag. Valid tags are ete, health, closedloop, instantiate -# Please clean up logs when you are done... -# Note: Do not run multiple concurrent ete.sh as the --display is not parameterized and tests will collide -# -if [ "$1" == "" ];then - echo "Usage: ete.sh [ health | ete | closedloop | instantiate ]" - exit -fi - -export TAGS="-i $1" -export ETEHOME=/var/opt/OpenECOMP_ETE -export OUTPUT_FOLDER=ETE_$$ - -VARIABLEFILES="-V /share/config/vm_properties.py -V /share/config/integration_robot_properties.py -V /share/config/integration_preload_parameters.py" -VARIABLES="-v GLOBAL_BUILD_NUMBER:$$" - -#docker exec openecompete_container ${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d /share/logs/${OUTPUT_FOLDER} ${TAGS} --display 88 - -POD=$(kubectl --namespace onap-robot get pods | sed 's/ .*//'| grep robot) -kubectl --namespace onap-robot exec ${POD} -- ${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d ${ETEHOME}/html/logs/ete/${OUTPUT_FOLDER} ${TAGS} --display 88 diff --git a/kubernetes/config/docker/init/src/config/robot/eteshare/config/integration_preload_parameters.py b/kubernetes/config/docker/init/src/config/robot/eteshare/config/integration_preload_parameters.py index 65c1711327..3826659fcd 100755 --- a/kubernetes/config/docker/init/src/config/robot/eteshare/config/integration_preload_parameters.py +++ b/kubernetes/config/docker/init/src/config/robot/eteshare/config/integration_preload_parameters.py @@ -6,15 +6,52 @@ GLOBAL_PRELOAD_PARAMETERS = { "repo_url_blob" : "https://nexus.onap.org/content/repositories/raw", "repo_url_artifacts" : "https://nexus.onap.org/content/groups/staging", "demo_artifacts_version" : "DEMO_ARTIFACTS_VERSION_HERE", - "ecomp_private_net_id" : "OPENSTACK_NETWORK_ID_WITH_ONAP_ROUTE_HERE", - "ecomp_private_subnet_id" : "OPENSTACK_SUBNET_ID_WITH_ONAP_ROUTE_HERE", - "ecomp_private_net_cidr" : "NETWORK_CIDR_WITH_ONAP_ROUTE_HERE", - - "dcae_collector_ip" : "192.168.176.225", - "dcae_collector_port" : "30241", - + "onap_private_net_id" : "OPENSTACK_NETWORK_ID_WITH_ONAP_ROUTE_HERE", + "onap_private_subnet_id" : "OPENSTACK_SUBNET_ID_WITH_ONAP_ROUTE_HERE", + "onap_private_net_cidr" : "NETWORK_CIDR_WITH_ONAP_ROUTE_HERE", + "dcae_collector_ip" : "10.0.4.102", + "dcae_collector_port" : "8080", + "public_net_id" : "OPENSTACK_PUBLIC_NET_ID_HERE", + "cloud_env" : "${cloud_env}", + "install_script_version" : "${install_script_version}", +### +# vims_preload same for every instantiation +### + "bono_image_name" : "${vm_image_name}", + "sprout_image_name" : "${vm_image_name}", + "homer_image_name" : "${vm_image_name}", + "homestead_image_name" : "${vm_image_name}", + "ralf_image_name" : "${vm_image_name}", + "ellis_image_name" : "${vm_image_name}", + "dns_image_name" : "${vm_image_name}", + "bono_flavor_name" : "${vm_flavor_name}", + "sprout_flavor_name" : "${vm_flavor_name}", + "homer_flavor_name" : "${vm_flavor_name}", + "homestead_flavor_name" : "${vm_flavor_name}", + "ralf_flavor_name" : "${vm_flavor_name}", + "ellis_flavor_name" : "${vm_flavor_name}", + "dns_flavor_name" : "${vm_flavor_name}", + "repo_url" : "http://repo.cw-ngv.com/stable", + "zone" : "me.cw-ngv.com", + "dn_range_start" : "2425550000", + "dn_range_length" : "10000", + "dnssec_key" : "9FPdYTWhk5+LbhrqtTPQKw==", +### +# vlb_preload same for every instantiation +### + "vlb_image_name" : "${vm_image_name}", + "vlb_flavor_name" : "${vm_flavor_name}", +### +# vlb_preload same for every instantiation +### + "vfw_image_name" : "${vm_image_name}", + "vfw_flavor_name" : "${vm_flavor_name}", +### }, + +### # heat template parameter values for heat template instances created during Vnf-Orchestration test cases +### "Vnf-Orchestration" : { "vfw_preload.template": { "unprotected_private_net_id" : "vofwl01_unprotected${hostid}", @@ -23,32 +60,36 @@ GLOBAL_PRELOAD_PARAMETERS = { "protected_private_net_cidr" : "192.168.20.0/24", "vfw_private_ip_0" : "192.168.10.100", "vfw_private_ip_1" : "192.168.20.100", - "vfw_private_ip_2" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.3", + "vfw_private_ip_2" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.1", "vpg_private_ip_0" : "192.168.10.200", - "vpg_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.4", + "vpg_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.2", "vsn_private_ip_0" : "192.168.20.250", - "vsn_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.5", + "vsn_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.3", 'vfw_name_0':'vofwl01fwl${hostid}', 'vpg_name_0':'vofwl01pgn${hostid}', - 'vsn_name_0':'vofwl01snk${hostid}', + 'vsn_name_0':'vofwl01snk${hostid}' }, "vlb_preload.template" : { "vlb_private_net_id" : "volb01_private${hostid}", "vlb_private_net_cidr" : "192.168.30.0/24", "vlb_private_ip_0" : "192.168.30.100", - "vlb_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.6", + "vlb_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.4", "vdns_private_ip_0" : "192.168.30.110", - "vdns_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.7", + "vdns_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.5", 'vlb_name_0':'vovlblb${hostid}', 'vdns_name_0':'vovlbdns${hostid}', + "vlb_private_net_cidr" : "192.168.10.0/24", + "pktgen_private_net_cidr" : "192.168.9.0/24" + }, "dnsscaling_preload.template" : { "vlb_private_net_id" : "volb01_private${hostid}", "vlb_private_ip_0" : "192.168.30.100", - "vlb_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.8", + "vlb_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.4", "vdns_private_ip_0" : "192.168.30.222", - "vdns_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.9", + "vdns_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.6", 'scaling_vdns_name_0':'vovlbscaling${hostid}', + "vlb_private_net_cidr" : "192.168.10.0/24" }, "vvg_preload.template" : { } @@ -62,32 +103,35 @@ GLOBAL_PRELOAD_PARAMETERS = { "protected_private_net_cidr" : "192.168.120.0/24", "vfw_private_ip_0" : "192.168.110.100", "vfw_private_ip_1" : "192.168.120.100", - "vfw_private_ip_2" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.10", + "vfw_private_ip_2" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.11", "vpg_private_ip_0" : "192.168.110.200", - "vpg_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.11", + "vpg_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.12", "vsn_private_ip_0" : "192.168.120.250", - "vsn_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.12", + "vsn_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.13", 'vfw_name_0':'clfwl01fwl${hostid}', 'vpg_name_0':'clfwl01pgn${hostid}', - 'vsn_name_0':'clfwl01snk${hostid}', + 'vsn_name_0':'clfwl01snk${hostid}' }, "vlb_preload.template" : { "vlb_private_net_id" : "cllb01_private${hostid}", "vlb_private_net_cidr" : "192.168.130.0/24", "vlb_private_ip_0" : "192.168.130.100", - "vlb_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.13", + "vlb_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.14", "vdns_private_ip_0" : "192.168.130.110", - "vdns_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.14", + "vdns_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.15", 'vlb_name_0':'clvlblb${hostid}', 'vdns_name_0':'clvlbdns${hostid}', + "vlb_private_net_cidr" : "192.168.10.0/24", + "pktgen_private_net_cidr" : "192.168.9.0/24" }, "dnsscaling_preload.template" : { "vlb_private_net_id" : "cllb01_private${hostid}", "vlb_private_ip_0" : "192.168.130.100", - "vlb_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.15", + "vlb_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.14", "vdns_private_ip_0" : "192.168.130.222", "vdns_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.16", 'scaling_vdns_name_0':'clvlbscaling${hostid}', + "vlb_private_net_cidr" : "192.168.10.0/24" }, "vvg_preload.template" : { } @@ -101,32 +145,35 @@ GLOBAL_PRELOAD_PARAMETERS = { "protected_private_net_cidr" : "192.168.120.0/24", "vfw_private_ip_0" : "192.168.110.100", "vfw_private_ip_1" : "192.168.120.100", - "vfw_private_ip_2" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.17", + "vfw_private_ip_2" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.11", "vpg_private_ip_0" : "192.168.110.200", - "vpg_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.18", + "vpg_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.12", "vsn_private_ip_0" : "192.168.120.250", - "vsn_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.19", + "vsn_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.13", 'vfw_name_0':'demofwl01fwl', 'vpg_name_0':'demofwl01pgn', - 'vsn_name_0':'demofwl01snk', + 'vsn_name_0':'demofwl01snk' }, "vlb_preload.template" : { "vlb_private_net_id" : "demolb_private", "vlb_private_net_cidr" : "192.168.130.0/24", "vlb_private_ip_0" : "192.168.130.100", - "vlb_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.20", + "vlb_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.14", "vdns_private_ip_0" : "192.168.130.110", - "vdns_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.21", + "vdns_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.15", 'vlb_name_0':'demovlblb', 'vdns_name_0':'demovlbdns', + "vlb_private_net_cidr" : "192.168.10.0/24", + "pktgen_private_net_cidr" : "192.168.9.0/24" }, "dnsscaling_preload.template" : { "vlb_private_net_id" : "demolb_private", "vlb_private_ip_0" : "192.168.130.100", - "vlb_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.22", + "vlb_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.14", "vdns_private_ip_0" : "192.168.130.222", - "vdns_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.23", + "vdns_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.16", 'scaling_vdns_name_0':'demovlbscaling', + "vlb_private_net_cidr" : "192.168.10.0/24" }, "vvg_preload.template" : { } diff --git a/kubernetes/config/docker/init/src/config/robot/eteshare/config/integration_robot_properties.py b/kubernetes/config/docker/init/src/config/robot/eteshare/config/integration_robot_properties.py index f1d0e98cc9..0bf67912d2 100755 --- a/kubernetes/config/docker/init/src/config/robot/eteshare/config/integration_robot_properties.py +++ b/kubernetes/config/docker/init/src/config/robot/eteshare/config/integration_robot_properties.py @@ -19,11 +19,17 @@ GLOBAL_ASDC_FE_PORT = "8181" GLOBAL_ASDC_BE_PORT = "8080" GLOBAL_ASDC_BE_USERNAME = "beep" GLOBAL_ASDC_BE_PASSWORD = "boop" +# clamp info - everything is from the private oam network (also called ecomp private network) +GLOBAL_CLAMP_SERVER_PROTOCOL = "http" +GLOBAL_CLAMP_SERVER_PORT = "8080" # dcae info - everything is from the private oam network (also called ecomp private network) GLOBAL_DCAE_SERVER_PROTOCOL = "http" -GLOBAL_DCAE_SERVER_PORT = "9998" +GLOBAL_DCAE_SERVER_PORT = "8080" GLOBAL_DCAE_USERNAME = "console" GLOBAL_DCAE_PASSWORD = "ZjJkYjllMjljMTI2M2Iz" +# microservice bus info - everything is from the private oam network (also called ecomp private network) +GLOBAL_MSB_SERVER_PROTOCOL = "http" +GLOBAL_MSB_SERVER_PORT = "80" # message router info - everything is from the private oam network (also called ecomp private network) GLOBAL_MR_SERVER_PROTOCOL = "http" GLOBAL_MR_SERVER_PORT = "3904" @@ -33,7 +39,6 @@ GLOBAL_MSO_SERVER_PORT = "8080" GLOBAL_MSO_USERNAME = "InfraPortalClient" GLOBAL_MSO_PASSWORD = "password1$" # openstack info - info to select right info in environment -GLOBAL_OPENSTACK_TENANT_NAME = "OPENSTACK_TENANT_NAME_HERE" # packet generate vnf info - everything is from the private oam network (also called ecomp private network) GLOBAL_PACKET_GENERATOR_PORT = "8183" GLOBAL_PACKET_GENERATOR_USERNAME = "admin" @@ -73,3 +78,4 @@ GLOBAL_VVGSERVER_IMAGE = "UBUNTU_14_IMAGE_NAME_HERE" GLOBAL_VVGSERVER_FLAVOR = "OPENSTACK_FLAVOUR_MEDIUM_HERE" # dns info GLOBAL_DNS_TRAFFIC_DURATION = "600" +GLOBAL_HEAT_TEMPLATES_FOLDER = "/share/heat" diff --git a/kubernetes/config/docker/init/src/config/robot/eteshare/config/vm_config2robot.sh b/kubernetes/config/docker/init/src/config/robot/eteshare/config/vm_config2robot.sh index 962eea86ec..c50fa5f491 100755 --- a/kubernetes/config/docker/init/src/config/robot/eteshare/config/vm_config2robot.sh +++ b/kubernetes/config/docker/init/src/config/robot/eteshare/config/vm_config2robot.sh @@ -6,14 +6,19 @@ CONFIG=/opt/config PROPERTIES=/opt/eteshare/config/vm_properties.py GLOBAL_VM_PROPERTIES="# File generated from /opt/config\n#\n" +HASH="GLOBAL_INJECTED_PROPERTIES={" +COMMA="" for f in `ls $CONFIG/*.txt`; do VALUE=`cat $f` NAME=${f%.*} NAME=${NAME##*/} - GLOBAL_VM_PROPERTIES=$"$GLOBAL_VM_PROPERTIES \"$NAME\" : \"$VALUE\",\n" + NAME=${NAME^^} + GLOBAL_VM_PROPERTIES=$"${GLOBAL_VM_PROPERTIES}GLOBAL_INJECTED_$NAME = \"$VALUE\"\n" + HASH=$"${HASH}${COMMA}\n\"GLOBAL_INJECTED_$NAME\" : \"$VALUE\"" + COMMA="," done -GLOBAL_VM_PROPERTIES=${GLOBAL_VM_PROPERTIES/%,\\n/\}} +HASH="${HASH}}\n" +GLOBAL_VM_PROPERTIES="${GLOBAL_VM_PROPERTIES}\n${HASH}" +GLOBAL_VM_PROPERTIES=${GLOBAL_VM_PROPERTIES} echo -e $GLOBAL_VM_PROPERTIES > $PROPERTIES -REGION=`cat $CONFIG/region.txt` -echo -e "\nGLOBAL_OPENSTACK_SERVICE_REGION = \"$REGION\"" >> /opt/eteshare/config/integration_robot_properties.py diff --git a/kubernetes/config/docker/init/src/config/robot/eteshare/config/vm_properties.py b/kubernetes/config/docker/init/src/config/robot/eteshare/config/vm_properties.py index 5601bdd560..f50aac973e 100755 --- a/kubernetes/config/docker/init/src/config/robot/eteshare/config/vm_properties.py +++ b/kubernetes/config/docker/init/src/config/robot/eteshare/config/vm_properties.py @@ -1,22 +1,25 @@ # File generated from /opt/config # GLOBAL_INJECTED_AAI1_IP_ADDR = "aai-service.onap-aai" -#GLOBAL_INJECTED_AAI2_IP_ADDR = "10.0.1.2" +#GLOBAL_INJECTED_AAI2_IP_ADDR = "N/A" GLOBAL_INJECTED_APPC_IP_ADDR = "sdnhost.onap-appc" GLOBAL_INJECTED_ARTIFACTS_VERSION = "1.1.0-SNAPSHOT" +GLOBAL_INJECTED_CLAMP_IP_ADDR = "clamp.onap-clamp" GLOBAL_INJECTED_CLOUD_ENV = "openstack" GLOBAL_INJECTED_DCAE_IP_ADDR = "dcae-controller.onap-dcae" GLOBAL_INJECTED_DNS_IP_ADDR = "10.0.100.1" GLOBAL_INJECTED_DOCKER_VERSION = "1.1-STAGING-latest" +#GLOBAL_INJECTED_EXTERNAL_DNS = "N/A" GLOBAL_INJECTED_GERRIT_BRANCH = "master" GLOBAL_INJECTED_KEYSTONE = "OPENSTACK_KEYSTONE_IP_HERE" GLOBAL_INJECTED_MR_IP_ADDR = "dmaap.onap-message-router" -GLOBAL_INJECTED_SO_IP_ADDR = "mso.onap-mso" +GLOBAL_INJECTED_MSO_IP_ADDR = "mso.onap-mso" GLOBAL_INJECTED_NETWORK = "OPENSTACK_NETWORK_ID_WITH_ONAP_ROUTE_HERE" GLOBAL_INJECTED_NEXUS_DOCKER_REPO = "nexus3.onap.org:10001" GLOBAL_INJECTED_NEXUS_PASSWORD = "docker" GLOBAL_INJECTED_NEXUS_REPO = "https://nexus.onap.org/content/sites/raw" GLOBAL_INJECTED_NEXUS_USERNAME = "docker" +GLOBAL_INJECTED_OPENO_IP_ADDR = "msb-iag.onap-msb" GLOBAL_INJECTED_OPENSTACK_PASSWORD = "OPENSTACK_PASSWORD_HERE" GLOBAL_INJECTED_OPENSTACK_TENANT_ID = "OPENSTACK_TENANT_ID_HERE" GLOBAL_INJECTED_OPENSTACK_USERNAME = "OPENSTACK_USERNAME_HERE" @@ -24,9 +27,51 @@ GLOBAL_INJECTED_POLICY_IP_ADDR = "pypdp.onap-policy" GLOBAL_INJECTED_POLICY_HEALTHCHECK_IP_ADDR = "drools.onap-policy" GLOBAL_INJECTED_PORTAL_IP_ADDR = "portalapps.onap-portal" GLOBAL_INJECTED_REGION = "OPENSTACK_REGION_HERE" +GLOBAL_INJECTED_REMOTE_REPO = "http://gerrit.onap.org/r/testsuite/properties.git" GLOBAL_INJECTED_SDC_FE_IP_ADDR = "sdc-fe.onap-sdc" GLOBAL_INJECTED_SDC_BE_IP_ADDR = "sdc-be.onap-sdc" GLOBAL_INJECTED_SDNC_IP_ADDR = "sdnhost.onap-sdnc" GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR = "sdnc-portal.onap-sdnc" +GLOBAL_INJECTED_SO_IP_ADDR = "mso.onap-mso" GLOBAL_INJECTED_VID_IP_ADDR = "vid-server.onap-vid" +GLOBAL_INJECTED_VM_FLAVOR = "OPENSTACK_FLAVOUR_MEDIUM_HERE" +GLOBAL_INJECTED_VM_IMAGE_NAME = "UBUNTU_14_IMAGE_NAME_HERE" +GLOBAL_INJECTED_PUBLIC_NET_ID = "OPENSTACK_PUBLIC_NET_ID_HERE" +GLOBAL_INJECTED_PROPERTIES = { + "GLOBAL_INJECTED_AAI1_IP_ADDR" : "aai-service.onap-aai", + "GLOBAL_INJECTED_APPC_IP_ADDR" : "sdnhost.onap-appc", + "GLOBAL_INJECTED_ARTIFACTS_VERSION" : "1.1.0-SNAPSHOT", + "GLOBAL_INJECTED_CLAMP_IP_ADDR" : "clamp.onap-clamp", + "GLOBAL_INJECTED_CLOUD_ENV" : "openstack", + "GLOBAL_INJECTED_DCAE_IP_ADDR" : "dcae-controller.onap-dcae", + "GLOBAL_INJECTED_DNS_IP_ADDR" : "10.0.100.1", + "GLOBAL_INJECTED_DOCKER_VERSION" : "1.1-STAGING-latest", + "GLOBAL_INJECTED_GERRIT_BRANCH" : "master", + "GLOBAL_INJECTED_KEYSTONE" : "OPENSTACK_KEYSTONE_IP_HERE", + "GLOBAL_INJECTED_MR_IP_ADDR" : "dmaap.onap-message-router", + "GLOBAL_INJECTED_MSO_IP_ADDR" : "mso.onap-mso", + "GLOBAL_INJECTED_NETWORK" : "OPENSTACK_NETWORK_ID_WITH_ONAP_ROUTE_HERE", + "GLOBAL_INJECTED_NEXUS_DOCKER_REPO" : "nexus3.onap.org:10001", + "GLOBAL_INJECTED_NEXUS_PASSWORD" : "docker", + "GLOBAL_INJECTED_NEXUS_REPO" : "https://nexus.onap.org/content/sites/raw", + "GLOBAL_INJECTED_NEXUS_USERNAME" : "docker", + "GLOBAL_INJECTED_OPENO_IP_ADDR" : "msb-iag.onap-msb", + "GLOBAL_INJECTED_OPENSTACK_PASSWORD" : "OPENSTACK_PASSWORD_HERE", + "GLOBAL_INJECTED_OPENSTACK_TENANT_ID" : "OPENSTACK_TENANT_ID_HERE", + "GLOBAL_INJECTED_OPENSTACK_USERNAME" : "OPENSTACK_USERNAME_HERE", + "GLOBAL_INJECTED_POLICY_IP_ADDR" : "pypdp.onap-policy", + "GLOBAL_INJECTED_POLICY_HEALTHCHECK_IP_ADDR" : "drools.onap-policy", + "GLOBAL_INJECTED_PORTAL_IP_ADDR" : "portalapps.onap-portal", + "GLOBAL_INJECTED_REGION" : "OPENSTACK_REGION_HERE", + "GLOBAL_INJECTED_REMOTE_REPO" : "http://gerrit.onap.org/r/testsuite/properties.git", + "GLOBAL_INJECTED_SDC_FE_IP_ADDR" : "sdc-fe.onap-sdc", + "GLOBAL_INJECTED_SDC_BE_IP_ADDR" : "sdc-be.onap-sdc", + "GLOBAL_INJECTED_SDNC_IP_ADDR" : "sdnhost.onap-sdnc", + "GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR" : "sdnc-portal.onap-sdnc", + "GLOBAL_INJECTED_SO_IP_ADDR" : "mso.onap-mso", + "GLOBAL_INJECTED_VID_IP_ADDR" : "vid-server.onap-vid", + "GLOBAL_INJECTED_VM_FLAVOR" : "OPENSTACK_FLAVOUR_MEDIUM_HERE", + "GLOBAL_INJECTED_VM_IMAGE_NAME" : "UBUNTU_14_IMAGE_NAME_HERE", + "GLOBAL_INJECTED_PUBLIC_NET_ID" : "OPENSTACK_PUBLIC_NET_ID_HERE" +} diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_clearwater/base_clearwater.env b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_clearwater/base_clearwater.env deleted file mode 100644 index 5c2330efcd..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_clearwater/base_clearwater.env +++ /dev/null @@ -1,21 +0,0 @@ -parameters: - public_net_id: OPENSTACK_PUBLIC_NET_ID_HERE - bono_flavor_name: OPENSTACK_FLAVOUR_MEDIUM_HERE - sprout_flavor_name: OPENSTACK_FLAVOUR_MEDIUM_HERE - homer_flavor_name: OPENSTACK_FLAVOUR_MEDIUM_HERE - homestead_flavor_name: OPENSTACK_FLAVOUR_MEDIUM_HERE - ralf_flavor_name: OPENSTACK_FLAVOUR_MEDIUM_HERE - ellis_flavor_name: OPENSTACK_FLAVOUR_MEDIUM_HERE - dns_flavor_name: OPENSTACK_FLAVOUR_MEDIUM_HERE - bono_image_name: UBUNTU_14_IMAGE_NAME_HERE - sprout_image_name: UBUNTU_14_IMAGE_NAME_HERE - homer_image_name: UBUNTU_14_IMAGE_NAME_HERE - homestead_image_name: UBUNTU_14_IMAGE_NAME_HERE - ralf_image_name: UBUNTU_14_IMAGE_NAME_HERE - ellis_image_name: UBUNTU_14_IMAGE_NAME_HERE - dns_image_name: UBUNTU_14_IMAGE_NAME_HERE - repo_url: http://repo.cw-ngv.com/stable - zone: me.cw-ngv.com - dn_range_start: "2425550000" - dn_range_length: "10000" - dnssec_key: 9FPdYTWhk5+LbhrqtTPQKw== \ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/base_vfw.env b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/base_vfw.env deleted file mode 100644 index 1d09525ef0..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/base_vfw.env +++ /dev/null @@ -1,4 +0,0 @@ -parameters: - vfw_image_name: UBUNTU_14_IMAGE_NAME_HERE - vfw_flavor_name: OPENSTACK_FLAVOUR_MEDIUM_HERE - public_net_id: OPENSTACK_PUBLIC_NET_ID_HERE \ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/base_vlb.env b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/base_vlb.env deleted file mode 100644 index e889ecc860..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/base_vlb.env +++ /dev/null @@ -1,4 +0,0 @@ -parameters: - vlb_image_name: UBUNTU_14_IMAGE_NAME_HERE - vlb_flavor_name: OPENSTACK_FLAVOUR_MEDIUM_HERE - public_net_id: OPENSTACK_PUBLIC_NET_ID_HERE \ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/dnsscaling.env b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/dnsscaling.env deleted file mode 100644 index e889ecc860..0000000000 --- a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/dnsscaling.env +++ /dev/null @@ -1,4 +0,0 @@ -parameters: - vlb_image_name: UBUNTU_14_IMAGE_NAME_HERE - vlb_flavor_name: OPENSTACK_FLAVOUR_MEDIUM_HERE - public_net_id: OPENSTACK_PUBLIC_NET_ID_HERE \ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/asdc_interface.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/asdc_interface.robot index 72407defe5..3020603ef8 100644 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/asdc_interface.robot +++ b/kubernetes/config/docker/init/src/config/robot/robot/resources/asdc_interface.robot @@ -68,8 +68,9 @@ Distribute Model From ASDC Distribute ASDC Catalog Service ${catalog_service_id} ${catalog_service_resp}= Get ASDC Catalog Service ${catalog_service_id} ${vf_module}= Find Element In Array ${loop_catalog_resource_resp['groups']} type org.openecomp.groups.VfModule - [Return] ${catalog_service_resp['name']} ${loop_catalog_resource_resp['name']} ${vf_module} ${catalog_resource_ids} ${catalog_service_id} Check Catalog Service Distributed ${catalog_service_resp['uuid']} + [Return] ${catalog_service_resp['name']} ${loop_catalog_resource_resp['name']} ${vf_module} ${catalog_resource_ids} ${catalog_service_id} + Setup ASDC Catalog Resource [Documentation] Creates all the steps a vf needs for an asdc catalog resource and returns the id [Arguments] ${model_zip_path} @@ -289,13 +290,15 @@ Certify ASDC Catalog Resource ${resp}= Run ASDC Post Request ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id}${ASDC_CATALOG_LIFECYCLE_PATH}/certify ${data} ${ASDC_TESTER_USER_ID} Should Be Equal As Strings ${resp.status_code} 200 [Return] ${resp.json()['uniqueId']} + Upload ASDC Heat Package [Documentation] Creates an asdc Software Product and returns its id [Arguments] ${software_product_id} ${file_path} ${version_id}=0.1 - ${file}= Get Binary File ${file_path} - ${files}= Create Dictionary upload=${file} + ${files}= Create Dictionary + Create Multi Part ${files} upload ${file_path} contentType=application/zip ${resp}= Run ASDC Post Files Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${software_product_id}/versions/${version_id}${ASDC_VENDOR_SOFTWARE_UPLOAD_PATH} ${files} ${ASDC_DESIGNER_USER_ID} Should Be Equal As Strings ${resp.status_code} 200 + Add ASDC Catalog Service [Documentation] Creates an asdc Catalog Service and returns its id [Arguments] ${catalog_service_name} @@ -431,6 +434,7 @@ Run ASDC Put Request ${resp}= Put Request asdc ${data_path} data=${data} headers=${headers} Log Received response from asdc ${resp.text} [Return] ${resp} + Run ASDC Post Files Request [Documentation] Runs an ASDC post request [Arguments] ${data_path} ${files} ${user}=${ASDC_DESIGNER_USER_ID} @@ -442,6 +446,7 @@ Run ASDC Post Files Request ${resp}= Post Request asdc ${data_path} files=${files} headers=${headers} Log Received response from asdc ${resp.text} [Return] ${resp} + Run ASDC Post Request [Documentation] Runs an ASDC post request [Arguments] ${data_path} ${data} ${user}=${ASDC_DESIGNER_USER_ID} @@ -471,9 +476,17 @@ Open ASDC GUI ##Setup Browser Go To ${ASDC_FE_ENDPOINT}${PATH} Maximize Browser Window - Set Selenium Speed ${GLOBAL_SELENIUM_DELAY} + Set Browser Implicit Wait ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT} Log Logging in to ${ASDC_FE_ENDPOINT}${PATH} Title Should Be ASDC Wait Until Page Contains Element xpath=//div/a[text()='SDC'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Log Logged in to ${ASDC_FE_ENDPOINT}${PATH} + + +Create Multi Part + [Arguments] ${addTo} ${partName} ${filePath} ${contentType}=${None} + ${fileData}= Get Binary File ${filePath} + ${fileDir} ${fileName}= Split Path ${filePath} + ${partData}= Create List ${fileName} ${fileData} ${contentType} + Set To Dictionary ${addTo} ${partName}=${partData} diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/policy_interface.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/policy_interface.robot index 4798c91d60..6887ce6b56 100644 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/policy_interface.robot +++ b/kubernetes/config/docker/init/src/config/robot/robot/resources/policy_interface.robot @@ -57,4 +57,4 @@ Run Policy Get Configs Request ${headers}= Create Dictionary Accept=application/json Content-Type=application/json Authorization=Basic ${GLOBAL_POLICY_AUTH} ClientAuth=${GLOBAL_POLICY_CLIENTAUTH} ${resp}= Post Request policy ${data_path} data=${data} headers=${headers} Log Received response from policy ${resp.text} - [Return] ${resp} + [Return] ${resp} \ No newline at end of file diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/sdngc_interface.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/sdngc_interface.robot index a2693b8fba..07a8445221 100644 --- a/kubernetes/config/docker/init/src/config/robot/robot/resources/sdngc_interface.robot +++ b/kubernetes/config/docker/init/src/config/robot/robot/resources/sdngc_interface.robot @@ -111,13 +111,12 @@ Get From Mapping ${vf_module_name}= Get From DIctionary ${vf_module} name :for ${template} in @{templates} \ Return From Keyword If '${template['name_pattern']}' in '${vf_module_name}' ${template} - [Return] None - - + [Return] None + Preload One Vnf Topology [Arguments] ${service_type_uuid} ${generic_vnf_name} ${generic_vnf_type} ${vf_module_name} ${vf_module_type} ${service} ${filename} ${uuid} Return From Keyword If '${filename}' == '' - ${data_template}= OperatingSystem.Get File ${PRELOAD_VNF_TOPOLOGY_OPERATION_BODY}/${filename} + ${data_template}= OperatingSystem.Get File ${PRELOAD_VNF_TOPOLOGY_OPERATION_BODY}/preload.template ${parameters}= Get Template Parameters ${filename} ${uuid} Set To Dictionary ${parameters} generic_vnf_name=${generic_vnf_name} generic_vnf_type=${generic_vnf_type} service_type=${service_type_uuid} vf_module_name=${vf_module_name} vf_module_type=${vf_module_type} uuid=${uuid} ${data}= Fill JSON Template ${data_template} ${parameters} @@ -136,6 +135,11 @@ Get Template Parameters ${valuemap}= Create Dictionary Set To Dictionary ${valuemap} artifacts_version=${GLOBAL_INJECTED_ARTIFACTS_VERSION} Set To Dictionary ${valuemap} network=${GLOBAL_INJECTED_NETWORK} + Set To Dictionary ${valuemap} public_net_id=${GLOBAL_INJECTED_PUBLIC_NET_ID} + Set To Dictionary ${valuemap} cloud_env=${GLOBAL_INJECTED_CLOUD_ENV} + Set To Dictionary ${valuemap} install_script_version=${GLOBAL_INJECTED_INSTALL_SCRIPT_VERSION} + Set To Dictionary ${valuemap} vm_image_name=${GLOBAL_INJECTED_VM_IMAGE_NAME} + Set To Dictionary ${valuemap} vm_flavor_name=${GLOBAL_INJECTED_VM_FLAVOR_NAME} # update the value map with unique values. Set To Dictionary ${valuemap} uuid=${uuid} hostid=${hostid} ecompnet=${ecompnet} ${parameters}= Create Dictionary @@ -143,7 +147,9 @@ Get Template Parameters Resolve Values Into Dictionary ${valuemap} ${defaults} ${parameters} ${suite_templates}= Get From Dictionary ${GLOBAL_PRELOAD_PARAMETERS} ${suite} ${template}= Get From Dictionary ${suite_templates} ${template} - Resolve Values Into Dictionary ${valuemap} ${template} ${parameters} + ${vnf_parameters}= Resolve VNF Parameters Into Array ${valuemap} ${template} ${parameters} + ${vnf_parameters_json}= Evaluate json.dumps(${vnf_parameters}) json + Set To Dictionary ${parameters} vnf_parameters=${vnf_parameters_json} [Return] ${parameters} Resolve Values Into Dictionary @@ -153,6 +159,17 @@ Resolve Values Into Dictionary \ ${value}= Get From Dictionary ${from} ${key} \ ${value}= Template String ${value} ${valuemap} \ Set To Dictionary ${to} ${key} ${value} + +Resolve VNF Parameters Into Array + [Arguments] ${valuemap} ${from} ${to} + ${vnf_parameters}= Create List + ${keys}= Get Dictionary Keys ${from} + :for ${key} in @{keys} + \ ${value}= Get From Dictionary ${from} ${key} + \ ${value}= Template String ${value} ${valuemap} + \ ${parameter}= Create Dictionary vnf-parameter-name=${key} vnf-parameter-value=${value} + \ Append To List ${vnf_parameters} ${parameter} + [Return] ${vnf_parameters} Preload Vnf Profile [Arguments] ${vnf_name} @@ -202,4 +219,4 @@ Login To SDNGC Admin GUI Input Password xpath=//input[@id='password'] ${shortened_uuid} Click Button xpath=//button[@type='submit'] Title Should Be SDN-C AdminPortal - Log Logged in to ${SDNGC_ADMIN_LOGIN_URL} + Log Logged in to ${SDNGC_ADMIN_LOGIN_URL} \ No newline at end of file diff --git a/kubernetes/robot/.helmignore b/kubernetes/robot/.helmignore new file mode 100644 index 0000000000..586046af66 --- /dev/null +++ b/kubernetes/robot/.helmignore @@ -0,0 +1,7 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. + +# k8s scripts +ete-k8s.sh +demo-k8s.sh diff --git a/kubernetes/robot/demo-k8s.sh b/kubernetes/robot/demo-k8s.sh new file mode 100755 index 0000000000..a870972ed6 --- /dev/null +++ b/kubernetes/robot/demo-k8s.sh @@ -0,0 +1,127 @@ +#!/bin/bash + +# +# Execute tags built to support the hands on demo, +# +function usage +{ + echo "Usage: demo.sh []" + echo " " + echo " demo.sh init" + echo " - Execute both init_customer + distribute" + echo " " + echo " demo.sh init_customer" + echo " - Create demo customer (Demonstration) and services, etc." + echo " " + echo " demo.sh distribute []" + echo " - Distribute demo models (demoVFW and demoVLB)" + echo " " + echo " demo.sh preload " + echo " - Preload data for VNF for the " + echo " " + echo " demo.sh appc " + echo " - provide APPC with vFW module mount point for closed loop" + echo " " + echo " demo.sh init_robot" + echo " - Initialize robot after all ONAP VMs have started" + echo " " + echo " demo.sh instantiateVFW" + echo " - Instantiate vFW module for the a demo customer (DemoCust)" + echo " " + echo " demo.sh deleteVNF " + echo " - Delete the module created by instantiateVFW" +} + +# Set the defaults +if [ $# -eq 0 ];then + usage + exit +fi +## +## if more than 1 tag is supplied, the must be provided with -i or -e +## +while [ $# -gt 0 ] +do + key="$1" + + case $key in + init_robot) + TAG="UpdateWebPage" + read -s -p "WEB Site Password for user 'test': " WEB_PASSWORD + if [ "$WEB_PASSWORD" = "" ]; then + echo "" + echo "WEB Password is required for user 'test'" + exit + fi + VARIABLES="$VARIABLES -v WEB_PASSWORD:$WEB_PASSWORD" + shift + ;; + init) + TAG="InitDemo" + 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.sh preload " + 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.sh appc " + exit + fi + VARIABLES="$VARIABLES -v MODULE_NAME:$1" + shift + ;; + instantiateVFW) + TAG="instantiateVFW" + VARIABLES="$VARIABLES -v GLOBAL_BUILD_NUMBER:$$" + shift + ;; + deleteVNF) + TAG="deleteVNF" + shift + if [ $# -ne 1 ];then + echo "Usage: demo.sh deleteVNF " + exit + fi + VARFILE=$1.py + if [ -e /opt/eteshare/${VARFILE} ]; then + VARIABLES="$VARIABLES -V /share/${VARFILE}" + else + echo "Cache file ${VARFILE} is not found" + exit + fi + shift + ;; + *) + usage + exit + esac +done + +ETEHOME=/var/opt/OpenECOMP_ETE +VARIABLEFILES="-V /share/config/vm_properties.py -V /share/config/integration_robot_properties.py -V /share/config/integration_preload_parameters.py" +POD=$(kubectl --namespace onap-robot get pods | sed 's/ .*//'| grep robot) +kubectl --namespace onap-robot exec ${POD} -- ${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d ${ETEHOME}/html/logs/demo/${TAG} -i ${TAG} --display 89 2> ${TAG}.out diff --git a/kubernetes/robot/ete-k8s.sh b/kubernetes/robot/ete-k8s.sh new file mode 100755 index 0000000000..26eedc97f7 --- /dev/null +++ b/kubernetes/robot/ete-k8s.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +# +# Run the testsuite for the passed tag. Valid tags are ete, health, closedloop, instantiate +# Please clean up logs when you are done... +# Note: Do not run multiple concurrent ete.sh as the --display is not parameterized and tests will collide +# +if [ "$1" == "" ];then + echo "Usage: ete.sh [ health | ete | closedloop | instantiate | distribute ]" + exit +fi + +export TAGS="-i $1" +export ETEHOME=/var/opt/OpenECOMP_ETE +export OUTPUT_FOLDER=ETE_$$ + +VARIABLEFILES="-V /share/config/vm_properties.py -V /share/config/integration_robot_properties.py -V /share/config/integration_preload_parameters.py" +VARIABLES="-v GLOBAL_BUILD_NUMBER:$$" + +#docker exec openecompete_container ${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d /share/logs/${OUTPUT_FOLDER} ${TAGS} --display 88 + +POD=$(kubectl --namespace onap-robot get pods | sed 's/ .*//'| grep robot) +kubectl --namespace onap-robot exec ${POD} -- ${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d ${ETEHOME}/html/logs/ete/${OUTPUT_FOLDER} ${TAGS} --display 88 diff --git a/kubernetes/robot/templates/robot-deployment.yaml b/kubernetes/robot/templates/robot-deployment.yaml index 561d795287..5130955919 100644 --- a/kubernetes/robot/templates/robot-deployment.yaml +++ b/kubernetes/robot/templates/robot-deployment.yaml @@ -32,14 +32,6 @@ spec: mountPath: /var/opt/OpenECOMP_ETE/robot/resources/sdngc_interface.robot - name: lighttpd-authorization mountPath: /etc/lighttpd/authorization - - name: robot-assets-asdc-base-clearwater-env - mountPath: /var/opt/OpenECOMP_ETE/robot/assets/asdc/base_clearwater/base_clearwater.env - - name: robot-assets-asdc-base-vfw-env - mountPath: /var/opt/OpenECOMP_ETE/robot/assets/asdc/base_vfw/base_vfw.env - - name: robot-assets-asdc-base-vlb-env - mountPath: /var/opt/OpenECOMP_ETE/robot/assets/asdc/base_vlb/base_vlb.env - - name: robot-assets-asdc-base-vlb-dns-env - mountPath: /var/opt/OpenECOMP_ETE/robot/assets/asdc/base_vlb/dnsscaling.env ports: - containerPort: 88 readinessProbe: @@ -66,18 +58,6 @@ spec: - name: lighttpd-authorization hostPath: path: /dockerdata-nfs/{{ .Values.nsPrefix }}/robot/authorization - - name: robot-assets-asdc-base-clearwater-env - hostPath: - path: /dockerdata-nfs/{{ .Values.nsPrefix }}/robot/robot/assets/asdc/base_clearwater/base_clearwater.env - - name: robot-assets-asdc-base-vfw-env - hostPath: - path: /dockerdata-nfs/{{ .Values.nsPrefix }}/robot/robot/assets/asdc/base_vfw/base_vfw.env - - name: robot-assets-asdc-base-vlb-env - hostPath: - path: /dockerdata-nfs/{{ .Values.nsPrefix }}/robot/robot/assets/asdc/base_vlb/base_vlb.env - - name: robot-assets-asdc-base-vlb-dns-env - hostPath: - path: /dockerdata-nfs/{{ .Values.nsPrefix }}/robot/robot/assets/asdc/base_vlb/dnsscaling.env imagePullSecrets: - name: "{{ .Values.nsPrefix }}-docker-registry-key" #{{ end }} \ No newline at end of file -- cgit 1.2.3-korg