Skip to content
Snippets Groups Projects
Commit dc229510 authored by aguilard's avatar aguilard Committed by garciadeblas
Browse files

Add purging of objects in VIM on exit in healing tests


Change-Id: Ia018aef9ef66238c9dee5aebc56861f3be9fe228
Signed-off-by: default avataraguilard <e.dah.tid@telefonica.com>
Signed-off-by: default avatargarciadeblas <gerardo.garciadeblas@telefonica.com>
parent 9e02eb15
No related branches found
Tags v13.0.1
No related merge requests found
......@@ -55,6 +55,9 @@ ${password} ${EMPTY}
${success_return_code} 0
@{vim_vdus} @{EMPTY}
@{vim_volumes} @{EMPTY}
*** Test Cases ***
Create VNF Descriptors
......@@ -80,6 +83,29 @@ Get NS Id
END
Get VIM Objects
Variable Should Exist ${ns_id} msg=NS is not available
@{vnf_id_list}= Get Ns Vnf List ${ns_id}
log ${vnf_id_list}
FOR ${vnf_id} IN @{vnf_id_list}
log ${vnf_id}
${id}= Get VNF VIM ID ${vnf_id}
@{vdu_ids}= Split String ${id}
Append To List ${vim_vdus} @{vdu_ids}
END
FOR ${vdu_id} IN @{vim_vdus}
${volumes_attached}= Get Server Property ${vdu_id} volumes_attached
${match}= Get Regexp Matches ${volumes_attached} '([0-9a-f\-]+)' 1
IF ${match} != @{EMPTY}
IF not "${match}[0]" in "@{vim_volumes}"
Append To List ${vim_volumes} ${match}[0]
END
END
END
log Many @{vim_vdus}
log Many @{vim_volumes}
Get Volume VNF Info
Variable Should Exist ${ns_id} msg=NS is not available
${ip_addr}= Get Vnf Management Ip Address ${ns_id} ${vnf_several_index}
......@@ -110,7 +136,7 @@ Get Volumes Info
Check VDU Disks
Variable Should Exist ${vnf_volumes_ip_addr} msg=VNF is not available
Sleep 30 seconds Wait for SSH daemon to be up
Sleep 20 seconds Wait for SSH daemon to be up
${stdout}= Execute Remote Command Check Rc Return Output ${vnf_volumes_ip_addr} ${username} ${password} ${privatekey} sudo lsblk -l
log ${stdout}
${lines}= Get Lines Containing String ${stdout} disk
......@@ -152,6 +178,33 @@ Check VNF After Healing
Run Keyword If ${num_lines} < ${vnf_num_volumes} Fail msg=Number of disks (${num_lines}) is less than specified in VDU (${vnf_num_volumes})
Update VIM Objects
Variable Should Exist ${ns_id} msg=NS is not available
@{vdu_updated}= Create List
@{vnf_id_list}= Get Ns Vnf List ${ns_id}
FOR ${vnf_id} IN @{vnf_id_list}
${id}= Get VNF VIM ID ${vnf_id}
@{vdu_ids}= Split String ${id}
Append To List ${vdu_updated} @{vdu_ids}
FOR ${id} IN @{vdu_ids}
IF not "${id}" in "@{vim_vdus}"
Append To List ${vim_vdus} ${id}
END
END
END
FOR ${vdu_id} IN @{vdu_updated}
${volumes_attached}= Get Server Property ${vdu_id} volumes_attached
${match}= Get Regexp Matches ${volumes_attached} '([0-9a-f\-]+)' 1
IF ${match} != @{EMPTY}
IF not "${match}[0]" in "@{vim_volumes}"
Append To List ${vim_volumes} ${match}[0]
END
END
END
log Many @{vim_vdus}
log Many @{vim_volumes}
Delete NS Instance
[Tags] cleanup
Delete NS ${ns_name}
......@@ -168,6 +221,33 @@ Delete VNF Descriptors
Delete VNFD ${vnfd_charm_name}
Delete Objects in VIM
[Tags] cleanup
${error}= Set Variable 0
FOR ${vol_id} IN @{vim_volumes}
log Checking if volume ${vol_id} is still in VIM
${exists}= Check If Volume Exists ${vol_id}
IF ${exists}!=0
${error}= Set Variable 1
log Deleting volume ${vol_id}
Run Keyword And Ignore Error Delete Volume ${vol_id}
END
END
FOR ${vdu_id} IN @{vim_vdus}
log Checking if server ${vdu_id} is still in VIM
${status}= Run Keyword And Ignore Error Get Server Property ${vdu_id} id
log ${status}[0]
IF '${status}[0]' == 'PASS'
${error}= Set Variable 1
log Deleting server ${vdu_id}
Run Keyword And Ignore Error Delete Server ${vdu_id}
END
END
IF ${error}==1
Fail Some objects created by test were not deleted in VIM
END
*** Keywords ***
Suite Cleanup
[Documentation] Test Suit Cleanup: Deleting Descriptor, instance and vim
......@@ -176,3 +256,4 @@ Suite Cleanup
Run Keyword If Any Tests Failed Delete NSD ${nsd_name}
Run Keyword If Any Tests Failed Delete VNFD ${vnfd_volumes_name}
Run Keyword If Any Tests Failed Delete VNFD ${vnfd_charm_name}
Run Keyword If Any Tests Failed Delete Objects in VIM
......@@ -61,6 +61,9 @@ ${password} ${EMPTY}
${success_return_code} 0
@{vim_vdus} @{EMPTY}
@{vim_volumes} @{EMPTY}
*** Test Cases ***
Create VNF Descriptors
......@@ -98,6 +101,29 @@ Scale Out Charm VNF
Run Keyword If ${vdurs} != ${initial_vdur_count} + 1 Fail msg=There is no new VDU records in the VNF after Scale Out
Get VIM Objects
Variable Should Exist ${ns_id} msg=NS is not available
@{vnf_id_list}= Get Ns Vnf List ${ns_id}
log ${vnf_id_list}
FOR ${vnf_id} IN @{vnf_id_list}
log ${vnf_id}
${id}= Get VNF VIM ID ${vnf_id}
@{vdu_ids}= Split String ${id}
Append To List ${vim_vdus} @{vdu_ids}
END
FOR ${vdu_id} IN @{vim_vdus}
${volumes_attached}= Get Server Property ${vdu_id} volumes_attached
${match}= Get Regexp Matches ${volumes_attached} '([0-9a-f\-]+)' 1
IF ${match} != @{EMPTY}
IF not "${match}[0]" in "@{vim_volumes}"
Append To List ${vim_volumes} ${match}[0]
END
END
END
log Many @{vim_vdus}
log Many @{vim_volumes}
Get Charm VNF Info
Variable Should Exist ${ns_id} msg=NS is not available
${variables} Get Variables
......@@ -142,6 +168,33 @@ Check VNF After Healing
Check If remote File Exists ${ip} ${username} ${password} ${privatekey} ${vnf_charm_day1_file}
Update VIM Objects
Variable Should Exist ${ns_id} msg=NS is not available
@{vdu_updated}= Create List
@{vnf_id_list}= Get Ns Vnf List ${ns_id}
FOR ${vnf_id} IN @{vnf_id_list}
${id}= Get VNF VIM ID ${vnf_id}
@{vdu_ids}= Split String ${id}
Append To List ${vdu_updated} @{vdu_ids}
FOR ${id} IN @{vdu_ids}
IF not "${id}" in "@{vim_vdus}"
Append To List ${vim_vdus} ${id}
END
END
END
FOR ${vdu_id} IN @{vdu_updated}
${volumes_attached}= Get Server Property ${vdu_id} volumes_attached
${match}= Get Regexp Matches ${volumes_attached} '([0-9a-f\-]+)' 1
IF ${match} != @{EMPTY}
IF not "${match}[0]" in "@{vim_volumes}"
Append To List ${vim_volumes} ${match}[0]
END
END
END
log Many @{vim_vdus}
log Many @{vim_volumes}
Delete NS Instance
[Tags] cleanup
Delete NS ${ns_name}
......@@ -158,6 +211,33 @@ Delete VNF Descriptors
Delete VNFD ${vnfd_charm_name}
Delete Objects in VIM
[Tags] cleanup
${error}= Set Variable 0
FOR ${vol_id} IN @{vim_volumes}
log Checking if volume ${vol_id} is still in VIM
${exists}= Check If Volume Exists ${vol_id}
IF ${exists}!=0
${error}= Set Variable 1
log Deleting volume ${vol_id}
Run Keyword And Ignore Error Delete Volume ${vol_id}
END
END
FOR ${vdu_id} IN @{vim_vdus}
log Checking if server ${vdu_id} is still in VIM
${status}= Run Keyword And Ignore Error Get Server Property ${vdu_id} id
log ${status}[0]
IF '${status}[0]' == 'PASS'
${error}= Set Variable 1
log Deleting server ${vdu_id}
Run Keyword And Ignore Error Delete Server ${vdu_id}
END
END
IF ${error}==1
Fail Some objects created by test were not deleted in VIM
END
*** Keywords ***
Suite Cleanup
[Documentation] Test Suit Cleanup: Deleting Descriptor, instance and vim
......@@ -166,3 +246,4 @@ Suite Cleanup
Run Keyword If Any Tests Failed Delete NSD ${nsd_name}
Run Keyword If Any Tests Failed Delete VNFD ${vnfd_volumes_name}
Run Keyword If Any Tests Failed Delete VNFD ${vnfd_charm_name}
Run Keyword If Any Tests Failed Delete Objects in VIM
......@@ -61,6 +61,9 @@ ${password} ${EMPTY}
${success_return_code} 0
@{vim_vdus} @{EMPTY}
@{vim_volumes} @{EMPTY}
*** Test Cases ***
Create VNF Descriptors
......@@ -98,6 +101,29 @@ Scale Out Charm VNF
Run Keyword If ${vdurs} != ${initial_vdur_count} + 1 Fail msg=There is no new VDU records in the VNF after Scale Out
Get VIM Objects
Variable Should Exist ${ns_id} msg=NS is not available
@{vnf_id_list}= Get Ns Vnf List ${ns_id}
log ${vnf_id_list}
FOR ${vnf_id} IN @{vnf_id_list}
log ${vnf_id}
${id}= Get VNF VIM ID ${vnf_id}
@{vdu_ids}= Split String ${id}
Append To List ${vim_vdus} @{vdu_ids}
END
FOR ${vdu_id} IN @{vim_vdus}
${volumes_attached}= Get Server Property ${vdu_id} volumes_attached
${match}= Get Regexp Matches ${volumes_attached} '([0-9a-f\-]+)' 1
IF ${match} != @{EMPTY}
IF not "${match}[0]" in "@{vim_volumes}"
Append To List ${vim_volumes} ${match}[0]
END
END
END
log Many @{vim_vdus}
log Many @{vim_volumes}
Get Charm VNF Info
Variable Should Exist ${ns_id} msg=NS is not available
${variables} Get Variables
......@@ -163,6 +189,33 @@ Check VNFs After Healing
Check If remote File Exists ${ip} ${username} ${password} ${privatekey} ${vnf_charm_day1_file}
Update VIM Objects
Variable Should Exist ${ns_id} msg=NS is not available
@{vdu_updated}= Create List
@{vnf_id_list}= Get Ns Vnf List ${ns_id}
FOR ${vnf_id} IN @{vnf_id_list}
${id}= Get VNF VIM ID ${vnf_id}
@{vdu_ids}= Split String ${id}
Append To List ${vdu_updated} @{vdu_ids}
FOR ${id} IN @{vdu_ids}
IF not "${id}" in "@{vim_vdus}"
Append To List ${vim_vdus} ${id}
END
END
END
FOR ${vdu_id} IN @{vdu_updated}
${volumes_attached}= Get Server Property ${vdu_id} volumes_attached
${match}= Get Regexp Matches ${volumes_attached} '([0-9a-f\-]+)' 1
IF ${match} != @{EMPTY}
IF not "${match}[0]" in "@{vim_volumes}"
Append To List ${vim_volumes} ${match}[0]
END
END
END
log Many @{vim_vdus}
log Many @{vim_volumes}
Delete NS Instance
[Tags] cleanup
Delete NS ${ns_name}
......@@ -179,6 +232,33 @@ Delete VNF Descriptors
Delete VNFD ${vnfd_charm_name}
Delete Objects in VIM
[Tags] cleanup
${error}= Set Variable 0
FOR ${vol_id} IN @{vim_volumes}
log Checking if volume ${vol_id} is still in VIM
${exists}= Check If Volume Exists ${vol_id}
IF ${exists}!=0
${error}= Set Variable 1
log Deleting volume ${vol_id}
Run Keyword And Ignore Error Delete Volume ${vol_id}
END
END
FOR ${vdu_id} IN @{vim_vdus}
log Checking if server ${vdu_id} is still in VIM
${status}= Run Keyword And Ignore Error Get Server Property ${vdu_id} id
log ${status}[0]
IF '${status}[0]' == 'PASS'
${error}= Set Variable 1
log Deleting server ${vdu_id}
Run Keyword And Ignore Error Delete Server ${vdu_id}
END
END
IF ${error}==1
Fail Some objects created by test were not deleted in VIM
END
*** Keywords ***
Suite Cleanup
[Documentation] Test Suit Cleanup: Deleting Descriptor, instance and vim
......
......@@ -55,6 +55,9 @@ ${success_return_code} 0
${healing_pol_time} 15sec
${healing_max_wait_time} 10m
@{vim_vdus} @{EMPTY}
*** Test Cases ***
Create VNF Descriptors
Create VNFD '%{PACKAGES_FOLDER}/${vnfd_pkg}'
......@@ -78,6 +81,19 @@ Get NS Id
END
Get VIM Objects
Variable Should Exist ${ns_id} msg=NS is not available
@{vnf_id_list}= Get Ns Vnf List ${ns_id}
log ${vnf_id_list}
FOR ${vnf_id} IN @{vnf_id_list}
log ${vnf_id}
${id}= Get VNF VIM ID ${vnf_id}
@{vdu_ids}= Split String ${id}
Append To List ${vim_vdus} @{vdu_ids}
END
log Many @{vim_vdus}
Get VNF Info
Variable Should Exist ${ns_id} msg=NS is not available
${ip_addr}= Get Vnf Management Ip Address ${ns_id} ${vnf_index}
......@@ -122,6 +138,21 @@ Check VNF After Healing
Should Not Be Equal ${id} ${vdu_autoheal_id} VDU id has not changed after healing
Update VIM Objects
Variable Should Exist ${ns_id} msg=NS is not available
@{vnf_id_list}= Get Ns Vnf List ${ns_id}
FOR ${vnf_id} IN @{vnf_id_list}
${id}= Get VNF VIM ID ${vnf_id}
@{vdu_ids}= Split String ${id}
FOR ${id} IN @{vdu_ids}
IF not "${id}" in "@{vim_vdus}"
Append To List ${vim_vdus} ${id}
END
END
END
log Many @{vim_vdus}
Delete NS Instance
[Tags] cleanup
Delete NS ${ns_name}
......@@ -136,6 +167,25 @@ Delete VNF Descriptors
[Tags] cleanup
Delete VNFD ${vnfd_name}
Delete Objects in VIM
[Tags] cleanup
${error}= Set Variable 0
FOR ${vdu_id} IN @{vim_vdus}
log Checking if server ${vdu_id} is still in VIM
${status}= Run Keyword And Ignore Error Get Server Property ${vdu_id} id
log ${status}[0]
IF '${status}[0]' == 'PASS'
${error}= Set Variable 1
log Deleting server ${vdu_id}
Run Keyword And Ignore Error Delete Server ${vdu_id}
END
END
IF ${error}==1
Fail Some objects created by test were not deleted in VIM
END
*** Keywords ***
Suite Cleanup
[Documentation] Test Suit Cleanup: Deleting Descriptor, instance and vim
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment