*** 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-01] EPA+SRIOV without underlay. Library OperatingSystem Library String Library Collections Library SSHLibrary Resource ../lib/vnfd_lib.resource Resource ../lib/nsd_lib.resource Resource ../lib/ns_lib.resource Resource ../lib/ssh_lib.resource Test Tags epa_01 cluster_epa daily regression Suite Teardown Run Keyword And Ignore Error Suite Cleanup *** Variables *** # NS and VNF descriptor package folder and ids ${VNFD_PKG} hackfest_basic_sriov_vnf ${VNFD_NAME} hackfest_basic_sriov-vnf ${NSD_PKG} hackfest_basic_sriov_ns ${NSD_NAME} hackfest_basic_sriov-ns # NS instance name and configuration ${NS_NAME} epa_01-epa_sriov_test ${NS_CONFIG} {vld: [ {name: mgmtnet, vim-network-name: %{VIM_MGMT_NET}} ] } ${NS_ID} ${EMPTY} # SSH keys and username to be used ${PUBLICKEY} %{HOME}/.ssh/id_rsa.pub ${PRIVATEKEY} %{HOME}/.ssh/id_rsa ${USERNAME} ubuntu ${PASSWORD} osm4u ${VNF_MEMBER_INDEX} vnf ${VNF_IP_ADDR} ${EMPTY} *** Test Cases *** Create VNF Descriptor [Documentation] Upload VNF package for the testsuite. 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} ${PUBLICKEY} Set Suite Variable ${NS_ID} ${id} Get VNF IP Address [Documentation] Get the mgmt IP address of the VNF of the NS. ${ip_addr}= Get Vnf Management Ip Address ${NS_ID} ${VNF_MEMBER_INDEX} Log ${ip_addr} Set Suite Variable ${VNF_IP_ADDR} ${ip_addr} Check SR-IOV Interface [Documentation] Connect via SSH to the mgmt IP address of the VNF and check that the interface is not based in VirtIO. Sleep 30 seconds Waiting for SSH daemon to be up Execute Remote Command Check Rc Return Output ${VNF_IP_ADDR} ${USERNAME} ${PASSWORD} ${PRIVATEKEY} lspci | grep "Ethernet controller" | grep -v "Virtio" 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}