-# Licensed under the Apache License, Version 2.0 (the "License");\r
-# you may not use this file except in compliance with the License.\r
-# You may obtain a copy of the License at\r
-#\r
-# http://www.apache.org/licenses/LICENSE-2.0\r
-#\r
-# Unless required by applicable law or agreed to in writing, software\r
-# distributed under the License is distributed on an "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-# See the License for the specific language governing permissions and\r
-# limitations under the License.\r
-\r
-*** Settings ***\r
-Documentation [EPA-04] EPA underlay SR-IOV.\r
-\r
-Library OperatingSystem\r
-Library String\r
-Library Collections\r
-Library SSHLibrary\r
-\r
-Resource %{ROBOT_DEVOPS_FOLDER}/lib/vnfd_lib.robot\r
-Resource %{ROBOT_DEVOPS_FOLDER}/lib/vnf_lib.robot\r
-Resource %{ROBOT_DEVOPS_FOLDER}/lib/nsd_lib.robot\r
-Resource %{ROBOT_DEVOPS_FOLDER}/lib/ns_lib.robot\r
-Resource %{ROBOT_DEVOPS_FOLDER}/lib/ssh_lib.robot\r
-Resource %{ROBOT_DEVOPS_FOLDER}/lib/openstack_lib.robot\r
-\r
-Force Tags epa_04 cluster_epa daily regression\r
-\r
-Suite Teardown Run Keyword And Ignore Error Suite Cleanup\r
-\r
-\r
-*** Variables ***\r
-# NS and VNF descriptor package folder and ids\r
-${vnfd_pkg} epa_1vm_sriov_vnf\r
-${vnfd_name} epa_1vm_sriov-vnf\r
-${nsd_pkg} epa_1vm_sriov_ns\r
-${nsd_name} epa_1vm_sriov-ns\r
-${ns_name} epa_04\r
-\r
-# Fixed IPs and subnet for datanet VL\r
-${datanet_subnet} 192.168.100.0/24\r
-${datanet_ip1} 192.168.100.11\r
-${datanet_ip2} 192.168.100.22\r
-\r
-${vnf_member_index_1} vnf1\r
-${vnf_member_index_2} vnf2\r
-${username} ubuntu\r
-${password} osm4u\r
-${ns_config} {vld: [ {name: mgmtnet, vim-network-name: %{VIM_MGMT_NET}} , {name: datanet, ip-profile: {ip-version: ipv4, subnet-address: "${datanet_subnet}"}, vnfd-connection-point-ref: [ {member-vnf-index-ref: "1", vnfd-connection-point-ref: vnf-data-ext, ip-address: "${datanet_ip1}"}, {member-vnf-index-ref: "2", vnfd-connection-point-ref: vnf-data-ext, ip-address: "${datanet_ip2}"}]} ] }\r
-${success_return_code} 0\r
-\r
-\r
-*** Test Cases ***\r
-Create VNF Descriptor\r
-\r
- Remove Environment Variable OVERRIDES\r
- Create VNFD '%{PACKAGES_FOLDER}/${vnfd_pkg}'\r
-\r
-\r
-Create NS Descriptor\r
-\r
- Create NSD '%{PACKAGES_FOLDER}/${nsd_pkg}'\r
-\r
-\r
-Instantiate Network Service\r
-\r
- ${id}= Create Network Service ${nsd_name} %{VIM_TARGET} ${ns_name} ${ns_config} ${EMPTY}\r
- Set Suite Variable ${ns_id} ${id}\r
-\r
-\r
-Get Management Ip Addresses\r
-\r
- Variable Should Exist ${ns_id} msg=Network service instance is not available\r
- ${ip} Get Vnf Management Ip Address ${ns_id} ${vnf_member_index_1}\r
- Set Suite Variable ${ip_mgmt_1} ${ip}\r
- log ${ip_mgmt_1}\r
-\r
- ${ip} Get Vnf Management Ip Address ${ns_id} ${vnf_member_index_2}\r
- Set Suite Variable ${ip_mgmt_2} ${ip}\r
- log ${ip_mgmt_2}\r
-\r
-\r
-Ping from Vnf1 to Vnf2\r
-\r
- Variable Should Exist ${ip_mgmt_1} msg=IP address of the data VNF '${vnf_member_index_1}' is not available\r
- Sleep 30 seconds Wait for SSH daemon to be up\r
- ${stdout}= Execute Remote Command Check Rc Return Output ${ip_mgmt_1} ${username} ${password} ${EMPTY} ip addr ; ping -c 5 ${datanet_ip2}\r
- log ${stdout}\r
-\r
-\r
-Ping from Vnf2 to Vnf1\r
-\r
- Variable Should Exist ${ip_mgmt_2} msg=IP address of the data VNF '${vnf_member_index_2}' is not available\r
- ${stdout}= Execute Remote Command Check Rc Return Output ${ip_mgmt_2} ${username} ${password} ${EMPTY} ip addr ; ping -c 5 ${datanet_ip1}\r
- log ${stdout}\r
-\r
-\r
-Delete NS Instance\r
- [Tags] cleanup\r
-\r
- Delete NS ${ns_name}\r
-\r
-\r
-Delete NS Descriptor\r
- [Tags] cleanup\r
-\r
- Delete NSD ${nsd_name}\r
-\r
-\r
-Delete VNF Descriptor\r
- [Tags] cleanup\r
-\r
- Delete VNFD ${vnfd_name}\r
-\r
-\r
-\r
-*** Keywords ***\r
-Suite Cleanup\r
- [Documentation] Test Suite Cleanup: Deleting descriptors and NS instance\r
-\r
- Run Keyword If Any Tests Failed Delete NS ${ns_name}\r
-\r
- Run Keyword If Any Tests Failed Delete NSD ${nsd_name}\r
-\r
- Run Keyword If Any Tests Failed Delete VNFD ${vnfd_name}\r
-\r
+*** Comments ***
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+*** Settings ***
+Documentation [EPA-04] EPA underlay SR-IOV.
+
+Library OperatingSystem
+Library String
+Library Collections
+Library SSHLibrary
+
+Resource ../lib/vnfd_lib.resource
+Resource ../lib/vnf_lib.resource
+Resource ../lib/nsd_lib.resource
+Resource ../lib/ns_lib.resource
+Resource ../lib/ssh_lib.resource
+Resource ../lib/openstack_lib.resource
+
+Test Tags epa_04 cluster_epa daily regression
+
+Suite Teardown Run Keyword And Ignore Error Suite Cleanup
+
+
+*** Variables ***
+# NS and VNF descriptor package folder and ids
+${VNFD_PKG} epa_1vm_sriov_vnf
+${VNFD_NAME} epa_1vm_sriov-vnf
+${NSD_PKG} epa_1vm_sriov_ns
+${NSD_NAME} epa_1vm_sriov-ns
+${NS_NAME} epa_04
+
+# Fixed IPs and subnet for datanet VL
+${DATANET_SUBNET} 192.168.100.0/24
+${DATANET_IP1} 192.168.100.11
+${DATANET_IP2} 192.168.100.22
+
+${VNF_MEMBER_INDEX_1} vnf1
+${VNF_MEMBER_INDEX_2} vnf2
+${USERNAME} ubuntu
+${PASSWORD} osm4u
+${NS_CONFIG} {vld: [ {name: mgmtnet, vim-network-name: %{VIM_MGMT_NET}} , {name: datanet, ip-profile: {ip-version: ipv4, subnet-address: "${DATANET_SUBNET}"}, vnfd-connection-point-ref: [ {member-vnf-index-ref: "${VNF_MEMBER_INDEX_1}", vnfd-connection-point-ref: vnf-data-ext, ip-address: "${DATANET_IP1}"}, {member-vnf-index-ref: "${VNF_MEMBER_INDEX_2}", vnfd-connection-point-ref: vnf-data-ext, ip-address: "${DATANET_IP2}"}]} ] }
+${SUCCESS_RETURN_CODE} 0
+
+
+*** Test Cases ***
+Create VNF Descriptor
+ [Documentation] Upload VNF package for the testsuite.
+ Remove Environment Variable OVERRIDES
+ Create VNFD '%{PACKAGES_FOLDER}/${VNFD_PKG}'
+
+Create NS Descriptor
+ [Documentation] Upload NS package for the testsuite.
+ Create NSD '%{PACKAGES_FOLDER}/${NSD_PKG}'
+
+Instantiate Network Service
+ [Documentation] Instantiate NS for the testsuite.
+ ${id}= Create Network Service ${NSD_NAME} %{VIM_TARGET} ${NS_NAME} ${NS_CONFIG} ${EMPTY}
+ Set Suite Variable ${NS_ID} ${id}
+
+Get Management Ip Addresses
+ [Documentation] Get the mgmt IP addresses of both VNF of the NS.
+ Variable Should Exist ${NS_ID} msg=Network service instance is not available
+ ${ip}= Get Vnf Management Ip Address ${NS_ID} ${VNF_MEMBER_INDEX_1}
+ Set Suite Variable ${IP_MGMT_1} ${ip}
+ Log ${IP_MGMT_1}
+ ${ip}= Get Vnf Management Ip Address ${NS_ID} ${VNF_MEMBER_INDEX_2}
+ Set Suite Variable ${IP_MGMT_2} ${ip}
+ Log ${IP_MGMT_2}
+
+Ping from Vnf1 to Vnf2
+ [Documentation] Check connectivity from the first VNF to the second VNF using ping.
+ Variable Should Exist ${IP_MGMT_1} msg=IP address of the data VNF '${VNF_MEMBER_INDEX_1}' is not available
+ Sleep 30 seconds Wait for SSH daemon to be up
+ ${stdout}= Execute Remote Command Check Rc Return Output ${IP_MGMT_1} ${USERNAME} ${PASSWORD} ${EMPTY} ip addr ; ping -c 5 ${DATANET_IP2}
+ Log ${stdout}
+
+Ping from Vnf2 to Vnf1
+ [Documentation] Check connectivity from the second VNF to the first VNF using ping.
+ Variable Should Exist ${IP_MGMT_2} msg=IP address of the data VNF '${VNF_MEMBER_INDEX_2}' is not available
+ ${stdout}= Execute Remote Command Check Rc Return Output ${IP_MGMT_2} ${USERNAME} ${PASSWORD} ${EMPTY} ip addr ; ping -c 5 ${DATANET_IP1}
+ Log ${stdout}
+
+Delete NS Instance
+ [Documentation] Delete NS instance.
+ [Tags] cleanup
+ Delete NS ${NS_NAME}
+
+Delete NS Descriptor
+ [Documentation] Delete NS package from OSM.
+ [Tags] cleanup
+ Delete NSD ${NSD_NAME}
+
+Delete VNF Descriptor
+ [Documentation] Delete VNF package from OSM.
+ [Tags] cleanup
+ Delete VNFD ${VNFD_NAME}
+
+
+*** Keywords ***
+Suite Cleanup
+ [Documentation] Test Suite Cleanup: Deleting descriptors and NS instance
+ Run Keyword If Any Tests Failed Delete NS ${NS_NAME}
+ Run Keyword If Any Tests Failed Delete NSD ${NSD_NAME}
+ Run Keyword If Any Tests Failed Delete VNFD ${VNFD_NAME}