Documentation - TripleO routed-spine-and-leaf

Add a routed spine and leaf deployment to the Custom
Configurations section.

Implements: tripleo-routed-networks-deployment
Depends-On: I4b384bab2af9f6ba07a137a37f4098a00ce18bc0
Change-Id: If008ec8241cf1b3b07c30c558a2453b3c992bdcf
This commit is contained in:
Harald Jensas 2018-02-01 13:44:55 +01:00 committed by Harald Jensås
parent b0617479ed
commit 81f9ebf1fd
3 changed files with 1547 additions and 0 deletions

View 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

View File

@ -16,3 +16,4 @@ Documentation on how to deploy custom configurations with |project|.
deploy_swift
role_specific_parameters
plan_export
routed_spine_leaf_network

View File

@ -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.