aboutsummaryrefslogtreecommitdiff
path: root/tools/cleanup-containers
blob: c73d197dda910317149d1d0a5ad23de5fa6e2b3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash
if [[ $COMPUTE ]] && [[ $(pgrep qemu) ]]; then
    echo "Some qemu processes were detected."
    echo "Docker will not be able to stop the nova_libvirt container with those running."
    echo "Please clean them up before rerunning this script."
    exit 1
fi

if [ -n "$1" ]; then
    containers_to_kill=($(docker ps | grep -E "$1" | awk '{print $1}'))
    volumes_to_remove=($(docker volume ls | grep -E "$1" | awk '{print $1}'))
else
    containers_to_kill=$(docker ps --filter "label=kolla_version" --format "{{.Names}}" -a)

    volumes_to_remove=$(docker inspect -f '{{range .Mounts}} {{printf "%s\n" .Name }}{{end}}' ${containers_to_kill} | \
        egrep -v '(^\s*$)' | sort | uniq)
fi

echo "Stopping containers..."
(docker stop -t 2 ${containers_to_kill} 2>&1) > /dev/null

echo "Removing containers..."
(docker rm -v -f ${containers_to_kill} 2>&1) > /dev/null

echo "Removing volumes..."
(docker volume rm ${volumes_to_remove} 2>&1) > /dev/null

echo "All cleaned up!"