diff options
author | Jason DeTiberus <jdetiber@redhat.com> | 2015-04-09 12:58:43 -0400 |
---|---|---|
committer | Jason DeTiberus <jdetiber@redhat.com> | 2015-04-09 15:17:21 -0400 |
commit | f28ff57f98140a1a22423df34d6457ee669fe714 (patch) | |
tree | 6b4e1c58be1f2929e838d9300f1518508120c26a /roles/yum_repos/tasks | |
parent | 1ccff35b334a45f5037f7965a906b5f1ac8d893d (diff) | |
download | openshift-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.yml | 47 |
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 |