zuul-jobs/roles/ensure-package-repositories
Sorin Sbarnea 9f222677e2 ensure-docker: workaround for centos-8 conflicts
- assured configured repository is based on original repository definition
- workaround for bypassing rpm installation conflicts
  on CentOS/RHEL-8.
- we no longer need special dnf command for installation.

Change-Id: I0b2ccd788f8010b864c45140189dcb215e7c82fb
2020-05-19 19:16:20 +01:00
..
defaults ensure-package-repositories: Add role 2020-05-01 15:49:21 +02:00
tasks ensure-docker: workaround for centos-8 conflicts 2020-05-19 19:16:20 +01:00
README.rst ensure-package-repositories: Add role 2020-05-01 15:49:21 +02:00

Ensure that package manager repositories are installed. This role works with the pattern of including variables for different operating systems.

Note

This role currently only supports RPM and DEB based distributions.

Example use for Debian and Ubuntu:

- name: Add all repositories
  include_role:
    name: ensure-package-repositories
  vars:
    repositories_keys:
      - url: https://deb.nodesource.com/gpgkey/nodesource.gpg.key
    repositories_list:
      - repo: deb-src https://deb.nodesource.com/node_6.x {{ ansible_distribution_release }} main
      - repo: deb https://deb.nodesource.com/node_6.x {{ ansible_distribution_release }} main

Example use for Fedora and Red Hat:

_docker_keys:
  - data: |
      -----BEGIN PGP PUBLIC KEY BLOCK-----
      ...
      -----END PGP PUBLIC KEY BLOCK-----

_docker_repos:
  - name: docker-ce-stable
    description: Docker CE Stable - $basearch
    baseurl: "{{ docker_mirror_base_url }}/$releasever/$basearch/stable"
    gpgcheck: yes

- name: Add all repositories
      include_role:
        name: ensure-package-repositories
      vars:
        repositories_keys: "{{ _docker_keys }}"
        repositories_list: "{{ _docker_repos }}"

Example use for openSUSE and SUSE Linux:

_docker_keys:
  - data: |
      -----BEGIN PGP PUBLIC KEY BLOCK-----
      ...
      -----END PGP PUBLIC KEY BLOCK-----

_docker_repos:
  - name: docker-ce-stable
    description: Docker CE Stable - $basearch
    uri: "{{ docker_mirror_base_url }}/$releasever/$basearch/stable.repo"

- name: Add all repositories
      include_role:
        name: ensure-package-repositories
      vars:
        repositories_keys: "{{ _docker_keys }}"
        repositories_list: "{{ _docker_repos }}"

Role Variables