/ansible-role-rpo_epel

An Ansible Role to install and enable Extra Packages for Enterprise Linux (EPEL) repositories.

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Github (tag) Github (license) Github (issues) Github (pull requests)

Travis (com)

Ansible (min. version) Ansible (platforms) Ansible (tags)

Ansible Role: rpo_epel

An Ansible Role to install and enable Extra Packages for Enterprise Linux (EPEL) repositories.

Motivation

EPEL Repositories are needed for many packages in RedHat and CentOS.

Description

This role is installing and configuring EPEL.

  • install epel-release
  • enable epel and epel-testing

Requirements

On RHEL 7 it is recommended to also enable the optional, extras, and HA repositories since EPEL packages may depend on packages from these repositories. The role offers an option to handle this, by default.

Used Modules:

Installation

Install from Ansible Galaxy

ansible-galaxy install while_true_do.rpo_epel

Install from Github

git clone https://github.com/while-true-do/ansible-role-rpo_epel.git while_true_do.rpo_epel

Usage

Role Variables

---
# defaults file for while_true_do.rpo_epel

## Package Management
# Defaults are based on CentOS Linux
wtd_rpo_epel_package: "epel-release"
# State can be present|latest|absent
wtd_rpo_epel_package_state: "present"

## Configuration Management
# Enable or disable installed repositories
wtd_rpo_epel_conf_enabled: "1"
wtd_rpo_epel_conf_testing_enabled: "0"

# Only for Red Hat
# Enable the recommended Red Hat Repository Subscriptions
# State can be enabled|disabled|unmanaged
wtd_rpo_epel_conf_rh_extras_repo_state: "enabled"
wtd_rpo_epel_conf_rh_optional_repo_state: "enabled"

Example Playbook

Running Ansible Roles can be done in a playbook.

Simple

---
- hosts: all
  roles:
    - role: while_true_do.rpo_epel

Enable EPEL Testing

- hosts: all
  roles:
    - role: while_true_do.rpo_epel
      wtd_rpo_epel_conf_testing_enabled: "1"

Known Issues

  1. RedHat Testing is currently not possible in public, due to limitations in subscriptions.
  2. Some services and features cannot be tested properly, due to limitations in docker.

Testing

Most of the "generic" tests are located in the Test Library.

Ansible specific testing is done with Molecule.

Infrastructure testing is done with testinfra.

Automated testing is done with Travis CI.

Contribute

Thank you so much for considering to contribute. We are very happy, when somebody is joining the hard work. Please fell free to open Bugs, Feature Requests or Pull Requests after reading the Contribution Guideline.

See who has contributed already in the kudos.txt.

License

This work is licensed under a BSD-3-Clause License.

Contact