summaryrefslogtreecommitdiffstats
path: root/lib/container/stop
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@open-infrastructure.net>2018-05-27 18:32:24 +0000
committerDaniel Baumann <daniel.baumann@open-infrastructure.net>2018-05-27 18:44:03 +0000
commit9dfb6f87d0696fbf1930eda7d1957f52f2551988 (patch)
tree2608c0c8607a1689c23bde67cf10be7cb8cb23ad /lib/container/stop
parentCorrecting typo in verbose option handling of container remove command. (diff)
downloadcompute-tools-9dfb6f87d0696fbf1930eda7d1957f52f2551988.tar.xz
compute-tools-9dfb6f87d0696fbf1930eda7d1957f52f2551988.zip
Adding 'ALL' as pseudo container name for container start, stop, restart, and remove commands to act on all available container respectivly.
Signed-off-by: Daniel Baumann <daniel.baumann@open-infrastructure.net>
Diffstat (limited to 'lib/container/stop')
-rwxr-xr-xlib/container/stop20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/container/stop b/lib/container/stop
index 5099005..d996282 100755
--- a/lib/container/stop
+++ b/lib/container/stop
@@ -30,6 +30,8 @@ CLEAN="false"
Parameters ()
{
+ OPTIONS_ALL=""
+
GETOPT_LONGOPTIONS="name:,force,clean,"
GETOPT_OPTIONS="n:,f,"
@@ -53,12 +55,17 @@ Parameters ()
-f|--force)
FORCE="true"
+ shift 1
+
+ OPTIONS_ALL="${OPTIONS_ALL} --force"
;;
--clean)
# internal option
CLEAN="true"
shift 1
+
+ OPTONS_ALL="${OPTIONS_ALL} --clean"
;;
--)
@@ -108,6 +115,19 @@ then
Usage
fi
+case "${NAME}" in
+ ALL)
+ NAMES="$(container list --format shell --started)"
+
+ for NAME in ${NAMES}
+ do
+ container stop --name ${NAME} ${OPTIONS_ALL} || true
+ done
+
+ exit 0
+ ;;
+esac
+
if [ ! -e "${MACHINES}/${NAME}" ]
then
echo "'${NAME}': no such container" >&2