6 changed files with 121 additions and 3 deletions
@ -0,0 +1,30 @@ |
|||||
|
#!/bin/sh |
||||
|
|
||||
|
set -Eeuo pipefail |
||||
|
trap "exit" INT |
||||
|
|
||||
|
function start () { |
||||
|
for i; do |
||||
|
sudo virsh start "$i" || true |
||||
|
done |
||||
|
} |
||||
|
|
||||
|
function wait_for_ip () { |
||||
|
echo "Waiting for $1 to come online..." |
||||
|
while ! ping -n -c4 -i.2 $2 -q &>/dev/null; do |
||||
|
sleep 1 |
||||
|
done |
||||
|
} |
||||
|
|
||||
|
%{for host, ip in others~} |
||||
|
start "${host}" |
||||
|
wait_for_ip "${host}" "${ip}" |
||||
|
%{endfor~} |
||||
|
|
||||
|
%{for host, ip in masters~} |
||||
|
start "${host}" |
||||
|
%{endfor~} |
||||
|
|
||||
|
%{for host, ip in workers~} |
||||
|
start "${host}" |
||||
|
%{endfor~} |
||||
@ -0,0 +1,22 @@ |
|||||
|
#!/bin/sh |
||||
|
|
||||
|
set -Eeuo pipefail |
||||
|
trap "exit" INT |
||||
|
|
||||
|
function stop_group () { |
||||
|
for i; do |
||||
|
sudo virsh shutdown "$i" --mode=agent || true |
||||
|
done |
||||
|
|
||||
|
for i; do |
||||
|
echo "Waiting for $i to shutdown..." |
||||
|
while sudo virsh list --name | egrep -q "^$i\$"; do |
||||
|
sleep 1 |
||||
|
continue |
||||
|
done |
||||
|
done |
||||
|
} |
||||
|
|
||||
|
stop_group %{for host in workers}"${host}" %{endfor} |
||||
|
stop_group %{for host in masters}"${host}" %{endfor} |
||||
|
stop_group "${lb}" "${storage}" |
||||
Loading…
Reference in new issue