Project

General

Profile

Dispatching containers to cloud VMs ยป cdc-states.svg

Tom Clegg, 12/20/2018 08:17 PM

 
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<svg width="2130.752" height="452.28" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generated at Thu Dec 20 15:17:15 2018 by:
Graph::Easy v0.76
Graph::Easy::As_svg v0.27
-->

<title>Untitled graph</title>
<defs>
<!-- open arrow -->
<g id="ah" stroke-linecap="round" stroke-width="1">
<line x1="-8" y1="-4" x2="1" y2="0" />
<line x1="1" y1="0" x2="-8" y2="4" />
</g>

<!-- class definitions -->
<style type="text/css"><![CDATA[
.edge {
font-size: 13px;
stroke: black;
text-align: center;
}
.graph {
font-size: 16px;
text-align: center;
}
.node {
font-size: 16px;
text-align: center;
}
]]></style>
</defs>

<!-- graph background with border (mainly for printing) -->
<rect x="0.5" y="0.5" width="2128.752" height="450.28" fill="white" stroke="white" />

<g id="10" class="edge">
<!-- from Idle to Shutdown -->
<!-- horizontal -->
<line x1="1110.12" y1="205.8" x2="1277.5" y2="205.8" stroke="#000000" />

<!-- horizontal -->
<line x1="1277.5" y1="205.8" x2="1368.5" y2="205.8" stroke="#000000" />

<!-- horizontal -->
<line x1="1368.5" y1="205.8" x2="1613.92" y2="205.8" stroke="#000000" />
<use stroke="#000000" xlink:href="#ah" x="1614.92" y="205.8"/>
<text x="1388" y="201" style="font-family:sans-serif;font-size:12.8px" fill="#000000" stroke="none">idle timeout</text>
</g>

<g id="11" class="edge">
<!-- from Idle to Shutdown -->
<!-- horizontal -->
<line x1="1110.12" y1="271.08" x2="1277.5" y2="271.08" stroke="#000000" />

<!-- horizontal -->
<line x1="1277.5" y1="271.08" x2="1368.5" y2="271.08" stroke="#000000" />

<!-- horizontal -->
<line x1="1368.5" y1="271.08" x2="1613.92" y2="271.08" stroke="#000000" />
<use stroke="#000000" xlink:href="#ah" x="1614.92" y="271.08"/>
<text x="1388" y="266" style="font-family:sans-serif;font-size:12.8px" fill="#000000" stroke="none">probe timeout</text>
</g>

<g id="12" class="edge">
<!-- from Idle to Shutdown -->
<!-- south/east corner -->
<g stroke="#000000">
<line x1="1067.52" y1="74.74" x2="1067.52" y2="101.48" />
<line x1="1067.02" y1="75.24" x2="1091.52" y2="75.24" />
</g>

<!-- horizontal -->
<line x1="1091.52" y1="75.24" x2="1277.5" y2="75.24" stroke="#000000" />

<!-- crossing -->
<g stroke="#000000">
<line x1="1277.5" y1="75.24" x2="1368.5" y2="75.24" />
<line x1="1323" y1="42.6" x2="1323" y2="101.48" stroke="#000000" stroke-dasharray="1 0"/>
</g>

<!-- horizontal -->
<line x1="1368.5" y1="75.24" x2="1642.3" y2="75.24" stroke="#000000" />
<text x="1394.104" y="70" style="font-family:sans-serif;font-size:12.8px" fill="#000000" stroke="none">want=drain</text>

<!-- south/west corner -->
<g stroke="#000000">
<line x1="1693.3" y1="74.74" x2="1693.3" y2="100.35" />
<line x1="1642.3" y1="75.24" x2="1693.8" y2="75.24" />
</g>
<use stroke="#000000" xlink:href="#ah" transform="translate(1693.3 101.35)rotate(90)"/>
</g>

<g id="14" class="edge">
<!-- from Idle to Running -->
<!-- horizontal -->
<line x1="1110.12" y1="140.52" x2="1257.91" y2="140.52" stroke="#000000" />
<use stroke="#000000" xlink:href="#ah" x="1258.91" y="140.52"/>
<text x="1112" y="135" style="font-family:sans-serif;font-size:12.8px" fill="#000000" stroke="none">container starts</text>
</g>

