X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=robot-systest%2Ftestsuite%2Fk8s_04-openldap_helm.robot;h=74cd4d5fbac75c1535f74f3b6fe8a8e130113168;hb=refs%2Fheads%2Fmaster;hp=d7aa177eef1ad6b4236740a1c1a849aa3e5e8dbb;hpb=fce0e1a450c036ad38d07e1eebb001cf8e2a3fe3;p=osm%2Ftests.git diff --git a/robot-systest/testsuite/k8s_04-openldap_helm.robot b/robot-systest/testsuite/k8s_04-openldap_helm.robot index d7aa177..74cd4d5 100644 --- a/robot-systest/testsuite/k8s_04-openldap_helm.robot +++ b/robot-systest/testsuite/k8s_04-openldap_helm.robot @@ -1,3 +1,4 @@ +*** 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 @@ -10,68 +11,128 @@ # See the License for the specific language governing permissions and # limitations under the License. + *** Settings *** +Documentation [K8s-04] Openldap Helm chart. + Library OperatingSystem Library String Library Collections Library Process -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/connectivity_lib.robot -Resource %{ROBOT_DEVOPS_FOLDER}/lib/ssh_lib.robot -Resource %{ROBOT_DEVOPS_FOLDER}/lib/k8scluster_lib.robot +Resource ../lib/vnfd_lib.resource +Resource ../lib/nsd_lib.resource +Resource ../lib/ns_lib.resource +Resource ../lib/ns_operation_lib.resource +Resource ../lib/connectivity_lib.resource +Resource ../lib/ssh_lib.resource +Resource ../lib/k8scluster_lib.resource -Variables %{ROBOT_DEVOPS_FOLDER}/resources/k8s_04-openldap_helm_data.py +Test Tags k8s_04 cluster_k8s daily regression sanity azure -Suite Teardown Run Keyword And Ignore Error Test Cleanup +Suite Teardown Run Keyword And Ignore Error Suite Cleanup *** Variables *** -${ns_id} ${EMPTY} -${ns_config} {vld: [ {name: mgmtnet, vim-network-name: %{VIM_MGMT_NET}} ] } -${publickey} ${EMPTY} +# NS and VNF descriptor package folder and ids +${VNFD_PKG} openldap_knf +${VNFD_NAME} openldap_knf +${NSD_PKG} openldap_ns +${NSD_NAME} openldap_ns + +# NS instance name and configuration +${NS_NAME} ldap +${NS_CONFIG} {vld: [ {name: mgmtnet, vim-network-name: %{VIM_MGMT_NET}}], additionalParamsForVnf: [ {member-vnf-index: openldap, additionalParamsForKdu: [ {kdu_name: ldap, additionalParams: {service: {type: LoadBalancer }, adminPassword: admin}} ] } ] } + +${NS_ID} ${EMPTY} +${PUBLICKEY} ${EMPTY} +${VNF_MEMBER_INDEX} openldap +${KDU_NAME} ldap +${UPGRADE_ACTION} upgrade +${ROLLBACK_ACTION} rollback +${REPLICA_COUNT} 3 + *** Test Cases *** Create Package For OpenLDAP CNF - [Tags] openldap sanity regression - Create VNFD '%{PACKAGES_FOLDER}/${vnfd_pkg}' + [Documentation] Upload NF package for the testsuite. + [Tags] prepare + Create VNFD '%{PACKAGES_FOLDER}/${VNFD_PKG}' Create Package For OpenLDAP NS - [Tags] openldap sanity regression - Create NSD '%{PACKAGES_FOLDER}/${nsd_pkg}' - -Add K8s Cluster To OSM - [Tags] openldap sanity regression - Create K8s Cluster %{K8S_CREDENTIALS} ${k8scluster_version} %{VIM_TARGET} %{VIM_MGMT_NET} ${k8scluster_name} + [Documentation] Upload NS package for the testsuite. + [Tags] prepare + Create NSD '%{PACKAGES_FOLDER}/${NSD_PKG}' Create Network Service Instance - [Tags] openldap sanity regression - ${id}= Create Network Service ${nsd_name} %{VIM_TARGET} ${ns_name} ${ns_config} ${publickey} - Set Suite Variable ${ns_id} ${id} + [Documentation] Instantiate NS for the testsuite. + [Tags] prepare + ${id}= Create Network Service ${NSD_NAME} %{VIM_TARGET} ${NS_NAME} ${NS_CONFIG} ${PUBLICKEY} + Log ${id} + +Get Ns Id + [Documentation] Retrieve NS instance id to be used later on. + [Tags] verify + ${id}= Get Ns Id ${NS_NAME} + Set Suite Variable ${NS_ID} ${id} + +Get Vnf Id + [Documentation] Retrieve NF instance id to be used later on. + [Tags] verify + Variable Should Exist ${NS_ID} msg=Network service instance is not available + @{vnfr_list}= Get Ns Vnfr Ids ${NS_ID} + Log List ${vnfr_list} + Set Suite Variable ${VNF_ID} ${vnfr_list}[0] + +Execute Upgrade Operation + [Documentation] Perform OSM action to upgrade the number of replicas of a deployment in the CNF. + [Tags] verify + Variable Should Exist ${NS_ID} msg=Network service instance is not available + ${ns_op_id}= Execute NS K8s Action ${NS_NAME} ${UPGRADE_ACTION} ${VNF_MEMBER_INDEX} ${KDU_NAME} replicaCount=${REPLICA_COUNT} + Log ${ns_op_id} + +Check Replicas After Upgrade Operation + [Documentation] Check that the number of replicas after the upgrade is the expected one. + [Tags] verify + Variable Should Exist ${NS_ID} msg=Network service instance is not available + ${count}= Get Vnf Kdu Replica Count ${VNF_ID} ${KDU_NAME} + Log ${count} + Should Be Equal As Integers ${count} ${REPLICA_COUNT} + +Execute Rollback Operation + [Documentation] Perform OSM action to rollback the previous upgrade of the CNF. + [Tags] verify + Variable Should Exist ${NS_ID} msg=Network service instance is not available + ${ns_op_id}= Execute NS K8s Action ${NS_NAME} ${ROLLBACK_ACTION} ${VNF_MEMBER_INDEX} ${KDU_NAME} + Log ${ns_op_id} + +Check Replicas After Rollback Operation + [Documentation] Check that the number of replcias after the rollback is the expected one. + [Tags] verify + Variable Should Exist ${NS_ID} msg=Network service instance is not available + ${count}= Get Vnf Kdu Replica Count ${VNF_ID} ${KDU_NAME} + Log ${count} + Should Be Empty ${count} Delete Network Service Instance - [Tags] openldap sanity regression cleanup - Delete NS ${ns_name} - -Remove K8s Cluster from OSM - [Tags] openldap sanity regression - Delete K8s Cluster ${k8scluster_name} + [Documentation] Delete NS instance. + [Tags] cleanup + Delete NS ${NS_NAME} Delete NS Descriptor Test - [Tags] openldap sanity regression cleanup - Delete NSD ${nsd_name} + [Documentation] Delete NS package from OSM. + [Tags] cleanup + Delete NSD ${NSD_NAME} Delete VNF Descriptor Test - [Tags] openldap sanity regression cleanup - Delete VNFD ${vnfd_name} + [Documentation] Delete NF package from OSM. + [Tags] cleanup + Delete VNFD ${VNFD_NAME} *** Keywords *** -Test Cleanup - [Documentation] Test Suit Cleanup: Deleting Descriptor, instance and vim - Run Keyword If Test Failed Delete NS ${ns_name} - Run Keyword If Test Failed Delete NSD ${nsd_name} - Run Keyword If Test Failed Delete VNFD ${vnfd_name} - Run Keyword If Test Failed Delete K8s Cluster ${k8scluster_name} +Suite Cleanup + [Documentation] Test Suit Cleanup: Deleting Descriptor, instance and vim + 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}