68 lines
2.3 KiB
Bash
Executable File
68 lines
2.3 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}'))
|
|
volumes_to_remove=($(docker volume ls | grep -E "$1" | awk '{print $1}'))
|
|
else
|
|
containers_to_kill=(
|
|
bootstrap_{ceph_mon,cinder,glance,heat,heka,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 \
|
|
heka \
|
|
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}"
|
|
|
|
volumes_to_remove=(
|
|
glance \
|
|
ironic_pxe \
|
|
mariadb \
|
|
openvswitch_db \
|
|
neutron_metadata_socket \
|
|
nova_{compute,libvirt} \
|
|
ceph_mon{,_config} \
|
|
rabbitmq \
|
|
mongodb \
|
|
rsyslog{,_socket} \
|
|
haproxy_socket \
|
|
heka{,_socket} \
|
|
kolla_logs
|
|
)
|
|
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!"
|