X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2Ftests.git;a=blobdiff_plain;f=robot-systest%2Flib%2Fvnf_lib.robot;fp=robot-systest%2Flib%2Fvnf_lib.robot;h=b7d6cc3e7a697a48761064d05590b06d78591084;hp=0000000000000000000000000000000000000000;hb=23ff8f980f66ef57fb4d254336a018e3a697a187;hpb=5e001f506b744021d5ef25999c9da28cf56d8fbc diff --git a/robot-systest/lib/vnf_lib.robot b/robot-systest/lib/vnf_lib.robot new file mode 100644 index 0000000..b7d6cc3 --- /dev/null +++ b/robot-systest/lib/vnf_lib.robot @@ -0,0 +1,81 @@ +# 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. + +*** Variables *** +${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 | yq -r '.vdur[]."vim-id"' + Log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + [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 -r '."vim-id"' + 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 -r '.vdur[].interfaces[]."ip-address"' + 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 -r '."${attribute}"' + Should Be Equal As Integers ${rc} ${success_return_code} msg=${stdout} values=False + [Return] ${stdout}