Diff for "QAShepherd"

Not logged in - Log In / Register

Differences between revisions 1 and 2
Revision 1 as of 2010-07-23 13:03:40
Size: 551
Editor: mars
Comment:
Revision 2 as of 2010-07-23 13:29:05
Size: 1361
Editor: mars
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:

Design notes for the [[https://launchpad.net/qa-shepherd|Shepherd project]].

Algorithm details may be found on the [[QAContinuousRollouts]] page.
Line 5: Line 10:
 * As an operator and developer, I want to read in the log files the detailed reasons that the shepherd took a particular action, so that debugging the tool is easier.
  * ''devspeak: the log should record both the current state of the change sources and the state transitions that the shepherd executes based on said current state.''
 * As an operator and developer, I want to read in the log files the detailed reasons that the shepherd took a particular action, so that debugging the tool is easier. (mars)
  * ''the log should record both the current state of the change sources and the state transitions that the shepherd executes based on said current state.''
Line 8: Line 13:
 * As a user, I want to read an HTML report that tells me whether my branch has been promoted from QA to production, so I do not have to rely on  * As a user, I want to read an HTML report that tells me whether my branch has been promoted from QA to production, so I do not have to rely on yet more email to tell me what is going on. (Ursinha, gary)
  * ''We probably want to publish this on https://qa.launchpad.net''

 * As an operator, I want to be able to run the parts phases of the rollout process on-demand, so that resolving problems is easier. (mars)
  * ''This implies small sharp scripts for each part - finding branches, doing promotion, reporting the system state.''

 * As an operator, I want to toggle a switch that keeps the scripts from running, so that I can do maintenance and updates without hunting down and disabling a bunch of cron scripts. (mars)
  * ''Probably dropping a maintenance.txt file on disk would do this.''

QA Shepherd project developer notes

Design notes for the Shepherd project.

Algorithm details may be found on the QAContinuousRollouts page.

User stories

  • As an operator and developer, I want to read in the log files the detailed reasons that the shepherd took a particular action, so that debugging the tool is easier. (mars)
    • the log should record both the current state of the change sources and the state transitions that the shepherd executes based on said current state.

  • As a user, I want to read an HTML report that tells me whether my branch has been promoted from QA to production, so I do not have to rely on yet more email to tell me what is going on. (Ursinha, gary)
  • As an operator, I want to be able to run the parts phases of the rollout process on-demand, so that resolving problems is easier. (mars)
    • This implies small sharp scripts for each part - finding branches, doing promotion, reporting the system state.

  • As an operator, I want to toggle a switch that keeps the scripts from running, so that I can do maintenance and updates without hunting down and disabling a bunch of cron scripts. (mars)
    • Probably dropping a maintenance.txt file on disk would do this.

QAShepherd (last edited 2010-08-06 15:05:06 by mars)