aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMauricio Lima <mauriciolimab@gmail.com>2016-04-08 14:40:25 -0400
committerMauricio Lima <mauriciolimab@gmail.com>2016-04-19 10:00:59 -0400
commit8588bd655e6160f0ce4f98eab2f3bd15afffc8c4 (patch)
treedf728243067f362760eb3c8d94765b5928bc6fd4
parentfda9444ea63ec436e7598ebb4ce221db0dd5d97d (diff)
downloadkolla-8588bd655e6160f0ce4f98eab2f3bd15afffc8c4.tar.gz
kolla-8588bd655e6160f0ce4f98eab2f3bd15afffc8c4.zip
Add a role to cleanup containers after deployment
Change-Id: I5f422574d7e50ec9a1e5862b66ecbf39fe1594d2 Closes-Bug: #1531721 Implements: blueprint ansible-cleanup-role
-rw-r--r--ansible/cleanup.yml4
-rw-r--r--ansible/roles/cleanup/tasks/cleanup_containers.yml3
-rw-r--r--ansible/roles/cleanup/tasks/cleanup_host.yml6
-rw-r--r--ansible/roles/cleanup/tasks/copy_tools.yml23
-rw-r--r--ansible/roles/cleanup/tasks/main.yml6
-rw-r--r--setup.cfg3
-rwxr-xr-xtools/kolla-ansible5
7 files changed, 50 insertions, 0 deletions
diff --git a/ansible/cleanup.yml b/ansible/cleanup.yml
new file mode 100644
index 000000000..14d5668cf
--- /dev/null
+++ b/ansible/cleanup.yml
@@ -0,0 +1,4 @@
+---
+- hosts: all
+ roles:
+ - cleanup
diff --git a/ansible/roles/cleanup/tasks/cleanup_containers.yml b/ansible/roles/cleanup/tasks/cleanup_containers.yml
new file mode 100644
index 000000000..1de152267
--- /dev/null
+++ b/ansible/roles/cleanup/tasks/cleanup_containers.yml
@@ -0,0 +1,3 @@
+---
+- name: Cleaning all containers and volumes
+ command: /tmp/kolla-cleanup/tools/cleanup-containers
diff --git a/ansible/roles/cleanup/tasks/cleanup_host.yml b/ansible/roles/cleanup/tasks/cleanup_host.yml
new file mode 100644
index 000000000..36a65fb79
--- /dev/null
+++ b/ansible/roles/cleanup/tasks/cleanup_host.yml
@@ -0,0 +1,6 @@
+---
+- name: Cleaning host
+ command: /tmp/kolla-cleanup/tools/cleanup-host
+
+- name: Removing kolla-cleanup folder
+ command: rm -rf /tmp/kolla-cleanup
diff --git a/ansible/roles/cleanup/tasks/copy_tools.yml b/ansible/roles/cleanup/tasks/copy_tools.yml
new file mode 100644
index 000000000..737233c8e
--- /dev/null
+++ b/ansible/roles/cleanup/tasks/copy_tools.yml
@@ -0,0 +1,23 @@
+---
+- name: Creating /kolla-cleanup/tools directory on node
+ file:
+ state: directory
+ path: /tmp/kolla-cleanup/tools
+
+- name: Copying validate-docker-execute.sh file
+ copy:
+ src: ../tools/validate-docker-execute.sh
+ dest: /tmp/kolla-cleanup/tools
+ mode: 0755
+
+- name: Copying cleanup-containers file
+ copy:
+ src: ../tools/cleanup-containers
+ dest: /tmp/kolla-cleanup/tools
+ mode: 0755
+
+- name: Copying cleanup-host file
+ copy:
+ src: ../tools/cleanup-host
+ dest: /tmp/kolla-cleanup/tools
+ mode: 0755
diff --git a/ansible/roles/cleanup/tasks/main.yml b/ansible/roles/cleanup/tasks/main.yml
new file mode 100644
index 000000000..d7f8b1e1e
--- /dev/null
+++ b/ansible/roles/cleanup/tasks/main.yml
@@ -0,0 +1,6 @@
+---
+- include: copy_tools.yml
+
+- include: cleanup_containers.yml
+
+- include: cleanup_host.yml
diff --git a/setup.cfg b/setup.cfg
index 59441c59e..6d5664e47 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -22,6 +22,9 @@ packages =
data_files =
share/kolla/ansible = ansible/*
share/kolla/docker = docker/*
+ share/kolla/tools = tools/validate-docker-execute.sh
+ share/kolla/tools = tools/cleanup-containers
+ share/kolla/tools = tools/cleanup-host
share/kolla/doc = doc/*
share/kolla/etc_examples = etc/*
share/kolla = tools/init-runonce
diff --git a/tools/kolla-ansible b/tools/kolla-ansible
index 36ecc0397..413df9c62 100755
--- a/tools/kolla-ansible
+++ b/tools/kolla-ansible
@@ -41,6 +41,7 @@ Commands:
prechecks Do pre-deployment checks for hosts
mariadb_recovery Recover a completely stopped mariadb cluster
deploy Deploy and start all kolla containers
+ cleanup Cleanup containers, volumes and host
post-deploy Do post deploy on deploy node
pull Pull all images for containers (only pulls, no runnnig container changes)
reconfigure Reconfigure OpenStack service
@@ -131,6 +132,10 @@ case "$1" in
EXTRA_OPTS="$EXTRA_OPTS -e action=deploy"
PLAYBOOK="${BASEDIR}/ansible/mariadb_recovery.yml"
;;
+(cleanup)
+ ACTION="Cleanup containers, volumes and host"
+ PLAYBOOK="${BASEDIR}/ansible/cleanup.yml"
+ ;;
(deploy)
ACTION="Deploying Playbooks"
EXTRA_OPTS="$EXTRA_OPTS -e action=deploy"