forked from Fediversity/Fediversity
Report errors in subprocesses
This commit is contained in:
parent
0c75a4053e
commit
cbed66c934
2 changed files with 31 additions and 2 deletions
|
@ -366,7 +366,20 @@ provision_vm () (
|
|||
for vm_name in $vm_names; do
|
||||
provision_vm "$vm_name" &
|
||||
done
|
||||
wait
|
||||
|
||||
nb_errors=0
|
||||
while :; do
|
||||
wait -n && :
|
||||
case $? in
|
||||
0) ;;
|
||||
127) break ;;
|
||||
*) nb_errors=$((nb_errors + 1)) ;;
|
||||
esac
|
||||
done
|
||||
if [ "$nb_errors" != 0 ]; then
|
||||
die 'encountered %d errors while provisioning VMs%s.' "$nb_errors" "$vm_names"
|
||||
fi
|
||||
|
||||
|
||||
printf 'done provisioning VMs%s.\n' "$vm_names"
|
||||
|
||||
|
@ -374,3 +387,4 @@ printf 'done provisioning VMs%s.\n' "$vm_names"
|
|||
## Cleanup
|
||||
|
||||
rm -Rf $tmpdir
|
||||
exit 0
|
||||
|
|
|
@ -112,6 +112,7 @@ proxmox () {
|
|||
}
|
||||
|
||||
## Way to inject different behaviour on unexpected status.
|
||||
# shellcheck disable=SC2317
|
||||
default_proxmox_sync_unexpected_status_handler () {
|
||||
die "unexpected status: '%s'" "$1"
|
||||
}
|
||||
|
@ -194,6 +195,7 @@ stop_vm () {
|
|||
################################################################################
|
||||
## Delete VM
|
||||
|
||||
# shellcheck disable=SC2317
|
||||
proxmox_sync_unexpected_status_handler_ignore_null () {
|
||||
case $1 in
|
||||
null)
|
||||
|
@ -233,7 +235,19 @@ remove_vm () (
|
|||
for vm_id_or_name in $vm_ids_or_names; do
|
||||
remove_vm "$vm_id_or_name" &
|
||||
done
|
||||
wait
|
||||
|
||||
nb_errors=0
|
||||
while :; do
|
||||
wait -n && :
|
||||
case $? in
|
||||
0) ;;
|
||||
127) break ;;
|
||||
*) nb_errors=$((nb_errors + 1)) ;;
|
||||
esac
|
||||
done
|
||||
if [ "$nb_errors" != 0 ]; then
|
||||
die 'encountered %d errors while removing VMs%s.' "$nb_errors" "$vm_ids_or_names"
|
||||
fi
|
||||
|
||||
printf 'done removing VMs%s.\n' "$vm_ids_or_names"
|
||||
|
||||
|
@ -241,3 +255,4 @@ printf 'done removing VMs%s.\n' "$vm_ids_or_names"
|
|||
## Cleanup
|
||||
|
||||
rm -Rf $tmpdir
|
||||
exit 0
|
||||
|
|
Loading…
Add table
Reference in a new issue