X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=robot-systest%2Flib%2Fvnf_lib.robot;h=b3d4aa7860f3fe0fa94d62213c5062173327280e;hb=43f34481b4c5ccfda407a7f82a124012aab0dccc;hp=12f44bc5d63f2418699e2232aab82e712b23cae1;hpb=0e696254b8dfd0d2ba854f2c5f62523cbf9eba4c;p=osm%2Ftests.git diff --git a/robot-systest/lib/vnf_lib.robot b/robot-systest/lib/vnf_lib.robot index 12f44bc..b3d4aa7 100644 --- a/robot-systest/lib/vnf_lib.robot +++ b/robot-systest/lib/vnf_lib.robot @@ -15,11 +15,67 @@ ${success_return_code} 0 *** Keywords *** +Get Vnf List + ${rc} ${stdout}= Run and Return RC and Output osm vnf-list 2>&1 + Log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + [Return] ${stdout} + + Get VNF VIM ID [Arguments] ${vnf_id} Should Not Be Empty ${vnf_id} ${rc} ${stdout}= Run and Return RC and Output osm vnf-show ${vnf_id} --literal | grep vim-id | awk '{print $2}' - log ${stdout} + Log ${stdout} Should Be Equal As Integers ${rc} ${success_return_code} - [Return] ${stdout} + [Return] ${stdout} + + +Get VDU list from VNF + [Documentation] Return a list of the VDUr ids for a VNF + + [Arguments] ${vnf_id} + + Should Not Be Empty ${vnf_id} + ${rc} ${stdout}= Run and Return RC and Output osm vnf-show ${vnf_id} --literal | yq '.vdur[].id' + Log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} msg=${stdout} values=False + @{vdur_ids}= Split String ${stdout} + [Return] @{vdur_ids} + + +Get VDU VIM Id + [Documentation] Return the VIM VM ID for a VDU + + [Arguments] ${vnf_id} ${vdur_id} + + Should Not Be Empty ${vnf_id} + ${rc} ${vm_vim_id}= Run and Return RC and Output osm vnf-show ${vnf_id} --literal | yq '.vdur[] | select(.id == "'${vdur_id}'")' | yq '."vim-id"' | tr -d \\" + Log ${vm_vim_id} + Should Be Equal As Integers ${rc} ${success_return_code} msg=${vm_vim_id} values=False + [Return] ${vm_vim_id} + + +Get Vnf Vdur IPs + [Documentation] Return a list with the IP addresses of the VDU records of a VNF instance. + + [Arguments] ${vnf_id} + + Should Not Be Empty ${vnf_id} + ${rc} ${stdout}= Run and Return RC and Output osm vnf-show ${vnf_id} --literal | yq '.vdur[].interfaces[]."ip-address"' | tr -d \\" + Should Be Equal As Integers ${rc} ${success_return_code} msg=${stdout} values=False + @{ip} = Split String ${stdout} + [Return] @{ip} + + +Get Vdu Attribute + [Documentation] Return an attribute from VDU records selected by count_index of a VNF instance. + + [Arguments] ${vnf_id} ${attribute} ${count_index}=0 + + Should Not Be Empty ${vnf_id} + Should Not Be Empty ${attribute} + ${rc} ${stdout}= Run and Return RC and Output osm vnf-show ${vnf_id} --literal | yq '.vdur[] | select(."count-index" == ${count_index})' | yq '."${attribute}"' | tr -d \\" + Should Be Equal As Integers ${rc} ${success_return_code} msg=${stdout} values=False + [Return] ${stdout}