<g id="15" class="edge">
<!-- from Running to Idle -->
<!-- south/west corner -->
<g stroke="#000000">
<line x1="1323" y1="29.3" x2="1323" y2="42.6" />
<line x1="1277.5" y1="29.8" x2="1323.5" y2="29.8" />
</g>

<!-- horizontal -->
<line x1="42.6" y1="29.8" x2="1277.5" y2="29.8" stroke="#000000" />

<!-- south/east corner -->
<g stroke="#000000">
<line x1="29.8" y1="29.3" x2="29.8" y2="42.6" />
<line x1="29.3" y1="29.8" x2="42.6" y2="29.8" />
</g>

<!-- vertical -->
<line x1="29.8" y1="42.6" x2="29.8" y2="369" stroke="#000000" />

<!-- north/east corner -->
<g stroke="#000000">
<line x1="29.8" y1="369" x2="29.8" y2="402.14" />
<line x1="29.3" y1="401.64" x2="42.6" y2="401.64" />
</g>

<!-- horizontal -->
<line x1="42.6" y1="401.64" x2="1043.52" y2="401.64" stroke="#000000" />
<text x="68.2" y="396" style="font-family:sans-serif;font-size:12.8px" fill="#000000" stroke="none">container ends</text>

<!-- north/west corner -->
<g stroke="#000000">
<line x1="1067.52" y1="369" x2="1067.52" y2="402.14" />
<line x1="1043.52" y1="401.64" x2="1068.02" y2="401.64" />
</g>
</g>

<g id="16" class="edge">
<!-- from Running to Shutdown -->
<!-- horizontal -->
<line x1="1395.88" y1="140.52" x2="1613.92" y2="140.52" stroke="#000000" />
<use stroke="#000000" xlink:href="#ah" x="1614.92" y="140.52"/>
<text x="1388" y="135" style="font-family:sans-serif;font-size:12.8px" fill="#000000" stroke="none">container ends, want=drain</text>
</g>

<g id="18" class="edge">
<!-- from Shutdown to Gone -->
<!-- horizontal -->
<line x1="1775.04" y1="140.52" x2="2020.01" y2="140.52" stroke="#000000" />
<use stroke="#000000" xlink:href="#ah" x="2021.01" y="140.52"/>
<text x="1764" y="135" style="font-family:sans-serif;font-size:12.8px" fill="#000000" stroke="none">instance disappears from cloud</text>
</g>

<g id="2" class="edge">
<!-- from Nonexistent to Unknown -->
<!-- horizontal -->
<line x1="183.79" y1="140.52" x2="368.34" y2="140.52" stroke="#000000" />
<use stroke="#000000" xlink:href="#ah" x="369.34" y="140.52"/>
<text x="181" y="135" style="font-family:sans-serif;font-size:12.8px" fill="#000000" stroke="none">appears in cloud list</text>
</g>

<g id="4" class="edge">
<!-- from Nonexistent to Booting -->
<!-- south/east corner -->
<g stroke="#000000">
<line x1="101.6" y1="74.74" x2="101.6" y2="101.48" />
<line x1="101.1" y1="75.24" x2="160.6" y2="75.24" />
</g>

<!-- horizontal -->
<line x1="160.6" y1="75.24" x2="702.04" y2="75.24" stroke="#000000" />
<text x="186.2" y="70" style="font-family:sans-serif;font-size:12.8px" fill="#000000" stroke="none">create() returns ID</text>

<!-- south/west corner -->
<g stroke="#000000">
<line x1="742.54" y1="74.74" x2="742.54" y2="100.35" />
<line x1="702.04" y1="75.24" x2="743.04" y2="75.24" />
</g>
<use stroke="#000000" xlink:href="#ah" transform="translate(742.54 101.35)rotate(90)"/>
</g>

<g id="5" class="edge">
<!-- from Unknown to Booting -->
<!-- horizontal -->
<line x1="509.89" y1="140.52" x2="679.69" y2="140.52" stroke="#000000" />
<use stroke="#000000" xlink:href="#ah" x="680.69" y="140.52"/>
<text x="509" y="135" style="font-family:sans-serif;font-size:12.8px" fill="#000000" stroke="none">create() returns ID</text>
</g>

