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