diff --git a/deployed-server/scripts/get-occ-config.sh b/deployed-server/scripts/get-occ-config.sh index 9fe95f0f70..634889600d 100755 --- a/deployed-server/scripts/get-occ-config.sh +++ b/deployed-server/scripts/get-occ-config.sh @@ -59,7 +59,7 @@ function with_backoff { # Return 1 if empty output received ####################################### function fail_if_empty { - local output="$(${@})" + local output="$(eval "${@}")" if [ -z "${output}" ]; then echo "Warning! Empty output for ($@)" 1>&2 return 1 @@ -103,7 +103,11 @@ for role in $OVERCLOUD_ROLES; do rg_stack=$(with_backoff fail_if_empty openstack stack resource show $STACK_NAME $role -c physical_resource_id -f value) done - stacks=$(openstack stack resource list $rg_stack -c resource_name -c physical_resource_id -f json | jq -r "sort_by(.resource_name | tonumber) | .[] | .physical_resource_id") + stacks=$(with_backoff fail_if_empty "openstack stack resource list $rg_stack -c resource_name -c physical_resource_id -f json | jq -r 'sort_by(.resource_name | tonumber ) | .[] | .physical_resource_id'") + rc=${?} + while [ ${rc} -ne 0 ]; do + stacks=$(with_backoff fail_if_empty "openstack stack resource list $rg_stack -c resource_name -c physical_resource_id -f json | jq -r 'sort_by(.resource_name | tonumber) | .[] | .physical_resource_id'") + done i=0