<g id="7" class="edge">
<!-- from Unknown to Shutdown -->
<!-- vertical -->
<line x1="440.54" y1="179.56" x2="440.54" y2="238.44" stroke="#000000" />

<!-- vertical -->
<line x1="440.54" y1="238.44" x2="440.54" y2="303.72" stroke="#000000" />

<!-- north/east corner -->
<g stroke="#000000">
<line x1="440.54" y1="303.72" x2="440.54" y2="336.86" />
<line x1="440.04" y1="336.36" x2="488.54" y2="336.36" />
</g>

<!-- horizontal -->
<line x1="488.54" y1="336.36" x2="1043.52" y2="336.36" stroke="#000000" />

<!-- crossing -->
<g stroke="#000000">
<line x1="1043.52" y1="336.36" x2="1091.52" y2="336.36" />
<line x1="1067.52" y1="311.25" x2="1067.52" y2="369" stroke="#000000" stroke-dasharray="1 0"/>
</g>
<use stroke="#000000" xlink:href="#ah" transform="translate(1067.52 310.25)rotate(-90)"/>

<!-- horizontal -->
<line x1="1091.52" y1="336.36" x2="1642.3" y2="336.36" stroke="#000000" />
<text x="1117.12" y="331" style="font-family:sans-serif;font-size:12.8px" fill="#000000" stroke="none">boot timeout</text>

<!-- north/west corner -->
<g stroke="#000000">
<line x1="1693.3" y1="311.25" x2="1693.3" y2="336.86" />
<line x1="1642.3" y1="336.36" x2="1693.8" y2="336.36" />
</g>
<use stroke="#000000" xlink:href="#ah" transform="translate(1693.3 310.25)rotate(-90)"/>
</g>

<g id="9" class="edge">
<!-- from Booting to Idle -->
<!-- horizontal -->
<line x1="809.09" y1="140.52" x2="1016.47" y2="140.52" stroke="#000000" />
<use stroke="#000000" xlink:href="#ah" x="1017.47" y="140.52"/>
<text x="803" y="135" style="font-family:sans-serif;font-size:12.8px" fill="#000000" stroke="none">boot+run probes succeed</text>
</g>

<g id="0" class="node">
<!-- Nonexistent, rect -->
<rect fill="#ffffff" height="64.28" stroke="#000000" width="117" x="43.1" y="108.38" />
<text x="101" y="146" style="font-family:serif" fill="#000000" text-anchor="middle">Nonexistent</text>
</g>

<g id="1" class="node">
<!-- Unknown, rect -->
<rect fill="#ffffff" height="64.28" stroke="#000000" width="95" x="393.036" y="108.38" />
<text x="440" y="146" style="font-family:serif" fill="#000000" text-anchor="middle">Unknown</text>
</g>

<g id="3" class="node">
<!-- Booting, rect -->
<rect fill="#ffffff" height="64.28" stroke="#000000" width="80" x="702.54" y="108.38" />
<text x="742" y="146" style="font-family:serif" fill="#000000" text-anchor="middle">Booting</text>
</g>

<g id="6" class="node">
<!-- Shutdown, rect -->
<rect fill="#ffffff" height="194.84" stroke="#000000" width="101" x="1642.796" y="108.38" />
<text x="1693" y="211" style="font-family:serif" fill="#000000" text-anchor="middle">Shutdown</text>
</g>

<g id="8" class="node">
<!-- Idle, rect -->
<rect fill="#ffffff" height="194.84" stroke="#000000" width="47" x="1044.02" y="108.38" />
<text x="1067" y="211" style="font-family:serif" fill="#000000" text-anchor="middle">Idle</text>
</g>

<g id="13" class="node">
<!-- Running, rect -->
<rect fill="#ffffff" height="64.28" stroke="#000000" width="90" x="1278.004" y="108.38" />
<text x="1323" y="146" style="font-family:serif" fill="#000000" text-anchor="middle">Running</text>
</g>

<g id="17" class="node">
<!-- Gone, rect -->
<rect fill="#ffffff" height="64.28" stroke="#000000" width="60" x="2052.252" y="108.38" />
<text x="2082" y="146" style="font-family:serif" fill="#000000" text-anchor="middle">Gone</text>
</g>

</svg>
    (1-1/1)