Contributor Guidelines
======================

The source repository for this project can be found at:

   https://opendev.org/openstack/manila-tempest-plugin

Pull requests submitted through GitHub are not monitored.

To start contributing to OpenStack, follow the steps in the contribution guide
to set up and use Gerrit:

   https://docs.openstack.org/contributors/code-and-documentation/quick-start.html

Bugs should be filed against the Manila project on Launchpad:

   https://bugs.launchpad.net/manila

For more specific information about contributing to this repository, see the
manila contributor guide. That guide has information regarding the team's task
trackers, communicating with other project developers and contacting the
core team. It also has plenty of tips and tricks to get started with a
development environment to contribute to, and test changes within this
tempest plugin repository:

   https://docs.openstack.org/manila/latest/contributor/contributing.html

Information regarding running tests from this repository is here:

   https://docs.openstack.org/manila/latest/contributor/tempest_tests.html

This project makes extensive use of tempest-lib, a stable interface to the
Tempest project. You can read more about it here:

   https://docs.openstack.org/tempest/latest/library.html
