||<>|| This page provides a working roadmap to implement [[Foundations/Proposals/SimplifyMergeMachinery]]. Feel free to edit this page. If you have any questions, please ask [[gary]] or [[mars]]. '''Remember: [[https://dev.launchpad.net/SimplifedMergePlanning?action=subscribe|Subscribe to Page Changes]]''' == Milestone 1: The ghost line == '''The goal:''' to have a landing system that tests and merges branches into shadow-stable, but does so without telling anyone. We also have calculated the current average time-to-land, and have measured our new ghost line's average time-to-land. What has to be done: * one server (internal cloud or a VM from the LOSAs) * one lander program * [[http://launchpad.net/tarmac|Tarmac]] * seek to stabilize our work on a Tarmac major release * Ask the LOSAs what they currently deploy, what they are capable of deploying * Check that merge queues won't destabilize our work * one branch, shadow-stable * a running test suite * suite should be running under the PQM chroot script, ask LOSAs * tree stable timer * a script to measure time-to-land * the lander watches real 'Approved' devel merge proposals * measure results The shadow-lander system can be used throughout the project as a sandbox to avoid experimenting on real systems. == Milestone 2: The stable line == '''The goal:''' to have Approved merge proposals for stable being landed to stable by our landing system. Development no longer happens on the devel branch. What has to be done: * real servers * Ask LOSAs for all three systems now to save RT time (front-loading) * real lander * real notifications from the lander * commit message checking (same as PQM has) * lander merges to stable * `lp-land`, `ec2 land` write correct commit message tags to the merge proposal for you * trial run for volunteers * switch development from devel to stable * developers stop merging to devel, start merging to stable * devel has been removed from rocketfuel-setup and bazaar.locations * PQM rejects devel submissions * measure * Plan for operations (LOSA) handoff == Milestone 3: The db line == '''The goal:''' to have Approved merges for db-stable being landed by the landing system, with merges to stable also being tested and merged into db-stable. Development no longer happens on the db-devel branch. What has to be done: * second lander, server, etc. * lander merges to shadow-db-stable * copy changes from stable to shadow-db-stable * switch off the poller * lander merges to db-stable * trial run for volunteers * switch development from db-devel to db-stable * measure == Milestone 4: The production line == '''The goal:''' to have Approved merges to production-stable being landed by the landing system. What has to be done: * third lander, server, etc. * trial run for volunteers * switch development from prod-devel to production-stable * (optional) Re-purpose the poller to automate QA-passed cherry picks * measure == Milestone 5: Sunset == * Operations handoff * switch off buildbot * remove devel, db-devel, production-devel * update all wiki documentation mentioning the devel branches * decommission the shadow lander system