zuul-jobs/roles/ensure-package-repositories/tasks/RedHat.yaml
Xing Zhang 1242a98137
Fix add repositories in RedHat and Suse
These tasks should be used with become like Debian.yaml, otherwise
error will occurred like this:
[Errno 13] Permission denied: '/etc/yum.repos.d/test.repo'

Change-Id: I9c6f0132536500d36ba0098b635b1858e05d7ccf
2020-07-21 10:51:28 +08:00

44 lines
1.2 KiB
YAML

- name: Create GPG key temp directory
tempfile:
prefix: "GPG_keys"
state: directory
register: gpg_key_tempdir
- name: Upload GPG keys
copy:
content: "{{ zj_item['data'] }}"
dest: "{{ gpg_key_tempdir.path }}/key-{{ zj_idx }}.gpg"
loop: "{{ repositories_keys }}"
loop_control:
loop_var: zj_item
index_var: zj_idx
when: "'data' in zj_item"
- name: Import GPG keys
become: true
rpm_key:
key: "{{ ('url' in zj_item) | ternary(zj_item['url'], ('data' in zj_item) | ternary(gpg_key_tempdir.path + '/key-' ~ zj_idx ~ '.gpg', zj_item['key'])) }}"
state: present
loop: "{{ repositories_keys }}"
loop_control:
loop_var: zj_item
index_var: zj_idx
- name: Remove GPG temp directory
file:
state: absent
path: '{{ gpg_key_tempdir.path }}'
- name: Add repositories
become: true
yum_repository:
name: "{{ zj_item['name'] }}"
file: "{{ zj_item['file'] | default(zj_item['name']) }}"
description: "{{ zj_item['description'] | default(omit) }}"
baseurl: "{{ zj_item['baseurl'] | default(omit) }}"
gpgcheck: "{{ zj_item['gpgcheck'] | default(omit) }}"
gpgkey: "{{ zj_item['gpgkey'] | default(omit) }}"
loop: "{{ repositories_list }}"
loop_control:
loop_var: zj_item