Skip to content

Commit f89a803

Browse files
pau-hedgehogFrostman
authored andcommitted
add VLAB diagrams
Signed-off-by: Pau Capdevila <[email protected]>
1 parent 11b738a commit f89a803

File tree

1 file changed

+202
-0
lines changed

1 file changed

+202
-0
lines changed

docs/vlab/running.md

Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,143 @@ ubuntu@docs:~$ hhfab vlab gen
2929
21:27:16 INF >>> mclagServers=2 eslagServers=2 unbundledServers=1 bundledServers=1
3030
21:27:16 INF Generated wiring file name=vlab.generated.yaml
3131
```
32+
33+
The default spine-leaf topology with 2 spines, 2 MCLAG leaves, and 1 non-MCLAG leaf:
34+
35+
```mermaid
36+
graph TD
37+
38+
%% Style definitions
39+
classDef spine fill:#F8CECC,stroke:#B85450,stroke-width:1px,color:#000
40+
classDef leaf fill:#DAE8FC,stroke:#6C8EBF,stroke-width:1px,color:#000
41+
classDef server fill:#D5E8D4,stroke:#82B366,stroke-width:1px,color:#000
42+
classDef mclag fill:#F0F8FF,stroke:#6C8EBF,stroke-width:1px,color:#000
43+
classDef eslag fill:#FFF8E8,stroke:#CC9900,stroke-width:1px,color:#000
44+
classDef hidden fill:none,stroke:none
45+
classDef legendBox fill:white,stroke:#999,stroke-width:1px,color:#000
46+
47+
%% Network diagram
48+
subgraph Spines[ ]
49+
direction LR
50+
subgraph Spine_01_Group [ ]
51+
direction TB
52+
Spine_01["spine-01<br>spine"]
53+
end
54+
subgraph Spine_02_Group [ ]
55+
direction TB
56+
Spine_02["spine-02<br>spine"]
57+
end
58+
end
59+
60+
subgraph Leaves[ ]
61+
direction LR
62+
subgraph MCLAG [MCLAG]
63+
direction LR
64+
Leaf_01["leaf-01<br>server-leaf"]
65+
Leaf_02["leaf-02<br>server-leaf"]
66+
end
67+
68+
subgraph ESLAG [ESLAG]
69+
direction LR
70+
Leaf_03["leaf-03<br>server-leaf"]
71+
Leaf_04["leaf-04<br>server-leaf"]
72+
end
73+
74+
Leaf_05["leaf-05<br>server-leaf"]
75+
end
76+
77+
subgraph Servers[ ]
78+
direction TB
79+
Server_03["server-03"]
80+
Server_01["server-01"]
81+
Server_02["server-02"]
82+
Server_04["server-04"]
83+
Server_07["server-07"]
84+
Server_05["server-05"]
85+
Server_06["server-06"]
86+
Server_08["server-08"]
87+
Server_09["server-09"]
88+
Server_10["server-10"]
89+
end
90+
91+
%% Connections
92+
93+
%% Spine_01 -> Leaves
94+
Spine_01 ---|"E1/8↔E1/1<br>E1/9↔E1/2"| Leaf_01
95+
Spine_01 ---|"E1/10↔E1/4<br>E1/9↔E1/3"| Leaf_02
96+
Spine_01 ---|"E1/4↔E1/5<br>E1/5↔E1/6"| Leaf_03
97+
Spine_01 ---|"E1/4↔E1/9<br>E1/5↔E1/10"| Leaf_05
98+
Spine_01 ---|"E1/5↔E1/7<br>E1/6↔E1/8"| Leaf_04
99+
100+
%% Spine_02 -> Leaves
101+
Spine_02 ---|"E1/11↔E1/3<br>E1/12↔E1/4"| Leaf_02
102+
Spine_02 ---|"E1/7↔E1/7<br>E1/8↔E1/8"| Leaf_04
103+
Spine_02 ---|"E1/11↔E1/2<br>E1/10↔E1/1"| Leaf_01
104+
Spine_02 ---|"E1/6↔E1/5<br>E1/7↔E1/6"| Leaf_03
105+
Spine_02 ---|"E1/7↔E1/10<br>E1/6↔E1/9"| Leaf_05
106+
107+
%% Leaves -> Servers
108+
Leaf_01 ---|"enp2s1↔E1/6"| Server_02
109+
Leaf_01 ---|"enp2s1↔E1/7"| Server_03
110+
Leaf_01 ---|"enp2s1↔E1/5"| Server_01
111+
112+
Leaf_02 ---|"enp2s2↔E1/5"| Server_01
113+
Leaf_02 ---|"enp2s2↔E1/6"| Server_02
114+
Leaf_02 ---|"enp2s1↔E1/7<br>enp2s2↔E1/8"| Server_04
115+
116+
Leaf_03 ---|"enp2s1↔E1/1"| Server_05
117+
Leaf_03 ---|"enp2s1↔E1/2"| Server_06
118+
Leaf_03 ---|"enp2s1↔E1/3"| Server_07
119+
120+
Leaf_04 ---|"enp2s2↔E1/2"| Server_06
121+
Leaf_04 ---|"enp2s1↔E1/3<br>enp2s2↔E1/4"| Server_08
122+
Leaf_04 ---|"enp2s2↔E1/1"| Server_05
123+
124+
Leaf_05 ---|"enp2s1↔E1/1"| Server_09
125+
Leaf_05 ---|"enp2s1↔E1/2<br>enp2s2↔E1/3"| Server_10
126+
127+
subgraph Legend["Network Connection Types"]
128+
direction LR
129+
130+
%% Create invisible nodes for the start and end of each line
131+
L1(( )) --- |"Fabric Links"| L2(( ))
132+
L3(( )) --- |"MCLAG Server Links"| L4(( ))
133+
L5(( )) --- |"Bundled Server Links"| L6(( ))
134+
L7(( )) --- |"Unbundled Server Links"| L8(( ))
135+
L9(( )) --- |"ESLAG Server Links"| L10(( ))
136+
end
137+
138+
class Spine_01,Spine_02 spine
139+
class Leaf_01,Leaf_02,Leaf_03,Leaf_04,Leaf_05 leaf
140+
class Server_03,Server_01,Server_02,Server_04,Server_07,Server_05,Server_06,Server_08,Server_09,Server_10 server
141+
class MCLAG mclag
142+
class ESLAG eslag
143+
class L1,L2,L3,L4,L5,L6,L7,L8,L9,L10 hidden
144+
class Legend legendBox
145+
linkStyle default stroke:#666,stroke-width:2px
146+
linkStyle 0,1,2,3,4,5,6,7,8,9 stroke:#CC3333,stroke-width:4px
147+
linkStyle 10,12,13,14 stroke:#99CCFF,stroke-width:4px,stroke-dasharray:5 5
148+
linkStyle 15,20,23 stroke:#66CC66,stroke-width:4px
149+
linkStyle 16,17,19,21 stroke:#CC9900,stroke-width:4px,stroke-dasharray:5 5
150+
linkStyle 11,18,22 stroke:#999999,stroke-width:2px
151+
linkStyle 24 stroke:#B85450,stroke-width:2px
152+
linkStyle 25 stroke:#6C8EBF,stroke-width:2px,stroke-dasharray:5 5
153+
linkStyle 26 stroke:#82B366,stroke-width:2px
154+
linkStyle 27 stroke:#000000,stroke-width:2px
155+
linkStyle 28 stroke:#CC9900,stroke-width:2px,stroke-dasharray:5 5
156+
157+
%% Make subgraph containers invisible
158+
style Spines fill:none,stroke:none
159+
style Leaves fill:none,stroke:none
160+
style Servers fill:none,stroke:none
161+
style Spine_01_Group fill:none,stroke:none
162+
style Spine_02_Group fill:none,stroke:none
163+
```
164+
32165
You can jump [to the instructions](#build-the-installer-and-start-vlab) to start VLAB, or see the next section for customizing the topology.
33166

34167
### Collapsed Core
168+
35169
If a Collapsed Core topology is desired, after the `hhfab init --dev` step, edit the resulting `fab.yaml` file and change the `mode: spine-leaf` to `mode: collapsed-core`:
36170

37171
```console
@@ -42,7 +176,75 @@ ubuntu@docs:~$ hhfab vlab gen
42176
11:39:02 INF >>> orphanLeafsCount=0 vpcLoopbacks=2
43177
11:39:02 INF >>> mclagServers=2 eslagServers=2 unbundledServers=1 bundledServers=1
44178
11:39:02 INF Generated wiring file name=vlab.generated.yaml
179+
```
45180

181+
The collapsed core topology with 2 MCLAG leaves:
182+
183+
```mermaid
184+
graph TD
185+
186+
%% Style definitions
187+
classDef leaf fill:#DAE8FC,stroke:#6C8EBF,stroke-width:1px,color:#000
188+
classDef server fill:#D5E8D4,stroke:#82B366,stroke-width:1px,color:#000
189+
classDef mclag fill:#F0F8FF,stroke:#6C8EBF,stroke-width:1px,color:#000
190+
classDef hidden fill:none,stroke:none
191+
classDef legendBox fill:white,stroke:#999,stroke-width:1px,color:#000
192+
193+
%% Network diagram
194+
subgraph Leaves[ ]
195+
direction LR
196+
subgraph MCLAG [MCLAG]
197+
direction LR
198+
Leaf_01["leaf-01<br>server-leaf"]
199+
Leaf_02["leaf-02<br>server-leaf"]
200+
end
201+
202+
end
203+
204+
subgraph Servers[ ]
205+
direction TB
206+
Server_03["server-03"]
207+
Server_01["server-01"]
208+
Server_02["server-02"]
209+
Server_04["server-04"]
210+
end
211+
212+
%% Connections
213+
214+
%% Leaves -> Servers
215+
Leaf_01 ---|"enp2s1↔E1/6"| Server_02
216+
Leaf_01 ---|"enp2s1↔E1/7"| Server_03
217+
Leaf_01 ---|"enp2s1↔E1/5"| Server_01
218+
219+
Leaf_02 ---|"enp2s2↔E1/6"| Server_02
220+
Leaf_02 ---|"enp2s1↔E1/7<br>enp2s2↔E1/8"| Server_04
221+
Leaf_02 ---|"enp2s2↔E1/5"| Server_01
222+
223+
subgraph Legend["Network Connection Types"]
224+
direction LR
225+
226+
%% Create invisible nodes for the start and end of each line
227+
L3(( )) --- |"MCLAG Server Links"| L4(( ))
228+
L5(( )) --- |"Bundled Server Links"| L6(( ))
229+
L7(( )) --- |"Unbundled Server Links"| L8(( ))
230+
end
231+
232+
class Leaf_01,Leaf_02 leaf
233+
class Server_03,Server_01,Server_02,Server_04 server
234+
class MCLAG mclag
235+
class L3,L4,L5,L6,L7,L8 hidden
236+
class Legend legendBox
237+
linkStyle default stroke:#666,stroke-width:2px
238+
linkStyle 0,2,3 stroke:#99CCFF,stroke-width:4px,stroke-dasharray:5 5
239+
linkStyle 4 stroke:#66CC66,stroke-width:4px
240+
linkStyle 1 stroke:#999999,stroke-width:2px
241+
linkStyle 5 stroke:#6C8EBF,stroke-width:2px,stroke-dasharray:5 5
242+
linkStyle 6 stroke:#82B366,stroke-width:2px
243+
linkStyle 7 stroke:#000000,stroke-width:2px
244+
245+
%% Make subgraph containers invisible
246+
style Leaves fill:none,stroke:none
247+
style Servers fill:none,stroke:none
46248
```
47249

48250
### Custom Spine Leaf

0 commit comments

Comments
 (0)