1.62 KB
Newer Older
Smana's avatar
Smana committed
1 2 3 4
# Contributing guidelines

## How to become a contributor and submit your own code

Maxime Guyot's avatar
Maxime Guyot committed
5 6 7 8 9 10 11 12 13 14 15 16
### Environment setup

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 use `pip install -r tests/requirements.txt`

#### Linting

Kubespray uses `yamllint` and `ansible-lint`. To run them locally use `yamllint .` and `./tests/scripts/`

#### Molecule

17 18 19
[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/` 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.
Maxime Guyot's avatar
Maxime Guyot committed
20 21 22 23 24

#### Vagrant

Vagrant with VirtualBox or libvirt driver helps you to quickly spin test clusters to test things end to end. See [](

Smana's avatar
Smana committed
25 26 27 28 29
### Contributing A Patch

1. Submit an issue describing your proposed change to the repo in question.
2. The [repo owners](OWNERS) will respond to your issue promptly.
3. Fork the desired repo, develop and test your code changes.
Maxime Guyot's avatar
Maxime Guyot committed
4. Sign the CNCF CLA (<>)
5. Submit a pull request.