fix: topology — reflect VLAN90 Ceph network and DHCP management separation

10G SFP+ ports on USW-Agg are VLAN90 (10.10.90.x/24, static IPs, Ceph storage).
1G ports on Pro 24 PoE are DHCP management. Update topology to show this:
- USW-Agg sublabel shows VLAN90 · 10.10.90.x (cyan)
- Pro 24 PoE sublabel shows DHCP mgmt (cyan)
- Host sublabels changed from "10G+1G" to "VLAN90" for the 10G Agg connection
- 1G management band label updated to "← 1G DHCP mgmt (Pro 24 PoE) →"
- Add .topo-vlan-tag CSS for cyan VLAN annotation on switch nodes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-14 22:10:17 -04:00
parent f2541eb45c
commit 6eb21055ef
2 changed files with 18 additions and 9 deletions

View File

@@ -366,6 +366,12 @@ a:hover { text-decoration: underline; text-shadow: var(--glow-amber); }
.topo-badge-unknown { color:var(--text-muted); border-color:var(--border); } .topo-badge-unknown { color:var(--text-muted); border-color:var(--border); }
.topo-vlan-tag {
color: var(--cyan) !important;
opacity: .7;
font-size: .54em !important;
}
/* Switch tier: two switches with horizontal connector */ /* Switch tier: two switches with horizontal connector */
.topo-switch-tier { .topo-switch-tier {
display: flex; display: flex;

View File

@@ -60,6 +60,7 @@
<span class="topo-icon"></span> <span class="topo-icon"></span>
<span class="topo-label">USW-Agg</span> <span class="topo-label">USW-Agg</span>
<span class="topo-node-sub">8×10G SFP+ · RU22</span> <span class="topo-node-sub">8×10G SFP+ · RU22</span>
<span class="topo-node-sub topo-vlan-tag">VLAN90 · 10.10.90.x</span>
</div> </div>
<div class="topo-h-link"> <div class="topo-h-link">
<div class="topo-h-link-line"></div> <div class="topo-h-link-line"></div>
@@ -69,6 +70,7 @@
<span class="topo-icon"></span> <span class="topo-icon"></span>
<span class="topo-label">Pro 24 PoE</span> <span class="topo-label">Pro 24 PoE</span>
<span class="topo-node-sub">24×1G PoE · RU23</span> <span class="topo-node-sub">24×1G PoE · RU23</span>
<span class="topo-node-sub topo-vlan-tag">DHCP mgmt</span>
</div> </div>
</div> </div>
</div> </div>
@@ -77,9 +79,9 @@
<div class="topo-host-tier"> <div class="topo-host-tier">
<div class="topo-host-group"> <div class="topo-host-group">
<!-- 10G primary lines from Agg --> <!-- 10G static VLAN90 lines from Agg (primary / Ceph) -->
<div class="topo-connectors" style="gap:20px; justify-content:center"> <div class="topo-connectors" style="gap:20px; justify-content:center">
<div class="topo-line"></div> <div class="topo-line topo-line-labeled" data-link-label="10G SFP+"></div>
<div class="topo-line"></div> <div class="topo-line"></div>
<div class="topo-line"></div> <div class="topo-line"></div>
<div class="topo-line"></div> <div class="topo-line"></div>
@@ -88,20 +90,21 @@
</div> </div>
<!-- 1G management lines from PoE (dashed amber) --> <!-- 1G management lines from PoE (dashed amber) -->
<!-- 1G DHCP management band from PoE switch -->
<div class="topo-mgmt-band"> <div class="topo-mgmt-band">
<span class="topo-mgmt-label">1G mgmt (PoE)</span> <span class="topo-mgmt-label">1G DHCP mgmt (Pro 24 PoE)</span>
<div class="topo-mgmt-line"></div> <div class="topo-mgmt-line"></div>
</div> </div>
<div class="topo-row topo-hosts-row"> <div class="topo-row topo-hosts-row">
{%- set topo_h = snapshot.hosts if snapshot.hosts else {} -%} {%- set topo_h = snapshot.hosts if snapshot.hosts else {} -%}
{%- set all_defs = [ {%- set all_defs = [
('compute-storage-gpu-01', 'csg-01', 'RU412 · 10G+1G', False), ('compute-storage-gpu-01', 'csg-01', 'RU412 · VLAN90', False),
('compute-storage-01', 'cs-01', 'RU1417 · 10G+1G', False), ('compute-storage-01', 'cs-01', 'RU1417 · VLAN90', False),
('storage-01', 'storage-01','rack · 10G+1G', False), ('storage-01', 'storage-01','rack · VLAN90', False),
('monitor-01', 'monitor-01','ZimaBoard · 10G+1G', False), ('monitor-01', 'monitor-01','ZimaBoard · VLAN90', False),
('monitor-02', 'monitor-02','ZimaBoard · 10G+1G', False), ('monitor-02', 'monitor-02','ZimaBoard · VLAN90', False),
('large1', 'large1', 'table · 10G+1G', True), ('large1', 'large1', 'table · VLAN90', True),
] -%} ] -%}
{%- for hname, hlabel, hsub, off_rack in all_defs -%} {%- for hname, hlabel, hsub, off_rack in all_defs -%}
{%- set st = topo_h[hname].status if hname in topo_h else 'unknown' -%} {%- set st = topo_h[hname].status if hname in topo_h else 'unknown' -%}