Ansible comes bundled with
ansible-galaxy, a tool to install Ansible roles
either from central Ansible Galaxy, or e.g. from a version control system.
ansible-galaxy under the hood to auto-install dependencies
required by your test playbooks. Dependencies are distiguished into two
categories – hard dependencies and soft dependencies.
Installing Ansible roles that are maintained by a third-party from Ansible Galaxy may come with its own security risks. So please ensure you know what you’re doing and/or install your own roles from your own version control system.
When writing tests for an Ansible role (i.e. under a role’s
directory), goodplay ensures all dependent Ansible roles defined in the role’s
meta/main.yml file are automatically installed and made available in the
We refer to this as hard dependencies as these are expected to be required for successfully using an Ansible role.
Soft dependencies refer to dependent Ansible roles that are only required for test execution, e.g. setting up a third party software component we support to integrate with.
Soft dependencies need to be specified as
requirements.yml files right
beside the test playbook that depends on them, and must follow the guidelines
outlined in the Ansible Galaxy Requirements File documentation.