#!/bin/bash QEMU_PIDS=$(pgrep qemu) if [[ $COMPUTE ]] && [[ $QEMU_PIDS ]] && [[ $(ps --no-headers wwwup $QEMU_PIDS | grep --invert-match '\-xen\-domid 0') ]]; 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!"