forked from deepspeedai/DeepSpeed
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathshutdown_vms.sh
executable file
·37 lines (32 loc) · 974 Bytes
/
shutdown_vms.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/bash
azure_config=azure_config.json
if [ ! -f ${azure_config} ]; then
echo "Cannot find $azure_config"
exit 1
fi
delete=0
while getopts 'd' flag; do
case "${flag}" in
d) delete=1 ;;
*)
echo "Unexpected option ${flag}"
exit 1
;;
esac
done
num_vms=`cat ${azure_config} | jq .num_vms`
if [ $num_vms == "null" ]; then echo 'missing num_vms in config'; exit 1; fi
location=`cat ${azure_config} | jq .location | sed 's/"//g'`
if [ $location == "null" ]; then echo 'missing location in config'; exit 1; fi
base_vm_name=deepspeed
resource_group=deepspeed_rg_$location
for i in `seq 0 $(( num_vms - 1))`; do
vm_name=${base_vm_name}_$i
if [ $delete == 0 ]; then
echo "deallocating $vm_name"
az vm deallocate --resource-group $resource_group --name $vm_name --no-wait
else
echo "deleting $vm_name"
az vm delete -y --resource-group $resource_group --name $vm_name --no-wait
fi
done