Merge "Documentation - TripleO routed-spine-and-leaf"
This commit is contained in:
commit
6ab7940098
938
doc/source/install/_images/spine_and_leaf.svg
Normal file
938
doc/source/install/_images/spine_and_leaf.svg
Normal file
@ -0,0 +1,938 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.2"
|
||||||
|
width="221.28786mm"
|
||||||
|
height="95.618492mm"
|
||||||
|
viewBox="0 0 22128.785 9561.849"
|
||||||
|
preserveAspectRatio="xMidYMid"
|
||||||
|
clip-path="url(#presentation_clip_path)"
|
||||||
|
xml:space="preserve"
|
||||||
|
id="svg2"
|
||||||
|
inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"
|
||||||
|
sodipodi:docname="spine_and_leaf.svg"
|
||||||
|
inkscape:export-filename="/home/remote/hjensas/Documents/Projects/FKassan/spine_and_leaf_grey.png"
|
||||||
|
inkscape:export-xdpi="90"
|
||||||
|
inkscape:export-ydpi="90"
|
||||||
|
style="fill-rule:evenodd;stroke-width:28.22200012;stroke-linejoin:round"><metadata
|
||||||
|
id="metadata2202"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1016"
|
||||||
|
id="namedview2200"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="1"
|
||||||
|
inkscape:cx="325.01545"
|
||||||
|
inkscape:cy="362.39456"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="27"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg2"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
showguides="false"
|
||||||
|
inkscape:snap-grids="true"
|
||||||
|
inkscape:snap-bbox="true"><inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid2162"
|
||||||
|
originx="-3557.8186"
|
||||||
|
originy="-465.85891" /></sodipodi:namedview><defs
|
||||||
|
class="ClipPathGroup"
|
||||||
|
id="defs4"><clipPath
|
||||||
|
id="presentation_clip_path"
|
||||||
|
clipPathUnits="userSpaceOnUse"><rect
|
||||||
|
x="0"
|
||||||
|
y="0"
|
||||||
|
width="21000"
|
||||||
|
height="14800"
|
||||||
|
id="rect7" /></clipPath></defs><defs
|
||||||
|
class="TextShapeIndex"
|
||||||
|
id="defs9" /><defs
|
||||||
|
class="EmbeddedBulletChars"
|
||||||
|
id="defs13" /><defs
|
||||||
|
class="TextEmbeddedBitmaps"
|
||||||
|
id="defs42" /><rect
|
||||||
|
style="fill:#000000;fill-opacity:0.26666667;fill-rule:evenodd;stroke:none;stroke-width:99.59664917;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
id="rect7472-1-4"
|
||||||
|
width="21068.076"
|
||||||
|
height="3327.2278"
|
||||||
|
x="1060.71"
|
||||||
|
y="5783.6973"
|
||||||
|
ry="493.24051" /><rect
|
||||||
|
style="fill:#000000;fill-opacity:0.26666667;stroke:none;stroke-width:70.56232452;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
id="rect7472"
|
||||||
|
width="21172.889"
|
||||||
|
height="1661.8187"
|
||||||
|
x="955.89368"
|
||||||
|
y="0"
|
||||||
|
ry="246.35416" /><rect
|
||||||
|
style="fill:#000000;fill-opacity:0.26666667;stroke-width:23.36642456;stroke-miterlimit:4;stroke-dasharray:186.93141099, 93.46570549;stroke-dashoffset:0"
|
||||||
|
id="rect7187"
|
||||||
|
width="4004.1733"
|
||||||
|
height="5368.9526"
|
||||||
|
x="1060.71"
|
||||||
|
y="4192.897"
|
||||||
|
ry="244.64894" /><g
|
||||||
|
id="g44"
|
||||||
|
transform="translate(-3557.8188,-1102.0474)"><g
|
||||||
|
id="id2"
|
||||||
|
class="Master_Slide"><g
|
||||||
|
id="bg-id2"
|
||||||
|
class="Background" /><g
|
||||||
|
id="bo-id2"
|
||||||
|
class="BackgroundObjects" /></g></g><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:13.56770134;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:108.54160421, 54.2708021;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
d="m 925.65479,5022.3992 c -60.51808,14.927 -121.17892,9.0977 -181.76702,9.0977 -172.42701,0 -344.8541,0 -517.28111,0 -45.48585,0 -53.55151,0 -91.5542,0 -9.15541,0 -18.31082,0 -27.46622,0 -3.05182,0 -6.10366,0 -9.155409,0 -1.525908,0 -6.103651,0 -4.577737,0 3.051829,0 12.207226,0 9.155406,0 -6.103577,0 -12.207234,0 -18.31081,0 -19.836723,0 -39.673445,0 -59.510248,0 -4.577662,0 -9.155405,0 -13.733067,0 -1.5259141,0 -5.2813943,5.859 -4.5777418,0 0.9296198,-7.7403 3.7802008,-6.065 5.6703408,-9.0977"
|
||||||
|
id="path6251"
|
||||||
|
inkscape:connector-curvature="0" /><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:329.94973755px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:232.79600525"
|
||||||
|
x="227.58598"
|
||||||
|
y="4397.6118"
|
||||||
|
id="text6255"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan6253"
|
||||||
|
x="227.58598"
|
||||||
|
y="4397.6118"
|
||||||
|
style="stroke-width:232.79600525">L3</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:367.5909729px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:259.3538208"
|
||||||
|
x="211.54889"
|
||||||
|
y="4957.1426"
|
||||||
|
id="text6259"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan6257"
|
||||||
|
x="211.54889"
|
||||||
|
y="4957.1426"
|
||||||
|
style="stroke-width:259.3538208">L2</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:386.90072632px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:272.9777832"
|
||||||
|
x="2280.334"
|
||||||
|
y="5325.6221"
|
||||||
|
id="text7127"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7125"
|
||||||
|
x="2280.334"
|
||||||
|
y="5667.9385"
|
||||||
|
style="stroke-width:272.9777832" /></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:386.90075684px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:272.97781372;stroke-linejoin:round"
|
||||||
|
x="4539.1108"
|
||||||
|
y="5329.9927"
|
||||||
|
id="text7127-0"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7125-3"
|
||||||
|
x="4539.1108"
|
||||||
|
y="5672.3091"
|
||||||
|
style="stroke-width:272.97781372" /></text>
|
||||||
|
<rect
|
||||||
|
id="rect2109-6-5-9-0"
|
||||||
|
width="5118.355"
|
||||||
|
height="946.78052"
|
||||||
|
x="1670.5643"
|
||||||
|
y="305.97485"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:66.52793121;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="240.99867" /><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:1058.33337402px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:746.70709229"
|
||||||
|
x="3481.3599"
|
||||||
|
y="1986.9637"
|
||||||
|
id="text7185"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7183"
|
||||||
|
x="3481.3599"
|
||||||
|
y="2923.3408"
|
||||||
|
style="stroke-width:746.70709229" /></text>
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:23.1507225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 1675.6302,4832.0574 2442.6235,1252.7555"
|
||||||
|
id="path7189"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:23.1507225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 2212.0703,4727.9807 15737.173,1252.7555"
|
||||||
|
id="path7191"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:23.1507225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 3465.2812,4832.0574 2442.6235,1252.7555"
|
||||||
|
id="path7193"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:23.1507225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 3899.7681,4727.9805 15737.173,1252.7555"
|
||||||
|
id="path7195"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" /><rect
|
||||||
|
style="fill:#000000;fill-opacity:0.26666667;fill-rule:evenodd;stroke-width:23.40653419;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:187.25226202, 93.62613113;stroke-dashoffset:0"
|
||||||
|
id="rect7187-4"
|
||||||
|
width="3990.1204"
|
||||||
|
height="5406.373"
|
||||||
|
x="5995.4189"
|
||||||
|
y="4155.4761"
|
||||||
|
ry="246.35411" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:23.1507225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 16759.831,1252.7555 6825.6059,4704.2258 2953.9523,1252.7555"
|
||||||
|
id="path7446"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccc" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:23.1507225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 2953.9523,1252.7555 5852.4337,3475.225 7953.445,-3475.225"
|
||||||
|
id="path7448"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccc" /><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:304.87020874px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:215.10116577"
|
||||||
|
x="2737.1526"
|
||||||
|
y="8551.4111"
|
||||||
|
id="text7452"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7450"
|
||||||
|
x="2737.1526"
|
||||||
|
y="8551.4111"
|
||||||
|
style="stroke-width:215.10116577">Rack A</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:304.87023926px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:215.10118103;stroke-linejoin:round"
|
||||||
|
x="8249.8623"
|
||||||
|
y="8547.1641"
|
||||||
|
id="text7452-0"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7450-5"
|
||||||
|
x="8249.8623"
|
||||||
|
y="8547.1641"
|
||||||
|
style="stroke-width:215.10118103">Rack B</tspan></text>
|
||||||
|
<rect
|
||||||
|
id="rect2109-6-5-9-8-0-5"
|
||||||
|
width="3458.9375"
|
||||||
|
height="639.16052"
|
||||||
|
x="1270.3427"
|
||||||
|
y="6059.2471"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:35.14209747;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.69539" /><rect
|
||||||
|
id="rect2109-6-5-9-8-0-5-0"
|
||||||
|
width="3458.9377"
|
||||||
|
height="639.16058"
|
||||||
|
x="1270.3418"
|
||||||
|
y="6877.374"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:35.14210129;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.6954" /><rect
|
||||||
|
id="rect2109-6-5-9-8-0-5-6"
|
||||||
|
width="3458.9377"
|
||||||
|
height="639.16058"
|
||||||
|
x="1270.3427"
|
||||||
|
y="7644.3667"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:35.14210129;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.6954" /><rect
|
||||||
|
id="rect2109-6-5-9-8-0-5-4"
|
||||||
|
width="3458.9377"
|
||||||
|
height="639.16058"
|
||||||
|
x="1270.3427"
|
||||||
|
y="8411.3604"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:35.14210129;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.6954" /><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:368.00549316px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e6e6e6;fill-opacity:1;stroke:none;stroke-width:259.64627075"
|
||||||
|
x="2238.1521"
|
||||||
|
y="5906.1802"
|
||||||
|
id="text7569"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7567"
|
||||||
|
x="2238.1521"
|
||||||
|
y="5906.1802"
|
||||||
|
style="fill:#e6e6e6;fill-opacity:1;stroke-width:259.64627075">Undercloud</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:368.00552368px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:259.64630127;stroke-linejoin:round"
|
||||||
|
x="2230.365"
|
||||||
|
y="6600.7021"
|
||||||
|
id="text7569-6"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7567-2"
|
||||||
|
x="2230.365"
|
||||||
|
y="6600.7021"
|
||||||
|
style="fill:#e6e6e6;fill-opacity:1;stroke-width:259.64630127">Controller-0</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:368.00552368px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:259.64630127;stroke-linejoin:round"
|
||||||
|
x="2283.1382"
|
||||||
|
y="7295.2236"
|
||||||
|
id="text7569-5"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7567-8"
|
||||||
|
x="2283.1382"
|
||||||
|
y="7295.2236"
|
||||||
|
style="fill:#e6e6e6;fill-opacity:1;stroke-width:259.64630127">Controller-1</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:368.00552368px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:259.64630127;stroke-linejoin:round"
|
||||||
|
x="2293.3462"
|
||||||
|
y="7989.7456"
|
||||||
|
id="text7569-62"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7567-84"
|
||||||
|
x="2293.3462"
|
||||||
|
y="7989.7456"
|
||||||
|
style="fill:#e6e6e6;fill-opacity:1;stroke-width:259.64630127">Controller-2</tspan></text>
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:23.1507225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 6993.313,5343.3869 v 766.9932"
|
||||||
|
id="path7762"
|
||||||
|
inkscape:connector-curvature="0" /><rect
|
||||||
|
id="rect2109-6-5-9-8-0-5-3"
|
||||||
|
width="3458.9377"
|
||||||
|
height="639.16058"
|
||||||
|
x="6301.5244"
|
||||||
|
y="6033.6812"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:35.14210129;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.6954" /><rect
|
||||||
|
id="rect2109-6-5-9-8-0-5-0-1"
|
||||||
|
width="3458.938"
|
||||||
|
height="639.16064"
|
||||||
|
x="6301.5239"
|
||||||
|
y="6851.8071"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:35.1421051;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.69542" /><rect
|
||||||
|
id="rect2109-6-5-9-8-0-5-6-1"
|
||||||
|
width="3458.938"
|
||||||
|
height="639.16064"
|
||||||
|
x="6301.5244"
|
||||||
|
y="7618.8003"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:35.1421051;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.69542" /><rect
|
||||||
|
id="rect2109-6-5-9-8-0-5-4-0"
|
||||||
|
width="3458.938"
|
||||||
|
height="639.16064"
|
||||||
|
x="6301.5244"
|
||||||
|
y="8385.7939"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:35.1421051;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.69542" /><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:368.00552368px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:259.64630127;stroke-linejoin:round"
|
||||||
|
x="7794.3252"
|
||||||
|
y="5883.0293"
|
||||||
|
id="text7569-3"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7567-4"
|
||||||
|
x="7794.3252"
|
||||||
|
y="5883.0293"
|
||||||
|
style="fill:#e6e6e6;fill-opacity:1;stroke-width:259.64630127">Compute-1</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:368.0055542px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:259.64633179;stroke-linejoin:round"
|
||||||
|
x="7786.5371"
|
||||||
|
y="6577.5518"
|
||||||
|
id="text7569-6-0"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7567-2-3"
|
||||||
|
x="7786.5371"
|
||||||
|
y="6577.5518"
|
||||||
|
style="fill:#e6e6e6;fill-opacity:1;stroke-width:259.64633179">Compute-2</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:368.0055542px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:259.64633179;stroke-linejoin:round"
|
||||||
|
x="7839.311"
|
||||||
|
y="7272.0737"
|
||||||
|
id="text7569-5-9"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7567-8-1"
|
||||||
|
x="7839.311"
|
||||||
|
y="7272.0737"
|
||||||
|
style="fill:#e6e6e6;fill-opacity:1;stroke-width:259.64633179">Compute-3</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:368.0055542px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:259.64633179;stroke-linejoin:round"
|
||||||
|
x="7849.5195"
|
||||||
|
y="7966.5952"
|
||||||
|
id="text7569-62-9"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7567-84-6"
|
||||||
|
x="7849.5195"
|
||||||
|
y="7966.5952"
|
||||||
|
style="fill:#e6e6e6;fill-opacity:1;stroke-width:259.64633179">Compute-4</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:479.77911377px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e9e9e9;fill-opacity:1;stroke:none;stroke-width:338.50814819"
|
||||||
|
x="3706.873"
|
||||||
|
y="825.29425"
|
||||||
|
id="text7700"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7698"
|
||||||
|
x="3706.873"
|
||||||
|
y="825.29425"
|
||||||
|
style="fill:#e9e9e9;fill-opacity:1;stroke-width:338.50814819">Spine 1</tspan></text>
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:23.1507225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 1899.2403,5343.3869 v 766.9932"
|
||||||
|
id="path7758"
|
||||||
|
inkscape:connector-curvature="0" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:23.1507225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 3869.7864,5343.3869 v 766.9932"
|
||||||
|
id="path7760"
|
||||||
|
inkscape:connector-curvature="0" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:23.1507225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 9005.7841,5343.3869 v 766.9932"
|
||||||
|
id="path7764"
|
||||||
|
inkscape:connector-curvature="0" /><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:347.70367432px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:231.50720215;stroke-miterlimit:4;stroke-dasharray:none"
|
||||||
|
x="21719.07"
|
||||||
|
y="849.41766"
|
||||||
|
id="text7772"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7770"
|
||||||
|
x="21719.07"
|
||||||
|
y="849.41766"
|
||||||
|
style="stroke-width:231.50720215;stroke-miterlimit:4;stroke-dasharray:none">Spine Switches</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:350.77200317px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:247.48719788;stroke-linejoin:round"
|
||||||
|
x="21927.396"
|
||||||
|
y="6772.7363"
|
||||||
|
id="text7776-0"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7774-0"
|
||||||
|
x="21927.396"
|
||||||
|
y="6772.7363"
|
||||||
|
style="stroke-width:247.48719788">Servers</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:0.26666667;fill-rule:evenodd;stroke-width:23.40653419;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:187.25228269, 93.62614135;stroke-dashoffset:0"
|
||||||
|
id="rect7187-4-2"
|
||||||
|
width="3990.1208"
|
||||||
|
height="5406.3735"
|
||||||
|
x="10816.969"
|
||||||
|
y="4129.9087"
|
||||||
|
ry="246.35414" /><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:304.87026978px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:215.10121155;stroke-linejoin:round"
|
||||||
|
x="13574.528"
|
||||||
|
y="8524.0117"
|
||||||
|
id="text7452-0-3"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7450-5-7"
|
||||||
|
x="13574.528"
|
||||||
|
y="8524.0117"
|
||||||
|
style="stroke-width:215.10121155">Rack C</tspan></text>
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:23.15072632px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 11814.863,5317.8196 v 766.9932"
|
||||||
|
id="path7762-9"
|
||||||
|
inkscape:connector-curvature="0" /><rect
|
||||||
|
id="rect2109-6-5-9-8-0-5-3-2"
|
||||||
|
width="3458.938"
|
||||||
|
height="639.16064"
|
||||||
|
x="11123.074"
|
||||||
|
y="6008.1138"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:35.1421051;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.69542" /><rect
|
||||||
|
id="rect2109-6-5-9-8-0-5-0-1-2"
|
||||||
|
width="3458.9385"
|
||||||
|
height="639.16071"
|
||||||
|
x="11123.072"
|
||||||
|
y="6826.2402"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:35.14210892;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.69543" /><rect
|
||||||
|
id="rect2109-6-5-9-8-0-5-6-1-8"
|
||||||
|
width="3458.9385"
|
||||||
|
height="639.16071"
|
||||||
|
x="11123.074"
|
||||||
|
y="7593.2339"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:35.14210892;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.69543" /><rect
|
||||||
|
id="rect2109-6-5-9-8-0-5-4-0-9"
|
||||||
|
width="3458.9385"
|
||||||
|
height="639.16071"
|
||||||
|
x="11123.074"
|
||||||
|
y="8360.2266"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:35.14210892;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.69543" /><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:368.00558472px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:259.64633179;stroke-linejoin:round"
|
||||||
|
x="13118.99"
|
||||||
|
y="5859.8784"
|
||||||
|
id="text7569-3-7"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7567-4-3"
|
||||||
|
x="13118.99"
|
||||||
|
y="5859.8784"
|
||||||
|
style="fill:#e6e6e6;fill-opacity:1;stroke-width:259.64633179">Compute-5</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:368.00558472px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:259.6463623;stroke-linejoin:round"
|
||||||
|
x="13111.204"
|
||||||
|
y="6554.4009"
|
||||||
|
id="text7569-6-0-6"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7567-2-3-1"
|
||||||
|
x="13111.204"
|
||||||
|
y="6554.4009"
|
||||||
|
style="fill:#e6e6e6;fill-opacity:1;stroke-width:259.6463623">Compute-6</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:368.00558472px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:259.6463623;stroke-linejoin:round"
|
||||||
|
x="13163.978"
|
||||||
|
y="7248.9224"
|
||||||
|
id="text7569-5-9-2"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7567-8-1-9"
|
||||||
|
x="13163.978"
|
||||||
|
y="7248.9224"
|
||||||
|
style="fill:#e6e6e6;fill-opacity:1;stroke-width:259.6463623">Compute-7</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:368.00558472px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:259.6463623;stroke-linejoin:round"
|
||||||
|
x="13174.185"
|
||||||
|
y="7943.4443"
|
||||||
|
id="text7569-62-9-3"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7567-84-6-1"
|
||||||
|
x="13174.185"
|
||||||
|
y="7943.4443"
|
||||||
|
style="fill:#e6e6e6;fill-opacity:1;stroke-width:259.6463623">Compute-8</tspan></text>
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:23.15072632px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 13827.334,5317.8196 v 766.9932"
|
||||||
|
id="path7764-4"
|
||||||
|
inkscape:connector-curvature="0" /><rect
|
||||||
|
style="fill:#000000;fill-opacity:0.26666667;fill-rule:evenodd;stroke-width:23.4065361;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:187.2523033, 93.62615153;stroke-dashoffset:0"
|
||||||
|
id="rect7187-4-2-0"
|
||||||
|
width="3990.1216"
|
||||||
|
height="5406.374"
|
||||||
|
x="15470.81"
|
||||||
|
y="4155.4756"
|
||||||
|
ry="246.35416" /><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:304.87030029px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:215.10124207;stroke-linejoin:round"
|
||||||
|
x="18713.99"
|
||||||
|
y="8547.1641"
|
||||||
|
id="text7452-0-3-6"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7450-5-7-1"
|
||||||
|
x="18713.99"
|
||||||
|
y="8547.1641"
|
||||||
|
style="stroke-width:215.10124207">Rack D</tspan></text>
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:23.15072823px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 16468.705,5343.3865 v 766.9938"
|
||||||
|
id="path7762-9-6"
|
||||||
|
inkscape:connector-curvature="0" /><rect
|
||||||
|
id="rect2109-6-5-9-8-0-5-3-2-3"
|
||||||
|
width="3458.9385"
|
||||||
|
height="639.16071"
|
||||||
|
x="15776.916"
|
||||||
|
y="6033.6812"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:35.14210892;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.69543" /><rect
|
||||||
|
id="rect2109-6-5-9-8-0-5-0-1-2-2"
|
||||||
|
width="3458.939"
|
||||||
|
height="639.16077"
|
||||||
|
x="15776.915"
|
||||||
|
y="6851.8071"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:35.14211273;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.69545" /><rect
|
||||||
|
id="rect2109-6-5-9-8-0-5-6-1-8-0"
|
||||||
|
width="3458.939"
|
||||||
|
height="639.16077"
|
||||||
|
x="15776.916"
|
||||||
|
y="7618.8003"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:35.14211273;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.69545" /><rect
|
||||||
|
id="rect2109-6-5-9-8-0-5-4-0-9-6"
|
||||||
|
width="3458.939"
|
||||||
|
height="639.16077"
|
||||||
|
x="15776.916"
|
||||||
|
y="8385.7939"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:35.14211273;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.69545" /><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:368.00561523px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:259.6463623;stroke-linejoin:round"
|
||||||
|
x="18258.451"
|
||||||
|
y="5883.0293"
|
||||||
|
id="text7569-3-7-1"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7567-4-3-5"
|
||||||
|
x="18258.451"
|
||||||
|
y="5883.0293"
|
||||||
|
style="fill:#e6e6e6;fill-opacity:1;stroke-width:259.6463623">Compute-9</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:368.00561523px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:259.64639282;stroke-linejoin:round"
|
||||||
|
x="18250.664"
|
||||||
|
y="6577.5522"
|
||||||
|
id="text7569-6-0-6-5"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7567-2-3-1-4"
|
||||||
|
x="18250.664"
|
||||||
|
y="6577.5522"
|
||||||
|
style="fill:#e6e6e6;fill-opacity:1;stroke-width:259.64639282">Compute-10</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:368.00561523px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:259.64639282;stroke-linejoin:round"
|
||||||
|
x="18303.438"
|
||||||
|
y="7272.0742"
|
||||||
|
id="text7569-5-9-2-7"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7567-8-1-9-6"
|
||||||
|
x="18303.438"
|
||||||
|
y="7272.0742"
|
||||||
|
style="fill:#e6e6e6;fill-opacity:1;stroke-width:259.64639282">Compute-11</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:368.00561523px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:259.64639282;stroke-linejoin:round"
|
||||||
|
x="18313.645"
|
||||||
|
y="7966.5952"
|
||||||
|
id="text7569-62-9-3-5"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7567-84-6-1-6"
|
||||||
|
x="18313.645"
|
||||||
|
y="7966.5952"
|
||||||
|
style="fill:#e6e6e6;fill-opacity:1;stroke-width:259.64639282">Compute-12</tspan></text>
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:23.15072823px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 18481.177,5343.3865 v 766.9938"
|
||||||
|
id="path7764-4-5"
|
||||||
|
inkscape:connector-curvature="0" /><rect
|
||||||
|
id="rect2109-6-5-9-0-5"
|
||||||
|
width="5118.356"
|
||||||
|
height="946.78058"
|
||||||
|
x="7806.5093"
|
||||||
|
y="281.23059"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:66.52793121;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="240.99869" /><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:479.77914429px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e9e9e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:338.50820923;stroke-linejoin:round"
|
||||||
|
x="10483.087"
|
||||||
|
y="802.88812"
|
||||||
|
id="text7700-4"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7698-7"
|
||||||
|
x="10483.087"
|
||||||
|
y="802.88812"
|
||||||
|
style="fill:#e9e9e9;fill-opacity:1;stroke-width:338.50820923">Spine 2</tspan></text>
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:23.1507225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 11856.789,4832.0579 4232.2745,1252.7555"
|
||||||
|
id="path1177"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:23.1507225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 13533.849,4832.0579 4232.2745,1252.7555"
|
||||||
|
id="path1179"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:23.1507225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 16259.072,4832.0579 5254.9322,1252.7555 v 0"
|
||||||
|
id="path1181"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccc" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:23.1507225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 17936.133,4832.0579 5254.9322,1252.7555"
|
||||||
|
id="path1183"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:23.1507225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 18565.031,4832.0579 18293.819,1252.7555"
|
||||||
|
id="path1185"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:23.1507225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 16248.503,4832.0574 18293.819,1252.7555"
|
||||||
|
id="path1187"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:23.1507225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 11902.207,4832.0574 17526.825,1252.7555"
|
||||||
|
id="path1189"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:23.1507225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 13947.523,4832.0574 17526.825,1252.7555"
|
||||||
|
id="path1191"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" /><rect
|
||||||
|
style="fill:#000000;fill-opacity:0.26666667;fill-rule:evenodd;stroke:none;stroke-width:57.1015358;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
id="rect7472-1"
|
||||||
|
width="21068.076"
|
||||||
|
height="1093.6759"
|
||||||
|
x="1060.71"
|
||||||
|
y="4521.9468"
|
||||||
|
ry="162.13054" /><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:350.77197266px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:247.48716736"
|
||||||
|
x="21855.145"
|
||||||
|
y="4661.4409"
|
||||||
|
id="text7776"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7774"
|
||||||
|
x="21855.145"
|
||||||
|
y="4661.4409"
|
||||||
|
style="stroke-width:247.48716736">Leaf Switches</tspan></text>
|
||||||
|
<rect
|
||||||
|
id="rect2109-6-5-9-8"
|
||||||
|
width="1585.0544"
|
||||||
|
height="639.1604"
|
||||||
|
x="6283.0039"
|
||||||
|
y="4704.2261"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:23.78912354;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.69536" /><rect
|
||||||
|
id="rect2109-6-5-9-8-1"
|
||||||
|
width="1585.0546"
|
||||||
|
height="639.16046"
|
||||||
|
x="3144.2256"
|
||||||
|
y="4704.2266"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:23.78912354;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.69537" /><rect
|
||||||
|
id="rect2109-6-5-9-8-0"
|
||||||
|
width="1585.0546"
|
||||||
|
height="639.16046"
|
||||||
|
x="1257.5322"
|
||||||
|
y="4704.2261"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:23.78912354;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.69537" /><rect
|
||||||
|
id="rect2109-6-5-9-8-8"
|
||||||
|
width="1585.0546"
|
||||||
|
height="639.16046"
|
||||||
|
x="8175.4072"
|
||||||
|
y="4704.2266"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:23.78912354;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.69537" /><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:333.13885498px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e9e9e9;fill-opacity:1;stroke:none;stroke-width:235.04612732"
|
||||||
|
x="1715.7467"
|
||||||
|
y="4661.6909"
|
||||||
|
id="text7722"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7720"
|
||||||
|
x="1715.7467"
|
||||||
|
y="4661.6909"
|
||||||
|
style="fill:#e9e9e9;fill-opacity:1;stroke-width:235.04612732">Leaf 1</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:333.13885498px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e9e9e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:235.04614258;stroke-linejoin:round"
|
||||||
|
x="3763.0071"
|
||||||
|
y="4643.5928"
|
||||||
|
id="text7722-3"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7720-8"
|
||||||
|
x="3763.0071"
|
||||||
|
y="4643.5928"
|
||||||
|
style="fill:#e9e9e9;fill-opacity:1;stroke-width:235.04614258">Leaf 1</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:333.13885498px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e9e9e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:235.04614258;stroke-linejoin:round"
|
||||||
|
x="7318.2295"
|
||||||
|
y="4638.5405"
|
||||||
|
id="text7722-0"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7720-5"
|
||||||
|
x="7318.2295"
|
||||||
|
y="4638.5405"
|
||||||
|
style="fill:#e9e9e9;fill-opacity:1;stroke-width:235.04614258">Leaf 2</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:333.13885498px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e9e9e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:235.04614258;stroke-linejoin:round"
|
||||||
|
x="9424.9385"
|
||||||
|
y="4661.6909"
|
||||||
|
id="text7722-6"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7720-6"
|
||||||
|
x="9424.9385"
|
||||||
|
y="4661.6909"
|
||||||
|
style="fill:#e9e9e9;fill-opacity:1;stroke-width:235.04614258">Leaf 2</tspan></text>
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:23.1507225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 3157.0358,5087.7224 H 2842.5869"
|
||||||
|
id="path7766"
|
||||||
|
inkscape:connector-curvature="0" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:23.1507225px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 8188.2177,5087.7224 H 7768.9525"
|
||||||
|
id="path7768"
|
||||||
|
inkscape:connector-curvature="0" /><rect
|
||||||
|
id="rect2109-6-5-9-8-02"
|
||||||
|
width="1585.0546"
|
||||||
|
height="639.16046"
|
||||||
|
x="11104.554"
|
||||||
|
y="4678.6587"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:23.78912544;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.69537" /><rect
|
||||||
|
id="rect2109-6-5-9-8-8-5"
|
||||||
|
width="1585.0548"
|
||||||
|
height="639.16052"
|
||||||
|
x="12996.957"
|
||||||
|
y="4678.6592"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:23.78912735;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.69539" /><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:333.1388855px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e9e9e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:235.0461731;stroke-linejoin:round"
|
||||||
|
x="12642.896"
|
||||||
|
y="4615.3896"
|
||||||
|
id="text7722-0-9"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7720-5-4"
|
||||||
|
x="12642.896"
|
||||||
|
y="4615.3896"
|
||||||
|
style="fill:#e9e9e9;fill-opacity:1;stroke-width:235.0461731">Leaf 3</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:333.1388855px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e9e9e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:235.0461731;stroke-linejoin:round"
|
||||||
|
x="14749.604"
|
||||||
|
y="4638.54"
|
||||||
|
id="text7722-6-7"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7720-6-8"
|
||||||
|
x="14749.604"
|
||||||
|
y="4638.54"
|
||||||
|
style="fill:#e9e9e9;fill-opacity:1;stroke-width:235.0461731">Leaf 3</tspan></text>
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:23.15072632px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 13009.768,5062.155 h -419.265"
|
||||||
|
id="path7768-5"
|
||||||
|
inkscape:connector-curvature="0" /><rect
|
||||||
|
id="rect2109-6-5-9-8-02-3"
|
||||||
|
width="1585.0548"
|
||||||
|
height="639.16052"
|
||||||
|
x="15758.396"
|
||||||
|
y="4704.2256"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:23.78912735;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.69539" /><rect
|
||||||
|
id="rect2109-6-5-9-8-8-5-0"
|
||||||
|
width="1585.0551"
|
||||||
|
height="639.16058"
|
||||||
|
x="17650.801"
|
||||||
|
y="4704.2266"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:23.78913116;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="162.6954" /><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:333.13891602px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e9e9e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:235.04620361;stroke-linejoin:round"
|
||||||
|
x="17782.357"
|
||||||
|
y="4638.541"
|
||||||
|
id="text7722-0-9-9"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7720-5-4-3"
|
||||||
|
x="17782.357"
|
||||||
|
y="4638.541"
|
||||||
|
style="fill:#e9e9e9;fill-opacity:1;stroke-width:235.04620361">Leaf 4</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:333.13891602px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e9e9e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:235.04620361;stroke-linejoin:round"
|
||||||
|
x="19889.064"
|
||||||
|
y="4661.6914"
|
||||||
|
id="text7722-6-7-7"
|
||||||
|
transform="scale(0.90551207,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7720-6-8-4"
|
||||||
|
x="19889.064"
|
||||||
|
y="4661.6914"
|
||||||
|
style="fill:#e9e9e9;fill-opacity:1;stroke-width:235.04620361">Leaf 4</tspan></text>
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:23.15072823px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 17663.609,5087.7218 h -419.265"
|
||||||
|
id="path7768-5-2"
|
||||||
|
inkscape:connector-curvature="0" /><rect
|
||||||
|
id="rect2109-6-5-9-0-5-4"
|
||||||
|
width="5118.3569"
|
||||||
|
height="946.7807"
|
||||||
|
x="13942.457"
|
||||||
|
y="305.9747"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:66.52793884;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;image-rendering:auto"
|
||||||
|
ry="240.99872" /><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:479.77920532px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#e9e9e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:338.50827026;stroke-linejoin:round"
|
||||||
|
x="17259.299"
|
||||||
|
y="871.5957"
|
||||||
|
id="text7700-4-3"
|
||||||
|
transform="scale(0.90551208,1.1043475)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan7698-7-0"
|
||||||
|
x="17259.299"
|
||||||
|
y="871.5957"
|
||||||
|
style="fill:#e9e9e9;fill-opacity:1;stroke-width:338.50827026">Spine 3</tspan></text>
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:25.56644249px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 1931.2946,4832.0575 C 8578.57,1252.7555 8578.57,1252.7555 8578.57,1252.7555"
|
||||||
|
id="path1229"
|
||||||
|
inkscape:connector-curvature="0" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:25.56644249px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 3720.9458,4832.0575 C 8578.57,1252.7555 8578.57,1252.7555 8578.57,1252.7555"
|
||||||
|
id="path1231"
|
||||||
|
inkscape:connector-curvature="0" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:25.56644249px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 7300.2478,4832.0575 C 8834.2345,1252.7555 8834.2345,1252.7555 8834.2345,1252.7555"
|
||||||
|
id="path1233"
|
||||||
|
inkscape:connector-curvature="0" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:25.56644249px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 9345.5633,4832.0575 C 8834.2347,1252.7555 8834.2347,1252.7555 8834.2347,1252.7555"
|
||||||
|
id="path1235"
|
||||||
|
inkscape:connector-curvature="0" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:25.56644249px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 11646.543,4832.0574 9856.8923,1252.7555"
|
||||||
|
id="path1237"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:25.56644249px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 13691.859,4832.0574 9856.8923,1252.7555"
|
||||||
|
id="path1239"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:25.56644249px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 16248.503,4832.0575 c -4601.96,-3579.302 -4601.96,-3579.302 -4601.96,-3579.302"
|
||||||
|
id="path1241"
|
||||||
|
inkscape:connector-curvature="0" /><path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:25.56644249px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="M 18038.154,4832.0575 C 11646.543,1252.7555 11646.543,1252.7555 11646.543,1252.7555"
|
||||||
|
id="path1243"
|
||||||
|
inkscape:connector-curvature="0" /></svg>
|
After Width: | Height: | Size: 45 KiB |
@ -16,3 +16,4 @@ Documentation on how to deploy custom configurations with |project|.
|
|||||||
deploy_swift
|
deploy_swift
|
||||||
role_specific_parameters
|
role_specific_parameters
|
||||||
plan_export
|
plan_export
|
||||||
|
routed_spine_leaf_network
|
||||||
|
@ -0,0 +1,608 @@
|
|||||||
|
Deploying Overcloud with L3 routed networking
|
||||||
|
=============================================
|
||||||
|
|
||||||
|
Layer 3 Routed spine and leaf architectures is gaining in popularity due to the
|
||||||
|
benefits, such as high-performance, increased scalability and reduced failure
|
||||||
|
domains.
|
||||||
|
|
||||||
|
The below diagram is an example L3 routed
|
||||||
|
`Clos <https://en.wikipedia.org/wiki/Clos_network>`_ architecture. In this
|
||||||
|
example each server is connected to top-of-rack leaf switches. Each leaf switch
|
||||||
|
is attached to each spine switch. Within each rack, all servers share a layer 2
|
||||||
|
domain. The layer 2 network segments are local to the rack. Layer 3 routing via
|
||||||
|
the spine switches permits East-West traffic between the racks:
|
||||||
|
|
||||||
|
.. image:: ../_images/spine_and_leaf.svg
|
||||||
|
|
||||||
|
.. Note:: Typically Dynamic Routing is implemented in such an architecture.
|
||||||
|
Often also
|
||||||
|
`ECMP <https://en.wikipedia.org/wiki/Equal-cost_multi-path_routing>`_
|
||||||
|
(Equal-cost multi-path routing) and
|
||||||
|
`BFD <https://en.wikipedia.org/wiki/Bidirectional_Forwarding_Detection>`_
|
||||||
|
(Bidirectional Forwarding Detection) are used to provide non-blocking
|
||||||
|
forwarding and fast convergence times in case of failures.
|
||||||
|
Configuration of the underlying network architecture is not in the
|
||||||
|
scope of this document.
|
||||||
|
|
||||||
|
Layer 3 routed Requirements
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
For TripleO to deploy the ``overcloud`` on a network with a layer 3 routed
|
||||||
|
architecture the following requirements must be met:
|
||||||
|
|
||||||
|
* **Layer 3 routing**:
|
||||||
|
The network infrastructure must have *routing* configured to enable traffic
|
||||||
|
between the different layer 2 segments. This can be statically or dynamically
|
||||||
|
configured.
|
||||||
|
|
||||||
|
* **DHCP-Relay**:
|
||||||
|
Each layer 2 segment that is not local to the ``undercloud`` must provide
|
||||||
|
*dhcp-relay*. DHCP requests must be forwarded to the Undercloud on the
|
||||||
|
provisioning network segment where the ``undercloud`` is connected.
|
||||||
|
|
||||||
|
.. Note:: The ``undercloud`` uses two DHCP servers. One for baremetal node
|
||||||
|
introspection, and another for deploying overcloud nodes.
|
||||||
|
|
||||||
|
Make sure to read `DHCP relay configuration`_ to understand the
|
||||||
|
requirements when configuring *dhcp-relay*.
|
||||||
|
|
||||||
|
Layer 3 routed Limitations
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
* Some roles, such as the Controller role, use virtual IP addresses and
|
||||||
|
clustering. The mechanism behind this functionality requires layer-2 network
|
||||||
|
connectivity between these nodes. These nodes must all be placed within the
|
||||||
|
same leaf.
|
||||||
|
|
||||||
|
* Similar restrictions apply to networker nodes. The Network service implements
|
||||||
|
highly-available default paths in the network using Virtual Router Redundancy
|
||||||
|
Protocol (VRRP). Since VRRP uses a virtual router ip address, master and
|
||||||
|
backup nodes must be connected to the same L2 network segment.
|
||||||
|
|
||||||
|
* When using tenant or provider networks with VLAN segmentation, the particular
|
||||||
|
VLANs used must be shared between all networker and compute nodes.
|
||||||
|
|
||||||
|
.. Note:: It is possible to configure the Network service with multiple sets
|
||||||
|
of networker nodes. Each set would share routes for their networks,
|
||||||
|
and VRRP would be used within each set of networker nodes to
|
||||||
|
provide highly-available default paths. In such configuration all
|
||||||
|
networker nodes sharing networks must be on the same L2 network
|
||||||
|
segment.
|
||||||
|
|
||||||
|
Create undercloud configuration
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
To deploy the ``overcloud`` on a L3 routed architecture the ``undercloud``
|
||||||
|
needs to be configured with multiple neutron network segments and subnets on
|
||||||
|
the ``ctlplane`` network.
|
||||||
|
|
||||||
|
#. In the ``[DEFAULT]`` section of ``undercloud.conf`` enable the routed
|
||||||
|
networks feature by setting ``enable_routed_networks`` to ``true``. For
|
||||||
|
example::
|
||||||
|
|
||||||
|
enable_routed_networks = true
|
||||||
|
|
||||||
|
#. In the ``[DEFAULT]`` section of ``undercloud.conf`` add a comma separated
|
||||||
|
list of control plane subnets. Define one subnet for each layer 2 segment in
|
||||||
|
the routed spine and leaf. For example::
|
||||||
|
|
||||||
|
subnets = leaf0,leaf1,leaf2
|
||||||
|
|
||||||
|
#. In the ``[DEFAULT]`` section of ``undercloud.conf`` specify the subnet that
|
||||||
|
is associated with the physical layer 2 segment that is *local* to the
|
||||||
|
``undercloud``. For example::
|
||||||
|
|
||||||
|
local_subnet = leaf0
|
||||||
|
|
||||||
|
#. For each of the control plane subnets specified in ``[DEFAULT]\subnets``
|
||||||
|
add an additional section in ``undercloud.conf``, for example::
|
||||||
|
|
||||||
|
[leaf0]
|
||||||
|
cidr = 192.168.10.0/24
|
||||||
|
dhcp_start = 192.168.10.10
|
||||||
|
dhcp_end = 192.168.10.90
|
||||||
|
inspection_iprange = 192.168.10.100,192.168.10.190
|
||||||
|
gateway = 192.168.10.1
|
||||||
|
masquerade = False
|
||||||
|
|
||||||
|
[leaf1]
|
||||||
|
cidr = 192.168.11.0/24
|
||||||
|
dhcp_start = 192.168.11.10
|
||||||
|
dhcp_end = 192.168.11.90
|
||||||
|
inspection_iprange = 192.168.11.100,192.168.11.190
|
||||||
|
gateway = 192.168.11.1
|
||||||
|
masquerade = False
|
||||||
|
|
||||||
|
[leaf2]
|
||||||
|
cidr = 192.168.12.0/24
|
||||||
|
dhcp_start = 192.168.12.10
|
||||||
|
dhcp_end = 192.168.12.90
|
||||||
|
inspection_iprange = 192.168.12.100,192.168.12.190
|
||||||
|
gateway = 192.168.12.1
|
||||||
|
masquerade = False
|
||||||
|
|
||||||
|
Install the undercloud
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
Once the ``undercloud.conf`` is updated with the desired configuration, install
|
||||||
|
the undercloud by running the following command::
|
||||||
|
|
||||||
|
openstack undercloud install
|
||||||
|
|
||||||
|
Once the ``undercloud`` is installed complete the post-install tasks such as
|
||||||
|
uploading images and registering baremetal nodes. (For addition details
|
||||||
|
regarding the post-install tasks, see
|
||||||
|
:doc:`../basic_deployment/basic_deployment_cli`.)
|
||||||
|
|
||||||
|
DHCP relay configuration
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
The TripleO Undercloud uses two DHCP servers on the provisioning network, one
|
||||||
|
for ``introspection`` and another one for ``provisioning``. When configuring
|
||||||
|
*dhcp-relay* make sure that DHCP requests are forwarded to both DHCP servers on
|
||||||
|
the Undercloud.
|
||||||
|
|
||||||
|
For devices that support it, UDP *broadcast* can be used to relay DHCP requests
|
||||||
|
to the L2 network segment where the Undercloud provisioning network is
|
||||||
|
connected. Alternatively UDP *unicast* can be can be used, in this case DHCP
|
||||||
|
requests are relayed to specific ip addresses.
|
||||||
|
|
||||||
|
.. Note:: Configuration of *dhcp-relay* on specific devices types is beyond the
|
||||||
|
scope of this document. As a reference
|
||||||
|
`DHCP relay configuration (Example)`_ using the implementation in
|
||||||
|
`ISC DHCP software <https://www.isc.org/downloads/dhcp/>`_ is
|
||||||
|
available below. (Please refer to manual page
|
||||||
|
`dhcrelay(8) <https://linux.die.net/man/8/dhcrelay>`_ for further
|
||||||
|
details on how to use this implementation.)
|
||||||
|
|
||||||
|
|
||||||
|
Broadcast DHCP relay
|
||||||
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
DHCP requests are relayed onto the L2 network segment where the DHCP server(s)
|
||||||
|
reside using UDP *broadcast* traffic. All devices on the network segment will
|
||||||
|
receive the broadcast traffic. When using UDP *broadcast* both DHCP servers on
|
||||||
|
the Undercloud will receive the relayed DHCP request.
|
||||||
|
|
||||||
|
Depending on implementation this is typically configured by specifying either
|
||||||
|
*interface* or *ip network address*:
|
||||||
|
|
||||||
|
* **Interface**:
|
||||||
|
Specifying an interface connected to the L2 network segment where the DHCP
|
||||||
|
requests will be relayed.
|
||||||
|
* **IP network address**:
|
||||||
|
Specifying the network address of the IP network where the DHCP request will
|
||||||
|
be relayed.
|
||||||
|
|
||||||
|
Unicast DHCP relay
|
||||||
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
DHCP requests are relayed to specific DHCP servers using UDP *unicast* traffic.
|
||||||
|
When using UDP *unicast* the device configured to provide *dhcp-relay* must be
|
||||||
|
configured to relay DHCP requests to both the IP address assigned to the
|
||||||
|
interface used for *introspection* on the Undercloud and the IP address of the
|
||||||
|
network namespace created by the Network service to host the DHCP service for
|
||||||
|
the ``ctlplane`` network.
|
||||||
|
|
||||||
|
The interface used for *introspection* is the one defined as
|
||||||
|
``inspection_interface`` in ``undercloud.conf``.
|
||||||
|
|
||||||
|
.. Note:: It is common to use the ``br-ctlplane`` interface for introspection,
|
||||||
|
the IP address defined as ``local_ip`` in ``undercloud.conf`` will be
|
||||||
|
on the ``br-ctlplane`` interface.
|
||||||
|
|
||||||
|
The IP address allocated to the neutron DHCP namespace will typically be the
|
||||||
|
first address available in the IP range configured for the ``local_subnet`` in
|
||||||
|
``undercloud.conf``. (The first address in the IP range is the one defined as
|
||||||
|
``dhcp_start`` in the configuration.) For example: ``172.20.0.10`` would be the
|
||||||
|
IP address when the following configuration is used::
|
||||||
|
|
||||||
|
[DEFAULT]
|
||||||
|
local_subnet = leaf0
|
||||||
|
subnets = leaf0,leaf1,leaf2
|
||||||
|
|
||||||
|
[leaf0]
|
||||||
|
cidr = 172.20.0.0/26
|
||||||
|
dhcp_start = 172.20.0.10
|
||||||
|
dhcp_end = 172.20.0.19
|
||||||
|
inspection_iprange = 172.20.0.20,172.20.0.29
|
||||||
|
gateway = 172.20.0.62
|
||||||
|
masquerade = False
|
||||||
|
|
||||||
|
.. Warning:: The IP address for the DHCP namespace is automatically allocated,
|
||||||
|
it will in most cases be the first address in the IP range, but
|
||||||
|
do make sure to verify that this is the case by running the
|
||||||
|
following commands on the Undercloud::
|
||||||
|
|
||||||
|
$ openstack port list --device-owner network:dhcp -c "Fixed IP Addresses"
|
||||||
|
+----------------------------------------------------------------------------+
|
||||||
|
| Fixed IP Addresses |
|
||||||
|
+----------------------------------------------------------------------------+
|
||||||
|
| ip_address='172.20.0.10', subnet_id='7526fbe3-f52a-4b39-a828-ec59f4ed12b2' |
|
||||||
|
+----------------------------------------------------------------------------+
|
||||||
|
$ openstack subnet show 7526fbe3-f52a-4b39-a828-ec59f4ed12b2 -c name
|
||||||
|
+-------+--------+
|
||||||
|
| Field | Value |
|
||||||
|
+-------+--------+
|
||||||
|
| name | leaf0 |
|
||||||
|
+-------+--------+
|
||||||
|
|
||||||
|
DHCP relay configuration (Example)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
In the following example ``dhcrelay`` from
|
||||||
|
`ISC DHCP software <https://www.isc.org/downloads/dhcp/>`_ is started using
|
||||||
|
configuration parameters to relay incoming DHCP request on interfaces:
|
||||||
|
``eth1``, ``eth2`` and ``eth3``. The undercloud DHCP servers are on the network
|
||||||
|
segment connected to the ``eth0`` interface. The DHCP server used for
|
||||||
|
``introspection`` is listening on ip address: ``172.20.0.1`` and the DHCP
|
||||||
|
server used for ``provisioning`` is listening on ip address: ``172.20.0.10``::
|
||||||
|
|
||||||
|
dhcrelay -d --no-pid 172.20.0.10 172.20.0.1 \
|
||||||
|
-iu eth0 -id eth1 -id eth2 -id eth3
|
||||||
|
|
||||||
|
Map bare metal node ports to control plane network segments
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
To enable deployment onto a L3 routed network the baremetal ports must have
|
||||||
|
its ``physical_network`` field configured. Each baremetal port is associated
|
||||||
|
with a baremetal node in the Bare Metal service. The physical network names are
|
||||||
|
the ones used in the ``subnets`` option in the undercloud configuration.
|
||||||
|
|
||||||
|
.. Note:: The physical network name of the subnet specified as ``local_subnet``
|
||||||
|
in ``undercloud.conf`` is special. It is **always** named
|
||||||
|
``ctlplane``.
|
||||||
|
|
||||||
|
#. Make sure the baremetal nodes are in one of the following states: *enroll*,
|
||||||
|
or *manageable*. If the baremetal node is not in one of these states the
|
||||||
|
command used to set the ``physical_network`` property on the baremetal port
|
||||||
|
will fail. (For additional details regarding node states see
|
||||||
|
:doc:`../advanced_deployment/node_states`.)
|
||||||
|
|
||||||
|
To set all nodes to ``manageable`` state run the following command::
|
||||||
|
|
||||||
|
for node in $(openstack baremetal node list -f value -c Name); do \
|
||||||
|
openstack baremetal node manage $node --wait; done
|
||||||
|
|
||||||
|
#. Use ``openstack baremetal port list --node <node-uuid>`` command to find out
|
||||||
|
which baremetal ports are associated with which baremetal node. Then set the
|
||||||
|
``physical-network`` for the ports.
|
||||||
|
|
||||||
|
In the example below three subnets where defined in the configuration,
|
||||||
|
*leaf0*, *leaf1* and *leaf2*. Notice that the ``local_subnet`` is ``leaf0``,
|
||||||
|
since the physical network for the ``local_subnet`` is always ``ctlplane``
|
||||||
|
the baremetal port connected to ``leaf0`` use ``ctlplane``. The remaining
|
||||||
|
ports use the ``leafX`` names::
|
||||||
|
|
||||||
|
openstack baremetal port set --physical-network ctlplane <port-uuid>
|
||||||
|
|
||||||
|
openstack baremetal port set --physical-network leaf1 <port-uuid>
|
||||||
|
openstack baremetal port set --physical-network leaf2 <port-uuid>
|
||||||
|
openstack baremetal port set --physical-network leaf2 <port-uuid>
|
||||||
|
|
||||||
|
#. Make sure the nodes are in ``available`` state before deploying the
|
||||||
|
overcloud::
|
||||||
|
|
||||||
|
openstack overcloud node provide --all-manageable
|
||||||
|
|
||||||
|
Create roles specific to each leaf (layer 2 segment)
|
||||||
|
----------------------------------------------------
|
||||||
|
|
||||||
|
To aid in scheduling and to allow override of leaf specific parameters in
|
||||||
|
``tripleo-heat-templates`` create new roles for each l2 leaf. The following is
|
||||||
|
an example with one controller role, and two compute roles. Please refer to
|
||||||
|
:doc:`custom_roles` for details on configuring custom roles.
|
||||||
|
|
||||||
|
Example ``roles_data``::
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
# Role: Controller #
|
||||||
|
#############################################################################
|
||||||
|
- name: Controller
|
||||||
|
description: |
|
||||||
|
Controller role that has all the controler services loaded and handles
|
||||||
|
Database, Messaging and Network functions.
|
||||||
|
CountDefault: 1
|
||||||
|
tags:
|
||||||
|
- primary
|
||||||
|
- controller
|
||||||
|
networks:
|
||||||
|
- External
|
||||||
|
- InternalApi
|
||||||
|
- Storage
|
||||||
|
- StorageMgmt
|
||||||
|
- Tenant
|
||||||
|
HostnameFormatDefault: '%stackname%-controller-%index%'
|
||||||
|
ServicesDefault:
|
||||||
|
- OS::TripleO::Services::AodhApi
|
||||||
|
- OS::TripleO::Services::AodhEvaluator
|
||||||
|
- OS::TripleO::Services::AodhListener
|
||||||
|
- OS::TripleO::Services::AodhNotifier
|
||||||
|
- OS::TripleO::Services::AuditD
|
||||||
|
- OS::TripleO::Services::BarbicanApi
|
||||||
|
- OS::TripleO::Services::BarbicanBackendSimpleCrypto
|
||||||
|
- OS::TripleO::Services::BarbicanBackendDogtag
|
||||||
|
- OS::TripleO::Services::BarbicanBackendKmip
|
||||||
|
- OS::TripleO::Services::BarbicanBackendPkcs11Crypto
|
||||||
|
- OS::TripleO::Services::CACerts
|
||||||
|
- OS::TripleO::Services::CeilometerAgentCentral
|
||||||
|
- OS::TripleO::Services::CeilometerAgentNotification
|
||||||
|
- OS::TripleO::Services::CephExternal
|
||||||
|
- OS::TripleO::Services::CephMds
|
||||||
|
- OS::TripleO::Services::CephMgr
|
||||||
|
- OS::TripleO::Services::CephMon
|
||||||
|
- OS::TripleO::Services::CephRbdMirror
|
||||||
|
- OS::TripleO::Services::CephRgw
|
||||||
|
- OS::TripleO::Services::CertmongerUser
|
||||||
|
- OS::TripleO::Services::CinderApi
|
||||||
|
- OS::TripleO::Services::CinderBackendDellPs
|
||||||
|
- OS::TripleO::Services::CinderBackendDellSc
|
||||||
|
- OS::TripleO::Services::CinderBackendDellEMCUnity
|
||||||
|
- OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI
|
||||||
|
- OS::TripleO::Services::CinderBackendNetApp
|
||||||
|
- OS::TripleO::Services::CinderBackendScaleIO
|
||||||
|
- OS::TripleO::Services::CinderBackendVRTSHyperScale
|
||||||
|
- OS::TripleO::Services::CinderBackup
|
||||||
|
- OS::TripleO::Services::CinderHPELeftHandISCSI
|
||||||
|
- OS::TripleO::Services::CinderScheduler
|
||||||
|
- OS::TripleO::Services::CinderVolume
|
||||||
|
- OS::TripleO::Services::Clustercheck
|
||||||
|
- OS::TripleO::Services::Collectd
|
||||||
|
- OS::TripleO::Services::Congress
|
||||||
|
- OS::TripleO::Services::Docker
|
||||||
|
- OS::TripleO::Services::Ec2Api
|
||||||
|
- OS::TripleO::Services::Etcd
|
||||||
|
- OS::TripleO::Services::ExternalSwiftProxy
|
||||||
|
- OS::TripleO::Services::Fluentd
|
||||||
|
- OS::TripleO::Services::GlanceApi
|
||||||
|
- OS::TripleO::Services::GnocchiApi
|
||||||
|
- OS::TripleO::Services::GnocchiMetricd
|
||||||
|
- OS::TripleO::Services::GnocchiStatsd
|
||||||
|
- OS::TripleO::Services::HAproxy
|
||||||
|
- OS::TripleO::Services::HeatApi
|
||||||
|
- OS::TripleO::Services::HeatApiCfn
|
||||||
|
- OS::TripleO::Services::HeatEngine
|
||||||
|
- OS::TripleO::Services::Horizon
|
||||||
|
- OS::TripleO::Services::Ipsec
|
||||||
|
- OS::TripleO::Services::IronicApi
|
||||||
|
- OS::TripleO::Services::IronicConductor
|
||||||
|
- OS::TripleO::Services::IronicPxe
|
||||||
|
- OS::TripleO::Services::Iscsid
|
||||||
|
- OS::TripleO::Services::Keepalived
|
||||||
|
- OS::TripleO::Services::Kernel
|
||||||
|
- OS::TripleO::Services::Keystone
|
||||||
|
- OS::TripleO::Services::LoginDefs
|
||||||
|
- OS::TripleO::Services::ManilaApi
|
||||||
|
- OS::TripleO::Services::ManilaBackendCephFs
|
||||||
|
- OS::TripleO::Services::ManilaBackendIsilon
|
||||||
|
- OS::TripleO::Services::ManilaBackendNetapp
|
||||||
|
- OS::TripleO::Services::ManilaBackendUnity
|
||||||
|
- OS::TripleO::Services::ManilaBackendVNX
|
||||||
|
- OS::TripleO::Services::ManilaBackendVMAX
|
||||||
|
- OS::TripleO::Services::ManilaScheduler
|
||||||
|
- OS::TripleO::Services::ManilaShare
|
||||||
|
- OS::TripleO::Services::Memcached
|
||||||
|
- OS::TripleO::Services::MongoDb
|
||||||
|
- OS::TripleO::Services::MySQL
|
||||||
|
- OS::TripleO::Services::MySQLClient
|
||||||
|
- OS::TripleO::Services::NeutronApi
|
||||||
|
- OS::TripleO::Services::NeutronBgpVpnApi
|
||||||
|
- OS::TripleO::Services::NeutronSfcApi
|
||||||
|
- OS::TripleO::Services::NeutronCorePlugin
|
||||||
|
- OS::TripleO::Services::NeutronDhcpAgent
|
||||||
|
- OS::TripleO::Services::NeutronL2gwAgent
|
||||||
|
- OS::TripleO::Services::NeutronL2gwApi
|
||||||
|
- OS::TripleO::Services::NeutronL3Agent
|
||||||
|
- OS::TripleO::Services::NeutronLbaasv2Agent
|
||||||
|
- OS::TripleO::Services::NeutronLinuxbridgeAgent
|
||||||
|
- OS::TripleO::Services::NeutronMetadataAgent
|
||||||
|
- OS::TripleO::Services::NeutronML2FujitsuCfab
|
||||||
|
- OS::TripleO::Services::NeutronML2FujitsuFossw
|
||||||
|
- OS::TripleO::Services::NeutronOvsAgent
|
||||||
|
- OS::TripleO::Services::NeutronVppAgent
|
||||||
|
- OS::TripleO::Services::NovaApi
|
||||||
|
- OS::TripleO::Services::NovaConductor
|
||||||
|
- OS::TripleO::Services::NovaConsoleauth
|
||||||
|
- OS::TripleO::Services::NovaIronic
|
||||||
|
- OS::TripleO::Services::NovaMetadata
|
||||||
|
- OS::TripleO::Services::NovaPlacement
|
||||||
|
- OS::TripleO::Services::NovaScheduler
|
||||||
|
- OS::TripleO::Services::NovaVncProxy
|
||||||
|
- OS::TripleO::Services::Ntp
|
||||||
|
- OS::TripleO::Services::ContainersLogrotateCrond
|
||||||
|
- OS::TripleO::Services::OctaviaApi
|
||||||
|
- OS::TripleO::Services::OctaviaHealthManager
|
||||||
|
- OS::TripleO::Services::OctaviaHousekeeping
|
||||||
|
- OS::TripleO::Services::OctaviaWorker
|
||||||
|
- OS::TripleO::Services::OpenDaylightApi
|
||||||
|
- OS::TripleO::Services::OpenDaylightOvs
|
||||||
|
- OS::TripleO::Services::OVNDBs
|
||||||
|
- OS::TripleO::Services::OVNController
|
||||||
|
- OS::TripleO::Services::Pacemaker
|
||||||
|
- OS::TripleO::Services::PankoApi
|
||||||
|
- OS::TripleO::Services::RabbitMQ
|
||||||
|
- OS::TripleO::Services::Redis
|
||||||
|
- OS::TripleO::Services::Rhsm
|
||||||
|
- OS::TripleO::Services::RsyslogSidecar
|
||||||
|
- OS::TripleO::Services::SaharaApi
|
||||||
|
- OS::TripleO::Services::SaharaEngine
|
||||||
|
- OS::TripleO::Services::Securetty
|
||||||
|
- OS::TripleO::Services::SensuClient
|
||||||
|
- OS::TripleO::Services::SkydiveAgent
|
||||||
|
- OS::TripleO::Services::SkydiveAnalyzer
|
||||||
|
- OS::TripleO::Services::Snmp
|
||||||
|
- OS::TripleO::Services::Sshd
|
||||||
|
- OS::TripleO::Services::SwiftProxy
|
||||||
|
- OS::TripleO::Services::SwiftDispersion
|
||||||
|
- OS::TripleO::Services::SwiftRingBuilder
|
||||||
|
- OS::TripleO::Services::SwiftStorage
|
||||||
|
- OS::TripleO::Services::Tacker
|
||||||
|
- OS::TripleO::Services::Timezone
|
||||||
|
- OS::TripleO::Services::TripleoFirewall
|
||||||
|
- OS::TripleO::Services::TripleoPackages
|
||||||
|
- OS::TripleO::Services::Tuned
|
||||||
|
- OS::TripleO::Services::Vpp
|
||||||
|
- OS::TripleO::Services::Zaqar
|
||||||
|
#############################################################################
|
||||||
|
# Role: ComputeLeaf0 #
|
||||||
|
#############################################################################
|
||||||
|
- name: ComputeLeaf0
|
||||||
|
description: |
|
||||||
|
Basic Compute Node role
|
||||||
|
CountDefault: 1
|
||||||
|
networks:
|
||||||
|
- InternalApi
|
||||||
|
- Tenant
|
||||||
|
- Storage
|
||||||
|
HostnameFormatDefault: '%stackname%-compute-leaf0-%index%'
|
||||||
|
disable_upgrade_deployment: True
|
||||||
|
ServicesDefault:
|
||||||
|
- OS::TripleO::Services::AuditD
|
||||||
|
- OS::TripleO::Services::CACerts
|
||||||
|
- OS::TripleO::Services::CephClient
|
||||||
|
- OS::TripleO::Services::CephExternal
|
||||||
|
- OS::TripleO::Services::CertmongerUser
|
||||||
|
- OS::TripleO::Services::Collectd
|
||||||
|
- OS::TripleO::Services::ComputeCeilometerAgent
|
||||||
|
- OS::TripleO::Services::ComputeNeutronCorePlugin
|
||||||
|
- OS::TripleO::Services::ComputeNeutronL3Agent
|
||||||
|
- OS::TripleO::Services::ComputeNeutronMetadataAgent
|
||||||
|
- OS::TripleO::Services::ComputeNeutronOvsAgent
|
||||||
|
- OS::TripleO::Services::Docker
|
||||||
|
- OS::TripleO::Services::Fluentd
|
||||||
|
- OS::TripleO::Services::Ipsec
|
||||||
|
- OS::TripleO::Services::Iscsid
|
||||||
|
- OS::TripleO::Services::Kernel
|
||||||
|
- OS::TripleO::Services::LoginDefs
|
||||||
|
- OS::TripleO::Services::MySQLClient
|
||||||
|
- OS::TripleO::Services::NeutronBgpVpnBagpipe
|
||||||
|
- OS::TripleO::Services::NeutronLinuxbridgeAgent
|
||||||
|
- OS::TripleO::Services::NeutronVppAgent
|
||||||
|
- OS::TripleO::Services::NovaCompute
|
||||||
|
- OS::TripleO::Services::NovaLibvirt
|
||||||
|
- OS::TripleO::Services::NovaMigrationTarget
|
||||||
|
- OS::TripleO::Services::Ntp
|
||||||
|
- OS::TripleO::Services::ContainersLogrotateCrond
|
||||||
|
- OS::TripleO::Services::OpenDaylightOvs
|
||||||
|
- OS::TripleO::Services::Rhsm
|
||||||
|
- OS::TripleO::Services::RsyslogSidecar
|
||||||
|
- OS::TripleO::Services::Securetty
|
||||||
|
- OS::TripleO::Services::SensuClient
|
||||||
|
- OS::TripleO::Services::SkydiveAgent
|
||||||
|
- OS::TripleO::Services::Snmp
|
||||||
|
- OS::TripleO::Services::Sshd
|
||||||
|
- OS::TripleO::Services::Timezone
|
||||||
|
- OS::TripleO::Services::TripleoFirewall
|
||||||
|
- OS::TripleO::Services::TripleoPackages
|
||||||
|
- OS::TripleO::Services::Tuned
|
||||||
|
- OS::TripleO::Services::Vpp
|
||||||
|
- OS::TripleO::Services::OVNController
|
||||||
|
- OS::TripleO::Services::OVNMetadataAgent
|
||||||
|
#############################################################################
|
||||||
|
# Role: ComputeLeaf1 #
|
||||||
|
#############################################################################
|
||||||
|
- name: ComputeLeaf1
|
||||||
|
description: |
|
||||||
|
Basic Compute Node role
|
||||||
|
CountDefault: 1
|
||||||
|
networks:
|
||||||
|
- Internal1
|
||||||
|
- Tenant1
|
||||||
|
- Storage1
|
||||||
|
HostnameFormatDefault: '%stackname%-compute-leaf1-%index%'
|
||||||
|
disable_upgrade_deployment: True
|
||||||
|
ServicesDefault:
|
||||||
|
- OS::TripleO::Services::AuditD
|
||||||
|
- OS::TripleO::Services::CACerts
|
||||||
|
- OS::TripleO::Services::CephClient
|
||||||
|
- OS::TripleO::Services::CephExternal
|
||||||
|
- OS::TripleO::Services::CertmongerUser
|
||||||
|
- OS::TripleO::Services::Collectd
|
||||||
|
- OS::TripleO::Services::ComputeCeilometerAgent
|
||||||
|
- OS::TripleO::Services::ComputeNeutronCorePlugin
|
||||||
|
- OS::TripleO::Services::ComputeNeutronL3Agent
|
||||||
|
- OS::TripleO::Services::ComputeNeutronMetadataAgent
|
||||||
|
- OS::TripleO::Services::ComputeNeutronOvsAgent
|
||||||
|
- OS::TripleO::Services::Docker
|
||||||
|
- OS::TripleO::Services::Fluentd
|
||||||
|
- OS::TripleO::Services::Ipsec
|
||||||
|
- OS::TripleO::Services::Iscsid
|
||||||
|
- OS::TripleO::Services::Kernel
|
||||||
|
- OS::TripleO::Services::LoginDefs
|
||||||
|
- OS::TripleO::Services::MySQLClient
|
||||||
|
- OS::TripleO::Services::NeutronBgpVpnBagpipe
|
||||||
|
- OS::TripleO::Services::NeutronLinuxbridgeAgent
|
||||||
|
- OS::TripleO::Services::NeutronVppAgent
|
||||||
|
- OS::TripleO::Services::NovaCompute
|
||||||
|
- OS::TripleO::Services::NovaLibvirt
|
||||||
|
- OS::TripleO::Services::NovaMigrationTarget
|
||||||
|
- OS::TripleO::Services::Ntp
|
||||||
|
- OS::TripleO::Services::ContainersLogrotateCrond
|
||||||
|
- OS::TripleO::Services::OpenDaylightOvs
|
||||||
|
- OS::TripleO::Services::Rhsm
|
||||||
|
- OS::TripleO::Services::RsyslogSidecar
|
||||||
|
- OS::TripleO::Services::Securetty
|
||||||
|
- OS::TripleO::Services::SensuClient
|
||||||
|
- OS::TripleO::Services::SkydiveAgent
|
||||||
|
- OS::TripleO::Services::Snmp
|
||||||
|
- OS::TripleO::Services::Sshd
|
||||||
|
- OS::TripleO::Services::Timezone
|
||||||
|
- OS::TripleO::Services::TripleoFirewall
|
||||||
|
- OS::TripleO::Services::TripleoPackages
|
||||||
|
- OS::TripleO::Services::Tuned
|
||||||
|
- OS::TripleO::Services::Vpp
|
||||||
|
- OS::TripleO::Services::OVNController
|
||||||
|
- OS::TripleO::Services::OVNMetadataAgent
|
||||||
|
|
||||||
|
Configure node placement
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
Use node placement to map the baremetal nodes to roles, with each role using a
|
||||||
|
different set of local layer 2 segments. Please refer to :doc:`node_placement`
|
||||||
|
for details on how to configure node placement.
|
||||||
|
|
||||||
|
Add configuration to parameters_default
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
Before deploying the ``overcloud`` create an environment file that contains the
|
||||||
|
required overrides. In the example below parameter overrides for the following
|
||||||
|
four roles and ``Controller``, ``ComputeLeaf0``, ``ComputeLeaf1`` and
|
||||||
|
``ComputeLeaf2``.
|
||||||
|
|
||||||
|
.. Note:: In TripleO templates role specific parameters are defined using
|
||||||
|
variables. One of the variables used is ``{{role.name}}``. The
|
||||||
|
templates have parameters such as ``{{role.name}}Count``,
|
||||||
|
``{{role.name}}Flavor``, ``{{role.name}}ControlPlaneSubnet`` and
|
||||||
|
many more. This enables per-role values for these parameters, like in
|
||||||
|
the example below where they are used to specify the
|
||||||
|
*ControlPlaneSubnet* node *Count* and *Flavor* to use for the
|
||||||
|
*per-leaf* roles.
|
||||||
|
|
||||||
|
Parameter override example::
|
||||||
|
|
||||||
|
parameter_defaults:
|
||||||
|
ControlPlaneSubnet: leaf0
|
||||||
|
OvercloudComputeLeaf0Flavor: compute-leaf0
|
||||||
|
OvercloudComputeLeaf1Flavor: compute-leaf1
|
||||||
|
OvercloudComputeLeaf2Flavor: compute-leaf2
|
||||||
|
ControllerCount: 3
|
||||||
|
ComputeLeaf0Count: 5
|
||||||
|
ComputeLeaf1Count: 5
|
||||||
|
ComputeLeaf2Count: 5
|
||||||
|
ControllerControlPlaneSubnet: leaf0
|
||||||
|
ComputeLeaf0ControlPlaneSubnet: leaf0
|
||||||
|
ComputeLeaf1ControlPlaneSubnet: leaf1
|
||||||
|
ComputeLeaf2ControlPlaneSubnet: leaf2
|
||||||
|
|
||||||
|
Deploy the overcloud
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
To deploy the overcloud, run the ``openstack overcloud deploy`` specifying the
|
||||||
|
roles data file and environment file. For example::
|
||||||
|
|
||||||
|
openstack overcloud deploy --templates \
|
||||||
|
-r /home/stack/roles_data.yaml \
|
||||||
|
-e /home/stack/environments/node_data.yaml
|
||||||
|
|
||||||
|
.. Note:: Remember to include other environment files that you might want for
|
||||||
|
configuration of the overcloud.
|
Loading…
x
Reference in New Issue
Block a user