mirror of
https://github.com/deepspeedai/DeepSpeed.git
synced 2025-10-20 15:33:51 +08:00
* Update scripts to handle cases where you have other VMs in your sub * Support subs with other VMs and fix for PDSH permission error * Minor fix to support subs with other VMs * Added shutdown with or without delete VM option In Azure deallocate is like machine shutdown (and prevents billing). You can restart deallocated VM. To fully drop the VM delete is used. This command with "-d" option will fully delete the VM. Without any argument it justs deallocates / shutd down the VM.
38 lines
974 B
Bash
Executable File
38 lines
974 B
Bash
Executable File
#!/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
|