ironic/doc/source/images/states.svg
Ruby Loo 43adad2e0a Add manual cleaning to state machine
This adds transitions to the state machine so that manual cleaning can
be performed on a node in the manageable provision state via the
'clean' verb. After cleaning is successfully finished, the node will
be in the manageable provision state again (via the 'manage' verb).

The state machine diagram was updated to reflect this.

Change-Id: Ifacdcceb65d1384351aa832042a7471bb48f0894
Implements: blueprint manual-cleaning
2015-11-18 22:26:51 +00:00

299 lines
22 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.30.1 (20140821.0912)
-->
<!-- Title: Ironic states Pages: 1 -->
<svg width="1604pt" height="505pt"
viewBox="0.00 0.00 1604.00 505.06" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 501.06)">
<title>Ironic states</title>
<polygon fill="white" stroke="white" points="-4,5 -4,-501.06 1601,-501.06 1601,5 -4,5"/>
<!-- enroll -->
<g id="node1" class="node"><title>enroll</title>
<ellipse fill="none" stroke="black" cx="27" cy="-143.06" rx="27" ry="18"/>
<text text-anchor="middle" x="27" y="-140.26" font-family="Times,serif" font-size="11.00">enroll</text>
</g>
<!-- verifying -->
<g id="node2" class="node"><title>verifying</title>
<ellipse fill="none" stroke="black" cx="188" cy="-143.06" rx="33.8507" ry="18"/>
<text text-anchor="middle" x="188" y="-140.26" font-family="Times,serif" font-size="11.00">verifying</text>
</g>
<!-- enroll&#45;&gt;verifying -->
<g id="edge1" class="edge"><title>enroll&#45;&gt;verifying</title>
<path fill="none" stroke="black" d="M54.2556,-143.06C78.6082,-143.06 115.297,-143.06 143.936,-143.06"/>
<polygon fill="black" stroke="black" points="144.085,-146.56 154.085,-143.06 144.085,-139.56 144.085,-146.56"/>
<text text-anchor="middle" x="104" y="-146.86" font-family="Times,serif" font-size="14.00">on_manage</text>
</g>
<!-- manageable -->
<g id="node3" class="node"><title>manageable</title>
<ellipse fill="none" stroke="black" cx="348" cy="-143.06" rx="42.1875" ry="18"/>
<text text-anchor="middle" x="348" y="-140.26" font-family="Times,serif" font-size="11.00">manageable</text>
</g>
<!-- verifying&#45;&gt;manageable -->
<g id="edge11" class="edge"><title>verifying&#45;&gt;manageable</title>
<path fill="none" stroke="black" d="M221.738,-143.06C243.092,-143.06 271.41,-143.06 295.718,-143.06"/>
<polygon fill="black" stroke="black" points="295.858,-146.56 305.858,-143.06 295.858,-139.56 295.858,-146.56"/>
<text text-anchor="middle" x="264" y="-146.86" font-family="Times,serif" font-size="14.00">on_done</text>
</g>
<!-- verifying&#45;&gt;enroll -->
<g id="edge12" class="edge"><title>verifying&#45;&gt;enroll</title>
<path fill="none" stroke="black" d="M161.82,-131.657C153.743,-128.553 144.648,-125.619 136,-124.06 108.007,-119.015 99.8557,-118.303 72,-124.06 67.4776,-124.995 62.8481,-126.417 58.3704,-128.072"/>
<polygon fill="black" stroke="black" points="56.8256,-124.923 48.9111,-131.967 59.4906,-131.396 56.8256,-124.923"/>
<text text-anchor="middle" x="104" y="-127.86" font-family="Times,serif" font-size="14.00" fill="red">on_fail</text>
</g>
<!-- cleaning -->
<g id="node4" class="node"><title>cleaning</title>
<ellipse fill="none" stroke="black" cx="528" cy="-217.06" rx="32.4445" ry="18"/>
<text text-anchor="middle" x="528" y="-214.26" font-family="Times,serif" font-size="11.00">cleaning</text>
</g>
<!-- manageable&#45;&gt;cleaning -->
<g id="edge2" class="edge"><title>manageable&#45;&gt;cleaning</title>
<path fill="none" stroke="black" d="M357.933,-160.807C367.647,-177.938 384.925,-202.876 408,-214.06 432.3,-225.838 462.795,-226.374 486.831,-224.077"/>
<polygon fill="black" stroke="black" points="487.504,-227.522 497.037,-222.897 486.701,-220.568 487.504,-227.522"/>
<text text-anchor="middle" x="440" y="-228.86" font-family="Times,serif" font-size="14.00">on_provide</text>
</g>
<!-- manageable&#45;&gt;cleaning -->
<g id="edge3" class="edge"><title>manageable&#45;&gt;cleaning</title>
<path fill="none" stroke="black" d="M372.507,-157.787C383.082,-163.995 395.889,-170.95 408,-176.06 435.338,-187.595 443.974,-185.318 472,-195.06 478.592,-197.352 485.554,-199.974 492.226,-202.591"/>
<polygon fill="black" stroke="black" points="491.133,-205.923 501.718,-206.382 493.729,-199.423 491.133,-205.923"/>
<text text-anchor="middle" x="440" y="-198.86" font-family="Times,serif" font-size="14.00">on_clean</text>
</g>
<!-- inspecting -->
<g id="node5" class="node"><title>inspecting</title>
<ellipse fill="none" stroke="black" cx="528" cy="-26.0603" rx="37.0671" ry="18"/>
<text text-anchor="middle" x="528" y="-23.2603" font-family="Times,serif" font-size="11.00">inspecting</text>
</g>
<!-- manageable&#45;&gt;inspecting -->
<g id="edge4" class="edge"><title>manageable&#45;&gt;inspecting</title>
<path fill="none" stroke="black" d="M355.512,-125.089C364.142,-103.936 381.447,-69.3752 408,-51.0603 429.117,-36.4947 457,-30.1241 480.467,-27.4504"/>
<polygon fill="black" stroke="black" points="480.934,-30.9218 490.558,-26.4917 480.272,-23.9532 480.934,-30.9218"/>
<text text-anchor="middle" x="440" y="-54.8603" font-family="Times,serif" font-size="14.00">on_inspect</text>
</g>
<!-- available -->
<g id="node6" class="node"><title>available</title>
<ellipse fill="none" stroke="black" cx="713" cy="-329.06" rx="34.054" ry="18"/>
<text text-anchor="middle" x="713" y="-326.26" font-family="Times,serif" font-size="11.00">available</text>
</g>
<!-- cleaning&#45;&gt;available -->
<g id="edge22" class="edge"><title>cleaning&#45;&gt;available</title>
<path fill="none" stroke="black" d="M540.809,-233.902C550.925,-247.234 566.586,-265.478 584,-277.06 609.167,-293.799 619.99,-288.703 648,-300.06 657.75,-304.014 668.195,-308.595 677.76,-312.933"/>
<polygon fill="black" stroke="black" points="676.424,-316.17 686.973,-317.156 679.341,-309.807 676.424,-316.17"/>
<text text-anchor="middle" x="616" y="-303.86" font-family="Times,serif" font-size="14.00">on_done</text>
</g>
<!-- clean failed -->
<g id="node13" class="node"><title>clean failed</title>
<ellipse fill="none" stroke="black" cx="896" cy="-223.06" rx="41.4846" ry="18"/>
<text text-anchor="middle" x="896" y="-220.26" font-family="Times,serif" font-size="11.00" fill="red">clean failed</text>
</g>
<!-- cleaning&#45;&gt;clean failed -->
<g id="edge23" class="edge"><title>cleaning&#45;&gt;clean failed</title>
<path fill="none" stroke="black" d="M555.536,-226.665C564.467,-229.519 574.561,-232.339 584,-234.06 694.198,-254.151 724.947,-252.699 836,-238.06 841.044,-237.395 846.278,-236.45 851.451,-235.353"/>
<polygon fill="black" stroke="black" points="852.302,-238.749 861.259,-233.092 850.729,-231.928 852.302,-238.749"/>
<text text-anchor="middle" x="713" y="-252.86" font-family="Times,serif" font-size="14.00" fill="red">on_fail</text>
</g>
<!-- clean wait -->
<g id="node14" class="node"><title>clean wait</title>
<ellipse fill="none" stroke="black" cx="713" cy="-212.06" rx="37.7689" ry="18"/>
<text text-anchor="middle" x="713" y="-209.26" font-family="Times,serif" font-size="11.00">clean wait</text>
</g>
<!-- cleaning&#45;&gt;clean wait -->
<g id="edge24" class="edge"><title>cleaning&#45;&gt;clean wait</title>
<path fill="none" stroke="black" d="M560.571,-216.316C584.554,-215.738 618.356,-214.897 648,-214.06 653.487,-213.905 659.238,-213.736 664.947,-213.563"/>
<polygon fill="black" stroke="black" points="665.224,-217.056 675.112,-213.251 665.009,-210.06 665.224,-217.056"/>
<text text-anchor="middle" x="616" y="-218.86" font-family="Times,serif" font-size="14.00">on_wait</text>
</g>
<!-- cleaning&#45;&gt;manageable -->
<g id="edge25" class="edge"><title>cleaning&#45;&gt;manageable</title>
<path fill="none" stroke="black" d="M516.428,-199.947C506.732,-185.879 491.013,-166.745 472,-157.06 450.078,-145.895 423.168,-141.915 400.114,-140.928"/>
<polygon fill="black" stroke="black" points="399.91,-137.422 389.825,-140.67 399.734,-144.419 399.91,-137.422"/>
<text text-anchor="middle" x="440" y="-160.86" font-family="Times,serif" font-size="14.00">on_manage</text>
</g>
<!-- inspecting&#45;&gt;manageable -->
<g id="edge32" class="edge"><title>inspecting&#45;&gt;manageable</title>
<path fill="none" stroke="black" d="M501.143,-13.3263C475.454,-2.6721 435.96,8.12396 408,-10.0603 372.423,-33.1984 358.132,-83.25 352.51,-114.924"/>
<polygon fill="black" stroke="black" points="349.039,-114.469 350.918,-124.895 355.951,-115.572 349.039,-114.469"/>
<text text-anchor="middle" x="440" y="-13.8603" font-family="Times,serif" font-size="14.00">on_done</text>
</g>
<!-- inspect failed -->
<g id="node15" class="node"><title>inspect failed</title>
<ellipse fill="none" stroke="black" cx="713" cy="-56.0603" rx="46.1069" ry="18"/>
<text text-anchor="middle" x="713" y="-53.2603" font-family="Times,serif" font-size="11.00" fill="red">inspect failed</text>
</g>
<!-- inspecting&#45;&gt;inspect failed -->
<g id="edge33" class="edge"><title>inspecting&#45;&gt;inspect failed</title>
<path fill="none" stroke="black" d="M557.167,-37.285C565.668,-40.2635 575.106,-43.1723 584,-45.0603 607.461,-50.0406 633.797,-52.7778 656.453,-54.2776"/>
<polygon fill="black" stroke="black" points="656.389,-57.7799 666.58,-54.8833 656.806,-50.7924 656.389,-57.7799"/>
<text text-anchor="middle" x="616" y="-57.8603" font-family="Times,serif" font-size="14.00" fill="red">on_fail</text>
</g>
<!-- deploying -->
<g id="node7" class="node"><title>deploying</title>
<ellipse fill="none" stroke="black" cx="896" cy="-338.06" rx="35.4579" ry="18"/>
<text text-anchor="middle" x="896" y="-335.26" font-family="Times,serif" font-size="11.00">deploying</text>
</g>
<!-- available&#45;&gt;deploying -->
<g id="edge5" class="edge"><title>available&#45;&gt;deploying</title>
<path fill="none" stroke="black" d="M747.198,-330.711C776.081,-332.147 818.192,-334.241 850.083,-335.827"/>
<polygon fill="black" stroke="black" points="850.311,-339.342 860.473,-336.343 850.659,-332.351 850.311,-339.342"/>
<text text-anchor="middle" x="807" y="-337.86" font-family="Times,serif" font-size="14.00">on_deploy</text>
</g>
<!-- available&#45;&gt;manageable -->
<g id="edge6" class="edge"><title>available&#45;&gt;manageable</title>
<path fill="none" stroke="black" d="M678.473,-328.642C617.437,-326.135 487.19,-312.509 408,-244.06 384.981,-224.164 368.697,-192.96 359.149,-170.501"/>
<polygon fill="black" stroke="black" points="362.363,-169.113 355.353,-161.169 355.879,-171.751 362.363,-169.113"/>
<text text-anchor="middle" x="528" y="-317.86" font-family="Times,serif" font-size="14.00">on_manage</text>
</g>
<!-- deploy failed -->
<g id="node11" class="node"><title>deploy failed</title>
<ellipse fill="none" stroke="black" cx="1253" cy="-295.06" rx="44.498" ry="18"/>
<text text-anchor="middle" x="1253" y="-292.26" font-family="Times,serif" font-size="11.00" fill="red">deploy failed</text>
</g>
<!-- deploying&#45;&gt;deploy failed -->
<g id="edge13" class="edge"><title>deploying&#45;&gt;deploy failed</title>
<path fill="none" stroke="black" d="M928.71,-330.782C937.507,-328.99 947.089,-327.246 956,-326.06 1059.3,-312.31 1087.09,-327.487 1190,-311.06 1195.42,-310.195 1201.06,-309.069 1206.62,-307.813"/>
<polygon fill="black" stroke="black" points="1207.6,-311.179 1216.51,-305.444 1205.97,-304.372 1207.6,-311.179"/>
<text text-anchor="middle" x="1084" y="-322.86" font-family="Times,serif" font-size="14.00" fill="red">on_fail</text>
</g>
<!-- wait call&#45;back -->
<g id="node12" class="node"><title>wait call&#45;back</title>
<ellipse fill="none" stroke="black" cx="1084" cy="-364.06" rx="48.2143" ry="18"/>
<text text-anchor="middle" x="1084" y="-361.26" font-family="Times,serif" font-size="11.00">wait call&#45;back</text>
</g>
<!-- deploying&#45;&gt;wait call&#45;back -->
<g id="edge14" class="edge"><title>deploying&#45;&gt;wait call&#45;back</title>
<path fill="none" stroke="black" d="M926.773,-347.292C936.054,-349.856 946.38,-352.392 956,-354.06 978.669,-357.991 1003.88,-360.379 1025.84,-361.828"/>
<polygon fill="black" stroke="black" points="1025.8,-365.332 1036,-362.448 1026.23,-358.345 1025.8,-365.332"/>
<text text-anchor="middle" x="987" y="-363.86" font-family="Times,serif" font-size="14.00">on_wait</text>
</g>
<!-- active -->
<g id="node8" class="node"><title>active</title>
<ellipse fill="none" stroke="black" cx="1084" cy="-418.06" rx="27" ry="18"/>
<text text-anchor="middle" x="1084" y="-415.26" font-family="Times,serif" font-size="11.00">active</text>
</g>
<!-- deploying&#45;&gt;active -->
<g id="edge15" class="edge"><title>deploying&#45;&gt;active</title>
<path fill="none" stroke="black" d="M915.47,-353.125C926.661,-361.668 941.53,-372.023 956,-379.06 985.665,-393.486 1021.82,-403.966 1047.96,-410.406"/>
<polygon fill="black" stroke="black" points="1047.26,-413.837 1057.8,-412.757 1048.88,-407.029 1047.26,-413.837"/>
<text text-anchor="middle" x="987" y="-404.86" font-family="Times,serif" font-size="14.00">on_done</text>
</g>
<!-- active&#45;&gt;deploying -->
<g id="edge7" class="edge"><title>active&#45;&gt;deploying</title>
<path fill="none" stroke="black" d="M1060.82,-427.327C1034.2,-436.902 989.036,-448.12 956,-430.06 931.022,-416.406 915.058,-387.16 906.12,-365.285"/>
<polygon fill="black" stroke="black" points="909.346,-363.923 902.501,-355.836 902.809,-366.427 909.346,-363.923"/>
<text text-anchor="middle" x="987" y="-442.86" font-family="Times,serif" font-size="14.00">on_rebuild</text>
</g>
<!-- deleting -->
<g id="node9" class="node"><title>deleting</title>
<ellipse fill="none" stroke="black" cx="1420" cy="-364.06" rx="31.0408" ry="18"/>
<text text-anchor="middle" x="1420" y="-361.26" font-family="Times,serif" font-size="11.00">deleting</text>
</g>
<!-- active&#45;&gt;deleting -->
<g id="edge8" class="edge"><title>active&#45;&gt;deleting</title>
<path fill="none" stroke="black" d="M1111.15,-415.618C1161.58,-410.637 1275.67,-398.056 1370,-378.06 1374.09,-377.193 1378.34,-376.17 1382.55,-375.076"/>
<polygon fill="black" stroke="black" points="1383.48,-378.449 1392.21,-372.441 1381.64,-371.696 1383.48,-378.449"/>
<text text-anchor="middle" x="1253" y="-407.86" font-family="Times,serif" font-size="14.00">on_delete</text>
</g>
<!-- error -->
<g id="node10" class="node"><title>error</title>
<ellipse fill="none" stroke="black" cx="1569" cy="-402.06" rx="27" ry="18"/>
<text text-anchor="middle" x="1569" y="-399.26" font-family="Times,serif" font-size="11.00" fill="red">error</text>
</g>
<!-- deleting&#45;&gt;error -->
<g id="edge30" class="edge"><title>deleting&#45;&gt;error</title>
<path fill="none" stroke="black" d="M1449.13,-357.421C1470.44,-353.752 1500.03,-351.623 1524,-361.06 1533.42,-364.768 1542.01,-371.547 1549.06,-378.539"/>
<polygon fill="black" stroke="black" points="1546.69,-381.13 1556.06,-386.075 1551.82,-376.366 1546.69,-381.13"/>
<text text-anchor="middle" x="1497" y="-364.86" font-family="Times,serif" font-size="14.00" fill="red">on_error</text>
</g>
<!-- deleting&#45;&gt;cleaning -->
<g id="edge31" class="edge"><title>deleting&#45;&gt;cleaning</title>
<path fill="none" stroke="black" d="M1413.84,-346.4C1398.42,-297.698 1347.8,-165.06 1254,-165.06 712,-165.06 712,-165.06 712,-165.06 654.277,-165.06 638.518,-168.095 584,-187.06 575.509,-190.014 566.767,-194.188 558.822,-198.486"/>
<polygon fill="black" stroke="black" points="556.902,-195.551 549.924,-203.523 560.35,-201.643 556.902,-195.551"/>
<text text-anchor="middle" x="987" y="-168.86" font-family="Times,serif" font-size="14.00">on_clean</text>
</g>
<!-- error&#45;&gt;deploying -->
<g id="edge9" class="edge"><title>error&#45;&gt;deploying</title>
<path fill="none" stroke="black" d="M1553.16,-416.734C1528.16,-439.829 1475.04,-482.06 1421,-482.06 1083,-482.06 1083,-482.06 1083,-482.06 1025.56,-482.06 1001.72,-492.838 956,-458.06 926.181,-435.378 910.511,-393.605 903.001,-365.825"/>
<polygon fill="black" stroke="black" points="906.346,-364.774 900.51,-355.932 899.558,-366.484 906.346,-364.774"/>
<text text-anchor="middle" x="1253" y="-485.86" font-family="Times,serif" font-size="14.00">on_rebuild</text>
</g>
<!-- error&#45;&gt;deleting -->
<g id="edge10" class="edge"><title>error&#45;&gt;deleting</title>
<path fill="none" stroke="black" d="M1542.86,-397.102C1522.97,-393.014 1494.55,-386.807 1470,-380.06 1465.83,-378.913 1461.48,-377.628 1457.17,-376.298"/>
<polygon fill="black" stroke="black" points="1457.9,-372.856 1447.31,-373.158 1455.78,-379.526 1457.9,-372.856"/>
<text text-anchor="middle" x="1497" y="-395.86" font-family="Times,serif" font-size="14.00">on_delete</text>
</g>
<!-- deploy failed&#45;&gt;deploying -->
<g id="edge19" class="edge"><title>deploy failed&#45;&gt;deploying</title>
<path fill="none" stroke="black" d="M1208.39,-293.026C1164.63,-291.604 1095.41,-291.042 1036,-298.06 999.807,-302.336 990.932,-305.67 956,-316.06 948.796,-318.203 941.206,-320.782 933.958,-323.407"/>
<polygon fill="black" stroke="black" points="932.504,-320.213 924.352,-326.981 934.945,-326.774 932.504,-320.213"/>
<text text-anchor="middle" x="1084" y="-301.86" font-family="Times,serif" font-size="14.00">on_rebuild</text>
</g>
<!-- deploy failed&#45;&gt;deploying -->
<g id="edge20" class="edge"><title>deploy failed&#45;&gt;deploying</title>
<path fill="none" stroke="black" d="M1214.43,-285.748C1171.26,-276.316 1098.33,-264.278 1036,-273.06 999.366,-278.222 989.324,-279.992 956,-296.06 944.613,-301.551 933.069,-309.208 923.248,-316.482"/>
<polygon fill="black" stroke="black" points="920.922,-313.855 915.109,-322.712 925.177,-319.413 920.922,-313.855"/>
<text text-anchor="middle" x="1084" y="-276.86" font-family="Times,serif" font-size="14.00">on_deploy</text>
</g>
<!-- deploy failed&#45;&gt;deleting -->
<g id="edge21" class="edge"><title>deploy failed&#45;&gt;deleting</title>
<path fill="none" stroke="black" d="M1289.75,-305.33C1313.07,-312.524 1343.9,-322.987 1370,-335.06 1376.51,-338.072 1383.27,-341.706 1389.61,-345.368"/>
<polygon fill="black" stroke="black" points="1388.14,-348.567 1398.52,-350.683 1391.72,-342.555 1388.14,-348.567"/>
<text text-anchor="middle" x="1343" y="-338.86" font-family="Times,serif" font-size="14.00">on_delete</text>
</g>
<!-- wait call&#45;back&#45;&gt;deploying -->
<g id="edge16" class="edge"><title>wait call&#45;back&#45;&gt;deploying</title>
<path fill="none" stroke="black" d="M1056.35,-349.131C1044.91,-343.54 1031.17,-337.866 1018,-335.06 992.691,-329.671 963.734,-330.16 940.494,-332.12"/>
<polygon fill="black" stroke="black" points="939.869,-328.664 930.252,-333.108 940.542,-335.631 939.869,-328.664"/>
<text text-anchor="middle" x="987" y="-338.86" font-family="Times,serif" font-size="14.00">on_resume</text>
</g>
<!-- wait call&#45;back&#45;&gt;deploy failed -->
<g id="edge17" class="edge"><title>wait call&#45;back&#45;&gt;deploy failed</title>
<path fill="none" stroke="black" d="M1115.3,-350.197C1126.19,-345.304 1138.6,-339.835 1150,-335.06 1169.72,-326.799 1191.79,-318.081 1210.34,-310.9"/>
<polygon fill="black" stroke="black" points="1211.62,-314.158 1219.69,-307.295 1209.1,-307.627 1211.62,-314.158"/>
<text text-anchor="middle" x="1170" y="-338.86" font-family="Times,serif" font-size="14.00" fill="red">on_fail</text>
</g>
<!-- wait call&#45;back&#45;&gt;deleting -->
<g id="edge18" class="edge"><title>wait call&#45;back&#45;&gt;deleting</title>
<path fill="none" stroke="black" d="M1132.15,-364.06C1197.93,-364.06 1316.16,-364.06 1378.3,-364.06"/>
<polygon fill="black" stroke="black" points="1378.5,-367.56 1388.5,-364.06 1378.5,-360.56 1378.5,-367.56"/>
<text text-anchor="middle" x="1253" y="-367.86" font-family="Times,serif" font-size="14.00">on_delete</text>
</g>
<!-- clean failed&#45;&gt;manageable -->
<g id="edge29" class="edge"><title>clean failed&#45;&gt;manageable</title>
<path fill="none" stroke="black" d="M871.515,-208.282C860.943,-202.065 848.133,-195.117 836,-190.06 755.755,-156.62 734.085,-148.179 648,-136.06 561.177,-123.838 458.801,-130.785 399.166,-136.931"/>
<polygon fill="black" stroke="black" points="398.472,-133.485 388.899,-138.025 399.214,-140.446 398.472,-133.485"/>
<text text-anchor="middle" x="616" y="-139.86" font-family="Times,serif" font-size="14.00">on_manage</text>
</g>
<!-- clean wait&#45;&gt;clean failed -->
<g id="edge26" class="edge"><title>clean wait&#45;&gt;clean failed</title>
<path fill="none" stroke="black" d="M750.628,-214.286C777.61,-215.926 814.637,-218.176 844.437,-219.987"/>
<polygon fill="black" stroke="black" points="844.454,-223.495 854.648,-220.608 844.878,-216.508 844.454,-223.495"/>
<text text-anchor="middle" x="807" y="-222.86" font-family="Times,serif" font-size="14.00" fill="red">on_fail</text>
</g>
<!-- clean wait&#45;&gt;clean failed -->
<g id="edge27" class="edge"><title>clean wait&#45;&gt;clean failed</title>
<path fill="none" stroke="black" d="M745.331,-202.576C770.118,-196.422 805.512,-190.64 836,-197.06 844.176,-198.782 852.601,-201.71 860.434,-204.995"/>
<polygon fill="black" stroke="black" points="859.082,-208.225 869.639,-209.122 861.945,-201.837 859.082,-208.225"/>
<text text-anchor="middle" x="807" y="-200.86" font-family="Times,serif" font-size="14.00">on_abort</text>
</g>
<!-- clean wait&#45;&gt;cleaning -->
<g id="edge28" class="edge"><title>clean wait&#45;&gt;cleaning</title>
<path fill="none" stroke="black" d="M681.075,-202.113C670.68,-199.237 658.944,-196.489 648,-195.06 619.795,-191.378 611.931,-189.681 584,-195.06 576.71,-196.464 569.158,-198.826 562.072,-201.493"/>
<polygon fill="black" stroke="black" points="560.722,-198.263 552.765,-205.259 563.348,-204.752 560.722,-198.263"/>
<text text-anchor="middle" x="616" y="-198.86" font-family="Times,serif" font-size="14.00">on_resume</text>
</g>
<!-- inspect failed&#45;&gt;manageable -->
<g id="edge34" class="edge"><title>inspect failed&#45;&gt;manageable</title>
<path fill="none" stroke="black" d="M667.369,-59.4999C642.683,-61.7634 611.52,-65.2149 584,-70.0603 504.697,-84.0231 483.502,-85.0702 408,-113.06 399.714,-116.132 391.081,-120.066 383.059,-124.066"/>
<polygon fill="black" stroke="black" points="381.264,-121.054 373.978,-128.746 384.471,-127.276 381.264,-121.054"/>
<text text-anchor="middle" x="528" y="-90.8603" font-family="Times,serif" font-size="14.00">on_manage</text>
</g>
<!-- inspect failed&#45;&gt;inspecting -->
<g id="edge35" class="edge"><title>inspect failed&#45;&gt;inspecting</title>
<path fill="none" stroke="black" d="M686.081,-41.3399C674.763,-35.7088 661.104,-29.9483 648,-27.0603 624.225,-21.8204 597.123,-21.1925 574.796,-22.041"/>
<polygon fill="black" stroke="black" points="574.395,-18.5564 564.579,-22.5428 574.738,-25.5479 574.395,-18.5564"/>
<text text-anchor="middle" x="616" y="-30.8603" font-family="Times,serif" font-size="14.00">on_inspect</text>
</g>
</g>
</svg>