Refactor folder structure.
[sim/o1-interface.git] / ntsimulator / scripts / clean.sh
index cc4daf7..5d21e4c 100755 (executable)
@@ -1,25 +1,88 @@
-#/bin/bash
+#!/bin/bash
+################################################################################
+#
+# 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.
+# You may obtain a copy of the License at
+# 
+#     http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# 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!"