diff options
Diffstat (limited to 'tests/functions-common')
-rw-r--r-- | tests/functions-common | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/functions-common b/tests/functions-common index 7928f20c..53a620b0 100644 --- a/tests/functions-common +++ b/tests/functions-common @@ -73,6 +73,20 @@ function die_if_not_set { $xtrace } +# Check the function is defined +# die_if_not_defined $LINENO function-name "message" +function die_if_not_defined { + local xtrace + xtrace=$(set +o | grep xtrace) + set +o xtrace + local line=$1; shift + local func_name=$1; shift + if ! declare -f "$func_name" > /dev/null; then + die $line "$*" + fi + $xtrace +} + # Wait until the condition is met. # wait_until condition timeout interval function wait_until { @@ -90,3 +104,17 @@ function wait_until { fi done } + +# Print IP address of the first vNIC owned by specified VM via virsh +# get_first_vnic_ip vm_name +function get_first_vnic_ip { + local vm_name=$1 + + _vnic_mac=$(sudo virsh domiflist $vm_name | \ + sed -n -e 's/^.*\([0-9a-f]\{2\}\(:[0-9a-f]\{2\}\)\{5\}\).*$/\1/p' | \ + head -1) + die_if_not_set $LINENO _vnic_mac + _vnic_ip=$(arp -e | grep $_vnic_mac | awk '{print $1}') + die_if_not_set $LINENO _vnic_ip + echo $_vnic_ip +} |