summaryrefslogtreecommitdiffstats
path: root/roles/yum_repos/tasks
diff options
context:
space:
mode:
authorJason DeTiberus <jdetiber@redhat.com>2015-04-09 12:58:43 -0400
committerJason DeTiberus <jdetiber@redhat.com>2015-04-09 15:17:21 -0400
commitf28ff57f98140a1a22423df34d6457ee669fe714 (patch)
tree6b4e1c58be1f2929e838d9300f1518508120c26a /roles/yum_repos/tasks
parent1ccff35b334a45f5037f7965a906b5f1ac8d893d (diff)
downloadopenshift-f28ff57f98140a1a22423df34d6457ee669fe714.tar.gz
openshift-f28ff57f98140a1a22423df34d6457ee669fe714.tar.bz2
openshift-f28ff57f98140a1a22423df34d6457ee669fe714.tar.xz
openshift-f28ff57f98140a1a22423df34d6457ee669fe714.zip
refactor yum_repo role to handle multiple repos/files
- Rename yum_repo role to yum_repos - Update yum_repos to take a more complex datastructure to describe multiple repo files and multiple repos within those files - Update the template to support multiple repos within the repo file - Update the template to allow for any key, value pair passed in instead of a hard coded list. - Add assertions to verify the repo_files variable is properly defined - Convert the legacy variables to the new repo_files variable
Diffstat (limited to 'roles/yum_repos/tasks')
-rw-r--r--roles/yum_repos/tasks/main.yml47
1 files changed, 47 insertions, 0 deletions
diff --git a/roles/yum_repos/tasks/main.yml b/roles/yum_repos/tasks/main.yml
new file mode 100644
index 000000000..a9903c6c6
--- /dev/null
+++ b/roles/yum_repos/tasks/main.yml
@@ -0,0 +1,47 @@
+---
+# Convert old params to new params
+- set_fact:
+ repo_files:
+ - id: "{{ repo_tag }}"
+ repos:
+ - id: "{{ repo_tag }}"
+ name: "{{ repo_name }}"
+ baseurl: "{{ repo_baseurl }}"
+ enabled: "{{ repo_enabled }}"
+ gpgcheck: "{{ repo_gpg_check | default(repo_gpgcheck) }}"
+ sslverify: "{{ repo_sslverify | default(None) }}"
+ sslclientcert: "{{ repo_sslclientcert | default(None) }}"
+ sslclientkey: "{{ repo_sslclientkey | default(None) }}"
+ gpgkey: "{{ repo_gpgkey | default(None) }}"
+ when: repo_files is not defined
+
+- name: Verify repo_files is a list
+ assert:
+ that:
+ - repo_files is iterable and repo_files is not string and repo_files is not mapping
+
+- name: Verify repo_files items have an id and a repos list
+ assert:
+ that:
+ - item is mapping
+ - "'id' in item"
+ - "'repos' in item"
+ - item.repos is iterable and item.repos is not string and item.repos is not mapping
+ with_items: repo_files
+
+- name: Verify that repo_files.repos have the required keys
+ assert:
+ that:
+ - item.1 is mapping
+ - "'id' in item.1"
+ - "'name' in item.1"
+ - "'baseurl' in item.1"
+ with_subelements:
+ - repo_files
+ - repos
+
+- name: Installing yum-repo template
+ template:
+ src: yumrepo.j2
+ dest: /etc/yum.repos.d/{{ item.id }}.repo
+ with_items: repo_files