-#/bin/bash
+#!/bin/bash
################################################################################
#
-# Copyright 2019 highstreet technologies GmbH and others
+# Copyright 2020 highstreet technologies GmbH and others
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# limitations under the License.
################################################################################
-echo "Cleaning up..."
+if [ "$#" -ne 1 ]; then
+ echo "ID Parameter missing."
+ echo "Usage: $0 id/all
+
+where id is the docker container id of the NTS Manager instance that we want to clean. Use 'all' if you want to clean all containers and all managers."
+ exit 1
+fi
-mapfile -t NTS_containers < <( docker ps -a --filter "label=NTS" --format "{{.ID}}" )
+if [ "$1" = "all" ]; then
+ echo "Cleaning up all NTS simulated devices..."
-CONTAINERS=""
+ mapfile -t NTS_containers < <( docker ps -a --filter "label=NTS_Manager" --format "{{.ID}}" )
-if [ ${#NTS_containers[@]} -gt 0 ]
-then
+ CONTAINERS=""
- for container in "${NTS_containers[@]}"
- do
- CONTAINERS="$CONTAINERS $container"
- done
- echo "Cleaning up ontainers: $CONTAINERS"
- docker kill $CONTAINERS > /dev/null 2>&1
- docker rm $CONTAINERS > /dev/null 2>&1
-fi
+ if [ ${#NTS_containers[@]} -gt 0 ]
+ then
+
+ for container in "${NTS_containers[@]}"
+ do
+ CONTAINERS="$CONTAINERS $container"
+ done
+ echo "Cleaning up containers: $CONTAINERS"
+ docker kill $CONTAINERS > /dev/null 2>&1
+ docker rm $CONTAINERS > /dev/null 2>&1
+ fi
+
+ echo "Cleaning up all NTS Managers..."
+
+ mapfile -t NTS_containers < <( docker ps -a --filter "label=NTS-manager" --format "{{.ID}}" )
+
+ CONTAINERS=""
+
+ if [ ${#NTS_containers[@]} -gt 0 ]
+ then
-echo "Cleaning NTS Manager container"
-docker kill NTS_Manager > /dev/null 2>&1
-docker rm NTS_Manager > /dev/null 2>&1
+ for container in "${NTS_containers[@]}"
+ do
+ CONTAINERS="$CONTAINERS $container"
+ done
+ echo "Cleaning up containers: $CONTAINERS"
+ docker kill $CONTAINERS > /dev/null 2>&1
+ docker rm $CONTAINERS > /dev/null 2>&1
+ fi
+
+else
+ echo "Cleaning up containers started by the NTS Manager $1..."
+
+ mapfile -t NTS_containers < <( docker ps -a --filter "label=NTS_Manager=$1" --format "{{.ID}}" )
+
+ CONTAINERS=""
+
+ if [ ${#NTS_containers[@]} -gt 0 ]
+ then
+
+ for container in "${NTS_containers[@]}"
+ do
+ CONTAINERS="$CONTAINERS $container"
+ done
+ echo "Cleaning up containers: $CONTAINERS"
+ docker kill $CONTAINERS > /dev/null 2>&1
+ docker rm $CONTAINERS > /dev/null 2>&1
+ fi
+
+ echo "Cleaning NTS Manager $1..."
+ docker kill $1 > /dev/null 2>&1
+ docker rm $1 > /dev/null 2>&1
+fi
echo "All cleaned up!"