LEP/ReleaseFeaturesWhenTheyAreDone

Not logged in - Log In / Register

Revision 7 as of 2010-08-02 22:52:23

Clear message

Rationale

We currently tie together two unrelated things:

This causes many problems for us, including:

We want to decouple these two things, streamline and simplify.

Stakeholders

Launchpad developers: Mail sent to launchpad-dev. Developers have their processes impacted when we change development process, so need to be able to have their needs met.

Launchpad users: hard to have a discussion with all the users that are. affected. At least we give them a choice of using either edge.launchpad.net or launchpad.net. Users generally want Launchpad to be fast and reliable, and if we are successful with this LEP will get both of those things more often.

Constraints

Out-of-scope

Nice-to-have

Implementation

To detangle the two concerns (deployment and releasing) we need to have features in the code base enabled at runtime, rather than deployment time. This will be accomplished by LEP/FeatureFlags. Generally nothing should depend on the 'is_edge' check (other than branding for edge). The feature flags facility is now available in db-devel, and from 10.09 should be used for all changes which the developer does not want *immediately* given to users.

To enable more regular deployment (a necessary condition to avoid freezing up all releases) a number of deployment and code glitches need to be fixed. The following RT tickets are crucial to this LEP:

Some bugs in the LP codebase will also help, but are less strictly needed:

There may be other issues, but we will discover these if/when a deployment goes wrong, and feed them back into the process as high/critical bugs.

Lastly, a bug in edge - that we do not QA what we deploy - will be fixed as part of this process. The new workflow is described in MergeWorkflow.

Success

When we can update the db schema without rolling out features under. development, and the Launchpad developers haven't gone mad from crazy process changes.

Better quality features released to production.

Thoughts?