Wanna contribute to Patroni? Yay - here is how!
Chatting
Just want to chat with other Patroni users? Looking for interactive troubleshooting help? Join us on channel #patroni in the PostgreSQL Slack .
Running tests
Requirements for running behave tests:
-
PostgreSQL packages need to be installed.
-
PostgreSQL binaries must be available in your
PATH
. You may need to add them to the path with something likePATH=/usr/lib/postgresql/11/bin:$PATH python -m behave
. -
If you’d like to test with external DCSs (e.g., Etcd, Consul, and Zookeeper) you’ll need the packages installed and respective services running and accepting unencrypted/unprotected connections on localhost and default port. In the case of Etcd or Consul, the behave test suite could start them up if binaries are available in the
PATH
.
Install dependencies:
# You may want to use Virtualenv or specify pip3.
pip install -r requirements.txt
pip install -r requirements.dev.txt
After you have all dependencies installed, you can run the various test suites:
# You may want to use Virtualenv or specify python3.
# Run flake8 to check syntax and formatting:
python setup.py flake8
# Run the pytest suite in tests/:
python setup.py test
# Run the behave (https://behave.readthedocs.io/en/latest/) test suite in features/;
# modify DCS as desired (raft has no dependencies so is the easiest to start with):
DCS=raft python -m behave
Reporting issues
If you have a question about patroni or have a problem using it, please read the README before filing an issue. Also double check with the current issues on our Issues Tracker .
Contributing a pull request
-
Submit a comment to the relevant issue or create a new issue describing your proposed change.
-
Do a fork, develop and test your code changes.
-
Include documentation
-
Submit a pull request.
You’ll get feedback about your pull request as soon as possible.
Happy Patroni hacking ;-)