ansible_role_umd
Unified Middleware Distribution (UMD)
The role deploys the repository files needed to access the products distributed by UMD, currently supported for Scientific Linux 6 and CentOS7. This role optionally deploys the Interoperable Global Trust Federation (IGTF) repository file.
Information on available UMD release is available on the EGI repository.
Using
If you wish to use this role, install the role from Ansible Galaxy:
# Install ansible module from Ansible Galaxy
$ ansible-galaxy install egi-foundation.umd
Requirements
This role requires Ansible 2.0 or higher. The only dependency is EPEL, included in the metadata file.
Role Variables
Brief description of the variables used in the role:
release
(int) UMD release version (no default)- e.g.,
release: 4
- e.g.,
enable_candidate_repo: false
: Enable the candidate repository, commonly used in the release candidate (defaults tofalse
)- e.g.,
enable_candidate_repo: false
- e.g.,
enable_testing_repo: false
: Enables the testing repository (defaults to 'false')- e.g.,
enable_testing_repo: false
- e.g.,
enable_untested_repo: false
: Enables the untested repository (defaults to 'false')ca_verification: false
: Enables 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_verification: true
: CA servers (defaults to 'repository.egi.eu', only ifca_verification: true
)- e.g.,
ca_server: repository.egi.eu
- e.g.,
crl_deploy: false
: Installs 'fetch-crl' package if enabled (defaults tofalse
)- e.g., :
crl_deploy: false
- e.g., :
Dependencies
A previous dependency on
geerlingguy.repo-epel
has
been removed. EPEL is now taken care of in this role directly.
Example Playbook
This role can be used in several scenarios, depending on your environment. These are some examples of how to use this role.
Install UMD repository files on supported OS
- hosts: all
roles:
- { role: ansible-umd, release: 4 }
Install UMD repository files together with the trusted CAs and fetch-crl
- hosts: all
roles:
- { role: ansible-umd, release: 4, ca_verification: true, crl_deploy: true }
Install UMD repository files, enabling the candidate repository
- hosts: all
roles:
- { role: ansible-umd, release: 4, enable_candidate_repo: true }
Running molecule locally
Prepare a virtual env for testing using molecule, as documented in the EGI Ansible style guide.
# Create a folder for virtual environments
$ mkdir -p ~/.virtualenvs
# Create a python3 virtualenv
$ python3 -m venv ~/.virtualenvs/molecule
# Activate virtual env
$ source ~/.virtualenvs/ui-deployment/bin/activate
# Install dependencies
$ pip install -r requirements.txt
Run molecule
# Lint
$ molecule lint
# Run the complete test suite
$ molecule test
Preparing a release
- Prepare a changelog from the last version, including contributors' names
- Prepare a PR with
- Updating version and changelog in
CHANGELOG
- Updating version and changelog in
- Once the PR has been merged, publish a new release using GitHub web interface
- Suffix the tag name to be created with
v
, likev1.0.0
- Packages will be built using GitHub Actions and attached to the release page
- Suffix the tag name to be created with
License
Apache 2.0
Author Information
Original author Pablo Orviz.
For contributions see AUTHORS.md.
ansible-galaxy install EGI-Federation/ansible-role-umd