nova/doc/source/images/rpc/arch.svg

293 lines
18 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 arch.svg Page-1 -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="7.88068in" height="4.96134in"
viewBox="0 0 567.409 357.217" xml:space="preserve" color-interpolation-filters="sRGB" class="st16">
<v:documentProperties v:langID="2057" v:metric="true" v:viewMarkup="false"/>
<style type="text/css">
<![CDATA[
.st1 {fill:#dde2cd;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
.st2 {fill:#000000;font-family:Arial;font-size:1.16666em}
.st3 {font-size:1em}
.st4 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
.st5 {fill:#ffffff;stroke:none;stroke-linecap:butt;stroke-width:7.2}
.st6 {fill:#000000;font-family:Arial;font-size:0.666664em}
.st7 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
.st8 {fill:#000000;font-family:Arial;font-size:1.00001em}
.st9 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
.st10 {fill:#000000;font-family:Calibri;font-size:0.833336em}
.st11 {fill:#4677bf}
.st12 {stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
.st13 {marker-end:url(#mrkr10-82);marker-start:url(#mrkr10-80);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}
.st14 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.22222222222222}
.st15 {fill:#000000;font-family:Calibri;font-size:0.666664em}
.st16 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
]]>
</style>
<defs id="Markers">
<g id="lend10">
<path
d="M 0 0.75 C -0.414214 0.75 -0.75 0.414214 -0.75 0 -0.75 -0.414214 -0.414214 -0.75 0 -0.75 0.414214 -0.75 0.75 -0.414214 0.75 0 0.75 0.414214 0.414214 0.75 0 0.75 Z "
style="stroke:none"/>
</g>
<marker id="mrkr10-80" class="st14" v:arrowType="10" v:arrowSize="2" v:setback="2.875" refX="2.875" orient="auto"
markerUnits="strokeWidth">
<use xlink:href="#lend10" transform="scale(4.5) "/>
</marker>
<marker id="mrkr10-82" class="st14" v:arrowType="10" v:arrowSize="2" v:setback="3.375" refX="-3.375" orient="auto"
markerUnits="strokeWidth">
<use xlink:href="#lend10" transform="scale(-4.5,-4.5) "/>
</marker>
</defs>
<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
<title>Page-1</title>
<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
v:shadowOffsetY="-8.50394"/>
<v:layer v:name="Connector" v:index="0"/>
<g id="shape1-1" v:mID="1" v:groupContext="shape" transform="translate(453.783,-16.819)">
<title>Box.8</title>
<desc>Compute</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="56.6929" cy="328.87" width="113.39" height="56.6929"/>
<rect x="0" y="300.524" width="113.386" height="56.6929" class="st1"/>
<text x="28.29" y="333.07" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Compute</text> </g>
<g id="shape2-4" v:mID="2" v:groupContext="shape" transform="translate(453.783,-300.284)">
<title>Box.2</title>
<desc>Volume Storage</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="56.6929" cy="328.87" width="113.39" height="56.6929"/>
<rect x="0" y="300.524" width="113.386" height="56.6929" class="st1"/>
<text x="32.96" y="324.67" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Volume<v:newlineChar/><tspan
x="32.18" dy="1.2em" class="st3">Storage</tspan></text> </g>
<g id="shape3-8" v:mID="3" v:groupContext="shape" transform="translate(269.531,-300.284)">
<title>Box</title>
<desc>Auth Manager</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="56.6929" cy="328.87" width="113.39" height="56.6929"/>
<rect x="0" y="300.524" width="113.386" height="56.6929" class="st1"/>
<text x="12.72" y="333.07" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Auth Manager</text> </g>
<g id="shape4-11" v:mID="4" v:groupContext="shape" transform="translate(269.531,-158.551)">
<title>Box.4</title>
<desc>Cloud Controller</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="56.6929" cy="328.87" width="113.39" height="56.6929"/>
<rect x="0" y="300.524" width="113.386" height="56.6929" class="st1"/>
<text x="38.4" y="324.67" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Cloud<v:newlineChar/><tspan
x="26.35" dy="1.2em" class="st3">Controller</tspan></text> </g>
<g id="shape5-15" v:mID="5" v:groupContext="shape" transform="translate(99.4526,-158.551)">
<title>Box.3</title>
<desc>API Server</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="56.6929" cy="328.87" width="113.39" height="56.6929"/>
<rect x="0" y="300.524" width="113.386" height="56.6929" class="st1"/>
<text x="22.85" y="333.07" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>API Server</text> </g>
<g id="shape6-18" v:mID="6" v:groupContext="shape" transform="translate(269.531,-2.64582)">
<title>Box.6</title>
<desc>Object Store</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="56.6929" cy="328.87" width="113.39" height="56.6929"/>
<rect x="0" y="300.524" width="113.386" height="56.6929" class="st1"/>
<text x="36.46" y="324.67" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Object<v:newlineChar/><tspan
x="39.96" dy="1.2em" class="st3">Store</tspan></text> </g>
<g id="shape7-22" v:mID="7" v:groupContext="shape" transform="translate(439.61,-2.64582)">
<title>Box.7</title>
<desc>Node Controller</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="56.6929" cy="328.87" width="113.39" height="56.6929"/>
<rect x="0" y="300.524" width="113.386" height="56.6929" class="st1"/>
<text x="39.96" y="324.67" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Node<v:newlineChar/><tspan
x="26.35" dy="1.2em" class="st3">Controller</tspan></text> </g>
<g id="shape8-26" v:mID="8" v:groupContext="shape" v:layerMember="0" transform="translate(319.138,-300.284)">
<title>Dynamic connector</title>
<path d="M7.09 357.22 L7.09 442.26" class="st4"/>
</g>
<g id="shape9-29" v:mID="9" v:groupContext="shape" v:layerMember="0" transform="translate(212.838,-179.811)">
<title>Dynamic connector.11</title>
<path d="M0 350.13 L56.69 350.13" class="st4"/>
</g>
<g id="shape10-32" v:mID="10" v:groupContext="shape" v:layerMember="0" transform="translate(319.138,-158.551)">
<title>Dynamic connector.12</title>
<desc>http</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="7.08661" cy="406.823" width="40" height="17.6036"/>
<path d="M7.09 357.22 L7.09 456.43" class="st4"/>
<rect v:rectContext="textBkgnd" x="0.414953" y="402.023" width="13.3434" height="9.59985" class="st5"/>
<text x="0.41" y="409.22" class="st6" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>http</text> </g>
<g id="shape11-37" v:mID="11" v:groupContext="shape" transform="translate(0.24,-314.457)">
<title>Circle</title>
<desc>Nova-Manage</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="42.5197" cy="343.043" width="85.04" height="28.3465"/>
<path d="M0 343.04 A42.5197 14.1732 0 0 1 85.04 343.04 A42.5197 14.1732 0 0 1 0 343.04 Z" class="st7"/>
<text x="4.83" y="346.64" class="st8" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Nova-Manage</text> </g>
<g id="shape12-40" v:mID="12" v:groupContext="shape" transform="translate(0.24,-101.858)">
<title>Circle.15</title>
<desc>Euca2ools</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="42.5197" cy="343.043" width="85.04" height="28.3465"/>
<path d="M0 343.04 A42.5197 14.1732 0 0 1 85.04 343.04 A42.5197 14.1732 0 0 1 0 343.04 Z" class="st7"/>
<text x="14.5" y="346.64" class="st8" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Euca2ools</text> </g>
<g id="shape13-43" v:mID="13" v:groupContext="shape" v:layerMember="0" transform="translate(85.2794,-321.543)">
<title>Dynamic connector.16</title>
<path d="M0 350.13 L184.25 350.13" class="st4"/>
</g>
<g id="shape14-46" v:mID="14" v:groupContext="shape" v:layerMember="0" transform="translate(42.7597,-130.205)">
<title>Dynamic connector.17</title>
<path d="M0 357.22 L0 300.52 L56.69 300.52" class="st4"/>
</g>
<g id="shape15-49" v:mID="15" v:groupContext="shape" transform="translate(22.8857,-254.929)">
<title>Sheet.15</title>
<desc>Project User Role Network VPN</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="31.1969" cy="340.209" width="62.4" height="34.0157"/>
<rect x="0" y="323.201" width="62.3937" height="34.0157" class="st9"/>
<text x="4" y="319.21" class="st10" v:langID="2057"><v:paragraph/><v:tabList/>Project<v:newlineChar/><tspan x="4"
dy="1.2em" class="st3">User<v:newlineChar/></tspan><tspan x="4" dy="1.2em" class="st3">Role<v:newlineChar/></tspan><tspan
x="4" dy="1.2em" class="st3">Network<v:newlineChar/></tspan><tspan x="4" dy="1.2em" class="st3">VPN</tspan></text> </g>
<g id="shape16-56" v:mID="16" v:groupContext="shape" transform="translate(14.4132,-30.9923)">
<title>Sheet.16</title>
<desc>VM instance Security group Volume Snapshot VM image IP address...</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="42.5197" cy="340.209" width="85.04" height="34.0157"/>
<rect x="0" y="323.201" width="85.0394" height="34.0157" class="st9"/>
<text x="4" y="301.21" class="st10" v:langID="2057"><v:paragraph/><v:tabList/>VM instance<v:newlineChar/><tspan x="4"
dy="1.2em" class="st3">Security group<v:newlineChar/></tspan><tspan x="4" dy="1.2em" class="st3">Volume<v:newlineChar/></tspan><tspan
x="4" dy="1.2em" class="st3">Snapshot<v:newlineChar/></tspan><tspan x="4" dy="1.2em" class="st3">VM image<v:newlineChar/></tspan><tspan
x="4" dy="1.2em" class="st3">IP address<v:newlineChar/></tspan><tspan x="4" dy="1.2em" class="st3">SSH key<v:newlineChar/></tspan><tspan
x="4" dy="1.2em" class="st3">Availability zone</tspan></text> </g>
<g id="shape17-66" v:mID="17" v:groupContext="shape" transform="translate(439.61,-158.551)">
<title>Box.20</title>
<desc>Network Controller</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="56.6929" cy="328.87" width="113.39" height="56.6929"/>
<rect x="0" y="300.524" width="113.386" height="56.6929" class="st1"/>
<text x="31.02" y="324.67" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Network <tspan
x="26.35" dy="1.2em" class="st3">Controller</tspan></text> </g>
<g id="shape18-70" v:mID="18" v:groupContext="shape" transform="translate(439.61,-286.11)">
<title>Box.5</title>
<desc>Storage Controller</desc>
<v:userDefs>
<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
</v:userDefs>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="56.6929" cy="328.87" width="113.39" height="56.6929"/>
<rect x="0" y="300.524" width="113.386" height="56.6929" class="st1"/>
<text x="32.18" y="324.67" class="st2" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>Storage <tspan
x="26.35" dy="1.2em" class="st3">Controller</tspan></text> </g>
<g id="shape19-74" v:mID="19" v:groupContext="shape" transform="translate(718.627,48.2425) rotate(70.0169)">
<title>Dot &#38; arrow</title>
<v:userDefs>
<v:ud v:nameU="ControlX" v:val="VT0(0.059055118110236):24"/>
<v:ud v:nameU="Scale" v:val="VT0(1):26"/>
<v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
</v:userDefs>
<path d="M-4.25 357.22 A4.25197 4.25197 -180 1 0 4.25 357.22 A4.25197 4.25197 -180 0 0 -4.25 357.22 ZM157.39 352.96 L157.39
361.47 L165.89 357.22 L157.39 352.96 Z" class="st11"/>
<path d="M-4.25 357.22 A4.25197 4.25197 -180 1 0 4.25 357.22 A4.25197 4.25197 -180 0 0 -4.25 357.22" class="st12"/>
<path d="M157.39 352.96 L157.39 361.47 L165.89 357.22 L157.39 352.96" class="st12"/>
<path d="M6.32 357.22 L6.68 357.22 L154.96 357.22" class="st13"/>
</g>
<g id="shape20-85" v:mID="20" v:groupContext="shape" transform="translate(56.4886,25.2394) rotate(-66.0375)">
<title>Dot &#38; arrow.14</title>
<v:userDefs>
<v:ud v:nameU="ControlX" v:val="VT0(0.059055118110236):24"/>
<v:ud v:nameU="Scale" v:val="VT0(1):26"/>
<v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
<v:ud v:nameU="visVersion" v:val="VT0(11):26"/>
</v:userDefs>
<path d="M-4.25 357.22 A4.25197 4.25197 -180 1 0 4.25 357.22 A4.25197 4.25197 -180 0 0 -4.25 357.22 ZM131.09 352.96 L131.09
361.47 L139.59 357.22 L131.09 352.96 Z" class="st11"/>
<path d="M-4.25 357.22 A4.25197 4.25197 -180 1 0 4.25 357.22 A4.25197 4.25197 -180 0 0 -4.25 357.22" class="st12"/>
<path d="M131.09 352.96 L131.09 361.47 L139.59 357.22 L131.09 352.96" class="st12"/>
<path d="M6.32 357.22 L6.68 357.22 L128.66 357.22" class="st13"/>
</g>
<g id="shape21-94" v:mID="21" v:groupContext="shape" v:layerMember="0" transform="translate(382.917,-179.811)">
<title>Dynamic connector.13</title>
<path d="M0 350.13 L56.69 350.13" class="st4"/>
</g>
<g id="shape22-97" v:mID="22" v:groupContext="shape" transform="translate(386.681,-128.378)">
<title>Sheet.22</title>
<desc>AMQP</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="24.5827" cy="349.217" width="49.17" height="16"/>
<rect x="0" y="341.217" width="49.1654" height="16" class="st9"/>
<text x="14.09" y="351.62" class="st15" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>AMQP</text> </g>
<g id="shape23-100" v:mID="23" v:groupContext="shape" transform="translate(383.492,-243.591)">
<title>Sheet.23</title>
<desc>AMQP</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="27.7717" cy="349.217" width="55.55" height="16"/>
<rect x="0" y="341.217" width="55.5433" height="16" class="st9"/>
<text x="17.28" y="351.62" class="st15" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>AMQP</text> </g>
<g id="shape24-103" v:mID="24" v:groupContext="shape" transform="translate(390.445,-178.898)">
<title>Sheet.24</title>
<desc>AMQP</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="24.5827" cy="349.217" width="49.17" height="16"/>
<rect x="0" y="341.217" width="49.1654" height="16" class="st9"/>
<text x="14.09" y="351.62" class="st15" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>AMQP</text> </g>
<g id="shape25-106" v:mID="25" v:groupContext="shape" transform="translate(28.5865,-185.071)">
<title>Sheet.25</title>
<desc>REST</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="27.7717" cy="349.217" width="55.55" height="16"/>
<rect x="0" y="341.217" width="55.5433" height="16" class="st9"/>
<text x="19.86" y="351.62" class="st15" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>REST</text> </g>
<g id="shape26-109" v:mID="26" v:groupContext="shape" transform="translate(156.146,-328.63)">
<title>Sheet.26</title>
<desc>local method</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="27.7717" cy="349.217" width="55.55" height="16"/>
<rect x="0" y="341.217" width="55.5433" height="16" class="st9"/>
<text x="6.48" y="351.62" class="st15" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>local method</text> </g>
<g id="shape27-112" v:mID="27" v:groupContext="shape" transform="translate(297.878,-243.591)">
<title>Sheet.27</title>
<desc>local method</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="27.7717" cy="349.217" width="55.55" height="16"/>
<rect x="0" y="341.217" width="55.5433" height="16" class="st9"/>
<text x="6.48" y="351.62" class="st15" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>local method</text> </g>
<g id="shape28-115" v:mID="28" v:groupContext="shape" transform="translate(213.988,-185.071)">
<title>Sheet.28</title>
<desc>local method</desc>
<v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>
<v:textRect cx="27.7717" cy="349.217" width="55.55" height="16"/>
<rect x="0" y="341.217" width="55.5433" height="16" class="st9"/>
<text x="6.48" y="351.62" class="st15" v:langID="2057"><v:paragraph v:horizAlign="1"/><v:tabList/>local method</text> </g>
</g>
</svg>