From 00d758af260d72de093e96f748777002ac521a14 Mon Sep 17 00:00:00 2001 From: Albin Vass Date: Tue, 12 May 2020 11:54:23 +0200 Subject: [PATCH] Ensure output dirs are empty Change-Id: I813ecc32c9781091dc7faf67dcc99dfe88bbaa5d --- roles/ensure-output-dirs/README.rst | 2 +- roles/ensure-output-dirs/tasks/main.yaml | 11 +++++++ .../base-roles/ensure-output-dirs.yaml | 30 +++++++++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/roles/ensure-output-dirs/README.rst b/roles/ensure-output-dirs/README.rst index 18709873b..23b7de386 100644 --- a/roles/ensure-output-dirs/README.rst +++ b/roles/ensure-output-dirs/README.rst @@ -1,4 +1,4 @@ -Ensure output directories are in place +Ensure output directories are in place and are empty. **Role Variables** diff --git a/roles/ensure-output-dirs/tasks/main.yaml b/roles/ensure-output-dirs/tasks/main.yaml index 40238d529..e10f42aa9 100644 --- a/roles/ensure-output-dirs/tasks/main.yaml +++ b/roles/ensure-output-dirs/tasks/main.yaml @@ -1,3 +1,14 @@ +- name: Empty Zuul Output directories by removing them + file: + path: "{{ zuul_output_dir }}/{{ zj_output_dir }}" + state: absent + with_items: + - logs + - artifacts + - docs + loop_control: + loop_var: zj_output_dir + - name: Ensure Zuul Output directories exist file: path: "{{ zuul_output_dir }}/{{ zj_output_dir }}" diff --git a/test-playbooks/base-roles/ensure-output-dirs.yaml b/test-playbooks/base-roles/ensure-output-dirs.yaml index e0e37db3e..2fae87c77 100644 --- a/test-playbooks/base-roles/ensure-output-dirs.yaml +++ b/test-playbooks/base-roles/ensure-output-dirs.yaml @@ -30,3 +30,33 @@ - artifact_directory is succeeded - doc_directory is not changed - doc_directory is succeeded + + - name: Add a logfile, artifact, and doc item + file: + path: "{{ zuul_output_dir }}/{{ item }}/file.txt" + state: touch + loop: + - docs + - artifacts + - logs + + - name: Run ensure-output-dirs + include_role: + name: ensure-output-dirs + + - name: Make sure output dirs were emptied + file: + path: "{{ zuul_output_dir }}/{{ item }}/file.txt" + state: absent + register: output_items + loop: + - docs + - artifacts + - logs + + - name: Validate that files were removed in ensure-output-dirs + loop: "{{ output_items.results }}" + assert: + that: + - item is not changed + - item is succeeded