kolla-ansible/tools/cleanup-containers
Shaun Smekel 6ac7839a21 Adds support for cleaning up bootstrap containers in the
toos/cleanup-containers script.

Dynamic Ceph OSD bootstrap containers also included.

Change-Id: Ifb5b54c5b78a894ed6e8b9980a6eb9919e52364c
Closes-Bug: #1515544
Signed-off-by: Shaun Smekel <shaun.smekel@theorem.net.au>
2016-02-17 18:49:55 +11:00

47 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
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
if [ -n "$1" ]; then
containers_to_kill=($(docker ps | grep -E "$1" | awk '{print $1}'))
else
containers_to_kill=(
bootstrap_{ceph_mon,cinder,glance,heat,ironic,ironic_pxe,keystone,magnum,mistral,mongodb,murano,neutron,nova,nova_compute} \
cinder_{volume,scheduler,backup,api} \
glance_{api,registry} \
haproxy \
heat_{api{,_cfn},engine} \
horizon \
ironic-{discoverd,conductor,api,pxe} \
keepalived \
keystone \
kolla_toolbox \
magnum_{api,conductor} \
manila_{api,share,scheduler} \
mariadb \
memcached \
mistral_{api,engine,executor} \
murano_{api,engine} \
neutron_{server,dhcp_agent,l3_agent,linuxbridge_agent,metadata_agent,openvswitch_agent} \
nova_{scheduler,novncproxy,consoleauth,conductor,api,compute,libvirt,spicehtml5proxy,compute_ironic} \
openvswitch_{vswitchd,db} \
rabbitmq{,_bootstrap} \
rsyslog \
swift_{account_{auditor,reaper,replicator,server},container_{auditor,replicator,server,updater},object_{auditor,expirer,replicator,server,updater},proxy_server,rsyncd}
)
ceph_osd_bootstrap=$(docker ps -a --filter "name=bootstrap_osd_*" --format "{{.Names}}")
containers_to_kill="${containers_to_kill} ${ceph_osd_bootstrap}"
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 "All cleaned up!"