diff options
15 files changed, 1257 insertions, 1 deletions
diff --git a/robot/assets/templates/vcpeutils/README.TXT b/robot/assets/templates/vcpeutils/README.TXT new file mode 100644 index 00000000..8a0482dc --- /dev/null +++ b/robot/assets/templates/vcpeutils/README.TXT @@ -0,0 +1,15 @@ +# Test templates using robot +# template.vfw_vfmodule.json +# +# Remaining templates still to be tested with robot +# simple_neutron_heat.yaml +# template.network.json +# template_sniro_data.json +# template_sniro_request.json +# template.vcpe_bng_vfmodule.json +# template.vcpe_brgemu_vfmodule.json +# template.vcpe_gmux_vfmodule.json +# template.vcpe_gwgra_vfmodule.json +# template.vcpe_infra_vfmodule.json +# template.vcpe_vgw_vfmodule.json + diff --git a/robot/assets/templates/vcpeutils/simple_neutron_heat.yaml b/robot/assets/templates/vcpeutils/simple_neutron_heat.yaml new file mode 100644 index 00000000..f64248be --- /dev/null +++ b/robot/assets/templates/vcpeutils/simple_neutron_heat.yaml @@ -0,0 +1,21 @@ +heat_template_version: 2013-05-23 +description: A simple Neutron network +parameters: + network_name: + type: string + description: Name of the Neutron Network + default: ONAP-NW1 + shared: + type: boolean + description: Shared amongst tenants + default: False +outputs: + network_id: + description: Openstack network identifier + value: { get_resource: network } +resources: + network: + type: OS::Neutron::Net + properties: + name: { get_param: network_name } + shared: { get_param: shared } diff --git a/robot/assets/templates/vcpeutils/template.network.json b/robot/assets/templates/vcpeutils/template.network.json new file mode 100644 index 00000000..2acb9e36 --- /dev/null +++ b/robot/assets/templates/vcpeutils/template.network.json @@ -0,0 +1,42 @@ +{ + "VNF-API:input": { + "VNF-API:request-information": { + "VNF-API:request-id": "robot0012", + "VNF-API:notification-url": "http://so.onap.org", + "VNF-API:order-number": "robot0012", + "VNF-API:request-sub-action": "SUPP", + "VNF-API:request-action": "PreloadNetworkRequest", + "VNF-API:source": "robot", + "VNF-API:order-version": "1.0" + }, + "VNF-API:network-topology-information": { + "VNF-API:network-topology-identifier": { + "VNF-API:network-role": "${network_role}", + "VNF-API:network-technology": "neutron", + "VNF-API:service-type": "${service_type}", + "VNF-API:network-name": "${network_name}", + "VNF-API:network-type": "${network_type}" + }, + "VNF-API:provider-network-information": { + "VNF-API:is-external-network": "true", + "VNF-API:physical-network-name": "${network_name}", + "VNF-API:is-provider-network": "true", + "VNF-API:is-shared-network": "true" + }, + "VNF-API:subnets": [ + { + "VNF-API:start-address": "${subnet_start_ip}", + "VNF-API:cidr-mask": "24", + "VNF-API:ip-version": "4", + "VNF-API:dhcp-enabled": "N", + "VNF-API:gateway-address": "${subnet_gateway}" + } + ] + }, + "VNF-API:sdnc-request-header": { + "VNF-API:svc-action": "reserve", + "VNF-API:svc-notification-url": "http://so.onap.org", + "VNF-API:svc-request-id": "robot0012" + } + } +} diff --git a/robot/assets/templates/vcpeutils/template.vcpe_bng_vfmodule.json b/robot/assets/templates/vcpeutils/template.vcpe_bng_vfmodule.json new file mode 100644 index 00000000..2792cfde --- /dev/null +++ b/robot/assets/templates/vcpeutils/template.vcpe_bng_vfmodule.json @@ -0,0 +1,172 @@ +{ + "VNF-API:input": { + "VNF-API:request-information": { + "VNF-API:request-id": "robot12", + "VNF-API:notification-url": "https://so.onap.org", + "VNF-API:order-number": "robot12", + "VNF-API:request-sub-action": "SUPP", + "VNF-API:request-action": "PreloadVNFRequest", + "VNF-API:source": "VID", + "VNF-API:order-version": "1.0" + }, + "VNF-API:sdnc-request-header": { + "VNF-API:svc-action": "reserve", + "VNF-API:svc-notification-url": "https://son.onap.org", + "VNF-API:svc-request-id": "robot12" + }, + "VNF-API:vnf-topology-information": { + "vnf-topology-identifier": { + "service-type": "${service_type}", + "vnf-type": "${vnf_type}", + "generic-vnf-name": "${generic_vnf_name}", + "generic-vnf-type": "${generic_vnf_type}", + "vnf-name": "${vnf_name}" + }, + "VNF-API:vnf-parameters": [ + { + "vnf-parameter-name": "vcpe_image_name", + "vnf-parameter-value": "vbng-casa-base-ubuntu-16-04" + }, + { + "vnf-parameter-name": "vcpe_flavor_name", + "vnf-parameter-value": "m1.medium" + }, + { + "vnf-parameter-name": "public_net_id", + "vnf-parameter-value": "${public_net_id}" + }, + { + "vnf-parameter-name": "brgemu_bng_private_net_id", + "vnf-parameter-value": "${brg_bng_net}" + }, + { + "vnf-parameter-name": "brgemu_bng_private_subnet_id", + "vnf-parameter-value": "${brg_bng_subnet}" + }, + { + "vnf-parameter-name": "bng_gmux_private_net_id", + "vnf-parameter-value": "${bng_mux_net}" + }, + { + "vnf-parameter-name": "bng_gmux_private_subnet_id", + "vnf-parameter-value": "${bng_mux_subnet}" + }, + { + "vnf-parameter-name": "onap_private_net_id", + "vnf-parameter-value": "${oam_onap_net}" + }, + { + "vnf-parameter-name": "onap_private_subnet_id", + "vnf-parameter-value": "${oam_onap_subnet}" + }, + { + "vnf-parameter-name": "onap_private_net_cidr", + "vnf-parameter-value": "10.0.0.0/16" + }, + { + "vnf-parameter-name": "cpe_signal_net_id", + "vnf-parameter-value": "${cpe_signal_net}" + }, + { + "vnf-parameter-name": "cpe_signal_subnet_id", + "vnf-parameter-value": "${cpe_signal_subnet}" + }, + { + "vnf-parameter-name": "brgemu_bng_private_net_cidr", + "vnf-parameter-value": "10.3.0.0/24" + }, + { + "vnf-parameter-name": "bng_gmux_private_net_cidr", + "vnf-parameter-value": "10.1.0.0/24" + }, + { + "vnf-parameter-name": "cpe_signal_private_net_cidr", + "vnf-parameter-value": "10.4.0.0/24" + }, + { + "vnf-parameter-name": "sdnc_ip_addr", + "vnf-parameter-value": "${sdnc_oam_ip}" + }, + { + "vnf-parameter-name": "vbng_private_ip_0", + "vnf-parameter-value": "10.3.0.1" + }, + { + "vnf-parameter-name": "vbng_private_ip_1", + "vnf-parameter-value": "10.0.101.10" + }, + { + "vnf-parameter-name": "vbng_private_ip_2", + "vnf-parameter-value": "10.4.0.3" + }, + { + "vnf-parameter-name": "vbng_private_ip_3", + "vnf-parameter-value": "10.1.0.10" + }, + { + "vnf-parameter-name": "vbng_name_0", + "vnf-parameter-value": "zdcpe1cpe01bng01_${suffix}" + }, + { + "vnf-parameter-name": "vnf_id", + "vnf-parameter-value": "vCPE_Infrastructure_Metro_vBNG_demo_app" + }, + { + "vnf-parameter-name": "vf_module_id", + "vnf-parameter-value": "vCPE_Intrastructure_Metro_vBNG" + }, + { + "vnf-parameter-name": "dcae_collector_ip", + "vnf-parameter-value": "10.0.4.102" + }, + { + "vnf-parameter-name": "dcae_collector_port", + "vnf-parameter-value": "8080" + }, + { + "vnf-parameter-name": "repo_url_blob", + "vnf-parameter-value": "https://nexus.onap.org/content/sites/raw" + }, + { + "vnf-parameter-name": "repo_url_artifacts", + "vnf-parameter-value": "https://nexus.onap.org/content/repositories/releases" + }, + { + "vnf-parameter-name": "demo_artifacts_version", + "vnf-parameter-value": "1.1.1" + }, + { + "vnf-parameter-name": "script_version", + "vnf-parameter-value": "1.3.0" + }, + { + "vnf-parameter-name": "key_name", + "vnf-parameter-value": "vbng_key" + }, + { + "vnf-parameter-name": "pub_key", + "vnf-parameter-value": "${pub_key}" + }, + { + "vnf-parameter-name": "cloud_env", + "vnf-parameter-value": "openstack" + }, + { + "vnf-parameter-name": "vpp_source_repo_url", + "vnf-parameter-value": "https://gerrit.fd.io/r/vpp" + }, + { + "vnf-parameter-name": "vpp_source_repo_branch", + "vnf-parameter-value": "stable/1704" + }, + { + "vnf-parameter-name": "vpp_patch_url", + "vnf-parameter-value": "https://git.onap.org/demo/plain/vnfs/vCPE/vpp-radius-client-for-vbng/src/patches/Vpp-Integrate-FreeRADIUS-Client-for-vBNG.patch" + } + ], + "VNF-API:vnf-assignments": { + } + } + } +} + diff --git a/robot/assets/templates/vcpeutils/template.vcpe_brgemu_vfmodule.json b/robot/assets/templates/vcpeutils/template.vcpe_brgemu_vfmodule.json new file mode 100644 index 00000000..2630ee7a --- /dev/null +++ b/robot/assets/templates/vcpeutils/template.vcpe_brgemu_vfmodule.json @@ -0,0 +1,138 @@ +{ + "VNF-API:input": { + "VNF-API:request-information": { + "VNF-API:notification-url": "https://so.onap.org", + "VNF-API:order-number": "robot12", + "VNF-API:order-version": "1.0", + "VNF-API:request-action": "PreloadVNFRequest", + "VNF-API:request-id": "robot12", + "VNF-API:request-sub-action": "SUPP", + "VNF-API:source": "VID" + }, + "VNF-API:sdnc-request-header": { + "VNF-API:svc-action": "reserve", + "VNF-API:svc-notification-url": "https://son.onap.org", + "VNF-API:svc-request-id": "robot12" + }, + "VNF-API:vnf-topology-information": { + "VNF-API:vnf-assignments": {}, + "VNF-API:vnf-parameters": [ + { + "vnf-parameter-name": "vcpe_image_name", + "vnf-parameter-value": "vbrg-casa-base-ubuntu-16-04" + }, + { + "vnf-parameter-name": "vcpe_flavor_name", + "vnf-parameter-value": "m1.medium" + }, + { + "vnf-parameter-name": "public_net_id", + "vnf-parameter-value": "${public_net_id}" + }, + { + "vnf-parameter-name": "vbrgemu_bng_private_net_id", + "vnf-parameter-value": "${brg_bng_net}" + }, + { + "vnf-parameter-name": "vbrgemu_bng_private_subnet_id", + "vnf-parameter-value": "${brg_bng_subnet}" + }, + { + "vnf-parameter-name": "onap_private_net_id", + "vnf-parameter-value": "${oam_onap_net}" + }, + { + "vnf-parameter-name": "onap_private_subnet_id", + "vnf-parameter-value": "${oam_onap_subnet}" + }, + { + "vnf-parameter-name": "onap_private_net_cidr", + "vnf-parameter-value": "10.0.0.0/16" + }, + { + "vnf-parameter-name": "compile_state", + "vnf-parameter-value": "done" + }, + { + "vnf-parameter-name": "vbrgemu_bng_private_net_cidr", + "vnf-parameter-value": "10.3.0.0/24" + }, + { + "vnf-parameter-name": "vbrgemu_private_ip_0", + "vnf-parameter-value": "10.3.0.21" + }, + { + "vnf-parameter-name": "sdnc_ip", + "vnf-parameter-value": "${sdnc_oam_ip}" + }, + { + "vnf-parameter-name": "vbrgemu_name_0", + "vnf-parameter-value": "zdcpe1cpe01brgemu01_${suffix}" + }, + { + "vnf-parameter-name": "vnf_id", + "vnf-parameter-value": "vCPE_Infrastructure_BGREMU_demo_app_${suffix}" + }, + { + "vnf-parameter-name": "vf_module_id", + "vnf-parameter-value": "vCPE_Customer_BRGEMU_${suffix}" + }, + { + "vnf-parameter-name": "repo_url_blob", + "vnf-parameter-value": "https://nexus.onap.org/content/sites/raw" + }, + { + "vnf-parameter-name": "repo_url_artifacts", + "vnf-parameter-value": "https://nexus.onap.org/content/repositories/releases" + }, + { + "vnf-parameter-name": "demo_artifacts_version", + "vnf-parameter-value": "1.1.1" + }, + { + "vnf-parameter-name": "script_version", + "vnf-parameter-value": "1.3.0" + }, + { + "vnf-parameter-name": "key_name", + "vnf-parameter-value": "vbrgemu_key" + }, + { + "vnf-parameter-name": "pub_key", + "vnf-parameter-value": "${pub_key}" + }, + { + "vnf-parameter-name": "cloud_env", + "vnf-parameter-value": "openstack" + }, + { + "vnf-parameter-name": "vpp_source_repo_url", + "vnf-parameter-value": "https://gerrit.fd.io/r/vpp" + }, + { + "vnf-parameter-name": "vpp_source_repo_branch", + "vnf-parameter-value": "stable/1704" + }, + { + "vnf-parameter-name": "hc2vpp_source_repo_url", + "vnf-parameter-value": "https://gerrit.fd.io/r/hc2vpp" + }, + { + "vnf-parameter-name": "hc2vpp_source_repo_branch", + "vnf-parameter-value": "stable/1704" + }, + { + "vnf-parameter-name": "vpp_patch_url", + "vnf-parameter-value": "https://git.onap.org/demo/plain/vnfs/vCPE/vpp-option-82-for-vbrg/src/patches/VPP-Add-Option82-Nat-Filter-For-vBRG.patch" + } + ], + "vnf-topology-identifier": { + "generic-vnf-name": "${generic_vnf_name}", + "generic-vnf-type": "${generic_vnf_type}", + "service-type": "${service_type}", + "vnf-name": "${vnf_name}", + "vnf-type": "${vnf_type}" + } + } + } +} diff --git a/robot/assets/templates/vcpeutils/template.vcpe_gmux_vfmodule.json b/robot/assets/templates/vcpeutils/template.vcpe_gmux_vfmodule.json new file mode 100644 index 00000000..a1ebf2ad --- /dev/null +++ b/robot/assets/templates/vcpeutils/template.vcpe_gmux_vfmodule.json @@ -0,0 +1,160 @@ +{ + "VNF-API:input": { + "VNF-API:request-information": { + "VNF-API:request-id": "robot12", + "VNF-API:notification-url": "https://so.onap.org", + "VNF-API:order-number": "robot12", + "VNF-API:request-sub-action": "SUPP", + "VNF-API:request-action": "PreloadVNFRequest", + "VNF-API:source": "VID", + "VNF-API:order-version": "1.0" + }, + "VNF-API:sdnc-request-header": { + "VNF-API:svc-action": "reserve", + "VNF-API:svc-notification-url": "https://son.onap.org", + "VNF-API:svc-request-id": "robot12" + }, + "VNF-API:vnf-topology-information": { + "vnf-topology-identifier": { + "service-type": "${service_type}", + "vnf-type": "${vnf_type}", + "generic-vnf-name": "${generic_vnf_name}", + "generic-vnf-type": "${generic_vnf_type}", + "vnf-name": "${vnf_name}" + }, + "VNF-API:vnf-parameters": [ + { + "vnf-parameter-name": "vcpe_image_name", + "vnf-parameter-value": "vgmux-casa-base-ubuntu-16-04" + }, + { + "vnf-parameter-name": "vcpe_flavor_name", + "vnf-parameter-value": "m1.medium" + }, + { + "vnf-parameter-name": "public_net_id", + "vnf-parameter-value": "${public_net_id}" + }, + { + "vnf-parameter-name": "bng_gmux_private_net_id", + "vnf-parameter-value": "${bng_mux_net}" + }, + { + "vnf-parameter-name": "bng_gmux_private_subnet_id", + "vnf-parameter-value": "${bng_mux_subnet}" + }, + { + "vnf-parameter-name": "mux_gw_private_net_id", + "vnf-parameter-value": "${mux_gw_net}" + }, + { + "vnf-parameter-name": "mux_gw_private_subnet_id", + "vnf-parameter-value": "${mux_gw_subnet}" + }, + { + "vnf-parameter-name": "onap_private_net_id", + "vnf-parameter-value": "${oam_onap_net}" + }, + { + "vnf-parameter-name": "onap_private_subnet_id", + "vnf-parameter-value": "${oam_onap_subnet}" + }, + { + "vnf-parameter-name": "onap_private_net_cidr", + "vnf-parameter-value": "10.0.0.0/16" + }, + { + "vnf-parameter-name": "mux_gw_private_net_cidr", + "vnf-parameter-value": "10.5.0.0/24" + }, + { + "vnf-parameter-name": "bng_gmux_private_net_cidr", + "vnf-parameter-value": "10.1.0.0/24" + }, + { + "vnf-parameter-name": "vgmux_private_ip_0", + "vnf-parameter-value": "10.1.0.21" + }, + { + "vnf-parameter-name": "vgmux_private_ip_1", + "vnf-parameter-value": "10.0.101.21" + }, + { + "vnf-parameter-name": "vgmux_private_ip_2", + "vnf-parameter-value": "10.5.0.21" + }, + { + "vnf-parameter-name": "vgmux_name_0", + "vnf-parameter-value": "zdcpe1cpe01mux01_${suffix}" + }, + { + "vnf-parameter-name": "vnf_id", + "vnf-parameter-value": "vCPE_Infrastructure_Metro_vGMUX_demo_app" + }, + { + "vnf-parameter-name": "vf_module_id", + "vnf-parameter-value": "vCPE_Intrastructure_Metro_vGMUX" + }, + { + "vnf-parameter-name": "dcae_collector_ip", + "vnf-parameter-value": "10.0.4.102" + }, + { + "vnf-parameter-name": "dcae_collector_port", + "vnf-parameter-value": "8080" + }, + { + "vnf-parameter-name": "repo_url_blob", + "vnf-parameter-value": "https://nexus.onap.org/content/sites/raw" + }, + { + "vnf-parameter-name": "repo_url_artifacts", + "vnf-parameter-value": "https://nexus.onap.org/content/repositories/releases" + }, + { + "vnf-parameter-name": "demo_artifacts_version", + "vnf-parameter-value": "1.1.1" + }, + { + "vnf-parameter-name": "script_version", + "vnf-parameter-value": "1.3.0" + }, + { + "vnf-parameter-name": "key_name", + "vnf-parameter-value": "vgmux_key" + }, + { + "vnf-parameter-name": "pub_key", + "vnf-parameter-value": "${pub_key}" + }, + { + "vnf-parameter-name": "cloud_env", + "vnf-parameter-value": "openstack" + }, + { + "vnf-parameter-name": "vpp_source_repo_url", + "vnf-parameter-value": "https://gerrit.fd.io/r/vpp" + }, + { + "vnf-parameter-name": "vpp_source_repo_branch", + "vnf-parameter-value": "stable/1704" + }, + { + "vnf-parameter-name": "vpp_patch_url", + "vnf-parameter-value": "https://git.onap.org/demo/plain/vnfs/vCPE/vpp-ves-agent-for-vgmux/src/patches/Vpp-Add-VES-agent-for-vG-MUX.patch" + }, + { + "vnf-parameter-name": "hc2vpp_patch_url", + "vnf-parameter-value": "https://git.onap.org/demo/plain/vnfs/vCPE/vpp-ves-agent-for-vgmux/src/patches/Hc2vpp-Add-VES-agent-for-vG-MUX.patch" + }, + { + "vnf-parameter-name": "libevel_patch_url", + "vnf-parameter-value": "https://git.onap.org/demo/plain/vnfs/vCPE/vpp-ves-agent-for-vgmux/src/patches/vCPE-vG-MUX-libevel-fixup.patch" + } + ], + "VNF-API:vnf-assignments": { + } + } + } +} + diff --git a/robot/assets/templates/vcpeutils/template.vcpe_gwgra_vfmodule.json b/robot/assets/templates/vcpeutils/template.vcpe_gwgra_vfmodule.json new file mode 100644 index 00000000..48883b99 --- /dev/null +++ b/robot/assets/templates/vcpeutils/template.vcpe_gwgra_vfmodule.json @@ -0,0 +1,133 @@ +{ + "GENERIC-RESOURCE-API:input": { + "GENERIC-RESOURCE-API:request-information": { + "GENERIC-RESOURCE-API:notification-url": "https://so.onap.org", + "GENERIC-RESOURCE-API:order-number": "robot12", + "GENERIC-RESOURCE-API:order-version": "1.0", + "GENERIC-RESOURCE-API:request-action": "PreloadVfModuleRequest", + "GENERIC-RESOURCE-API:request-id": "robot12", + "GENERIC-RESOURCE-API:source": "VID" + }, + "GENERIC-RESOURCE-API:sdnc-request-header": { + "GENERIC-RESOURCE-API:svc-action": "reserve", + "GENERIC-RESOURCE-API:svc-notification-url": "https://son.onap.org", + "GENERIC-RESOURCE-API:svc-request-id": "robot12" + }, + "preload-vf-module-topology-information": { + "vf-module-topology": { + "vf-module-parameters": { + "param": [ + { + "name": "vcpe_image_name", + "value": "vgw-casa-base-ubuntu-16-04" + }, + { + "name": "vcpe_flavor_name", + "value": "m1.medium" + }, + { + "name": "public_net_id", + "value": "${public_net_id}" + }, + { + "name": "mux_gw_private_net_id", + "value": "${mux_gw_net}" + }, + { + "name": "mux_gw_private_subnet_id", + "value": "${mux_gw_subnet}" + }, + { + "name": "mux_gw_private_net_cidr", + "value": "10.5.0.0/24" + }, + { + "name": "cpe_public_net_id", + "value": "${cpe_public_net}" + }, + { + "name": "cpe_public_subnet_id", + "value": "${cpe_public_subnet}" + }, + { + "name": "cpe_public_net_cidr", + "value": "10.2.0.0/24" + }, + { + "name": "vgw_private_ip_0", + "value": "10.5.0.92" + }, + { + "name": "vgw_private_ip_1", + "value": "10.0.101.92" + }, + { + "name": "vgw_private_ip_2", + "value": "10.2.0.7" + }, + { + "name": "vgw_name_0", + "value": "zdcpe1cpe01gw01_${suffix}" + }, + { + "name": "mux_ip_addr", + "value": "10.5.0.21" + }, + { + "name": "vg_vgmux_tunnel_vni", + "value": "92" + }, + { + "name": "onap_private_net_id", + "value": "${oam_onap_net}" + }, + { + "name": "onap_private_subnet_id", + "value": "${oam_onap_subnet}" + }, + { + "name": "onap_private_net_cidr", + "value": "10.0.0.0/16" + }, + { + "name": "repo_url_blob", + "value": "https://nexus.onap.org/content/sites/raw" + }, + { + "name": "repo_url_artifacts", + "value": "https://nexus.onap.org/content/repositories/releases" + }, + { + "name": "demo_artifacts_version", + "value": "1.1.1" + }, + { + "name": "script_version", + "value": "1.3.0" + }, + { + "name": "key_name", + "value": "vgw_key" + }, + { + "name": "pub_key", + "value": "${pub_key}" + }, + { + "name": "cloud_env", + "value": "openstack" + } + ] }, + "vf-module-assignments": {}, + "vf-module-topology-identifier": { + "vf-module-name": "VGW2BRG-${brg_mac}" + } + }, + "vnf-resource-assignments": {}, + "vnf-topology-identifier-structure": { + "nf-type": "vgw", + "vnf-id": "VGW2BRG-${brg_mac}" + } + } + } +} diff --git a/robot/assets/templates/vcpeutils/template.vcpe_infra_vfmodule.json b/robot/assets/templates/vcpeutils/template.vcpe_infra_vfmodule.json new file mode 100644 index 00000000..1f30e945 --- /dev/null +++ b/robot/assets/templates/vcpeutils/template.vcpe_infra_vfmodule.json @@ -0,0 +1,180 @@ +{ + "VNF-API:input": { + "VNF-API:request-information": { + "VNF-API:request-id": "robot12", + "VNF-API:notification-url": "https://so.onap.org", + "VNF-API:order-number": "robot12", + "VNF-API:request-sub-action": "SUPP", + "VNF-API:request-action": "PreloadVNFRequest", + "VNF-API:source": "VID", + "VNF-API:order-version": "1.0" + }, + "VNF-API:sdnc-request-header": { + "VNF-API:svc-action": "reserve", + "VNF-API:svc-notification-url": "https://son.onap.org", + "VNF-API:svc-request-id": "robot12" + }, + "VNF-API:vnf-topology-information": { + "vnf-topology-identifier": { + "service-type": "${service_type}", + "vnf-type": "${vnf_type}", + "generic-vnf-name": "${generic_vnf_name}", + "generic-vnf-type": "${generic_vnf_type}", + "vnf-name": "${vnf_name}" + }, + "VNF-API:vnf-parameters": [ + { + "vnf-parameter-name": "vcpe_image_name", + "vnf-parameter-value": "ubuntu-16-04-cloud-amd64" + }, + { + "vnf-parameter-name": "vcpe_flavor_name", + "vnf-parameter-value": "m1.medium" + }, + { + "vnf-parameter-name": "public_net_id", + "vnf-parameter-value": "${public_net_id}" + }, + { + "vnf-parameter-name": "cpe_signal_net_id", + "vnf-parameter-value": "${cpe_signal_net}" + }, + { + "vnf-parameter-name": "cpe_signal_subnet_id", + "vnf-parameter-value": "${cpe_signal_subnet}" + }, + { + "vnf-parameter-name": "cpe_public_net_id", + "vnf-parameter-value": "${cpe_public_net}" + }, + { + "vnf-parameter-name": "cpe_public_subnet_id", + "vnf-parameter-value": "${cpe_public_subnet}" + }, + { + "vnf-parameter-name": "onap_private_net_id", + "vnf-parameter-value": "${oam_onap_net}" + }, + { + "vnf-parameter-name": "onap_private_subnet_id", + "vnf-parameter-value": "${oam_onap_subnet}" + }, + { + "vnf-parameter-name": "onap_private_net_cidr", + "vnf-parameter-value": "10.0.0.0/16" + }, + { + "vnf-parameter-name": "cpe_signal_net_cidr", + "vnf-parameter-value": "10.4.0.0/24" + }, + { + "vnf-parameter-name": "cpe_public_net_cidr", + "vnf-parameter-value": "10.2.0.0/24" + }, + { + "vnf-parameter-name": "vdhcp_private_ip_0", + "vnf-parameter-value": "10.4.0.1" + }, + { + "vnf-parameter-name": "vdhcp_private_ip_1", + "vnf-parameter-value": "10.0.101.1" + }, + { + "vnf-parameter-name": "vaaa_private_ip_0", + "vnf-parameter-value": "10.4.0.2" + }, + { + "vnf-parameter-name": "vaaa_private_ip_1", + "vnf-parameter-value": "10.0.101.2" + }, + { + "vnf-parameter-name": "vdns_private_ip_0", + "vnf-parameter-value": "10.2.0.1" + }, + { + "vnf-parameter-name": "vdns_private_ip_1", + "vnf-parameter-value": "10.0.101.3" + }, + { + "vnf-parameter-name": "vweb_private_ip_0", + "vnf-parameter-value": "10.2.0.10" + }, + { + "vnf-parameter-name": "vweb_private_ip_1", + "vnf-parameter-value": "10.0.101.40" + }, + { + "vnf-parameter-name": "mr_ip_addr", + "vnf-parameter-value": "${mr_ip_addr}" + }, + { + "vnf-parameter-name": "mr_ip_port", + "vnf-parameter-value": "${mr_ip_port}" + }, + { + "vnf-parameter-name": "vaaa_name_0", + "vnf-parameter-value": "zdcpe1cpe01aaa01_${suffix}" + }, + { + "vnf-parameter-name": "vdns_name_0", + "vnf-parameter-value": "zdcpe1cpe01dns01_${suffix}" + }, + { + "vnf-parameter-name": "vdhcp_name_0", + "vnf-parameter-value": "zdcpe1cpe01dhcp01_${suffix}" + }, + { + "vnf-parameter-name": "vweb_name_0", + "vnf-parameter-value": "zdcpe1cpe01web01_${suffix}" + }, + { + "vnf-parameter-name": "vnf_id", + "vnf-parameter-value": "vCPE_Infrastructure_demo_app_${suffix}" + }, + { + "vnf-parameter-name": "vf_module_id", + "vnf-parameter-value": "vCPE_Intrastructure_${suffix}" + }, + { + "vnf-parameter-name": "dcae_collector_ip", + "vnf-parameter-value": "10.0.4.102" + }, + { + "vnf-parameter-name": "dcae_collector_port", + "vnf-parameter-value": "8080" + }, + { + "vnf-parameter-name": "repo_url_blob", + "vnf-parameter-value": "https://nexus.onap.org/content/sites/raw" + }, + { + "vnf-parameter-name": "repo_url_artifacts", + "vnf-parameter-value": "https://nexus.onap.org/content/repositories/releases" + }, + { + "vnf-parameter-name": "demo_artifacts_version", + "vnf-parameter-value": "1.3.0" + }, + { + "vnf-parameter-name": "install_script_version", + "vnf-parameter-value": "1.3.0" + }, + { + "vnf-parameter-name": "key_name", + "vnf-parameter-value": "vaaa_key" + }, + { + "vnf-parameter-name": "pub_key", + "vnf-parameter-value": "${pub_key}" + }, + { + "vnf-parameter-name": "cloud_env", + "vnf-parameter-value": "openstack" + } + ], + "VNF-API:vnf-assignments": { + } + } + } +} + diff --git a/robot/assets/templates/vcpeutils/template.vcpe_vgw_vfmodule.json b/robot/assets/templates/vcpeutils/template.vcpe_vgw_vfmodule.json new file mode 100644 index 00000000..bd288b4d --- /dev/null +++ b/robot/assets/templates/vcpeutils/template.vcpe_vgw_vfmodule.json @@ -0,0 +1,130 @@ +{ + "VNF-API:input": { + "VNF-API:request-information": { + "VNF-API:notification-url": "https://so.onap.org", + "VNF-API:order-number": "robot12", + "VNF-API:order-version": "1.0", + "VNF-API:request-action": "PreloadVNFRequest", + "VNF-API:request-id": "robot12", + "VNF-API:request-sub-action": "SUPP", + "VNF-API:source": "VID" + }, + "VNF-API:sdnc-request-header": { + "VNF-API:svc-action": "reserve", + "VNF-API:svc-notification-url": "https://son.onap.org", + "VNF-API:svc-request-id": "robot12" + }, + "VNF-API:vnf-topology-information": { + "VNF-API:vnf-assignments": {}, + "VNF-API:vnf-parameters": [ + { + "vnf-parameter-name": "vcpe_image_name", + "vnf-parameter-value": "vgw-casa-base-ubuntu-16-04" + }, + { + "vnf-parameter-name": "vcpe_flavor_name", + "vnf-parameter-value": "m1.medium" + }, + { + "vnf-parameter-name": "public_net_id", + "vnf-parameter-value": "${public_net_id}" + }, + { + "vnf-parameter-name": "mux_gw_private_net_id", + "vnf-parameter-value": "${mux_gw_net}" + }, + { + "vnf-parameter-name": "mux_gw_private_subnet_id", + "vnf-parameter-value": "${mux_gw_subnet}" + }, + { + "vnf-parameter-name": "mux_gw_private_net_cidr", + "vnf-parameter-value": "10.5.0.0/24" + }, + { + "vnf-parameter-name": "cpe_public_net_id", + "vnf-parameter-value": "${cpe_public_net}" + }, + { + "vnf-parameter-name": "cpe_public_subnet_id", + "vnf-parameter-value": "${cpe_public_subnet}" + }, + { + "vnf-parameter-name": "cpe_public_net_cidr", + "vnf-parameter-value": "10.2.0.0/24" + }, + { + "vnf-parameter-name": "vgw_private_ip_0", + "vnf-parameter-value": "10.5.0.126" + }, + { + "vnf-parameter-name": "vgw_private_ip_1", + "vnf-parameter-value": "10.0.101.126" + }, + { + "vnf-parameter-name": "vgw_private_ip_2", + "vnf-parameter-value": "10.2.0.41" + }, + { + "vnf-parameter-name": "vgw_name_0", + "vnf-parameter-value": "zdcpe1cpe01gw01_${suffix}" + }, + { + "vnf-parameter-name": "mux_ip_addr", + "vnf-parameter-value": "10.5.0.21" + }, + { + "vnf-parameter-name": "vg_vgmux_tunnel_vni", + "vnf-parameter-value": "126" + }, + { + "vnf-parameter-name": "onap_private_net_id", + "vnf-parameter-value": "${oam_onap_net}" + }, + { + "vnf-parameter-name": "onap_private_subnet_id", + "vnf-parameter-value": "${oam_onap_subnet}" + }, + { + "vnf-parameter-name": "onap_private_net_cidr", + "vnf-parameter-value": "10.0.0.0/16" + }, + { + "vnf-parameter-name": "repo_url_blob", + "vnf-parameter-value": "https://nexus.onap.org/content/sites/raw" + }, + { + "vnf-parameter-name": "repo_url_artifacts", + "vnf-parameter-value": "https://nexus.onap.org/content/repositories/releases" + }, + { + "vnf-parameter-name": "demo_artifacts_version", + "vnf-parameter-value": "1.1.1" + }, + { + "vnf-parameter-name": "script_version", + "vnf-parameter-value": "1.3.0" + }, + { + "vnf-parameter-name": "key_name", + "vnf-parameter-value": "vgw_key" + }, + { + "vnf-parameter-name": "pub_key", + "vnf-parameter-value": "${pub_key}" + }, + { + "vnf-parameter-name": "cloud_env", + "vnf-parameter-value": "openstack" + } + ], + "vnf-topology-identifier": { + "generic-vnf-name": "GENERIC-VGW-VNF-NAME0", + "generic-vnf-type": "GENERIC-VGW-VNF-TYPE", + "service-type": "VGW-SERVICE-TYPE", + "vnf-name": "VGW2BRG-${brg_mac}", + "vnf-type": "VGW-VNF-TYPE" + } + } + } +}
\ No newline at end of file diff --git a/robot/assets/templates/vcpeutils/template.vfw_vfmodule.json b/robot/assets/templates/vcpeutils/template.vfw_vfmodule.json new file mode 100644 index 00000000..d456a105 --- /dev/null +++ b/robot/assets/templates/vcpeutils/template.vfw_vfmodule.json @@ -0,0 +1,143 @@ +{ + "VNF-API:input": { + "VNF-API:request-information": { + "VNF-API:request-id": "robot12", + "VNF-API:notification-url": "https://so.onap.org", + "VNF-API:order-number": "robot12", + "VNF-API:request-sub-action": "SUPP", + "VNF-API:request-action": "PreloadVNFRequest", + "VNF-API:source": "VID", + "VNF-API:order-version": "1.0" + }, + "VNF-API:sdnc-request-header": { + "VNF-API:svc-action": "reserve", + "VNF-API:svc-notification-url": "https://son.onap.org", + "VNF-API:svc-request-id": "robot12" + }, + "VNF-API:vnf-topology-information": { + "vnf-topology-identifier": { + "service-type": "${service_type}", + "vnf-type": "${vnf_type}", + "generic-vnf-name": "${generic_vnf_name}", + "generic-vnf-type": "${generic_vnf_type}", + "vnf-name": "${vnf_name}" + }, + "VNF-API:vnf-parameters": [ + { + "vnf-parameter-name": "unprotected_private_net_id" , + "vnf-parameter-value" : "demofwl_unprotected" + }, + { + "vnf-parameter-name": "unprotected_private_net_cidr" , + "vnf-parameter-value" : "192.168.110.0/24" + }, + { + "vnf-parameter-name": "protected_private_net_id" , + "vnf-parameter-value" : "demofwl_protected" + }, + { + "vnf-parameter-name": "protected_private_net_cidr" , + "vnf-parameter-value" : "192.168.120.0/24" + }, + { + "vnf-parameter-name": "vfw_int_unprotected_private_ip_0" , + "vnf-parameter-value" : "192.168.110.100" + }, + { + "vnf-parameter-name": "vfw_int_protected_private_ip_0" , + "vnf-parameter-value" : "192.168.120.100" + }, + { + "vnf-parameter-name": "vfw_onap_private_ip_0" , + "vnf-parameter-value" : "10.0.${ecompnet}.11" + }, + { + "vnf-parameter-name": "vpg_int_unprotected_private_ip_0" , + "vnf-parameter-value" : "192.168.110.200" + }, + { + "vnf-parameter-name": "vfw_int_protected_private_floating_ip" , + "vnf-parameter-value" : "192.168.110.200" + }, + { + "vnf-parameter-name": "vpg_onap_private_ip_0" , + "vnf-parameter-value" : "10.0.${ecompnet}.12" + }, + { + "vnf-parameter-name": "vsn_int_protected_private_ip_0" , + "vnf-parameter-value" : "192.168.120.250" + }, + { + "vnf-parameter-name": "vsn_onap_private_ip_0" , + "vnf-parameter-value" : "10.0.${ecompnet}.13" + }, + { + "vnf-parameter-name": "sec_group" , + "vnf-parameter-value" : "${sec_group}" + }, + { + "vnf-parameter-name": "vfw_name_0", + "vnf-parameter-value" :"demofwl01fwl" + }, + { + "vnf-parameter-name": "vpg_name_0", + "vnf-parameter-value" : "demofwl01pgn" + }, + { + "vnf-parameter-name": "vsn_name_0", + "vnf-parameter-value": "demofwl01snk" + }, + { + "vnf-parameter-name": "vfw_image_name", + "vnf-parameter-value": "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}" + }, + { + "vnf-parameter-name": "vfw_flavor_name", + "vnf-parameter-value": "m1.medium" + }, + { + "vnf-parameter-name": "vpg_image_name", + "vnf-parameter-value": "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}" + }, + { + "vnf-parameter-name": "vpg_flavor_name", + "vnf-parameter-value": "m1.medium" + }, + { + "vnf-parameter-name": "vsn_image_name", + "vnf-parameter-value": "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}" + }, + { + "vnf-parameter-name": "vsn_flavor_name", + "vnf-parameter-value": "m1.medium" + }, + { + "vnf-parameter-name": "public_net_id", + "vnf-parameter-value": "${public_net_id}" + }, + { + "vnf-parameter-name": "onap_private_net_id", + "vnf-parameter-value": "${onap_private_net_id}" + }, + { + "vnf-parameter-name": "onap_private_subnet_id", + "vnf-parameter-value": "${onap_private_subnet_id}" + }, + { + "vnf-parameter-name": "onap_private_net_cidr", + "vnf-parameter-value": "10.0.0.0/16" + }, + { + "vnf-parameter-name": "cloud_env", + "vnf-parameter-value": "openstack" + }, + { + "vnf-parameter-name": "pub_key", + "vnf-parameter-value": "${pub_key}" + } + ], + "VNF-API:vnf-assignments": { + } + } + } +} diff --git a/robot/assets/templates/vcpeutils/template_sniro_data.json b/robot/assets/templates/vcpeutils/template_sniro_data.json new file mode 100644 index 00000000..c2c6421e --- /dev/null +++ b/robot/assets/templates/vcpeutils/template_sniro_data.json @@ -0,0 +1,37 @@ +{ + "solutionInfo" : { + "placementInfo" : [ + { + "cloudRegionId" : "RegionOne", + "inventoryType" : "service", + "resourceModuleName" : "${tunnelxconn_ar_name}", + "serviceInstanceId" : "${vgmux_svc_instance_uuid}", + "serviceResourceId" : "TUNNEL-RESOURCE-ID-REPLACE", + "isRehome" : "False", + "assignmentInfo": [ { "variableName": "cloudOwner", "variableValue": "CloudOwner"}, {"variableName": "vnfHostName", "variableValue": "vnfHostName" }] + }, + { + "cloudRegionId" : "RegionOne", + "inventoryType" : "cloud", + "resourceModuleName" : "${vgw_name}", + "serviceInstanceId" : "vG-service-instance-id", + "serviceResourceId" : "VGW-RESOURCE-ID-REPLACE", + "isRehome" : "False", + "assignmentInfo": [ { "variableName": "cloudOwner", "variableValue": "CloudOwner"}, {"variableName": "vnfHostName", "variableValue": "vnfHostName" }] + }, + { + "cloudRegionId" : "RegionOne", + "inventoryType" : "service", + "resourceModuleName" : "${brg_ar_name}", + "serviceInstanceId" : "${vbrg_svc_instance_uuid}", + "serviceResourceId" : "BRG-RESOURCE-ID-REPLACE", + "isRehome" : "False", + "assignmentInfo": [ { "variableName": "cloudOwner", "variableValue": "CloudOwner"}, {"variableName": "vnfHostName", "variableValue": "vnfHostName" }] + } + ] + }, + "requestId" : "111-111-1111", + "statusMessage" : "", + "transactionId" : "111-111-1111", + "requestState" : "complete" +} diff --git a/robot/assets/templates/vcpeutils/template_sniro_request.json b/robot/assets/templates/vcpeutils/template_sniro_request.json new file mode 100644 index 00000000..6fdbb707 --- /dev/null +++ b/robot/assets/templates/vcpeutils/template_sniro_request.json @@ -0,0 +1,20 @@ +{ + "request" : { + "urlPath" : "/sniro/api/v2/placement", + "method" : "POST" + }, + "response" : { + "status" : "202", + "body": "{\"requestId\": \"1111-111-11\"}" + }, + "postServeActions" : { + "webhook" : { + "headers" : { + "Content-Type" : "application/json" + }, + "method" : "POST", + "base64Body" : "${base64_sniro_data}", + "url" : " http://so-bpmn-infra.onap:8081/mso/WorkflowMessage/SNIROResponse" + } + } +} diff --git a/robot/resources/so/direct_instantiate.robot b/robot/resources/so/direct_instantiate.robot new file mode 100644 index 00000000..afd99ad6 --- /dev/null +++ b/robot/resources/so/direct_instantiate.robot @@ -0,0 +1,49 @@ +*** Settings *** +Documentation Instantiate VNF + +Library OperatingSystem +Library Collections +Library String +Library DateTime +Library SoUtils + + +*** Variables *** + + +*** Keywords *** +Instantiate Service Direct To SO + [Documentation] Creates an entire service from a CSAR + [Arguments] ${service} ${csar_file} ${vnf_template_file} + # Example: ${csar_file}= Set Variable /tmp/csar/service-Vfw20190413133734-csar.csar + # Example: ${vnf_template_file}= Set Variable /var/opt/ONAP/testsuite/eteutils/vcpeutils/preload_templates/template.vfw_vfmodule.json + ${name_suffix}= Get Current Date exclude_millis=True + ${name_suffix}= Evaluate '${name_suffix}'.replace(' ','') + ${name_suffix}= Evaluate '${name_suffix}'.replace(':','') + ${heatbridge}= Set Variable false + ${preload_dict}= Copy Dictionary ${GLOBAL_PRELOAD_PARAMETERS['defaults']} + ${template}= Create Dictionary + @{keys}= Get Dictionary Keys ${preload_dict} + :for ${key} in @{keys} + \ ${value}= Get From Dictionary ${preload_dict} ${key} + \ ${tmp_value}= Set Variable If 'GLOBAL_' in $value ${value} + \ ${tmp_value}= Run Keyword If 'GLOBAL_' in $value Replace String ${tmp_value} \$ ${EMPTY} + \ ${tmp_value}= Run Keyword If 'GLOBAL_' in $value Replace String ${tmp_value} { ${EMPTY} + \ ${tmp_value}= Run Keyword If 'GLOBAL_' in $value Replace String ${tmp_value} } ${EMPTY} + \ ${value}= Set Variable If 'GLOBAL_' in $value ${GLOBAL_INJECTED_PROPERTIES["${tmp_value}"]} ${value} + \ ${new_key}= Catenate \$ { ${key} } + \ ${new_key}= Evaluate '${new_key}'.replace(' ','') + \ Set To Dictionary ${template} ${new_key} ${value} + + ${tmp_key1}= Catenate \$ { ecompnet } + ${tmp_key1}= Evaluate '${tmp_key1}'.replace(' ','') + ${tmp_key2}= Catenate \$ { GLOBAL_INJECTED_UBUNTU_1404_IMAGE } + ${tmp_key2}= Evaluate '${tmp_key2}'.replace(' ','') + # ecompnet 13 , 14, 15 + Set To Dictionary ${template} ${tmp_key1} 14 ${tmp_key2} ${GLOBAL_INJECTED_UBUNTU_1404_IMAGE} + + Log ${preload_dict} + Log ${template} + Create Entire Service ${csar_file} ${vnf_template_file} ${template} ${name_suffix} ${GLOBAL_INJECTED_REGION} ${GLOBAL_INJECTED_OPENSTACK_TENANT_ID} ${heatbridge} + + diff --git a/robot/testsuites/vnf-orchestration-direct-so.robot b/robot/testsuites/vnf-orchestration-direct-so.robot new file mode 100644 index 00000000..4a9fd1a3 --- /dev/null +++ b/robot/testsuites/vnf-orchestration-direct-so.robot @@ -0,0 +1,16 @@ +*** Settings *** +Documentation Instantiate VNF via Direct SO Calls +... +Test Timeout 600 second +Resource ../resources/so/direct_instantiate.robot + +*** Variables *** +${CSAR_FILE} +${VFW_TEMPLATE} ../assets/templates/vcpeutils/template.vfw_vfmodule.json + + +*** Test Cases *** +SO Direct Instantiate vFW VNF + [Tags] instantiateVFWdirectso + Run Keyword If '${CSAR_FILE}' == '' Fail "CSAR_FILE must not be empty (/tmp/csar/service-Vfw20190413133734-csar.csar)" + Instantiate Service Direct To SO vFW ${CSAR_FILE} ${VFW_TEMPLATE} @@ -83,7 +83,7 @@ export DISPLAY=${DISPLAY} # Execute tests echo -e "Executing robot tests at log level ${LOG_LEVEL}" -ROBOT_LIBS=./robot/library:./robot/library/eteutils:./robot/library/heatbridge +ROBOT_LIBS=./robot/library:./robot/library/eteutils:./robot/library/vcpeutils:./robot/library/heatbridge cd /var/opt/${INSTALL_NAME} python -m robot.run -L ${LOG_LEVEL} -d ${OUTPUT_FOLDER} ${VARIABLEFILES} ${VARIABLES} ${LISTENERS} -P ${ROBOT_LIBS} ${ROBOT_TAGS} /var/opt/${INSTALL_NAME}/robot/testsuites/ |