EGI-Foundation.umd
Unified Middleware Distribution (UMD)
This role sets up the files needed to access the products from UMD, which currently supports Scientific Linux 6 and CentOS 7. It can also set up the Interoperable Global Trust Federation (IGTF) repository file if needed.
You can find details on the available UMD releases on the EGI repository.
How to Use
To use this role, you can install it from Ansible Galaxy:
# Install the Ansible module from Ansible Galaxy
$ ansible-galaxy install egi-foundation.umd
Requirements
This role needs Ansible version 2.0 or higher. The only required dependency is EPEL, which is already included in the metadata file.
Role Variables
Here are some key variables you can use with this role:
release
(int): UMD release version (you must set this)- Example:
release: 4
- Example:
enable_candidate_repo: false
: Allow the candidate repository, often used for release candidates (defaults tofalse
)- Example:
enable_candidate_repo: false
- Example:
enable_testing_repo: false
: Turn on the testing repository (defaults tofalse
)- Example:
enable_testing_repo: false
- Example:
enable_untested_repo: false
: Turn on the untested repository (defaults tofalse
)ca_verification: false
: Activate the IGTF repository for trusted CAs (defaults tofalse
)ca_version: 1
: CA version (defaults to '1', only ifca_verification: true
)ca_branch: production
: CA branch (defaults to 'production', only ifca_verification: true
)ca_server: repository.egi.eu
: CA servers (defaults to 'repository.egi.eu', only ifca_verification: true
)crl_deploy: false
: Installs the 'fetch-crl' package if enabled (defaults tofalse
)- Example:
crl_deploy: false
- Example:
Dependencies
The previous dependency on geerlingguy.repo-epel
has been removed. EPEL is now managed directly in this role.
Example Playbook
You can use this role in different ways depending on your setup. Here are some examples:
Install UMD repository files on supported OS
- hosts: all
roles:
- { role: ansible-umd, release: 4 }
Install UMD repository files with trusted CAs and fetch-crl
- hosts: all
roles:
- { role: ansible-umd, release: 4, ca_verification: true, crl_deploy: true }
Install UMD repository files and enable the candidate repository
- hosts: all
roles:
- { role: ansible-umd, release: 4, enable_candidate_repo: true }
Running Molecule Locally
To test using molecule, set up a virtual environment as described in the EGI Ansible style guide.
# Create a directory for virtual environments
$ mkdir -p ~/.virtualenvs
# Create a Python 3 virtual environment
$ python3 -m venv ~/.virtualenvs/molecule
# Activate the virtual environment
$ source ~/.virtualenvs/molecule/bin/activate
# Install dependencies
$ pip install -r requirements.txt
Run molecule tests:
# Check coding style
$ molecule lint
# Run all tests
$ molecule test
Preparing a Release
- Create a changelog from the last version and include contributors' names.
- Open a pull request (PR) to:
- Update the version and changelog in
CHANGELOG
.
- Update the version and changelog in
- After the PR is merged, publish a new release using the GitHub web interface:
- Start the tag name with
v
, likev1.0.0
. - Packages will be created using GitHub Actions and attached to the release page.
- Start the tag name with
License
Apache 2.0
Author Information
The original author is Pablo Orviz.
For contributions, see AUTHORS.md.
ansible-galaxy install EGI-Foundation.umd