It is recommended to use filter to manage the GitHub email notification, see examples for setting filters to Kubernetes Github notifications
To install development dependencies you can set up a python virtual env with the necessary dependencies:
virtualenv venv
source venv/bin/activate
pip install -r tests/requirements.txt
Kubespray uses yamllint
and ansible-lint
. To run them locally use yamllint .
and ansible-lint
. It is a good idea to add call these tools as part of your pre-commit hook and avoid a lot of back end forth on fixing linting issues (https://support.gitkraken.com/working-with-repositories/githooksexample/).
molecule is designed to help the development and testing of Ansible roles. In Kubespray you can run it all for all roles with ./tests/scripts/molecule_run.sh
or for a specific role (that you are working with) with molecule test
from the role directory (cd roles/my-role
).
When developing or debugging a role it can be useful to run molecule create
and molecule converge
separately. Then you can use molecule login
to SSH into the test environment.
Vagrant with VirtualBox or libvirt driver helps you to quickly spin test clusters to test things end to end. See README.md#vagrant
- Submit an issue describing your proposed change to the repo in question.
- The repo owners will respond to your issue promptly.
- Fork the desired repo, develop and test your code changes.
- Sign the CNCF CLA (https://git.k8s.io/community/CLA.md#the-contributor-license-agreement)
- Submit a pull request.
- Work with the reviewers on their suggestions.
- Ensure to rebase to the HEAD of your target branch and squash un-necessary commits (https://blog.carbonfive.com/always-squash-and-rebase-your-git-commits/) before final merger of your contribution.