aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMandeep Khinda <mandeep.khinda@amdocs.com>2018-04-17 03:26:26 +0000
committerMandeep Khinda <mandeep.khinda@amdocs.com>2018-04-17 13:59:30 +0000
commit15b8fc55f8c290f83a32fdd4d4200b3f99915e5b (patch)
treee9b6d49d0d59522e20cb4f7a2c502f6f3ccc1443
parentfd63a1566eed843659da9151fad0b832220cd6ba (diff)
Synching robot up with Beijing code
-updating configmaps with master -parameterizing auth -removing asdc interface fork. no longer needed as be/fe are split -fixing spaces -aligning with templates better -adding comments to values that need overriding per environment -injecting demo project into container in /share/heat on startup -addressing comment on demo-k8s.sh Issue-ID: OOM-795 Change-Id: Iebc959c20491e3e2ca8cf64f22444918650d1970 Signed-off-by: Mandeep Khinda <mandeep.khinda@amdocs.com>
-rwxr-xr-xdemo-k8s.sh30
-rwxr-xr-xresources/config/authorization2
-rwxr-xr-xresources/config/eteshare/config/integration_preload_parameters.py341
-rwxr-xr-xresources/config/eteshare/config/integration_robot_properties.py50
-rwxr-xr-xresources/config/eteshare/config/vm_properties.py42
-rw-r--r--resources/config/robot/resources/asdc_interface.robot495
-rw-r--r--resources/config/robot/resources/policy_interface.robot7
-rw-r--r--resources/config/robot/resources/sdngc_interface.robot96
-rw-r--r--templates/deployment.yaml120
-rw-r--r--templates/service.yaml12
-rw-r--r--values.yaml61
11 files changed, 506 insertions, 750 deletions
diff --git a/demo-k8s.sh b/demo-k8s.sh
index 23fc555..d5e7a03 100755
--- a/demo-k8s.sh
+++ b/demo-k8s.sh
@@ -22,7 +22,7 @@ function usage
echo " demo.sh <namespace> appc <module_name>"
echo " - provide APPC with vFW module mount point for closed loop"
echo " "
- echo " demo.sh <namespace> init_robot"
+ echo " demo.sh <namespace> init_robot [ <etc_hosts_prefix> ]"
echo " - Initialize robot after all ONAP VMs have started"
echo " "
echo " demo.sh <namespace> instantiateVFW"
@@ -36,7 +36,7 @@ function usage
}
# Set the defaults
-if [ $# -le 1 ];then
+if [ $# -le 2 ];then
usage
exit
fi
@@ -47,9 +47,9 @@ shift
##
## if more than 1 tag is supplied, the must be provided with -i or -e
##
-while [ $# -gt 0 ]
+while [ $# -gt 1 ]
do
- key="$1"
+ key="$2"
case $key in
init_robot)
@@ -62,6 +62,10 @@ do
fi
VARIABLES="$VARIABLES -v WEB_PASSWORD:$WEB_PASSWORD"
shift
+ if [ $# -eq 2 ];then
+ VARIABLES="$VARIABLES -v HOSTS_PREFIX:$2"
+ fi
+ shift
;;
init)
TAG="InitDemo"
@@ -75,7 +79,7 @@ do
TAG="InitDistribution"
shift
if [ $# -eq 1 ];then
- VARIABLES="$VARIABLES -v DEMO_PREFIX:$1"
+ VARIABLES="$VARIABLES -v DEMO_PREFIX:$2"
fi
shift
;;
@@ -86,9 +90,9 @@ do
echo "Usage: demo.sh preload <vnf_name> <module_name>"
exit
fi
- VARIABLES="$VARIABLES -v VNF_NAME:$1"
+ VARIABLES="$VARIABLES -v VNF_NAME:$2"
shift
- VARIABLES="$VARIABLES -v MODULE_NAME:$1"
+ VARIABLES="$VARIABLES -v MODULE_NAME:$2"
shift
;;
appc)
@@ -98,7 +102,7 @@ do
echo "Usage: demo.sh appc <module_name>"
exit
fi
- VARIABLES="$VARIABLES -v MODULE_NAME:$1"
+ VARIABLES="$VARIABLES -v MODULE_NAME:$2"
shift
;;
instantiateVFW)
@@ -113,14 +117,14 @@ do
echo "Usage: demo.sh deleteVNF <module_name from instantiateVFW>"
exit
fi
- VARFILE=$1.py
+ VARFILE=$2.py
if [ -e /opt/eteshare/${VARFILE} ]; then
VARIABLES="$VARIABLES -V /share/${VARFILE}"
else
echo "Cache file ${VARFILE} is not found"
exit
fi
- shift
+ shift
;;
heatbridge)
TAG="heatbridge"
@@ -129,11 +133,11 @@ do
echo "Usage: demo.sh heatbridge <stack_name> <service_instance_id> <service>"
exit
fi
- VARIABLES="$VARIABLES -v HB_STACK:$1"
+ VARIABLES="$VARIABLES -v HB_STACK:$2"
shift
- VARIABLES="$VARIABLES -v HB_SERVICE_INSTANCE_ID:$1"
+ VARIABLES="$VARIABLES -v HB_SERVICE_INSTANCE_ID:$2"
shift
- VARIABLES="$VARIABLES -v HB_SERVICE:$1"
+ VARIABLES="$VARIABLES -v HB_SERVICE:$2"
shift
;;
*)
diff --git a/resources/config/authorization b/resources/config/authorization
index 988730f..23b429e 100755
--- a/resources/config/authorization
+++ b/resources/config/authorization
@@ -1 +1 @@
-robot:robot
+{{ .Values.config.lightHttpdUsername }}:{{ .Values.config.lightHttpdPassword }}
diff --git a/resources/config/eteshare/config/integration_preload_parameters.py b/resources/config/eteshare/config/integration_preload_parameters.py
index b125f79..502d8fc 100755
--- a/resources/config/eteshare/config/integration_preload_parameters.py
+++ b/resources/config/eteshare/config/integration_preload_parameters.py
@@ -1,57 +1,24 @@
GLOBAL_PRELOAD_PARAMETERS = {
-# heat template parameter values common to all heat template continaing these parameters
+ # heat template parameter values common to all heat template continaing these parameters
"defaults" : {
- 'key_name' : 'vfw_key${uuid}',
- "pub_key" : "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqqnA9BAiMLtjOPSYBfhzLu4CiBolWoskDg4KVwhTJVTTeB6CqrQNcadlGXxOHhCYuNCKkUmIVF4WTOisVOJ75Z1c4OMoZLL85xVPKSIeH63kgVugwgPYQu55NbbWX+rsbUha3LnElDhNviMM3iTPbD5nnhKixNERAJMTLKXvZZZGqxW94bREknYPQTT2qrk3YRqwldncopp6Nkgv3AnSJz2gc9tjxnWF0poTQnQm/3D6hiJICrzKfAV0EaPN0KdtYjPhKrYoy6Qb/tKOVaaqsvwfKBJGrT9LfcA7D7M/yj292RT1XN63hI84WC383LsaPJ6eWdDTE6zUP1eGTWCoOw== rsa-key-20161026",
- "repo_url_blob" : "https://nexus.onap.org/content/repositories/raw",
- "repo_url_artifacts" : "https://nexus.onap.org/content/groups/staging",
- "demo_artifacts_version" : "{{ .Values.demoArtifactsVersion }}",
- "onap_private_net_id" : "{{ .Values.openStackPrivateNetId }}",
- "onap_private_subnet_id" : "{{ .Values.openStackPrivateSubnetId }}",
- "onap_private_net_cidr" : "{{ .Values.openStackPrivateNetCidr }}",
- "dcae_collector_ip" : "10.0.4.102",
- "dcae_collector_port" : "8080",
- "public_net_id" : "{{ .Values.openStackPublicNetId }}",
- "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}",
-###
- },
+ 'key_name' : 'vfw_key${uuid}',
+ "pub_key" : "${pub_key}",
+ "repo_url_blob" : "https://nexus.onap.org/content/repositories/raw",
+ "repo_url_artifacts" : "https://nexus.onap.org/content/groups/staging",
+ "demo_artifacts_version" : "${GLOBAL_INJECTED_ARTIFACTS_VERSION}",
+ "onap_private_net_id" : "${GLOBAL_INJECTED_NETWORK}",
+ "onap_private_subnet_id" : "{{ .Values.openStackPrivateSubnetId }}",
+ "onap_private_net_cidr" : "{{ .Values.openStackPrivateNetCidr }}",
+ "dcae_collector_ip" : "${dcae_collector_ip}",
+ "dcae_collector_port" : "8080",
+ "public_net_id" : "${GLOBAL_INJECTED_PUBLIC_NET_ID}",
+ "cloud_env" : "${GLOBAL_INJECTED_CLOUD_ENV}",
+ "install_script_version" : "${GLOBAL_INJECTED_SCRIPT_VERSION}",
+ },
-###
-# heat template parameter values for heat template instances created during Vnf-Orchestration test cases
-###
+# ##
+ # 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}",
@@ -60,37 +27,103 @@ 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" : "{{ .Values.openStackOamNetworkCidrPrefix }}.1",
+ "vfw_private_ip_2" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.1",
"vpg_private_ip_0" : "192.168.10.200",
- "vpg_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.2",
+ "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.2",
"vsn_private_ip_0" : "192.168.20.250",
- "vsn_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.3",
+ "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.3",
'vfw_name_0':'vofwl01fwl${hostid}',
'vpg_name_0':'vofwl01pgn${hostid}',
+ "vfw_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "vfw_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
'vsn_name_0':'vofwl01snk${hostid}'
},
+ "vfwsnk_preload.template": {
+ "unprotected_private_net_id" : "vofwlsnk_unprotected${hostid}",
+ "unprotected_private_subnet_id" : "vofwlsnk_unprotected_sub${hostid}",
+ "unprotected_private_net_cidr" : "192.168.10.0/24",
+ "protected_private_net_id" : "vofwlsnk_protected${hostid}",
+ "protected_private_subnet_id" : "vofwlsnk_protected_sub${hostid}",
+ "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" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.101",
+ "vpg_private_ip_0" : "192.168.10.200",
+ "vsn_private_ip_0" : "192.168.20.250",
+ "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.102",
+ 'vfw_name_0':'vofwl01fwl${hostid}',
+ 'vsn_name_0':'vofwl01snk${hostid}',
+ "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ },
+ "vpkg_preload.template": {
+ "unprotected_private_net_id" : "vofwlsnk_unprotected${hostid}",
+ "unprotected_private_subnet_id" : "vofwlsnk_unprotected_sub${hostid}",
+ "unprotected_private_net_cidr" : "192.168.10.0/24",
+ "protected_private_net_cidr" : "192.168.20.0/24",
+ "vfw_private_ip_0" : "192.168.10.100",
+ "vpg_private_ip_0" : "192.168.10.200",
+ "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.103",
+ "vsn_private_ip_0" : "192.168.20.250",
+ 'vpg_name_0':'vofwl01pgn${hostid}',
+ "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ },
"vlb_preload.template" : {
+ "vlb_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
+ "vlb_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
"vlb_private_net_id" : "volb01_private${hostid}",
+ "pktgen_private_net_id" : "volb01_pktgen${hostid}",
"vlb_private_net_cidr" : "192.168.30.0/24",
"vlb_private_ip_0" : "192.168.30.100",
- "vlb_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.4",
+ "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.4",
"vdns_private_ip_0" : "192.168.30.110",
- "vdns_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.5",
+ "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.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"
+ "pktgen_private_net_cidr" : "192.168.9.0/24",
+ "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.7",
+ "pg_int" : "192.168.9.109",
+ "vpg_private_ip_0" : "192.168.9.110",
+ "vlb_private_ip_2" : "192.168.9.111",
+ "vip" : "192.168.9.112",
+ "gre_ipaddr" : "192.168.30.112",
+ "vpg_name_0" : "vovlbpgn${hostid}",
+ "vnf_id" : "vLoadBalancer_${hostid}",
+ "vf_module_id" : "vLoadBalancer"
},
"dnsscaling_preload.template" : {
"vlb_private_net_id" : "volb01_private${hostid}",
"vlb_private_ip_0" : "192.168.30.100",
- "vlb_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.4",
+ "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.4",
"vdns_private_ip_0" : "192.168.30.222",
- "vdns_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.6",
+ "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.6",
'scaling_vdns_name_0':'vovlbscaling${hostid}',
"vlb_private_net_cidr" : "192.168.10.0/24"
},
+ "vims_preload.template" : {
+ "bono_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "sprout_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "homer_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "homestead_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "ralf_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "ellis_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "dns_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "bono_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "sprout_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "homer_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "homestead_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "ralf_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "ellis_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "dns_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "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=="
+
+ },
"vvg_preload.template" : {
}
},
@@ -103,36 +136,101 @@ 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" : "{{ .Values.openStackOamNetworkCidrPrefix }}.11",
+ "vfw_private_ip_2" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.11",
"vpg_private_ip_0" : "192.168.110.200",
- "vpg_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.12",
+ "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.12",
"vsn_private_ip_0" : "192.168.120.250",
- "vsn_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.13",
+ "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.13",
'vfw_name_0':'clfwl01fwl${hostid}',
'vpg_name_0':'clfwl01pgn${hostid}',
+ "vfw_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "vfw_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
'vsn_name_0':'clfwl01snk${hostid}'
},
+ "vfwsnk_preload.template": {
+ "unprotected_private_net_id" : "clfwlsnk_unprotected${hostid}",
+ "unprotected_private_subnet_id" : "clfwlsnk_unprotected_sub${hostid}",
+ "unprotected_private_net_cidr" : "192.168.10.0/24",
+ "protected_private_net_id" : "clfwlsnk_protected${hostid}",
+ "protected_private_subnet_id" : "clfwlsnk_protected_sub${hostid}",
+ "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" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.111",
+ "vpg_private_ip_0" : "192.168.10.200",
+ "vsn_private_ip_0" : "192.168.20.250",
+ "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.112",
+ 'vfw_name_0':'clfwl01fwl${hostid}',
+ 'vsn_name_0':'clfwl01snk${hostid}',
+ "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ },
+ "vpkg_preload.template": {
+ "unprotected_private_net_id" : "clfwlsnk_unprotected${hostid}",
+ "unprotected_private_subnet_id" : "clfwlsnk_unprotected_sub${hostid}",
+ "unprotected_private_net_cidr" : "192.168.10.0/24",
+ "protected_private_net_cidr" : "192.168.20.0/24",
+ "vfw_private_ip_0" : "192.168.10.100",
+ "vpg_private_ip_0" : "192.168.10.200",
+ "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.113",
+ "vsn_private_ip_0" : "192.168.20.250",
+ 'vpg_name_0':'clfwl01pgn${hostid}',
+ "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ },
"vlb_preload.template" : {
+ "vlb_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
+ "vlb_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
"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" : "{{ .Values.openStackOamNetworkCidrPrefix }}.14",
- "vdns_private_ip_0" : "192.168.130.110",
- "vdns_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.15",
+ "pktgen_private_net_id" : "cllb01_pktgen${hostid}",
+ "vlb_private_net_cidr" : "192.168.30.0/24",
+ "vlb_private_ip_0" : "192.168.30.100",
+ "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.14",
+ "vdns_private_ip_0" : "192.168.30.110",
+ "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.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"
+ "pktgen_private_net_cidr" : "192.168.9.0/24",
+ "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.17",
+ "pg_int" : "192.168.9.109",
+ "vpg_private_ip_0" : "192.168.9.110",
+ "vlb_private_ip_2" : "192.168.9.111",
+ "vip" : "192.168.9.112",
+ "gre_ipaddr" : "192.168.30.112",
+ "vpg_name_0" : "clvlbpgn${hostid}",
+ "vnf_id" : "vLoadBalancer_${hostid}",
+ "vf_module_id" : "vLoadBalancer"
},
"dnsscaling_preload.template" : {
"vlb_private_net_id" : "cllb01_private${hostid}",
"vlb_private_ip_0" : "192.168.130.100",
- "vlb_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.14",
+ "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.14",
"vdns_private_ip_0" : "192.168.130.222",
- "vdns_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.16",
+ "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.16",
'scaling_vdns_name_0':'clvlbscaling${hostid}',
"vlb_private_net_cidr" : "192.168.10.0/24"
},
+ "vims_preload.template" : {
+ "bono_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "sprout_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "homer_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "homestead_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "ralf_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "ellis_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "dns_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "bono_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "sprout_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "homer_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "homestead_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "ralf_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "ellis_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "dns_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "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=="
+ },
"vvg_preload.template" : {
}
},
@@ -145,36 +243,101 @@ 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" : "{{ .Values.openStackOamNetworkCidrPrefix }}.11",
+ "vfw_private_ip_2" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.11",
"vpg_private_ip_0" : "192.168.110.200",
- "vpg_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.12",
+ "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.12",
"vsn_private_ip_0" : "192.168.120.250",
- "vsn_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.13",
+ "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.13",
'vfw_name_0':'demofwl01fwl',
'vpg_name_0':'demofwl01pgn',
+ "vfw_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "vfw_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
'vsn_name_0':'demofwl01snk'
},
+ "vfwsnk_preload.template": {
+ "unprotected_private_net_id" : "demofwlsnk_unprotected${hostid}",
+ "unprotected_private_subnet_id" : "demofwlsnk_unprotected_sub${hostid}",
+ "unprotected_private_net_cidr" : "192.168.10.0/24",
+ "protected_private_net_id" : "demofwlsnk_protected${hostid}",
+ "protected_private_subnet_id" : "vofwlsnk_protected_sub${hostid}",
+ "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" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.121",
+ "vpg_private_ip_0" : "192.168.10.200",
+ "vsn_private_ip_0" : "192.168.20.250",
+ "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.122",
+ 'vfw_name_0':'${generic_vnf_name}',
+ 'vsn_name_0':'demofwl01snk${hostid}',
+ "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ },
+ "vpkg_preload.template": {
+ "unprotected_private_net_id" : "demofwlsnk_unprotected${hostid}",
+ "unprotected_private_subnet_id" : "demofwlsnk_unprotected_sub${hostid}",
+ "unprotected_private_net_cidr" : "192.168.10.0/24",
+ "protected_private_net_cidr" : "192.168.20.0/24",
+ "vfw_private_ip_0" : "192.168.10.100",
+ "vpg_private_ip_0" : "192.168.10.200",
+ "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.123",
+ "vsn_private_ip_0" : "192.168.20.250",
+ 'vpg_name_0':'demofwl01pgn${hostid}',
+ "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}"
+ },
"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" : "{{ .Values.openStackOamNetworkCidrPrefix }}.14",
- "vdns_private_ip_0" : "192.168.130.110",
- "vdns_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.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"
+ "vlb_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
+ "vlb_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "vlb_private_net_id" : "demolb_private${hostid}",
+ "pktgen_private_net_id" : "demolb_pktgen${hostid}",
+ "vlb_private_net_cidr" : "192.168.30.0/24",
+ "vlb_private_ip_0" : "192.168.30.100",
+ "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.24",
+ "vdns_private_ip_0" : "192.168.30.110",
+ "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.25",
+ 'vlb_name_0':'demovlblb${hostid}',
+ 'vdns_name_0':'demovlbdns${hostid}',
+ "pktgen_private_net_cidr" : "192.168.9.0/24",
+ "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.27",
+ "pg_int" : "192.168.9.109",
+ "vpg_private_ip_0" : "192.168.9.110",
+ "vlb_private_ip_2" : "192.168.9.111",
+ "vip" : "192.168.9.112",
+ "gre_ipaddr" : "192.168.30.112",
+ "vpg_name_0" : "clvlbpgn${hostid}",
+ "vnf_id" : "vLoadBalancer_${hostid}",
+ "vf_module_id" : "vLoadBalancer"
},
"dnsscaling_preload.template" : {
- "vlb_private_net_id" : "demolb_private",
+ "vlb_private_net_id" : "demolb_private${hostid}",
"vlb_private_ip_0" : "192.168.130.100",
- "vlb_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.14",
+ "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.24",
"vdns_private_ip_0" : "192.168.130.222",
- "vdns_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.16",
- 'scaling_vdns_name_0':'demovlbscaling',
+ "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.26",
+ 'scaling_vdns_name_0':'demovlbscaling${hostid}',
"vlb_private_net_cidr" : "192.168.10.0/24"
},
+ "vims_preload.template" : {
+ "bono_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "sprout_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "homer_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "homestead_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "ralf_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "ellis_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "dns_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+ "bono_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "sprout_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "homer_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "homestead_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "ralf_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "ellis_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "dns_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+ "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=="
+ },
"vvg_preload.template" : {
}
}
diff --git a/resources/config/eteshare/config/integration_robot_properties.py b/resources/config/eteshare/config/integration_robot_properties.py
index 305ba3e..0c65960 100755
--- a/resources/config/eteshare/config/integration_robot_properties.py
+++ b/resources/config/eteshare/config/integration_robot_properties.py
@@ -1,50 +1,56 @@
-# aaf info - everything is from the private oam network (also called ecomp private network)
-GLOBAL_AAF_SERVER = "http://10.0.12.1:8101"
+# aaf info - everything is from the private oam network (also called onap private network)
+GLOBAL_AAF_SERVER = "http://{{.Release.Name}}-aaf.{{include "common.namespace" .}}:8101"
GLOBAL_AAF_USERNAME = "dgl@openecomp.org"
GLOBAL_AAF_PASSWORD = "ecomp_admin"
-# aai info - everything is from the private oam network (also called ecomp private network)
+# aai info - everything is from the private oam network (also called onap private network)
GLOBAL_AAI_SERVER_PROTOCOL = "https"
GLOBAL_AAI_SERVER_PORT = "8443"
GLOBAL_AAI_USERNAME = "AAI"
GLOBAL_AAI_PASSWORD = "AAI"
-# appc info - everything is from the private oam network (also called ecomp private network)
+# appc info - everything is from the private oam network (also called onap private network)
GLOBAL_APPC_SERVER_PROTOCOL = "http"
GLOBAL_APPC_SERVER_PORT = "8282"
-GLOBAL_APPC_SERVER = "http://10.0.2.1:"
+GLOBAL_APPC_SERVER = "http://{{.Release.Name}}-appc.{{include "common.namespace" .}}:"
GLOBAL_APPC_USERNAME = "admin"
-GLOBAL_APPC_PASSWORD = "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"
-# sdc info - everything is from the private oam network (also called ecomp private network)
+GLOBAL_APPC_PASSWORD = "admin"
+# sdc info - everything is from the private oam network (also called onap private network)
GLOBAL_ASDC_SERVER_PROTOCOL = "http"
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)
+# clamp info - everything is from the private oam network (also called onap 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)
+# cli info - everything is from the private oam network (also called onap private network)
+GLOBAL_CLI_SERVER_PROTOCOL = "http"
+GLOBAL_CLI_SERVER_PORT = "8080"
+# dcae info - everything is from the private oam network (also called onap private network)
GLOBAL_DCAE_SERVER_PROTOCOL = "http"
-GLOBAL_DCAE_SERVER_PORT = "8080"
+GLOBAL_DCAE_HEALTH_SERVER_PORT = "8000"
GLOBAL_DCAE_USERNAME = "console"
GLOBAL_DCAE_PASSWORD = "ZjJkYjllMjljMTI2M2Iz"
-# microservice bus info - everything is from the private oam network (also called ecomp private network)
+# microservice bus info - everything is from the private oam network (also called onap 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)
+# message router info - everything is from the private oam network (also called onap private network)
GLOBAL_MR_SERVER_PROTOCOL = "http"
GLOBAL_MR_SERVER_PORT = "3904"
-# mso info - everything is from the private oam network (also called ecomp private network)
+# mso info - everything is from the private oam network (also called onap private network)
GLOBAL_MSO_SERVER_PROTOCOL = "http"
GLOBAL_MSO_SERVER_PORT = "8080"
GLOBAL_MSO_USERNAME = "InfraPortalClient"
GLOBAL_MSO_PASSWORD = "password1$"
+# music info - everything is from the private oam network (also called onap private network)
+GLOBAL_MUSIC_SERVER_PROTOCOL = "http"
+GLOBAL_MUSIC_SERVER_PORT = "8080"
# openstack info - info to select right info in environment
-# packet generate vnf info - everything is from the private oam network (also called ecomp private network)
+# packet generate vnf info - everything is from the private oam network (also called onap private network)
GLOBAL_PACKET_GENERATOR_PORT = "8183"
GLOBAL_PACKET_GENERATOR_USERNAME = "admin"
GLOBAL_PACKET_GENERATOR_PASSWORD = "admin"
GLOBAL_PGN_PORT = "2831"
-# policy info - everything is from the private oam network (also called ecomp private network)
+# policy info - everything is from the private oam network (also called onap private network)
GLOBAL_POLICY_SERVER_PROTOCOL = "http"
GLOBAL_POLICY_SERVER_PORT = "8081"
GLOBAL_POLICY_HEALTHCHECK_PORT = "6969"
@@ -52,18 +58,18 @@ GLOBAL_POLICY_AUTH = "dGVzdHBkcDphbHBoYTEyMw=="
GLOBAL_POLICY_CLIENTAUTH = "cHl0aG9uOnRlc3Q="
GLOBAL_POLICY_USERNAME = "healthcheck"
GLOBAL_POLICY_PASSWORD = "zb!XztG34"
-# portal info - everything is from the private oam network (also called ecomp private network)
+# portal info - everything is from the private oam network (also called onap private network)
GLOBAL_PORTAL_SERVER_PROTOCOL = "http"
GLOBAL_PORTAL_SERVER_PORT = "8989"
GLOBAL_PORTAL_USERNAME = "demo"
GLOBAL_PORTAL_PASSWORD = "Kp8bJ4SXszM0WXlhak3eHlcse"
-# sdngc info - everything is from the private oam network (also called ecomp private network)
+# sdngc info - everything is from the private oam network (also called onap private network)
GLOBAL_SDNGC_SERVER_PROTOCOL = "http"
GLOBAL_SDNGC_REST_PORT = "8282"
GLOBAL_SDNGC_ADMIN_PORT = "8843"
GLOBAL_SDNGC_USERNAME = "admin"
GLOBAL_SDNGC_PASSWORD = "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"
-# vid info - everything is from the private oam network (also called ecomp private network)
+# vid info - everything is from the private oam network (also called onap private network)
GLOBAL_VID_SERVER_PROTOCOL = "http"
GLOBAL_VID_SERVER_PORT = "8080"
GLOBAL_VID_USERNAME = "demo"
@@ -71,11 +77,9 @@ GLOBAL_VID_PASSWORD = "Kp8bJ4SXszM0WX"
GLOBAL_VID_HEALTH_USERNAME = "Default"
GLOBAL_VID_HEALTH_PASSWORD = "AppPassword!1"
#global selenium info
-GLOBAL_PROXY_WARNING_TITLE = ""
-GLOBAL_PROXY_WARNING_CONTINUE_XPATH = ""
-# settings for vm to attach vvg too
-GLOBAL_VVGSERVER_IMAGE = "{{ .Values.ubuntuImage }}"
-GLOBAL_VVGSERVER_FLAVOR = "{{ .Values.openStackFlavourMedium }}"
+GLOBAL_PROXY_WARNING_TITLE=""
+GLOBAL_PROXY_WARNING_CONTINUE_XPATH=""
# dns info
GLOBAL_DNS_TRAFFIC_DURATION = "600"
+# location where heat templates are loaded from
GLOBAL_HEAT_TEMPLATES_FOLDER = "/share/heat"
diff --git a/resources/config/eteshare/config/vm_properties.py b/resources/config/eteshare/config/vm_properties.py
index c62c440..b7da6fa 100755
--- a/resources/config/eteshare/config/vm_properties.py
+++ b/resources/config/eteshare/config/vm_properties.py
@@ -1,5 +1,6 @@
-#file generated from /opt/config
+# File generated from /opt/config
#
+GLOBAL_INJECTED_AAF_IP_ADDR = "{{.Release.Name}}-aaf.{{include "common.namespace" .}}"
GLOBAL_INJECTED_AAI1_IP_ADDR = "aai.{{include "common.namespace" .}}"
GLOBAL_INJECTED_AAI2_IP_ADDR = "N/A"
GLOBAL_INJECTED_APPC_IP_ADDR = "{{.Release.Name}}-appc.{{include "common.namespace" .}}"
@@ -7,56 +8,65 @@ GLOBAL_INJECTED_ARTIFACTS_VERSION = "{{.Values.demoArtifactsVersion}}"
GLOBAL_INJECTED_CLAMP_IP_ADDR = "{{.Release.Name}}-clamp.{{include "common.namespace" .}}"
GLOBAL_INJECTED_CLOUD_ENV = "openstack"
GLOBAL_INJECTED_DCAE_IP_ADDR = "{{.Release.Name}}-dcae-controller.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_DNS_IP_ADDR = "10.0.100.1"
+GLOBAL_INJECTED_DNS_IP_ADDR = "N/A"
GLOBAL_INJECTED_DOCKER_VERSION = "1.2-STAGING-latest"
-#GLOBAL_INJECTED_EXTERNAL_DNS = "N/A"
+GLOBAL_INJECTED_EXTERNAL_DNS = "N/A"
GLOBAL_INJECTED_GERRIT_BRANCH = "master"
GLOBAL_INJECTED_KEYSTONE = "{{ .Values.openStackKeyStoneUrl }}"
GLOBAL_INJECTED_MR_IP_ADDR = "message-router.{{include "common.namespace" .}}"
GLOBAL_INJECTED_MSO_IP_ADDR = "so.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_MUSIC_IP_ADDR = "music.{{include "common.namespace" .}}"
GLOBAL_INJECTED_NETWORK = "{{ .Values.openStackPrivateNetId }}"
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_OOF_IP_ADDR = "oof.{{include "common.namespace" .}}"
GLOBAL_INJECTED_OPENO_IP_ADDR = "msb-iag.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_OPENSTACK_PASSWORD = "{{ .Values.openStackEncryptedPassword }}"
+GLOBAL_INJECTED_OPENSTACK_PASSWORD = "{{ .Values.openStackPassword }}"
GLOBAL_INJECTED_OPENSTACK_TENANT_ID = "{{ .Values.openStackTenantId }}"
GLOBAL_INJECTED_OPENSTACK_USERNAME = "{{ .Values.openStackUserName }}"
GLOBAL_INJECTED_POLICY_IP_ADDR = "pdp.{{include "common.namespace" .}}"
GLOBAL_INJECTED_POLICY_HEALTHCHECK_IP_ADDR = "{{.Release.Name}}-drools.{{include "common.namespace" .}}"
GLOBAL_INJECTED_PORTAL_IP_ADDR = "{{.Release.Name}}-portal-app.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_PUBLIC_NET_ID = "{{ .Values.openStackPublicNetId }}"
GLOBAL_INJECTED_REGION = "{{ .Values.openStackRegion }}"
GLOBAL_INJECTED_REMOTE_REPO = "http://gerrit.onap.org/r/testsuite/properties.git"
-GLOBAL_INJECTED_SDC_IP_ADDR = "{{.Release.Name}}-sdc-be.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_SDC_FE_IP_ADDR = "{{.Release.Name}}-sdc-fe.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SCRIPT_VERSION = "{{ .Values.scriptVersion }}"
GLOBAL_INJECTED_SDC_BE_IP_ADDR = "{{.Release.Name}}-sdc-be.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SDC_FE_IP_ADDR = "{{.Release.Name}}-sdc-fe.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SDC_IP_ADDR = "N/A"
GLOBAL_INJECTED_SDNC_IP_ADDR = "{{.Release.Name}}-sdnc.{{include "common.namespace" .}}"
GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR = "{{.Release.Name}}-sdnc-portal.{{include "common.namespace" .}}"
GLOBAL_INJECTED_SO_IP_ADDR = "so.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_UBUNTU_1404_IMAGE = "{{ .Values.ubuntu14Image }}"
+GLOBAL_INJECTED_UBUNTU_1604_IMAGE = "{{ .Values.ubuntu16Image }}"
GLOBAL_INJECTED_VID_IP_ADDR = "{{.Release.Name}}-vid.{{include "common.namespace" .}}"
GLOBAL_INJECTED_VM_FLAVOR = "{{ .Values.openStackFlavourMedium }}"
-GLOBAL_INJECTED_VM_IMAGE_NAME = "{{ .Values.ubuntuImage }}"
-GLOBAL_INJECTED_PUBLIC_NET_ID = "{{ .Values.openStackPublicNetId }}"
-GLOBAL_INJECTED_SCRIPT_VERSION = "{{ .Values.scriptVersion }}"
+
GLOBAL_INJECTED_PROPERTIES = {
+ "GLOBAL_INJECTED_AAF_IP_ADDR" : "{{.Release.Name}}-aaf.{{include "common.namespace" .}}",
"GLOBAL_INJECTED_AAI1_IP_ADDR" : "aai.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_AAI2_IP_ADDR" : "N/A",
"GLOBAL_INJECTED_APPC_IP_ADDR" : "{{.Release.Name}}-appc.{{include "common.namespace" .}}",
"GLOBAL_INJECTED_ARTIFACTS_VERSION" : "{{.Values.demoArtifactsVersion}}",
"GLOBAL_INJECTED_CLAMP_IP_ADDR" : "{{.Release.Name}}-clamp.{{include "common.namespace" .}}",
"GLOBAL_INJECTED_CLOUD_ENV" : "openstack",
"GLOBAL_INJECTED_DCAE_IP_ADDR" : "{{.Release.Name}}-dcae-controller.{{include "common.namespace" .}}",
- "GLOBAL_INJECTED_DNS_IP_ADDR" : "10.0.100.1",
+ "GLOBAL_INJECTED_DNS_IP_ADDR" : "N/A",
"GLOBAL_INJECTED_DOCKER_VERSION" : "1.2-STAGING-latest",
+ "GLOBAL_INJECTED_EXTERNAL_DNS" : "N/A",
"GLOBAL_INJECTED_GERRIT_BRANCH" : "master",
"GLOBAL_INJECTED_KEYSTONE" : "{{ .Values.openStackKeyStoneUrl }}",
"GLOBAL_INJECTED_MR_IP_ADDR" : "message-router.{{include "common.namespace" .}}",
"GLOBAL_INJECTED_MSO_IP_ADDR" : "so.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_MUSIC_IP_ADDR" : "music.{{include "common.namespace" .}}",
"GLOBAL_INJECTED_NETWORK" : "{{ .Values.openStackPrivateNetId }}",
"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_OOF_IP_ADDR" : "oof.{{include "common.namespace" .}}",
"GLOBAL_INJECTED_OPENO_IP_ADDR" : "msb-iag.{{include "common.namespace" .}}",
"GLOBAL_INJECTED_OPENSTACK_PASSWORD" : "{{ .Values.openStackEncryptedPassword }}",
"GLOBAL_INJECTED_OPENSTACK_TENANT_ID" : "{{ .Values.openStackTenantId }}",
@@ -64,16 +74,18 @@ GLOBAL_INJECTED_PROPERTIES = {
"GLOBAL_INJECTED_POLICY_IP_ADDR" : "pdp.{{include "common.namespace" .}}",
"GLOBAL_INJECTED_POLICY_HEALTHCHECK_IP_ADDR" : "{{.Release.Name}}-drools.{{include "common.namespace" .}}",
"GLOBAL_INJECTED_PORTAL_IP_ADDR" : "{{.Release.Name}}-portalapps.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_PUBLIC_NET_ID" : "{{ .Values.openStackPublicNetId }}",
"GLOBAL_INJECTED_REGION" : "{{ .Values.openStackRegion }}",
"GLOBAL_INJECTED_REMOTE_REPO" : "http://gerrit.onap.org/r/testsuite/properties.git",
- "GLOBAL_INJECTED_SDC_FE_IP_ADDR" : "{{.Release.Name}}-sdc-fe.{{include "common.namespace" .}}",
"GLOBAL_INJECTED_SDC_BE_IP_ADDR" : "{{.Release.Name}}-sdc-be.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_SDC_FE_IP_ADDR" : "{{.Release.Name}}-sdc-fe.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_SDC_IP_ADDR" : "N/A",
+ "GLOBAL_INJECTED_SCRIPT_VERSION" : "{{ .Values.scriptVersion }}",
"GLOBAL_INJECTED_SDNC_IP_ADDR" : "{{.Release.Name}}-sdnc.{{include "common.namespace" .}}",
"GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR" : "{{.Release.Name}}-sdnc-portal.{{include "common.namespace" .}}",
"GLOBAL_INJECTED_SO_IP_ADDR" : "so.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_UBUNTU_1404_IMAGE" : "{{.Values.ubuntu14Image}}",
+ "GLOBAL_INJECTED_UBUNTU_1604_IMAGE" : "{{.Values.ubuntu16Image}}",
"GLOBAL_INJECTED_VID_IP_ADDR" : "{{.Release.Name}}-vid.{{include "common.namespace" .}}",
- "GLOBAL_INJECTED_VM_FLAVOR" : "{{ .Values.openStackFlavourMedium }}",
- "GLOBAL_INJECTED_VM_IMAGE_NAME" : "{{ .Values.ubuntuImage }}",
- "GLOBAL_INJECTED_PUBLIC_NET_ID" : "{{ .Values.openStackPublicNetId }}",
- "GLOBAL_INJECTED_SCRIPT_VERSION" : "{{ .Values.scriptVersion }}"
+ "GLOBAL_INJECTED_VM_FLAVOR" : "{{ .Values.openStackFlavourMedium }}"
} \ No newline at end of file
diff --git a/resources/config/robot/resources/asdc_interface.robot b/resources/config/robot/resources/asdc_interface.robot
deleted file mode 100644
index 5b69a66..0000000
--- a/resources/config/robot/resources/asdc_interface.robot
+++ /dev/null
@@ -1,495 +0,0 @@
-*** Settings ***
-Documentation The main interface for interacting with ASDC. It handles low level stuff like managing the http request library and DCAE required fields
-Library RequestsLibrary
-Library UUID
-Library JSONUtils
-Library OperatingSystem
-Library Collections
-Library ExtendedSelenium2Library
-Resource global_properties.robot
-Resource browser_setup.robot
-Resource json_templater.robot
-*** Variables ***
-${ASDC_DESIGNER_USER_ID} cs0008
-${ASDC_TESTER_USER_ID} jm0007
-${ASDC_GOVERNOR_USER_ID} gv0001
-${ASDC_OPS_USER_ID} op0001
-${ASDC_HEALTH_CHECK_PATH} /sdc1/rest/healthCheck
-${ASDC_VENDOR_LICENSE_MODEL_PATH} /onboarding-api/v1.0/vendor-license-models
-${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH} /onboarding-api/v1.0/vendor-software-products
-${ASDC_VENDOR_KEY_GROUP_PATH} /license-key-groups
-${ASDC_VENDOR_ENTITLEMENT_POOL_PATH} /entitlement-pools
-${ASDC_VENDOR_FEATURE_GROUP_PATH} /feature-groups
-${ASDC_VENDOR_LICENSE_AGREEMENT_PATH} /license-agreements
-${ASDC_VENDOR_ACTIONS_PATH} /actions
-${ASDC_VENDOR_SOFTWARE_UPLOAD_PATH} /orchestration-template-candidate
-${ASDC_CATALOG_RESOURCES_PATH} /sdc2/rest/v1/catalog/resources
-${ASDC_CATALOG_SERVICES_PATH} /sdc2/rest/v1/catalog/services
-${ASDC_CATALOG_INACTIVE_RESOURCES_PATH} /sdc2/rest/v1/inactiveComponents/resource
-${ASDC_CATALOG_INACTIVE_SERVICES_PATH} /sdc2/rest/v1/inactiveComponents/service
-${ASDC_CATALOG_LIFECYCLE_PATH} /lifecycleState
-${ASDC_CATALOG_SERVICE_RESOURCE_INSTANCE_PATH} /resourceInstance
-${ASDC_CATALOG_SERVICE_DISTRIBUTION_STATE_PATH} /distribution-state
-${ASDC_CATALOG_SERVICE_DISTRIBUTION_PATH} /distribution
-${ASDC_DISTRIBUTION_STATE_APPROVE_PATH} /approve
-${ASDC_CATALOG_SERVICE_DISTRIBUTION_ACTIVATE_PATH} /distribution/PROD/activate
-${ASDC_LICENSE_MODEL_TEMPLATE} robot/assets/templates/asdc/license_model.template
-${ASDC_KEY_GROUP_TEMPLATE} robot/assets/templates/asdc/key_group.template
-${ASDC_ENTITLEMENT_POOL_TEMPLATE} robot/assets/templates/asdc/entitlement_pool.template
-${ASDC_FEATURE_GROUP_TEMPLATE} robot/assets/templates/asdc/feature_group.template
-${ASDC_LICENSE_AGREEMENT_TEMPLATE} robot/assets/templates/asdc/license_agreement.template
-${ASDC_ACTION_TEMPLATE} robot/assets/templates/asdc/action.template
-${ASDC_SOFTWARE_PRODUCT_TEMPLATE} robot/assets/templates/asdc/software_product.template
-${ASDC_CATALOG_RESOURCE_TEMPLATE} robot/assets/templates/asdc/catalog_resource.template
-${ASDC_USER_REMARKS_TEMPLATE} robot/assets/templates/asdc/user_remarks.template
-${ASDC_CATALOG_SERVICE_TEMPLATE} robot/assets/templates/asdc/catalog_service.template
-${ASDC_RESOURCE_INSTANCE_TEMPLATE} robot/assets/templates/asdc/resource_instance.template
-${ASDC_FE_ENDPOINT} ${GLOBAL_ASDC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SDC_FE_IP_ADDR}:${GLOBAL_ASDC_FE_PORT}
-${ASDC_BE_ENDPOINT} ${GLOBAL_ASDC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SDC_BE_IP_ADDR}:${GLOBAL_ASDC_BE_PORT}
-
-*** Keywords ***
-Distribute Model From ASDC
- [Documentation] goes end to end creating all the asdc objects based ona model and distributing it to the systems. it then returns the service name, vf name and vf module name
- [Arguments] ${model_zip_path} ${catalog_service_name}=
- ${catalog_service_id}= Add ASDC Catalog Service ${catalog_service_name}
- ${catalog_resource_ids}= Create List
- ${catalog_resources}= Create Dictionary
- : FOR ${zip} IN @{model_zip_path}
- \ ${loop_catalog_resource_id}= Setup ASDC Catalog Resource ${zip}
- \ Append To List ${catalog_resource_ids} ${loop_catalog_resource_id}
- \ ${loop_catalog_resource_resp}= Get ASDC Catalog Resource ${loop_catalog_resource_id}
- \ Add ASDC Resource Instance ${catalog_service_id} ${loop_catalog_resource_id} ${loop_catalog_resource_resp['name']}
- \ Set To Dictionary ${catalog_resources} ${loop_catalog_resource_id}=${loop_catalog_resource_resp}
- ${catalog_service_resp}= Get ASDC Catalog Service ${catalog_service_id}
- Checkin ASDC Catalog Service ${catalog_service_id}
- Request Certify ASDC Catalog Service ${catalog_service_id}
- Start Certify ASDC Catalog Service ${catalog_service_id}
- # on certify it gets a new id
- ${catalog_service_id}= Certify ASDC Catalog Service ${catalog_service_id}
- Approve ASDC Catalog Service ${catalog_service_id}
- 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
- 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} ${catalog_resources}
-
-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}
- ${license_model_id}= Add ASDC License Model
- ${key_group_id}= Add ASDC License Group ${license_model_id}
- ${pool_id}= Add ASDC Entitlement Pool ${license_model_id}
- ${feature_group_id}= Add ASDC Feature Group ${license_model_id} ${key_group_id} ${pool_id}
- ${license_agreement_id}= Add ASDC License Agreement ${license_model_id} ${feature_group_id}
- Checkin ASDC License Model ${license_model_id}
- Submit ASDC License Model ${license_model_id}
- ${license_model_resp}= Get ASDC License Model ${license_model_id} 1.0
- ${software_product_id}= Add ASDC Software Product ${license_agreement_id} ${feature_group_id} ${license_model_resp['vendorName']} ${license_model_id}
- Upload ASDC Heat Package ${software_product_id} ${model_zip_path}
- Validate ASDC Software Product ${software_product_id}
- Checkin ASDC Software Product ${software_product_id}
- Submit ASDC Software Product ${software_product_id}
- Package ASDC Software Product ${software_product_id}
- ${software_product_resp}= Get ASDC Software Product ${software_product_id} 1.0
- ${catalog_resource_id}= Add ASDC Catalog Resource ${license_agreement_id} ${software_product_resp['name']} ${license_model_resp['vendorName']} ${software_product_id}
- Checkin ASDC Catalog Resource ${catalog_resource_id}
- Request Certify ASDC Catalog Resource ${catalog_resource_id}
- Start Certify ASDC Catalog Resource ${catalog_resource_id}
- # on certify it gets a new id
- [Return] ${catalog_resource_id}
- ${catalog_resource_id}= Certify ASDC Catalog Resource ${catalog_resource_id}
-Add ASDC License Model
- [Documentation] Creates an asdc license model and returns its id
- ${uuid}= Generate UUID
- ${shortened_uuid}= Evaluate str("${uuid}")[:23]
- ${map}= Create Dictionary vendor_name=${shortened_uuid}
- ${data}= Fill JSON Template File ${ASDC_LICENSE_MODEL_TEMPLATE} ${map}
- ${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH} ${data}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()['value']}
-Get ASDC License Model
- [Documentation] gets an asdc license model by its id
- [Arguments] ${id} ${version_id}=0.1
- ${resp}= Run ASDC Get Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${id}/versions/${version_id}
- [Return] ${resp.json()}
-Get ASDC License Models
- [Documentation] gets an asdc license model by its id
- ${resp}= Run ASDC Get Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}
- [Return] ${resp.json()}
-Checkin ASDC License Model
- [Documentation] checksin an asdc license model by its id
- [Arguments] ${id} ${version_id}=0.1
- ${map}= Create Dictionary action=Checkin
- ${data}= Fill JSON Template File ${ASDC_ACTION_TEMPLATE} ${map}
- ${resp}= Run ASDC Put Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH} ${data}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()}
-Submit ASDC License Model
- [Documentation] submits an asdc license model by its id
- [Arguments] ${id} ${version_id}=0.1
- ${map}= Create Dictionary action=Submit
- ${data}= Fill JSON Template File ${ASDC_ACTION_TEMPLATE} ${map}
- ${resp}= Run ASDC Put Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH} ${data}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()}
-Checkin ASDC Software Product
- [Documentation] checksin an asdc Software Product by its id
- [Arguments] ${id} ${version_id}=0.1
- ${map}= Create Dictionary action=Checkin
- ${data}= Fill JSON Template File ${ASDC_ACTION_TEMPLATE} ${map}
- ${resp}= Run ASDC Put Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH} ${data}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()}
-Validate ASDC Software Product
- [Documentation] checksin an asdc Software Product by its id
- [Arguments] ${id} ${version_id}=0.1
- ${data}= Catenate
- ${resp}= Run ASDC Put Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}/versions/${version_id}/orchestration-template-candidate/process ${data}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()}
-Submit ASDC Software Product
- [Documentation] submits an asdc Software Product by its id
- [Arguments] ${id} ${version_id}=0.1
- ${map}= Create Dictionary action=Submit
- ${data}= Fill JSON Template File ${ASDC_ACTION_TEMPLATE} ${map}
- ${resp}= Run ASDC Put Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH} ${data}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()}
-Package ASDC Software Product
- [Documentation] creates_package on an asdc Software Product by its id
- [Arguments] ${id} ${version_id}=0.1
- ${map}= Create Dictionary action=Create_Package
- ${data}= Fill JSON Template File ${ASDC_ACTION_TEMPLATE} ${map}
- ${resp}= Run ASDC Put Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH} ${data}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()}
-Add ASDC Entitlement Pool
- [Documentation] Creates an asdc Entitlement Pool and returns its id
- [Arguments] ${license_model_id} ${version_id}=0.1
- ${uuid}= Generate UUID
- ${shortened_uuid}= Evaluate str("${uuid}")[:23]
- ${map}= Create Dictionary entitlement_pool_name=${shortened_uuid}
- ${data}= Fill JSON Template File ${ASDC_ENTITLEMENT_POOL_TEMPLATE} ${map}
- ${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_ENTITLEMENT_POOL_PATH} ${data}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()['value']}
-Get ASDC Entitlement Pool
- [Documentation] gets an asdc Entitlement Pool by its id
- [Arguments] ${license_model_id} ${pool_id}
- ${resp}= Run ASDC Get Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}${ASDC_VENDOR_ENTITLEMENT_POOL_PATH}/${pool_id}
- [Return] ${resp.json()}
-Add ASDC License Group
- [Documentation] Creates an asdc license group and returns its id
- [Arguments] ${license_model_id} ${version_id}=0.1
- ${uuid}= Generate UUID
- ${shortened_uuid}= Evaluate str("${uuid}")[:23]
- ${map}= Create Dictionary key_group_name=${shortened_uuid}
- ${data}= Fill JSON Template File ${ASDC_KEY_GROUP_TEMPLATE} ${map}
- ${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_KEY_GROUP_PATH} ${data}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()['value']}
-Get ASDC License Group
- [Documentation] gets an asdc license group by its id
- [Arguments] ${license_model_id} ${group_id} ${version_id}
- ${resp}= Run ASDC Get Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_KEY_GROUP_PATH}/${group_id}
- [Return] ${resp.json()}
-Add ASDC Feature Group
- [Documentation] Creates an asdc Feature Group and returns its id
- [Arguments] ${license_model_id} ${key_group_id} ${entitlement_pool_id} ${version_id}=0.1
- ${uuid}= Generate UUID
- ${shortened_uuid}= Evaluate str("${uuid}")[:23]
- ${map}= Create Dictionary feature_group_name=${shortened_uuid} key_group_id=${key_group_id} entitlement_pool_id=${entitlement_pool_id} manufacturer_reference_number=mrn${shortened_uuid}
- ${data}= Fill JSON Template File ${ASDC_FEATURE_GROUP_TEMPLATE} ${map}
- ${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_FEATURE_GROUP_PATH} ${data}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()['value']}
-Get ASDC Feature Group
- [Documentation] gets an asdc Feature Group by its id
- [Arguments] ${license_model_id} ${group_id}
- ${resp}= Run ASDC Get Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}${ASDC_VENDOR_FEATURE_GROUP_PATH}/${group_id}
- [Return] ${resp.json()}
-Add ASDC License Agreement
- [Documentation] Creates an asdc License Agreement and returns its id
- [Arguments] ${license_model_id} ${feature_group_id} ${version_id}=0.1
- ${uuid}= Generate UUID
- ${shortened_uuid}= Evaluate str("${uuid}")[:23]
- ${map}= Create Dictionary license_agreement_name=${shortened_uuid} feature_group_id=${feature_group_id}
- ${data}= Fill JSON Template File ${ASDC_LICENSE_AGREEMENT_TEMPLATE} ${map}
- ${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_LICENSE_AGREEMENT_PATH} ${data}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()['value']}
-Get ASDC License Agreement
- [Documentation] gets an asdc License Agreement by its id
- [Arguments] ${license_model_id} ${agreement_id}
- ${resp}= Run ASDC Get Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}${ASDC_VENDOR_LICENSE_AGREEMENT_PATH}/${agreement_id}
- [Return] ${resp.json()}
-Add ASDC Software Product
- [Documentation] Creates an asdc Software Product and returns its id
- [Arguments] ${license_agreement_id} ${feature_group_id} ${license_model_name} ${license_model_id}
- ${uuid}= Generate UUID
- ${shortened_uuid}= Evaluate str("${uuid}")[:23]
- ${map}= Create Dictionary software_product_name=${shortened_uuid} feature_group_id=${feature_group_id} license_agreement_id=${license_agreement_id} vendor_name=${license_model_name} vendor_id=${license_model_id}
- ${data}= Fill JSON Template File ${ASDC_SOFTWARE_PRODUCT_TEMPLATE} ${map}
- ${resp}= Run ASDC Post Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH} ${data}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()['vspId']}
-Get ASDC Software Product
- [Documentation] gets an asdc Software Product by its id
- [Arguments] ${software_product_id} ${version_id}=0.1
- ${resp}= Run ASDC Get Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${software_product_id}/versions/${version_id}
- [Return] ${resp.json()}
-Add ASDC Catalog Resource
- [Documentation] Creates an asdc Catalog Resource and returns its id
- [Arguments] ${license_agreement_id} ${software_product_name} ${license_model_name} ${software_product_id}
- ${map}= Create Dictionary software_product_id=${software_product_id} software_product_name=${software_product_name} license_agreement_id=${license_agreement_id} vendor_name=${license_model_name}
- ${data}= Fill JSON Template File ${ASDC_CATALOG_RESOURCE_TEMPLATE} ${map}
- ${resp}= Run ASDC Post Request ${ASDC_CATALOG_RESOURCES_PATH} ${data} ${ASDC_DESIGNER_USER_ID}
- Should Be Equal As Strings ${resp.status_code} 201
- [Return] ${resp.json()['uniqueId']}
-Mark ASDC Catalog Resource Inactive
- [Documentation] deletes an asdc Catalog Resource
- [Arguments] ${catalog_resource_id}
- ${resp}= Run ASDC Delete Request ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id} ${ASDC_DESIGNER_USER_ID}
- Should Be Equal As Strings ${resp.status_code} 204
- [Return] ${resp}
-Delete Inactive ASDC Catalog Resources
- [Documentation] delete all asdc Catalog Resources that are inactive
- ${resp}= Run ASDC Delete Request ${ASDC_CATALOG_INACTIVE_RESOURCES_PATH} ${ASDC_DESIGNER_USER_ID}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()}
-Get ASDC Catalog Resource
- [Documentation] gets an asdc Catalog Resource by its id
- [Arguments] ${catalog_resource_id}
- ${resp}= Run ASDC Get Request ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id} ${ASDC_DESIGNER_USER_ID}
- [Return] ${resp.json()}
-Checkin ASDC Catalog Resource
- [Documentation] checksin an asdc Catalog Resource by its id
- [Arguments] ${catalog_resource_id}
- ${map}= Create Dictionary user_remarks=Robot remarks
- ${data}= Fill JSON Template File ${ASDC_USER_REMARKS_TEMPLATE} ${map}
- ${resp}= Run ASDC Post Request ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id}${ASDC_CATALOG_LIFECYCLE_PATH}/checkin ${data} ${ASDC_DESIGNER_USER_ID}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()}
-Request Certify ASDC Catalog Resource
- [Documentation] requests certify on an asdc Catalog Resource by its id
- [Arguments] ${catalog_resource_id}
- ${map}= Create Dictionary user_remarks=Robot remarks
- ${data}= Fill JSON Template File ${ASDC_USER_REMARKS_TEMPLATE} ${map}
- ${resp}= Run ASDC Post Request ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id}${ASDC_CATALOG_LIFECYCLE_PATH}/certificationRequest ${data} ${ASDC_DESIGNER_USER_ID}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()}
-Start Certify ASDC Catalog Resource
- [Documentation] start certify an asdc Catalog Resource by its id
- [Arguments] ${catalog_resource_id}
- ${resp}= Run ASDC Post Request ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id}${ASDC_CATALOG_LIFECYCLE_PATH}/startCertification ${None} ${ASDC_TESTER_USER_ID}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()}
-Certify ASDC Catalog Resource
- [Documentation] start certify an asdc Catalog Resource by its id and returns the new id
- [Arguments] ${catalog_resource_id}
- ${map}= Create Dictionary user_remarks=Robot remarks
- ${data}= Fill JSON Template File ${ASDC_USER_REMARKS_TEMPLATE} ${map}
- ${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
- ${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}
- ${uuid}= Generate UUID
- ${shortened_uuid}= Evaluate str("${uuid}")[:23]
- ${catalog_service_name}= Set Variable If '${catalog_service_name}' =='' ${shortened_uuid} ${catalog_service_name}
- ${map}= Create Dictionary service_name=${catalog_service_name}
- ${data}= Fill JSON Template File ${ASDC_CATALOG_SERVICE_TEMPLATE} ${map}
- ${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH} ${data} ${ASDC_DESIGNER_USER_ID}
- Should Be Equal As Strings ${resp.status_code} 201
- [Return] ${resp.json()['uniqueId']}
-Mark ASDC Catalog Service Inactive
- [Documentation] Deletes an asdc Catalog Service
- [Arguments] ${catalog_service_id}
- ${resp}= Run ASDC Delete Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id} ${ASDC_DESIGNER_USER_ID}
- Should Be Equal As Strings ${resp.status_code} 204
- [Return] ${resp}
-Delete Inactive ASDC Catalog Services
- [Documentation] delete all asdc Catalog Serivces that are inactive
- ${resp}= Run ASDC Delete Request ${ASDC_CATALOG_INACTIVE_SERVICES_PATH} ${ASDC_DESIGNER_USER_ID}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()}
-Get ASDC Catalog Service
- [Documentation] gets an asdc Catalog Service by its id
- [Arguments] ${catalog_service_id}
- ${resp}= Run ASDC Get Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id} ${ASDC_DESIGNER_USER_ID}
- [Return] ${resp.json()}
-Checkin ASDC Catalog Service
- [Documentation] checksin an asdc Catalog Service by its id
- [Arguments] ${catalog_service_id}
- ${map}= Create Dictionary user_remarks=Robot remarks
- ${data}= Fill JSON Template File ${ASDC_USER_REMARKS_TEMPLATE} ${map}
- ${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_LIFECYCLE_PATH}/checkin ${data} ${ASDC_DESIGNER_USER_ID}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()}
-Request Certify ASDC Catalog Service
- [Documentation] requests certify on an asdc Catalog Service by its id
- [Arguments] ${catalog_service_id}
- ${map}= Create Dictionary user_remarks=Robot remarks
- ${data}= Fill JSON Template File ${ASDC_USER_REMARKS_TEMPLATE} ${map}
- ${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_LIFECYCLE_PATH}/certificationRequest ${data} ${ASDC_DESIGNER_USER_ID}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()}
-Start Certify ASDC Catalog Service
- [Documentation] start certify an asdc Catalog Service by its id
- [Arguments] ${catalog_service_id}
- ${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_LIFECYCLE_PATH}/startCertification ${None} ${ASDC_TESTER_USER_ID}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()}
-Certify ASDC Catalog Service
- [Documentation] start certify an asdc Catalog Service by its id and returns the new id
- [Arguments] ${catalog_service_id}
- ${map}= Create Dictionary user_remarks=Robot remarks
- ${data}= Fill JSON Template File ${ASDC_USER_REMARKS_TEMPLATE} ${map}
- ${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_LIFECYCLE_PATH}/certify ${data} ${ASDC_TESTER_USER_ID}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()['uniqueId']}
-Approve ASDC Catalog Service
- [Documentation] approve an asdc Catalog Service by its id
- [Arguments] ${catalog_service_id}
- ${map}= Create Dictionary user_remarks=Robot remarks
- ${data}= Fill JSON Template File ${ASDC_USER_REMARKS_TEMPLATE} ${map}
- ${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_SERVICE_DISTRIBUTION_STATE_PATH}${ASDC_DISTRIBUTION_STATE_APPROVE_PATH} ${data} ${ASDC_GOVERNOR_USER_ID}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()}
-Distribute ASDC Catalog Service
- [Documentation] distribute an asdc Catalog Service by its id
- [Arguments] ${catalog_service_id}
- ${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_SERVICE_DISTRIBUTION_ACTIVATE_PATH} ${None} ${ASDC_OPS_USER_ID}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()}
-Add ASDC Resource Instance
- [Documentation] Creates an asdc Resource Instance and returns its id
- [Arguments] ${catalog_service_id} ${catalog_resource_id} ${catalog_resource_name}
- ${milli_timestamp}= Generate MilliTimestamp UUID
- ${map}= Create Dictionary catalog_resource_id=${catalog_resource_id} catalog_resource_name=${catalog_resource_name} milli_timestamp=${milli_timestamp}
- ${data}= Fill JSON Template File ${ASDC_RESOURCE_INSTANCE_TEMPLATE} ${map}
- ${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_SERVICE_RESOURCE_INSTANCE_PATH} ${data} ${ASDC_DESIGNER_USER_ID}
- Should Be Equal As Strings ${resp.status_code} 201
- [Return] ${resp.json()['uniqueId']}
-Get Catalog Service Distribution
- [Documentation] gets an asdc catalog Service distrbution
- [Arguments] ${catalog_service_uuid}
- ${resp}= Run ASDC Get Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_uuid}${ASDC_CATALOG_SERVICE_DISTRIBUTION_PATH} ${ASDC_OPS_USER_ID}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()}
-Check Catalog Service Distributed
- [Documentation] gets an asdc catalog Service distrbution
- [Arguments] ${catalog_service_uuid}
- ${dist_resp}= Get Catalog Service Distribution ${catalog_service_uuid}
- Should Be Equal As Strings ${dist_resp['distributionStatusOfServiceList'][0]['deployementStatus']} Distributed
- Sleep 3 minutes
- ${det_resp}= Get Catalog Service Distribution Details ${dist_resp['distributionStatusOfServiceList'][0]['distributionID']}
- @{ITEMS}= Copy List ${det_resp['distributionStatusList']}
- :FOR ${ELEMENT} IN @{ITEMS}
- \ Log ${ELEMENT['status']}
- \ Should Match Regexp ${ELEMENT['status']} ^(DEPLOY_OK|NOTIFIED|DOWNLOAD_OK|NOT_NOTIFIED)$
-Get Catalog Service Distribution Details
- [Documentation] gets an asdc catalog Service distrbution details
- [Arguments] ${catalog_service_distribution_id}
- ${resp}= Run ASDC Get Request ${ASDC_CATALOG_SERVICES_PATH}${ASDC_CATALOG_SERVICE_DISTRIBUTION_PATH}/${catalog_service_distribution_id} ${ASDC_OPS_USER_ID}
- Should Be Equal As Strings ${resp.status_code} 200
- [Return] ${resp.json()}
-Run ASDC Health Check
- [Documentation] Runs a ASDC health check
- ${session}= Create Session asdc ${ASDC_FE_ENDPOINT}
- ${uuid}= Generate UUID
- ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
- ${resp}= Get Request asdc ${ASDC_HEALTH_CHECK_PATH} headers=${headers}
- Should Be Equal As Strings ${resp.status_code} 200
- @{ITEMS}= Copy List ${resp.json()['componentsInfo']}
- :FOR ${ELEMENT} IN @{ITEMS}
- \ Log ${ELEMENT['healthCheckStatus']}
- \ Should Be Equal As Strings ${ELEMENT['healthCheckStatus']} UP
-Run ASDC Get Request
- [Documentation] Runs an ASDC get request
- [Arguments] ${data_path} ${user}=${ASDC_DESIGNER_USER_ID}
- ${auth}= Create List ${GLOBAL_ASDC_BE_USERNAME} ${GLOBAL_ASDC_BE_PASSWORD}
- Log Creating session ${ASDC_BE_ENDPOINT}
- ${session}= Create Session asdc ${ASDC_BE_ENDPOINT} auth=${auth}
- ${uuid}= Generate UUID
- ${headers}= Create Dictionary Accept=application/json Content-Type=application/json USER_ID=${user} X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
- ${resp}= Get Request asdc ${data_path} headers=${headers}
- Log Received response from asdc ${resp.text}
- [Return] ${resp}
-Run ASDC Put Request
- [Documentation] Runs an ASDC put request
- [Arguments] ${data_path} ${data} ${user}=${ASDC_DESIGNER_USER_ID}
- ${auth}= Create List ${GLOBAL_ASDC_BE_USERNAME} ${GLOBAL_ASDC_BE_PASSWORD}
- Log Creating session ${ASDC_BE_ENDPOINT}
- ${session}= Create Session asdc ${ASDC_BE_ENDPOINT} auth=${auth}
- ${uuid}= Generate UUID
- ${headers}= Create Dictionary Accept=application/json Content-Type=application/json USER_ID=${user} X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
- ${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}
- ${auth}= Create List ${GLOBAL_ASDC_BE_USERNAME} ${GLOBAL_ASDC_BE_PASSWORD}
- Log Creating session ${ASDC_BE_ENDPOINT}
- ${session}= Create Session asdc ${ASDC_BE_ENDPOINT} auth=${auth}
- ${uuid}= Generate UUID
- ${headers}= Create Dictionary Accept=application/json Content-Type=multipart/form-data USER_ID=${user} X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
- ${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}
- ${auth}= Create List ${GLOBAL_ASDC_BE_USERNAME} ${GLOBAL_ASDC_BE_PASSWORD}
- Log Creating session ${ASDC_BE_ENDPOINT}
- ${session}= Create Session asdc ${ASDC_BE_ENDPOINT} auth=${auth}
- ${uuid}= Generate UUID
- ${headers}= Create Dictionary Accept=application/json Content-Type=application/json USER_ID=${user} X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
- ${resp}= Post Request asdc ${data_path} data=${data} headers=${headers}
- Log Received response from asdc ${resp.text}
- [Return] ${resp}
-Run ASDC Delete Request
- [Documentation] Runs an ASDC delete request
- [Arguments] ${data_path} ${user}=${ASDC_DESIGNER_USER_ID}
- ${auth}= Create List ${GLOBAL_ASDC_BE_USERNAME} ${GLOBAL_ASDC_BE_PASSWORD}
- Log Creating session ${ASDC_BE_ENDPOINT}
- ${session}= Create Session asdc ${ASDC_BE_ENDPOINT} auth=${auth}
- ${uuid}= Generate UUID
- ${headers}= Create Dictionary Accept=application/json Content-Type=application/json USER_ID=${user} X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
- ${resp}= Delete Request asdc ${data_path} headers=${headers}
- Log Received response from asdc ${resp.text}
- [Return] ${resp}
-Open ASDC GUI
- [Documentation] Logs in to ASDC GUI
- [Arguments] ${PATH}
- ## Setup Browever now being managed by the test case
- ##Setup Browser
- Go To ${ASDC_FE_ENDPOINT}${PATH}
- Maximize Browser Window
-
- 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/resources/config/robot/resources/policy_interface.robot b/resources/config/robot/resources/policy_interface.robot
index 9193fe4..9656b7b 100644
--- a/resources/config/robot/resources/policy_interface.robot
+++ b/resources/config/robot/resources/policy_interface.robot
@@ -28,6 +28,7 @@ Run Policy Health Check
:FOR ${ELEMENT} IN @{ITEMS}
\ Should Be Equal As Strings ${ELEMENT['code']} 200
\ Should Be True ${ELEMENT['healthy']}
+
Run Policy Put Request
[Documentation] Runs Policy Put request
[Arguments] ${data_path} ${data}
@@ -37,6 +38,7 @@ Run Policy Put Request
${resp}= Put Request policy ${data_path} data=${data} headers=${headers}
Log Received response from policy ${resp.text}
[Return] ${resp}
+
Run Policy Delete Request
[Documentation] Runs Policy Delete request
[Arguments] ${data_path} ${data}
@@ -46,12 +48,13 @@ Run Policy Delete Request
${resp}= Delete Request policy ${data_path} data=${data} headers=${headers}
Log Received response from policy ${resp.text}
[Return] ${resp}
+
Run Policy Get Configs Request
[Documentation] Runs Policy Get Configs request
[Arguments] ${data_path} ${data}
Log Creating session ${POLICY_ENDPOINT}
${session}= Create Session policy ${POLICY_ENDPOINT}
- ${headers}= Create Dictionary Accept=application/json Content-Type=application/json Authorization=Basic ${GLOBAL_POLICY_AUTH} ClientAuth=${GLOBAL_POLICY_CLIENTAUTH}
+ ${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/resources/config/robot/resources/sdngc_interface.robot b/resources/config/robot/resources/sdngc_interface.robot
index 5b79f9a..57198db 100644
--- a/resources/config/robot/resources/sdngc_interface.robot
+++ b/resources/config/robot/resources/sdngc_interface.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation The main interface for interacting with SDN-GC. It handles low level stuff like managing the http request library and SDN-GC required fields
Library RequestsLibrary
-Library UUID
+Library UUID
Library OperatingSystem
Library ExtendedSelenium2Library
Library Collections
@@ -30,7 +30,7 @@ Run SDNGC Health Check
[Documentation] Runs an SDNGC healthcheck
${resp}= Run SDNGC Post Request ${SDNGC_INDEX PATH}${SDNCGC_HEALTHCHECK_OPERATION_PATH} ${None}
Should Be Equal As Strings ${resp.status_code} 200
- Should Be Equal As Strings ${resp.json()['output']['response-code']} 200
+ Should Be Equal As Strings ${resp.json()['output']['response-code']} 200
Run SDNGC Get Request
[Documentation] Runs an SDNGC get request
@@ -43,7 +43,7 @@ Run SDNGC Get Request
${resp}= Get Request sdngc ${data_path} headers=${headers}
Log Received response from sdngc ${resp.text}
[Return] ${resp}
-
+
Run SDNGC Put Request
[Documentation] Runs an SDNGC put request
[Arguments] ${data_path} ${data}
@@ -66,8 +66,8 @@ Run SDNGC Post Request
${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
${resp}= Post Request sdngc ${data_path} data=${data} headers=${headers}
Log Received response from sdngc ${resp.text}
- [Return] ${resp}
-
+ [Return] ${resp}
+
Run SDNGC Delete Request
[Documentation] Runs an SDNGC delete request
[Arguments] ${data_path}
@@ -83,7 +83,7 @@ Run SDNGC Delete Request
Preload Vnf
[Arguments] ${service_type_uuid} ${generic_vnf_name} ${generic_vnf_type} ${vf_module_name} ${vf_modules} ${service} ${uuid}
- ${base_vf_module_type}= Catenate ''
+ ${base_vf_module_type}= Catenate
${closedloop_vf_module}= Create Dictionary
${templates}= Get From Dictionary ${GLOBAL_SERVICE_TEMPLATE_MAPPING} ${service}
:for ${vf_module} in @{vf_modules}
@@ -92,36 +92,36 @@ Preload Vnf
\ ${filename}= Get From Dictionary ${dict} template
\ ${base_vf_module_type}= Set Variable If '${dict['isBase']}' == 'true' ${vf_module_type} ${base_vf_module_type}
\ ${closedloop_vf_module}= Set Variable If '${dict['isBase']}' == 'false' ${vf_module} ${closedloop_vf_module}
- \ ${vf_name}= Update Module Name ${dict} ${vf_module_name}
- \ Preload Vnf Profile ${vf_module_type}
+ \ ${vf_name}= Update Module Name ${dict} ${vf_module_name}
+ \ Preload Vnf Profile ${vf_module_type}
\ Preload One Vnf Topology ${service_type_uuid} ${generic_vnf_name} ${generic_vnf_type} ${vf_name} ${vf_module_type} ${service} ${filename} ${uuid}
- [Return] ${base_vf_module_type} ${closedloop_vf_module}
+ [Return] ${base_vf_module_type} ${closedloop_vf_module}
Update Module Name
[Arguments] ${dict} ${vf_module_name}
Return From Keyword If 'prefix' not in ${dict} ${vf_module_name}
Return From Keyword If '${dict['prefix']}' == '' ${vf_module_name}
- ${name}= Replace String ${vf_module_name} Vfmodule_ ${dict['prefix']}
- [Return] ${name}
+ ${name}= Replace String ${vf_module_name} Vfmodule_ ${dict['prefix']}
+ [Return] ${name}
Get From Mapping
- [Documentation] Retrieve the appropriate prelad template entry for the passed vf_module
+ [Documentation] Retrieve the appropriate prelad template entry for the passed vf_module
[Arguments] ${templates} ${vf_module}
${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
-
+ :for ${template} in @{templates}
+ \ Return From Keyword If '${template['name_pattern']}' in '${vf_module_name}' ${template}
+ [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}/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}
+ 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}
+ ${data}= Fill JSON Template ${data_template} ${parameters}
${put_resp}= Run SDNGC Post Request ${SDNGC_INDEX_PATH}${PRELOAD_VNF_TOPOLOGY_OPERATION_PATH} ${data}
- Should Be Equal As Strings ${put_resp.json()['output']['response-code']} 200
+ Should Be Equal As Strings ${put_resp.json()['output']['response-code']} 200
${get_resp}= Run SDNGC Get Request ${SDNGC_INDEX_PATH}${PRELOAD_VNF_CONFIG_PATH}/${vf_module_name}/${vf_module_type}
Should Be Equal As Strings ${get_resp.status_code} 200
@@ -130,29 +130,47 @@ Get Template Parameters
${rest} ${suite}= Split String From Right ${SUITE NAME} . 1
${uuid}= Catenate ${uuid}
${hostid}= Get Substring ${uuid} -4
- ${ecompnet}= Evaluate ${GLOBAL_BUILD_NUMBER}%255
+ ${ecompnet}= Evaluate (${GLOBAL_BUILD_NUMBER}%128)+128
+
+
# Initialize the value map with the properties generated from the Robot VM /opt/config folder
- ${valuemap}= Create Dictionary
+ ${valuemap}= Copy Dictionary ${GLOBAL_INJECTED_PROPERTIES}
+
+ # These should be deprecated by the above....
Set To Dictionary ${valuemap} artifacts_version=${GLOBAL_INJECTED_ARTIFACTS_VERSION}
- Set To Dictionary ${valuemap} network=${GLOBAL_INJECTED_NETWORK}
+ 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_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}
+
+
# update the value map with unique values.
Set To Dictionary ${valuemap} uuid=${uuid} hostid=${hostid} ecompnet=${ecompnet}
- ${parameters}= Create Dictionary
- ${defaults}= Get From Dictionary ${GLOBAL_PRELOAD_PARAMETERS} defaults
- Resolve Values Into Dictionary ${valuemap} ${defaults} ${parameters}
+
+ #
+ # Mash together the defaults dict with the test case dict to create the set of
+ # preload parameters
+ #
${suite_templates}= Get From Dictionary ${GLOBAL_PRELOAD_PARAMETERS} ${suite}
${template}= Get From Dictionary ${suite_templates} ${template}
- ${vnf_parameters}= Resolve VNF Parameters Into Array ${valuemap} ${template} ${parameters}
+ ${defaults}= Get From Dictionary ${GLOBAL_PRELOAD_PARAMETERS} defaults
+ # add all of the defaults to template...
+ @{keys}= Get Dictionary Keys ${defaults}
+ :for ${key} in @{keys}
+ \ ${value}= Get From Dictionary ${defaults} ${key}
+ \ Set To Dictionary ${template} ${key} ${value}
+
+ #
+ # Get the vnf_parameters to preload
+ #
+ ${vnf_parameters}= Resolve VNF Parameters Into Array ${valuemap} ${template}
${vnf_parameters_json}= Evaluate json.dumps(${vnf_parameters}) json
- Set To Dictionary ${parameters} vnf_parameters=${vnf_parameters_json}
+ ${parameters}= Create Dictionary vnf_parameters=${vnf_parameters_json}
[Return] ${parameters}
-
-Resolve Values Into Dictionary
+
+Resolve Values Into Dictionary
[Arguments] ${valuemap} ${from} ${to}
${keys}= Get Dictionary Keys ${from}
:for ${key} in @{keys}
@@ -161,7 +179,7 @@ Resolve Values Into Dictionary
\ Set To Dictionary ${to} ${key} ${value}
Resolve VNF Parameters Into Array
- [Arguments] ${valuemap} ${from} ${to}
+ [Arguments] ${valuemap} ${from}
${vnf_parameters}= Create List
${keys}= Get Dictionary Keys ${from}
:for ${key} in @{keys}
@@ -170,7 +188,7 @@ Resolve VNF Parameters Into Array
\ ${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}
Login To SDNGC Admin GUI
@@ -180,25 +198,25 @@ Preload Vnf Profile
Input Text xpath=//input[@id='nf_availability_zone_count'] 999
Input Text xpath=//input[@id='nf_equipment_role'] robot-ete-test
Click Button xpath=//button[contains(.,'Submit')]
- Page Should Contain VNF Profile
+ Page Should Contain VNF Profile
Input Text xpath=//div[@id='vnf_profile_filter']//input ${vnf_name}
- Page Should Contain ${vnf_name}
+ Page Should Contain ${vnf_name}
Delete Vnf Profile
[Arguments] ${vnf_name}
Login To SDNGC Admin GUI
Go To ${SDNGC_ADMIN_VNF_PROFILE_URL}
- Page Should Contain VNF Profile
+ Page Should Contain VNF Profile
Input Text xpath=//div[@id='vnf_profile_filter']//input ${vnf_name}
Page Should Contain ${vnf_name}
- Click Button xpath=//button[contains(@onclick, '${vnf_name}')]
+ Click Button xpath=//button[contains(@onclick, '${vnf_name}')]
Page Should Contain Are you sure you want to delete VNF_PROFILE
Click Button xpath=//button[contains(text(), 'Yes')]
Page Should Not Contain ${vnf_name}
-
+
Login To SDNGC Admin GUI
[Documentation] Login To SDNGC Admin GUI
- ## Setup Browser is now being managed by the test case
+ ## Setup Browser is now being managed by the test case
## Setup Browser
Go To ${SDNGC_ADMIN_SIGNUP_URL}
##Maximize Browser Window
@@ -207,7 +225,7 @@ Login To SDNGC Admin GUI
Log Logging in to ${SDNGC_ADMIN_LOGIN_URL}
Handle Proxy Warning
Title Should Be AdminPortal
- ${uuid}= Generate UUID
+ ${uuid}= Generate UUID
${shortened_uuid}= Evaluate str("${uuid}")[:12]
${email}= Catenate ${shortened_uuid}@robotete.com
Input Text xpath=//input[@id='nf_email'] ${email}
@@ -219,4 +237,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/templates/deployment.yaml b/templates/deployment.yaml
index 3403810..6379aa1 100644
--- a/templates/deployment.yaml
+++ b/templates/deployment.yaml
@@ -23,52 +23,64 @@ metadata:
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
- replicas: {{ .Values.robotReplicas }}
+ replicas: {{ .Values.replicaCount }}
template:
metadata:
- labels:
+ labels:
app: {{ include "common.name" . }}
release: {{ .Release.Name }}
spec:
+ initContainers:
+ - name: {{ include "common.name" . }}-inject-demo-project
+ command:
+ - /bin/bash
+ - -c
+ - >
+ git clone -b {{ .Values.config.gerritBranch }} --single-branch {{ .Values.config.gerritProject }} /tmp/gerrit;
+ echo "Clone complete. Copying from /tmp/gerrit/heat to /share";
+ cp -rf /tmp/gerrit/heat /share;
+ echo "Done.";
+ image: "{{ .Values.global.ubuntuInitRepository }}/{{ .Values.ubuntuInitImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ volumeMounts:
+ - name: demodir
+ mountPath: "/share"
containers:
- - name: {{ .Chart.Name }}
- image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
- imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
- ports:
- - containerPort: {{ .Values.service.internalPort }}
- # disable liveness probe when breakpoints set in debugger
- # so K8s doesn't restart unresponsive container
- {{- if eq .Values.liveness.enabled true }}
- livenessProbe:
- tcpSocket:
- port: {{ .Values.service.internalPort }}
- initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
- periodSeconds: {{ .Values.liveness.periodSeconds }}
- {{ end -}}
- readinessProbe:
- tcpSocket:
- port: {{ .Values.service.internalPort }}
- initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
- periodSeconds: {{ .Values.readiness.periodSeconds }}
- volumeMounts:
- - name: localtime
- mountPath: /etc/localtime
- readOnly: true
- - name: robot-eteshare
- mountPath: /share/config
- - name: robot-resources
- mountPath: /var/opt/OpenECOMP_ETE/robot/resources/asdc_interface.robot
- subPath: asdc_interface.robot
- - name: robot-resources
- mountPath: /var/opt/OpenECOMP_ETE/robot/resources/policy_interface.robot
- subPath: policy_interface.robot
- - name: robot-resources
- mountPath: /var/opt/OpenECOMP_ETE/robot/resources/sdngc_interface.robot
- subPath: sdngc_interface.robot
- - name: robot-lighttpd-authorization
- mountPath: /etc/lighttpd/authorization
- subPath: authorization
- resources:
+ - name: {{ include "common.name" . }}
+ image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ {{ if .Values.liveness.enabled }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end }}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ volumeMounts:
+ - name: localtime
+ mountPath: /etc/localtime
+ readOnly: true
+ - name: robot-eteshare
+ mountPath: /share/config
+ - name: robot-resources
+ mountPath: /var/opt/OpenECOMP_ETE/robot/resources/policy_interface.robot
+ subPath: policy_interface.robot
+ - name: robot-resources
+ mountPath: /var/opt/OpenECOMP_ETE/robot/resources/sdngc_interface.robot
+ subPath: sdngc_interface.robot
+ - name: robot-lighttpd-authorization
+ mountPath: /etc/lighttpd/authorization
+ subPath: authorization
+ - name: demodir
+ mountPath: /share
+ resources:
{{ toYaml .Values.resources | indent 12 }}
{{- if .Values.nodeSelector }}
nodeSelector:
@@ -79,18 +91,20 @@ spec:
{{ toYaml .Values.affinity | indent 10 }}
{{- end }}
volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: robot-eteshare
- configMap:
- name: {{ include "common.fullname" . }}-eteshare-configmap
- defaultMode: 0755
- - name: robot-resources
- configMap:
- name: {{ include "common.fullname" . }}-resources-configmap
- - name: robot-lighttpd-authorization
- configMap:
- name: {{ include "common.fullname" . }}-lighttpd-authorization-configmap
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: robot-eteshare
+ configMap:
+ name: {{ include "common.fullname" . }}-eteshare-configmap
+ defaultMode: 0755
+ - name: robot-resources
+ configMap:
+ name: {{ include "common.fullname" . }}-resources-configmap
+ - name: robot-lighttpd-authorization
+ configMap:
+ name: {{ include "common.fullname" . }}-lighttpd-authorization-configmap
+ - name: demodir
+ emptyDir: {}
imagePullSecrets:
- name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/templates/service.yaml b/templates/service.yaml
index f9f2805..3fc21b4 100644
--- a/templates/service.yaml
+++ b/templates/service.yaml
@@ -15,7 +15,7 @@
apiVersion: v1
kind: Service
metadata:
- name: {{ include "common.fullname" . }}
+ name: {{ include "common.servicename" . }}
namespace: {{ include "common.namespace" . }}
labels:
app: {{ include "common.name" . }}
@@ -26,14 +26,14 @@ spec:
type: {{ .Values.service.type }}
ports:
{{if eq .Values.service.type "NodePort" -}}
- - port: {{ .Values.service.internalPort }}
- nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort }}
- name: {{ .Values.service.name }}
+ - port: {{ .Values.service.externalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.portName | default "http" }}
{{- else -}}
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.internalPort }}
- name: {{ .Values.service.name }}
+ name: {{ .Values.service.portName | default "http" }}
{{- end}}
selector:
app: {{ include "common.name" . }}
- release: {{ .Release.Name }}
+ release: {{ .Release.Name }} \ No newline at end of file
diff --git a/values.yaml b/values.yaml
index 06f168c..a842673 100644
--- a/values.yaml
+++ b/values.yaml
@@ -18,38 +18,69 @@
global: # global defaults
nodePortPrefix: 302
repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ ubuntuInitRepository: registry.hub.docker.com
# application image
repository: nexus3.onap.org:10001
image: onap/testsuite:1.2-STAGING-latest
pullPolicy: Always
+ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
+
# flag to enable debugging - application support required
debugEnabled: false
#################################################################
# Application configuration defaults.
#################################################################
-
-# openstack configuration
-
+config:
+ # Username of the lighthttpd server. Used for HTML auth for webpage access
+ lightHttpdUsername: robot
+ # Password of the lighthttpd server. Used for HTML auth for webpage access
+ lightHttpdPassword: robot
+ # gerrit branch where the latest heat code is checked in
+ gerritBranch: master
+ # gerrit project where the latest heat code is checked in
+ gerritProject: http://gerrit.onap.org/r/demo.git
+
+
+# Demo configuration
+# Nexus demo artifact version. Maps to GLOBAL_INJECTED_ARTIFACTS_VERSION
demoArtifactsVersion: "1.2.0-SNAPSHOT"
-openStackPrivateNetCidr: "192.168.30.0"
+# Openstack medium sized flavour name. Maps GLOBAL_INJECTED_VM_FLAVOR
openStackFlavourMedium: "m1.medium"
+# Openstack keystone URL. Maps to GLOBAL_INJECTED_KEYSTONE
openStackKeyStoneUrl: "http://1.2.3.4:5000"
+# UUID of the Openstack network that can assign floating ips. Maps to GLOBAL_INJECTED_PUBLIC_NET_ID
openStackPublicNetId: "e8f51958045716781ffc"
-openStackPrivateNetId: "e8f51956-00dd-4425-af36-045716781ffc"
-openStackOamNetworkCidrPrefix: "192.168.120"
-openStackEncryptedPassword: "c124921a3a0efbe579782cde8227681e"
+# password for Openstack tenant where VNFs will be spawned. Maps to GLOBAL_INJECTED_OPENSTACK_PASSWORD
+openStackPassword: "tenantPassword"
+# Openstack region. Maps to GLOBAL_INJECTED_REGION
openStackRegion: "RegionOne"
-openStackPrivateSubnetId: "e8f51956-00dd-4425-af36-045716781ffc"
+# Openstack tenant UUID where VNFs will be spawned. Maps to GLOBAL_INJECTED_OPENSTACK_TENANT_ID
openStackTenantId: "47899782ed714295b1151681fdfd51f5"
-openStackUserName: "vnf_user"
-ubuntuImage: "Ubuntu_14.04.5_LTS"
-scriptVersion: "1.1.1"
+# username for Openstack tenant where VNFs will be spawned. Maps to GLOBAL_INJECTED_OPENSTACK_USERNAME
+openStackUserName: "tenantUsername"
+# Openstack glance image name for Ubuntu 14. Maps to GLOBAL_INJECTED_UBUNTU_1404_IMAGE
+ubuntu14Image: "Ubuntu_14_trusty"
+# Openstack glance image name for Ubuntu 16. Maps to GLOBAL_INJECTED_UBUNTU_1604_IMAGE
+ubuntu16Image: "Ubuntu_16_xenial"
+# GLOBAL_INJECTED_SCRIPT_VERSION. Maps to GLOBAL_INJECTED_SCRIPT_VERSION
+scriptVersion: "1.2.0-SNAPSHOT"
+# Openstack network to which VNFs will bind their primary (first) interface. Maps to GLOBAL_INJECTED_NETWORK
+openStackPrivateNetId: "e8f51956-00dd-4425-af36-045716781ffc"
+
+# SDNC Preload configuration
+# Openstack subnet UUID for the network defined by openStackPrivateNetId. Maps to onap_private_subnet_id
+openStackPrivateSubnetId: "e8f51956-00dd-4425-af36-045716781ffc"
+# CIDR notation for the Openstack private network where VNFs will be spawned. Maps to onap_private_net_cidr
+openStackPrivateNetCidr: "10.0.0.0/8"
+# The first 2 octets of the private Openstack subnet where VNFs will be spawned.
+# Needed because sdnc preload templates hardcodes things like this 10.0.${ecompnet}.X
+openStackOamNetworkCidrPrefix: "10.0"
# default number of instances
-robotReplicas: 1
+replicaCount: 1
nodeSelector: {}
@@ -69,10 +100,12 @@ readiness:
service:
- type: NodePort
name: robot
- externalPort: "09"
+ type: NodePort
+ portName: httpd
+ externalPort: 88
internalPort: 88
+ nodePort: "09"
ingress: