]> git.apps.os.sepia.ceph.com Git - ceph-cm-ansible.git/commitdiff
downstream-setup: separate cleanup and setup tasks into their own files 116/head
authorAndrew Schoen <aschoen@redhat.com>
Thu, 20 Aug 2015 15:13:12 +0000 (10:13 -0500)
committerAndrew Schoen <aschoen@redhat.com>
Thu, 20 Aug 2015 15:37:05 +0000 (10:37 -0500)
This is a refactor that makes this role a bit easier to understand and
use. I've simplified main.yml to only include setup.yml and cleanup.yml.
This separation of cleanup and setup related tasks make it a bit easier
to understand.

Also fixes this bug: http://tracker.ceph.com/issues/12693

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
roles/downstream-setup/tasks/cleanup.yml [new file with mode: 0644]
roles/downstream-setup/tasks/disable_yum_repos.yml
roles/downstream-setup/tasks/enable_yum_repos.yml
roles/downstream-setup/tasks/main.yml
roles/downstream-setup/tasks/remove_yum_repos.yml
roles/downstream-setup/tasks/setup.yml [new file with mode: 0644]
roles/downstream-setup/tasks/yum_repos.yml

diff --git a/roles/downstream-setup/tasks/cleanup.yml b/roles/downstream-setup/tasks/cleanup.yml
new file mode 100644 (file)
index 0000000..3807d6c
--- /dev/null
@@ -0,0 +1,30 @@
+---
+- debug: msg="Performing cleanup related tasks..."
+
+- include: yum_repos.yml
+  when: remove_yum_repos|length > 0
+  vars:
+    repos: "{{ remove_yum_repos }}"
+  tags:
+    - yum-repos
+
+- include: remove_yum_repos.yml
+  when: yum_repos|length > 0
+  vars:
+    repos: "{{ yum_repos }}"
+  tags:
+    - delete-yum-repos
+
+- include: disable_yum_repos.yml
+  when: enable_yum_repos|length > 0
+  vars:
+    repos: "{{ enable_yum_repos }}"
+  tags:
+    - disable-yum-repos
+
+- include: enable_yum_repos.yml
+  when: disable_yum_repos|length > 0
+  vars:
+    repos: "{{ disable_yum_repos }}"
+  tags:
+    - enable-yum-repos
index 1a9a65787255322c07bc6b8408c2d45a178eaaa2..9c214ad6833d430b49b32084a3ce66906c16240d 100644 (file)
@@ -6,5 +6,5 @@
     regexp: "enabled=1"
     backrefs: yes
     state: present
-  with_items: disable_yum_repos
+  with_items: repos
   ignore_errors: true
index 6b5f5bb8c5e2d3e7f6fb073638d4a17a31b971fd..2c7eb6d255c5cd3286e23bf6b6314bd7c2bdfb09 100644 (file)
@@ -6,5 +6,5 @@
     regexp: "enabled=0"
     backrefs: yes
     state: present
-  with_items: enable_yum_repos
+  with_items: repos
   ignore_errors: true
index 4ad9caa44f43ad28dc197897d21ea4e073bee02d..eab8c93ec95790307555b527b75c13332431abd3 100644 (file)
@@ -1,36 +1,14 @@
 ---
-- include: yum_repos.yml
-  when: yum_repos|length > 0 and
-        not cleanup
-  tags:
-    - yum-repos
-
-- name: Set remove_yum_repos on cleanup
-  set_fact:
-    remove_yum_repos: "[{% for repo in yum_repos %}'{{ repo.name}}',{% endfor %}]"
-  when: yum_repos|length > 0 and
-        cleanup and
-        remove_yum_repos|length == 0
-
-- include: remove_yum_repos.yml
-  when: remove_yum_repos|length > 0
-  tags:
-    - delete-yum-repos
-
-- include: disable_yum_repos.yml
-  when: disable_yum_repos|length > 0 and
-        not cleanup
-  tags:
-    - disable-yum-repos
-
-- name: Set enable_yum_repos on cleanup
-  set_fact:
-    enable_yum_repos: "{{ disable_yum_repos }}"
-  when: disable_yum_repos|length > 0 and
-        cleanup and
-        enable_yum_repos|length == 0
-
-- include: enable_yum_repos.yml
-  when: enable_yum_repos|length > 0
-  tags:
-    - enable-yum-repos
+# These are tasks which perform actions corresponding to the names of
+# the variables they use.  For example, `disable_yum_repos` would actually
+# disable all repos defined in that list.
+- include: setup.yml
+  when: not cleanup
+
+# These are tasks which reverse the actions corresponding to the names of
+# the variables they use. For example, `disable_yum_repos` would actually
+# enable all repos defined in that list. The primary use for this is through
+# teuthology, so that you can tell a teuthology run to disable a set of repos
+# for the test run but then re-enable them during the teuthology cleanup process.
+- include: cleanup.yml
+  when: cleanup
index b7e0594835260ce8a54b9345823e6504d2cd5ac1..6f249ba6e50c22c2ca5173cf97371459dc353ead 100644 (file)
@@ -3,4 +3,4 @@
   file:
     path: "/etc/yum.repos.d/{{ item }}.repo"
     state: absent
-  with_items: remove_yum_repos
+  with_items: repos
diff --git a/roles/downstream-setup/tasks/setup.yml b/roles/downstream-setup/tasks/setup.yml
new file mode 100644 (file)
index 0000000..85d68e4
--- /dev/null
@@ -0,0 +1,28 @@
+---
+- include: yum_repos.yml
+  when: yum_repos|length > 0
+  vars:
+    repos: "{{ yum_repos }}"
+  tags:
+    - yum-repos
+
+- include: remove_yum_repos.yml
+  when: remove_yum_repos|length > 0
+  vars:
+    repos: "{{ remove_yum_repos }}"
+  tags:
+    - delete-yum-repos
+
+- include: disable_yum_repos.yml
+  when: disable_yum_repos|length > 0
+  vars:
+    repos: "{{ disable_yum_repos }}"
+  tags:
+    - disable-yum-repos
+
+- include: enable_yum_repos.yml
+  when: enable_yum_repos|length > 0
+  vars:
+    repos: "{{ enable_yum_repos }}"
+  tags:
+    - enable-yum-repos
index d6eafebbd291c88d9b8190b316981f789c082f46..3625bf9aed1980a45494d4e3e483931c767e3d88 100644 (file)
@@ -4,4 +4,4 @@
     url: "{{ item.url }}"
     dest: "/etc/yum.repos.d/{{ item.name }}.repo"
     force: yes
-  with_items: yum_repos
+  with_items: repos