Added support for a stop playbook in kolla
Behavior of stop playbook is very similar to the destroy playbook. This is meant when you may just want to bring down the service for some sort of maintenance but not destroy all the associated data. Also added support for the new playbook into the kolla-ansible command. Change-Id: Icf0ca91de71dc8ead3a024de3e5b9e49116560d1 Implements: blueprint ansible-stop-host-playbook
This commit is contained in:
parent
cf81e153cb
commit
2cfc069e21
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
- name: Creating /kolla-stop/tools directory on node
|
||||
file:
|
||||
state: directory
|
||||
path: /tmp/kolla-stop/tools
|
||||
|
||||
- name: Copying validate-docker-execute.sh file
|
||||
copy:
|
||||
src: ../tools/validate-docker-execute.sh
|
||||
dest: /tmp/kolla-stop/tools
|
||||
mode: 0755
|
||||
|
||||
- name: Copying stop-containers file
|
||||
copy:
|
||||
src: ../tools/stop-containers
|
||||
dest: /tmp/kolla-stop/tools
|
||||
mode: 0755
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
- include: copy_tools.yml
|
||||
|
||||
- include: stop_containers.yml
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
- name: Stopping Kolla containers
|
||||
command: /tmp/kolla-stop/tools/stop-containers
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
- hosts: all
|
||||
roles:
|
||||
- stop
|
|
@ -30,6 +30,7 @@ data_files =
|
|||
share/kolla/tools = tools/cleanup-containers
|
||||
share/kolla/tools = tools/cleanup-host
|
||||
share/kolla/tools = tools/cleanup-images
|
||||
share/kolla/tools = tools/stop-containers
|
||||
share/kolla/doc = doc/*
|
||||
share/kolla/etc_examples = etc/*
|
||||
share/kolla = tools/init-runonce
|
||||
|
|
|
@ -50,6 +50,7 @@ Commands:
|
|||
post-deploy Do post deploy on deploy node
|
||||
pull Pull all images for containers (only pulls, no running container changes)
|
||||
reconfigure Reconfigure OpenStack service
|
||||
stop Stop Kolla containers
|
||||
certificates Generate self-signed certificate for TLS *For Development Only*
|
||||
upgrade Upgrades existing OpenStack Environment
|
||||
genconfig Generate configuration files for enabled OpenStack services
|
||||
|
@ -206,6 +207,10 @@ EOF
|
|||
ACTION="Reconfigure OpenStack service"
|
||||
EXTRA_OPTS="$EXTRA_OPTS -e action=reconfigure -e serial=30%"
|
||||
;;
|
||||
(stop)
|
||||
ACTION="Stop Kolla containers"
|
||||
PLAYBOOK="${BASEDIR}/ansible/stop.yml"
|
||||
;;
|
||||
(certificates)
|
||||
ACTION="Generate TLS Certificates"
|
||||
PLAYBOOK="${BASEDIR}/ansible/certificates.yml"
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
#!/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_stop=($(docker ps | grep -E "$1" | awk '{print $1}'))
|
||||
else
|
||||
containers_to_stop=$(docker ps --filter "label=kolla_version" --format "{{.Names}}" -a)
|
||||
fi
|
||||
|
||||
echo "Stopping containers..."
|
||||
(docker stop -t 30 ${containers_to_stop} 2>&1) > /dev/null
|
||||
|
||||
echo "All containers stopped!"
|
Loading…
Reference in New Issue