X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2Ftests.git;a=blobdiff_plain;f=robot-systest%2Ftestsuite%2Fbasic_12-ns_primitives.robot;fp=robot-systest%2Ftestsuite%2Fbasic_12-ns_primitives.robot;h=ee1cb31df3364088b6ed07e52874fadc69518358;hp=c4b4a370e68e9701c6da72025c00ee125c08eae1;hb=7a9e031926d2fa7ed5041485b3d41b0c1e85d2a9;hpb=23ff8f980f66ef57fb4d254336a018e3a697a187 diff --git a/robot-systest/testsuite/basic_12-ns_primitives.robot b/robot-systest/testsuite/basic_12-ns_primitives.robot index c4b4a37..ee1cb31 100644 --- a/robot-systest/testsuite/basic_12-ns_primitives.robot +++ b/robot-systest/testsuite/basic_12-ns_primitives.robot @@ -1,3 +1,4 @@ +*** Comments *** # Copyright 2020 Canonical Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -11,6 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. + *** Settings *** Documentation [BASIC-12] NS Primitives @@ -20,131 +22,119 @@ Library Collections Library Process Library SSHLibrary -Resource %{ROBOT_DEVOPS_FOLDER}/lib/vnfd_lib.robot -Resource %{ROBOT_DEVOPS_FOLDER}/lib/nsd_lib.robot -Resource %{ROBOT_DEVOPS_FOLDER}/lib/ns_lib.robot -Resource %{ROBOT_DEVOPS_FOLDER}/lib/package_lib.robot -Resource %{ROBOT_DEVOPS_FOLDER}/lib/juju_lib.robot -Resource %{ROBOT_DEVOPS_FOLDER}/lib/ssh_lib.robot +Resource ../lib/vnfd_lib.resource +Resource ../lib/nsd_lib.resource +Resource ../lib/ns_lib.resource +Resource ../lib/package_lib.resource +Resource ../lib/juju_lib.resource +Resource ../lib/ssh_lib.resource -Force Tags basic_12 cluster_ee_config regression azure +Test Tags basic_12 cluster_ee_config regression azure Suite Teardown Run Keyword And Ignore Error Suite Cleanup *** Variables *** # NS and VNF descriptor package folder and ids -${vnfd_pkg1} nscharm_policy_vnf -${vnfd_pkg2} nscharm_user_vnf -${vnfd_name1} nscharm-policy-vnf -${vnfd_name2} nscharm-user-vnf -${nsd_pkg} nscharm_ns -${new_nsd_pkg} new_nscharm_ns -${nsd_name} nscharm-ns -${nsd_file} nscharm_nsd.yaml +${VNFD_PKG1} nscharm_policy_vnf +${VNFD_PKG2} nscharm_user_vnf +${VNFD_NAME1} nscharm-policy-vnf +${VNFD_NAME2} nscharm-user-vnf +${NSD_PKG} nscharm_ns +${NEW_NSD_PKG} new_nscharm_ns +${NSD_NAME} nscharm-ns +${NSD_FILE} nscharm_nsd.yaml # NS instance name and configuration -${ns_name} test_nscharm -${ns_config} {vld: [ {name: mgmtnet, vim-network-name: %{VIM_MGMT_NET}} ] } -${ns_timeout} 15min +${NS_NAME} test_nscharm +${NS_CONFIG} {vld: [ {name: mgmtnet, vim-network-name: %{VIM_MGMT_NET}} ] } +${NS_TIMEOUT} 15min -${old_juju_password} a5611fc6452349cc6e45705d34c501d4 -${publickey} ${EMPTY} -${success_return_code} 0 +${OLD_JUJU_PASSWORD} a5611fc6452349cc6e45705d34c501d4 +${PUBLICKEY} ${EMPTY} +${SUCCESS_RETURN_CODE} 0 # VDU profile id, execution environment name to check vdu level charm naming structure -${vdu_profile_id} PolicyVM -${ee_name} vnf-policy +${VDU_PROFILE_ID} PolicyVM +${EE_NAME} vnf-policy # # Username and SSH private key for accessing OSM host -${privatekey} %{OSM_RSA_FILE} -${username} ubuntu -${password} ${EMPTY} +${PRIVATEKEY} %{OSM_RSA_FILE} +${USERNAME} ubuntu +${PASSWORD} ${EMPTY} # Charm name to check ns level charm naming structure -${charm_name} ns +${CHARM_NAME} ns *** Test Cases *** Change Juju Password [Documentation] NS package needs to be updated with the Juju credentials for your OSM installation - - ${rc} ${stdout}= Run and Return RC and Output cp -r '%{PACKAGES_FOLDER}/${nsd_pkg}' '%{PACKAGES_FOLDER}/${new_nsd_pkg}' - Should Be Equal As Integers ${rc} ${success_return_code} - ${nsd_yaml}= OperatingSystem.Get File %{PACKAGES_FOLDER}/${new_nsd_pkg}/${nsd_file} - ${changed_nsd_yaml}= Replace String ${nsd_yaml} ${old_juju_password} %{JUJU_PASSWORD} - Create File %{PACKAGES_FOLDER}/${new_nsd_pkg}/${nsd_file} ${changed_nsd_yaml} - + ${rc} ${stdout}= Run And Return RC And Output cp -r '%{PACKAGES_FOLDER}/${NSD_PKG}' '%{PACKAGES_FOLDER}/${NEW_NSD_PKG}' + Log ${rc},${stdout} + Should Be Equal As Integers ${rc} ${SUCCESS_RETURN_CODE} + ${nsd_yaml}= OperatingSystem.Get File %{PACKAGES_FOLDER}/${NEW_NSD_PKG}/${NSD_FILE} + ${changed_nsd_yaml}= Replace String ${nsd_yaml} ${OLD_JUJU_PASSWORD} %{JUJU_PASSWORD} + Create File %{PACKAGES_FOLDER}/${NEW_NSD_PKG}/${NSD_FILE} ${changed_nsd_yaml} Upload Vnfds - - Create VNFD '%{PACKAGES_FOLDER}/${vnfd_pkg1}' - Create VNFD '%{PACKAGES_FOLDER}/${vnfd_pkg2}' - + [Documentation] Upload VNF packages for the testsuite. + Create VNFD '%{PACKAGES_FOLDER}/${VNFD_PKG1}' + Create VNFD '%{PACKAGES_FOLDER}/${VNFD_PKG2}' Upload Nsd - - Create NSD %{PACKAGES_FOLDER}/${new_nsd_pkg}/ - + [Documentation] Upload NS package for the testsuite. + Create NSD %{PACKAGES_FOLDER}/${NEW_NSD_PKG} Instantiate NS - - ${id}= Create Network Service ${nsd_name} %{VIM_TARGET} ${ns_name} ${ns_config} ${publickey} ns_launch_max_wait_time=${ns_timeout} - Set Suite Variable ${ns_id} ${id} - Set Suite Variable ${model_name} ${id} - + [Documentation] Instantiate NS for the testsuite. + ${id}= Create Network Service ${NSD_NAME} %{VIM_TARGET} ${NS_NAME} ${NS_CONFIG} ${PUBLICKEY} ns_launch_max_wait_time=${NS_TIMEOUT} + Set Suite Variable ${NS_ID} ${id} + Set Suite Variable ${MODEL_NAME} ${id} Check NS Charm Application Name - - ${ns_charm_app_name}= Get Application Name NS Level Charm %{OSM_HOSTNAME} ${username} ${password} ${privatekey} ${model_name} ${charm_name} + [Documentation] Check that the NS charm has the right length. + ${ns_charm_app_name}= Get Application Name NS Level Charm %{OSM_HOSTNAME} ${USERNAME} ${PASSWORD} ${PRIVATEKEY} ${MODEL_NAME} ${CHARM_NAME} ${length}= Get Length ${ns_charm_app_name} Should Be True ${length} <50 - Check VDU Charm Application Name - - ${vdu_charm_app_name}= Get Application Name VDU Level Charm %{OSM_HOSTNAME} ${username} ${password} ${privatekey} ${model_name} ${vdu_profile_id} ${ee_name} + [Documentation] Check that the VDU charm has the right length. + ${vdu_charm_app_name}= Get Application Name VDU Level Charm %{OSM_HOSTNAME} ${USERNAME} ${PASSWORD} ${PRIVATEKEY} ${MODEL_NAME} ${VDU_PROFILE_ID} ${EE_NAME} ${length}= Get Length ${vdu_charm_app_name} Should Be True ${length} <50 # TODO: Check Initial Config Primitives Status Delete NS + [Documentation] Delete NS instance. [Tags] cleanup - - Delete NS ${ns_name} - + Delete NS ${NS_NAME} Delete NS Descriptor + [Documentation] Delete NS package from OSM. [Tags] cleanup - - Delete NSD ${nsd_name} - Delete Temporary Descriptor Folder '%{PACKAGES_FOLDER}/${new_nsd_pkg}' - + Delete NSD ${NSD_NAME} + Delete Temporary Descriptor Folder '%{PACKAGES_FOLDER}/${NEW_NSD_PKG}' Delete VNF Descriptors + [Documentation] Delete VNF package from OSM. [Tags] cleanup - - Delete VNFD ${vnfd_name1} - Delete VNFD ${vnfd_name2} + Delete VNFD ${VNFD_NAME1} + Delete VNFD ${VNFD_NAME2} *** Keywords *** Suite Cleanup [Documentation] Test Suit Cleanup: Deleting Descriptor and 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_name1} - Run Keyword If Any Tests Failed Delete VNFD ${vnfd_name2} - Delete Temporary Descriptor Folder '%{PACKAGES_FOLDER}/${new_nsd_pkg}' - + 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_NAME1} + Run Keyword If Any Tests Failed Delete VNFD ${VNFD_NAME2} + Delete Temporary Descriptor Folder '%{PACKAGES_FOLDER}/${NEW_NSD_PKG}' Delete Temporary Descriptor Folder [Documentation] Removes the temporary package folder created for the test [Arguments] ${folder_name} - - ${rc} ${stdout}= Run and Return RC and Output rm -rf '${folder_name}' - Log ${stdout} - - + ${rc} ${stdout}= Run And Return RC And Output rm -rf '${folder_name}' + Log ${rc},${stdout}