Revision 819358e1

b/doc/design-autorepair.rst
252 252
temporarily) to mark the instance as "not touch" when we think a human
253 253
needs to look at it. To be decided).
254 254

  
255
A graph with the possible transitions follows; note that in the graph,
256
following the implementation, the two ``Needs repair`` states have been
257
coalesced into one; and the ``Suspended`` state disapears, for it
258
becames an attribute of the instance object (its auto-repair policy).
259

  
260
.. digraph:: "auto-repair-states"
261

  
262
  node     [shape=circle, style=filled, fillcolor="#BEDEF1",
263
            width=2, fixedsize=true];
264
  healthy  [label="Healthy"];
265
  needsrep [label="Needs repair"];
266
  pendrep  [label="Pending repair"];
267
  failed   [label="Failed repair"];
268
  disabled [label="(no state)", width=1.25];
269

  
270
  {rank=same; needsrep}
271
  {rank=same; healthy}
272
  {rank=same; pendrep}
273
  {rank=same; failed}
274
  {rank=same; disabled}
275

  
276
  // These nodes are needed to be the "origin" of the "initial state" arrows.
277
  node [width=.5, label="", style=invis];
278
  inih;
279
  inin;
280
  inip;
281
  inif;
282
  inix;
283

  
284
  edge [fontsize=10, fontname="Arial Bold", fontcolor=blue]
285

  
286
  inih -> healthy  [label="No tags or\nresult:success"];
287
  inip -> pendrep  [label="Tag:\nautorepair:pending"];
288
  inif -> failed   [label="Tag:\nresult:failure"];
289
  inix -> disabled [fontcolor=black, label="ArNotEnabled"];
290

  
291
  edge [fontcolor="orange"];
292

  
293
  healthy -> healthy [label="No problems\ndetected"];
294

  
295
  healthy -> needsrep [
296
             label="Brokeness\ndetected in\nfirst half of\nthe tool run"];
297

  
298
  pendrep -> healthy [
299
             label="All jobs\ncompleted\nsuccessfully /\ninstance healthy"];
300

  
301
  pendrep -> failed [label="Some job(s)\nfailed"];
302

  
303
  edge [fontcolor="red"];
304

  
305
  needsrep -> pendrep [
306
              label="Repair\nallowed and\ninitial job(s)\nsubmitted"];
307

  
308
  needsrep -> needsrep [
309
              label="Repairs suspended\n(no-op) or enabled\nbut not powerful enough\n(result: enoperm)"];
310

  
311
  pendrep -> pendrep [label="More jobs\nsubmitted"];
312

  
313

  
255 314
Repair operation
256 315
----------------
257 316

  

Also available in: Unified diff