diff --git a/tools/cleanup-containers b/tools/cleanup-containers index b94c5db1e3..4a539d4c8e 100755 --- a/tools/cleanup-containers +++ b/tools/cleanup-containers @@ -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!"