Blueprints Lifecycle
Launchpad blueprints are used to track the implementation of significant features in OpenStack. Keeping their status current is critical to the success of the release and the project as a whole. It avoids unnecessary reporting, pings and discussions, and keeps everyone on the same page.
Any time
You have an idea for a feature, feel free to file a blueprint about it.
Definition: New
Before the design summit
To get your feature into the release, it is recommended to discuss it at the next Design Summit. Propose a session about it (see Summit) and link the session proposal to your blueprint. You can modify the blueprint status accordingly:
Definition: Discussion
Drafter: <who will run the session at the summit>
After the design summit
Once the discussion is over, it's time to work on your spec:
Definition: Drafting
Specification URL: <wiki URL for your spec document> (use SpecTemplate)
(Optional) If the spec is ready for outside review, you can set:
Definition: Review
When the spec is ready for approval for inclusion in the current development release roadmap:
- Approver: (add the PTL for the given project)
Assignee: <who will do the work>
Series goal: <the current development series>
Definition: Pending approval
Acceptance (PTLs)
The PTL reviews the blueprint and spec, then accepts it:
Definition: Approved
Series goal: Accepted for <the current development series>
Priority: <blueprint priority> (see below)
- Milestone: Targeted milestone
During development (assignee)
The "Implementation" field should reflect progress in your work:
Implementation: <degree of completion> (see below)
Please update the implementation status regularly to avoid being pinged about it
When merged (assignee)
When the work is fully merged, finalize the spec by setting:
Implementation: Implemented
Blueprints Fields reference
Specification link
URL of the Spec document, describing the design and implementation details. A same spec can be linked in multiple blueprints (if it affects multiple products, or if implementation is split between multiple cycles).
Priority
Essential |
Must be completed for a given release. Since failure in completion can delay the release, they are followed closely during weekly team meetings to make sure sufficient resources are affected to them. |
High, Medium and Low |
Non-essential specs. Their relative priority is indicated (High > Medium > Low) to help developers prioritize their work. Default is Medium. |
Undefined |
Priority is not set yet. Priority should be set once the blueprint is accepted. |
Definition
New |
Blueprint was just created |
Discussion |
Blueprint will be discussed at the design summit or on the ML |
Drafting |
Drafting of the spec is in progress |
Review |
Spec is drafted, please review |
Pending approval |
Blueprint/spec are ready for approval by the PTL |
Approved |
Blueprint is accepted, implementation can begin |
Superseded |
Blueprint was replaced by another one |
Obsolete |
Blueprint is no longer relevant |
Implementation
Use this status to indicate the degree of completion of your blueprint:
Unknown |
Implementation status was not defined yet |
Not started |
Implementation is 0% |
Started |
Implementation is > 0% (branch must be linked) |
Blocked |
Implementation is blocked, see whiteboard for details, will be discussed at next team meeting |
Needs infrastructure |
Implementation is waiting on another dependent blueprint |
Slow progress |
Implementation is not blocked, but late |
Good progress |
Implementation is on track |
Beta available |
Implementation is almost complete, you can test the branch now |
Needs code review |
Branch was proposed for merging |
Implemented |
Branch was merged |
Extra statuses:
Informational |
No implementation needed |
Deferred |
Blueprint was deferred to a future release |
Deployment |
(Not used) |
Series goal
The series (Bexar, Cactus...) targeted by this blueprint.
Approver
The PTL for the project.
Drafter
The person responsible for the design (spec) of the blueprint.
Assignee
The person responsible for implementing the blueprint (must be set by Pending approval stage).
Milestone target
The milestone the blueprint should be completed by.
Related branches
Not used.
Related bugs
The bugs related to the blueprint.
Sprints
Not used.
Feedback requests
Not used.
Whiteboard
Free-form notes.
Dependency tree
Dependencies between blueprints. If one blueprint needs to be delivered before this one, this needs to be recorded here.