Refactor folder structure.
[sim/o1-interface.git] / ntsimulator / scripts / clean.sh
index 7e9735b..5d21e4c 100755 (executable)
@@ -1,7 +1,7 @@
-#/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!"