From 6938180ed825c2bcf10ab9312dc87fbdeccb5c4e Mon Sep 17 00:00:00 2001 From: Pearl Dsilva Date: Thu, 7 Oct 2021 12:03:14 +0530 Subject: [PATCH 1/2] Support bulk start/stop and destroy env operation --- mbx | 48 +++++++++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/mbx b/mbx index ad7f597..2e40b1c 100755 --- a/mbx +++ b/mbx @@ -610,43 +610,49 @@ sshp() { } stop() { - env=$1 - if [ -z "$env" ]; then + envs=( "$@" ) + if [ ${#envs[@]} == 0 ]; then echo "Usage: mbx stop . Please pass a name, run 'mbx list' for list of available envs." return fi sync - for vm in $(cat $ROOT/boxes/$env/list); do - sync - virsh destroy $vm 2>/dev/null || true + for env in "${envs[@]}"; do + for vm in $(cat $ROOT/boxes/$env/list); do + sync + virsh destroy $vm 2>/dev/null || true + done done } start() { - env=$1 - if [ -z "$env" ]; then + envs=( "$@" ) + if [ ${#envs[@]} == 0 ]; then echo "Usage: mbx start . Please pass a name, run 'mbx list' for list of available envs." return fi - for vm in $(cat $ROOT/boxes/$env/list); do - virsh start $vm 2>/dev/null || true; + for env in "${envs[@]}"; do + for vm in $(cat $ROOT/boxes/$env/list); do + virsh start $vm 2>/dev/null || true; + done done } destroy() { - env=$1 - if [ -z "$env" ]; then + envs=( "$@" ) + if [ ${#envs[@]} == 0 ]; then echo "Usage: mbx destroy . Please pass a name, run 'mbx list' for list of available envs." return fi - for vm in $(cat $ROOT/boxes/$env/list); do - virsh destroy $vm 2> /dev/null || true; - virsh undefine $vm; + for env in "${envs[@]}"; do + for vm in $(cat $ROOT/boxes/$env/list); do + virsh destroy $vm 2> /dev/null || true; + virsh undefine $vm; + done + sed -i "/$env/d" $ROOT/boxes/boxes.list + sync + rm -fr $ROOT/boxes/$env + sudo rm -fr /export/testing/$env done - sed -i "/$env/d" $ROOT/boxes/boxes.list - sync - rm -fr $ROOT/boxes/$env - sudo rm -fr /export/testing/$env } case "$1" in @@ -661,8 +667,8 @@ case "$1" in dev) dev ${@:2};; agentscp) agentscp ${@:2};; ssh) sshp $2;; - start) start $2;; - stop) stop $2;; - destroy) destroy $2;; + start) start ${@:2};; + stop) stop ${@:2};; + destroy) destroy ${@:2};; *) usage;; esac From 5b6cc776bb192000358557cc4bed14b219b53602 Mon Sep 17 00:00:00 2001 From: Pearl Dsilva Date: Thu, 7 Oct 2021 12:04:58 +0530 Subject: [PATCH 2/2] Update mbx --- mbx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mbx b/mbx index 2e40b1c..6b28f5c 100755 --- a/mbx +++ b/mbx @@ -612,7 +612,7 @@ sshp() { stop() { envs=( "$@" ) if [ ${#envs[@]} == 0 ]; then - echo "Usage: mbx stop . Please pass a name, run 'mbx list' for list of available envs." + echo "Usage: mbx stop . Please pass a name, run 'mbx list' for list of available envs." return fi sync @@ -627,7 +627,7 @@ stop() { start() { envs=( "$@" ) if [ ${#envs[@]} == 0 ]; then - echo "Usage: mbx start . Please pass a name, run 'mbx list' for list of available envs." + echo "Usage: mbx start . Please pass a name, run 'mbx list' for list of available envs." return fi for env in "${envs[@]}"; do @@ -640,7 +640,7 @@ start() { destroy() { envs=( "$@" ) if [ ${#envs[@]} == 0 ]; then - echo "Usage: mbx destroy . Please pass a name, run 'mbx list' for list of available envs." + echo "Usage: mbx destroy . Please pass a name, run 'mbx list' for list of available envs." return fi for env in "${envs[@]}"; do