Improve cleanup script

Its still dirty, but at least it won't kill all your containers.

Change-Id: Ie468210bd0f273432ca16fc9530bf9acd2a808ed
Closes-Bug: #1486620
This commit is contained in:
Sam Yaple 2015-08-27 13:24:43 +00:00
parent 7ef0b8966c
commit 0ac5e048c6
1 changed files with 31 additions and 5 deletions

View File

@ -1,7 +1,33 @@
#!/bin/bash
CONTAINERS=`docker ps -a -q`
if [[ -z "$CONTAINERS" ]]; then
echo "No containers to cleanup, exit now."
exit 0
if [[ $(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
docker rm $@ $CONTAINERS
containers_to_kill="
glance_{api,registry,data} \
haproxy \
heat_{api{,_cfn},engine} \
horizon \
keepalived
keystone \
kolla_ansible \
log_data \
mariadb{,_data} \
murano_{api,engine} \
neutron_{server,agents,linuxbridge_agent,openvswitch_agent} \
nova_{data,scheduler,novncproxy,consoleauth,conductor,api,compute,libvirt} \
openvswitch_{vswitchd,db} \
rabbitmq{,_data} \
rsyslog \
swift_{account_{auditor,reaper,replicator,server},container_{auditor,expirer,replicator,server,updater},proxy_server,rsyncd}"
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 "All cleaned up!"