From 8588bd655e6160f0ce4f98eab2f3bd15afffc8c4 Mon Sep 17 00:00:00 2001 From: Mauricio Lima Date: Fri, 8 Apr 2016 14:40:25 -0400 Subject: [PATCH] Add a role to cleanup containers after deployment Change-Id: I5f422574d7e50ec9a1e5862b66ecbf39fe1594d2 Closes-Bug: #1531721 Implements: blueprint ansible-cleanup-role --- ansible/cleanup.yml | 4 ++++ .../cleanup/tasks/cleanup_containers.yml | 3 +++ ansible/roles/cleanup/tasks/cleanup_host.yml | 6 +++++ ansible/roles/cleanup/tasks/copy_tools.yml | 23 +++++++++++++++++++ ansible/roles/cleanup/tasks/main.yml | 6 +++++ setup.cfg | 3 +++ tools/kolla-ansible | 5 ++++ 7 files changed, 50 insertions(+) create mode 100644 ansible/cleanup.yml create mode 100644 ansible/roles/cleanup/tasks/cleanup_containers.yml create mode 100644 ansible/roles/cleanup/tasks/cleanup_host.yml create mode 100644 ansible/roles/cleanup/tasks/copy_tools.yml create mode 100644 ansible/roles/cleanup/tasks/main.yml diff --git a/ansible/cleanup.yml b/ansible/cleanup.yml new file mode 100644 index 0000000000..14d5668cfb --- /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 0000000000..1de1522678 --- /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 0000000000..36a65fb791 --- /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 0000000000..737233c8e7 --- /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 0000000000..d7f8b1e1e2 --- /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 59441c59e8..6d5664e470 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 36ecc0397d..413df9c62e 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"