Table of content
Thank you very much for making time to improve this Ansible role.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms. Contributor Code of Conduct.
-
Fork the repo
-
Create a branch and apply your changes to this branch.
a. Make sure you have updated the documentation when adding new variables;
b. Don't forget to add/update tests so we can test the functionality during each Pull Request;
c. Make sure the tests will succeed.
-
Push the branch to your fork and submit a pull request.
Note
Pull Requests that fails during the tests will not be merged.
Style guides are important because they ensure consistency in the content, look, and feel of a book or a website.
- Ansible Style Guide
- It's "Ansible" when referring to the product and
ansible
when referring to the command line tool, package, etc - Playbooks should be written in multi-line YAML with
key: value
. The formkey=value
is only foransible
ad-hoc, not foransible-playbook
. - Tasks should always have a
name:
This role make use of Molecule to test the execution of the role and verificate it. In the repository https://github.com/dj-wasabi/dj-wasabi-release, a file named requirements.txt
exists and contains the versions used by the tests.
You can install them with the following command:
wget https://raw.githubusercontent.com/dj-wasabi/dj-wasabi-release/main/requirements.txt
pip install -r requirements.txt
Once the dependencies are installed, please install Docker as Molecule is configured in this repository to create Docker containers. See this link to install Docker on your system.
Once everything is installed, you can validate your changes by executing:
molecule test
It should run without any issues.
This repository contains a pre-commit hook. This means that when you want to commit the changes, 1 or more tests are executed to validate the changes. Please take a look at how to install the pre-commit
package from the official site. Also make sure to install ansible-lint
via pip install ansible-lint
as this is 1 of the tools that is executed while a pre-commit hooks runs.
Suggestion is to create a virtualenv so you won't have issues with other projects.
Some web pages describing for virtual env:
- http://thepythonguru.com/python-virtualenv-guide/
- https://realpython.com/python-virtual-environments-a-primer/
- https://www.dabapps.com/blog/introduction-to-pip-and-virtualenv-python/
Molecule V2 with your own role
End note: Have fun making changes. If a feature helps you, then others find it helpful too and I will happily have it merged.