+++ /dev/null
-# 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 Server Flavor ID
- [Arguments] ${server_id}
-
- Should Not Be Empty ${server_id}
- ${rc} ${stdout}= Run and Return RC and Output openstack server show ${server_id} | grep flavor | awk 'NR>1{print $1}' RS='(' FS=')'
- Log ${stdout}
- Should Be Equal As Integers ${rc} ${success_return_code}
- [Return] ${stdout}
-
-
-Get Flavor Properties
- [Arguments] ${flavor_id}
-
- Should Not Be Empty ${flavor_id}
- ${rc} ${stdout}= Run and Return RC and Output openstack flavor show ${flavor_id} | grep properties | awk -F '|' '{print $3}'
- Log ${stdout}
- Should Be Equal As Integers ${rc} ${success_return_code}
- [Return] ${stdout}
-
-
-Check NS Servers In VIM
- [Documentation] Check if the number of servers in Openstack by filtering by NS name is as expected.
- [Arguments] ${ns_name} ${number}
-
- Should Not Be Empty ${ns_name}
- ${rc} ${stdout}= Run and Return RC and Output openstack server list | grep ${ns_name} | awk '{print $4}'
- Log ${stdout}
- Should Be Equal As Integers ${rc} ${success_return_code}
- @{servers} = Split String ${stdout}
- ${n_servers}= Get Length ${servers}
- Should Be Equal As Integers ${number} ${n_servers}
-
-
-Check If Volume Bootable
- [Documentation] Check the volume properties and return whether it is bootable or not.
- [Arguments] ${volume_id}
-
- Should Not Be Empty ${volume_id}
- ${rc} ${stdout}= Run and Return RC and Output openstack volume show ${volume_id} | grep bootable | awk '{print $4}'
- log ${stdout}
- Should Be Equal As Integers ${rc} ${success_return_code}
- [Return] ${stdout}
-
-
-Get Project Quota
- [Documentation] Get a field (ram, cores, ports, etc.) from quota in current project.
- [Arguments] ${field}
-
- Should Not Be Empty ${field}
- ${rc} ${stdout}= Run and Return RC and Output openstack quota show -f yaml | yq '.[] | select(.Resource=="${field}") | .Limit'
- Log ${stdout}
- Should Be Equal As Integers ${rc} ${success_return_code}
- [Return] ${stdout}
-
-
-Get Server Property
- [Documentation] Get a field (flavor, image, volumes_attached, etc.) from a server.
- [Arguments] ${server_id} ${field}
-
- Should Not Be Empty ${server_id}
- Should Not Be Empty ${field}
- ${rc} ${stdout}= Run and Return RC and Output openstack server show ${server_id} -c ${field} -f value
- Log ${stdout}
- Should Be Equal As Integers ${rc} ${success_return_code}
- [Return] ${stdout}
-
-
-Check VM In Server Group
- [Documentation] Check if a given server is included in an Openstack server group
- [Arguments] ${server_id} ${server_group_name}
-
- Should Not Be Empty ${server_group_name}
- Should Not Be Empty ${server_id}
- ${rc} ${stdout}= Run and Return RC and Output openstack server group show ${server_group_name} -c members -f value
- Log ${stdout}
- Should Be Equal As Integers ${rc} ${success_return_code}
- Should Contain ${stdout} ${server_id}
-
-
-Set Volume Id
- [Documentation] Sets the root volume ID and ordinary volume ID by checking bootable property of volumes
- [Arguments] ${volume_match} ${index}
-
- Should Not Be Empty ${volume_match} ${index}
- ${bootable}= Check If Volume Bootable ${volume_match}[${index}]
- Set Suite Variable ${bootable}
- IF '${bootable}'=='true'
- Set Suite Variable ${root_vol_id} ${volume_match}[${index}]
- IF ${index}==0
- Set Suite Variable ${ordinary_vol_id} ${volume_match}[1]
- ELSE
- Set Suite Variable ${ordinary_vol_id} ${volume_match}[0]
- END
- END
-
-
-Get Persistent Volumes Attached To Vm
- [Documentation] Sets the root volume ID and ordinary volume ID by checking bootable property of volumes
- [Arguments] ${ns_id}
-
- Variable Should Exist ${ns_id} msg=NS is not available
- ${vnfs_list}= Get Ns Vnf List ${ns_id}
- ${vim_id}= Get VNF VIM ID ${vnfs_list}[0]
- ${volumes_attached}= Get Server Property ${vim_id} volumes_attached
- log ${volumes_attached}
- ${stdout}= Get Regexp Matches ${volumes_attached} '([0-9a-f\-]+)' 1
- log ${stdout}
- [Return] ${stdout}
-
-
-Check If Volume Exists
- [Documentation] Checks if a volume id exists
- [Arguments] ${volume_id}
-
- Should Not Be Empty ${volume_id}
- ${rc} ${stdout}= Run and Return RC and Output openstack volume list | grep ${volume_id} | wc -l
- Log ${stdout}
- Should Be Equal As Integers ${rc} ${success_return_code}
- [Return] ${stdout}
-
-
-Delete Volume
- [Documentation] Delete a volume by its identifier
- [Arguments] ${volume_id}
-
- Should Not Be Empty ${volume_id}
- ${rc} ${stdout}= Run and Return RC and Output openstack volume delete ${volume_id}
- Log ${stdout}
- Should Be Equal As Integers ${rc} ${success_return_code}
- [Return] ${stdout}
-
-
-Get Subnet
- [Documentation] Get subnet information in JSON format
- [Arguments] ${subnet_id}
-
- Should Not Be Empty ${subnet_id}
- ${rc} ${stdout}= Run and Return RC and Output openstack subnet show ${subnet_id} -f json
- Log ${stdout}
- Should Be Equal As Integers ${rc} ${success_return_code}
- [Return] ${stdout}
-
-
-Stop Server
- [Documentation] Stop a server
- [Arguments] ${server_id}
-
- Should Not Be Empty ${server_id}
- ${rc} ${stdout}= Run and Return RC and Output openstack server stop ${server_id}
- Log ${stdout}
- Should Be Equal As Integers ${rc} ${success_return_code}
- [Return] ${stdout}
-
-
-Halt Server
- [Documentation] Reset a server
- [Arguments] ${server_id}
-
- Should Not Be Empty ${server_id}
- ${rc} ${stdout}= Run and Return RC and Output openstack server set --state error ${server_id}
- Log ${stdout}
- Should Be Equal As Integers ${rc} ${success_return_code}
- [Return] ${stdout}
-
-
-Delete Server
- [Documentation] Delete a server
- [Arguments] ${server_id}
-
- Should Not Be Empty ${server_id}
- ${rc} ${stdout}= Run and Return RC and Output openstack server delete ${server_id}
- Log ${stdout}
- Should Be Equal As Integers ${rc} ${success_return_code}
- [Return] ${stdout}
-
-
-Create Flavor
- [Documentation] Create a Flavor
- [Arguments] ${flavor_name} ${cpu}=1 ${ram}=1024 ${disk}=10
-
- Should Not Be Empty ${flavor_name}
- ${rc} ${flavor_id}= Run and Return RC and Output openstack flavor create ${flavor_name} --ram ${ram} --disk ${disk} --vcpus ${cpu} -c id -f value
- Log ${flavor_id}
- Should Be Equal As Integers ${rc} ${success_return_code}
- [Return] ${flavor_id}
-
-
-Delete Flavor
- [Documentation] Delete a Flavor
- [Arguments] ${flavor_id}
-
- Should Not Be Empty ${flavor_id}
- ${rc} ${stdout}= Run and Return RC and Output openstack flavor delete ${flavor_id}
- Log ${stdout}
- Should Be Equal As Integers ${rc} ${success_return_code}
- [Return] ${stdout}