Cinder/how-to-contribute-new-feature

= How To Contribute A New Feature =

Please add a release note along with your patch. See the Reno Documentation for details on how to generate new release notes.

What's the Deadline For New Features
See the OpenStack Dev mailing post.

When Do I Need A Blueprint & Spec
If you meet any of the following:
 * New Cinder core feature
 * Example: Add ability to force-detach a volume.
 * Involves mass changes to existing volume drivers, backup drivers, or target drivers (e.g. API)

When Do I Just Need A Blueprint
If you meet any of the following:
 * Contributing a new volume, backup, target driver.
 * My driver is going to support something that already exists in the base volume, backup, or target driver.
 * Example: Driver X is going to support volume types.

What is a blueprint?
A proposal to implement an already existing feature. You submit it through Launchpad.

What is a spec?
A detailed specification on a feature that has not been defined yet. This is for getting consensus on how features will work across different implementations or in Cinder core. These are submitted via the cinder-spec repo.

Why are blueprints even needed?
We get a lot of proposals, and we need to make a cut. If we don't have your blueprint submitted by whatever date has been discussed in the Cinder Meeting and on the OpenStack Dev mailing list, it doesn't get in the release.