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.
goodplay uses 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.
Warning
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 tests
directory), goodplay ensures all dependent Ansible roles defined in the role's
meta/main.yml
file are automatically installed and made available in the
test context.
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.