fix: topology — all servers dual-homed 10G+1G, show mgmt band

All rack servers (and large1 on table) have both a 10G link to USW-Agg
and a 1G management link to Pro 24 PoE. Update topology:
- Move all 6 hosts into single row (including large1)
- Update sublabels to "10G+1G" for all nodes
- large1 dashed-border (off-rack) with "table · 10G+1G"
- Add dashed amber "1G mgmt (PoE)" horizontal band above hosts
  to represent the PoE switch management connections
- 10G primary fan-out lines still drop from Agg switch above
- large1 primary line rendered as dashed green (off-rack run)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-14 22:08:48 -04:00
parent e779b21db4
commit f2541eb45c
2 changed files with 59 additions and 38 deletions

View File

@@ -73,58 +73,48 @@
</div>
</div>
<!-- ── Tier 4: Hosts ──────────────────────────── -->
<!-- ── Tier 4: Hosts (all dual-homed 10G + 1G) ── -->
<div class="topo-host-tier">
<!-- Agg-connected hosts (10G) -->
<div class="topo-host-group">
<div class="topo-connectors" style="gap:32px; justify-content:center">
<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>
<div class="topo-row topo-hosts-row">
<!-- 10G primary lines from Agg -->
<div class="topo-connectors" style="gap:20px; justify-content:center">
<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 topo-line-dashed"></div>
</div>
<!-- 1G management lines from PoE (dashed amber) -->
<div class="topo-mgmt-band">
<span class="topo-mgmt-label">1G mgmt (PoE)</span>
<div class="topo-mgmt-line"></div>
</div>
<div class="topo-row topo-hosts-row">
{%- set topo_h = snapshot.hosts if snapshot.hosts else {} -%}
{%- set agg_defs = [
('compute-storage-gpu-01', 'csg-01', 'RU412 · 10G'),
('compute-storage-01', 'cs-01', 'RU1417 · 10G'),
('storage-01', 'storage-01','10G SFP+'),
('monitor-01', 'monitor-01','ZimaBoard · 10G'),
('monitor-02', 'monitor-02','ZimaBoard · 10G'),
{%- set all_defs = [
('compute-storage-gpu-01', 'csg-01', 'RU412 · 10G+1G', False),
('compute-storage-01', 'cs-01', 'RU1417 · 10G+1G', False),
('storage-01', 'storage-01','rack · 10G+1G', False),
('monitor-01', 'monitor-01','ZimaBoard · 10G+1G', False),
('monitor-02', 'monitor-02','ZimaBoard · 10G+1G', False),
('large1', 'large1', 'table · 10G+1G', True),
] -%}
{%- for hname, hlabel, hsub in agg_defs -%}
{%- for hname, hlabel, hsub, off_rack in all_defs -%}
{%- set st = topo_h[hname].status if hname in topo_h else 'unknown' -%}
<div class="topo-node topo-host topo-status-{{ st }}" data-host="{{ hname }}">
<div class="topo-node topo-host{{ ' topo-host-table' if off_rack else '' }} topo-status-{{ st }}" data-host="{{ hname }}">
<span class="topo-icon"></span>
<span class="topo-label">{{ hlabel }}</span>
<span class="topo-node-sub">{{ hsub }}</span>
<span class="topo-badge topo-badge-{{ st }}">{{ st if st != 'unknown' else '' }}</span>
</div>
{%- endfor -%}
</div>
</div>
<!-- PoE-connected hosts -->
<div class="topo-host-group topo-poe-hosts">
<div class="topo-connectors single">
<div class="topo-line topo-line-labeled" data-link-label="1G PoE"></div>
</div>
<div class="topo-row">
{%- set topo_h = snapshot.hosts if snapshot.hosts else {} -%}
{%- set lst = topo_h['large1'].status if 'large1' in topo_h else 'unknown' -%}
<div class="topo-node topo-host topo-host-table topo-status-{{ lst }}" data-host="large1">
<span class="topo-icon"></span>
<span class="topo-label">large1</span>
<span class="topo-node-sub">on table · 1G</span>
<span class="topo-badge topo-badge-{{ lst }}">{{ lst if lst != 'unknown' else '' }}</span>
</div>
</div>
</div>
</div><!-- /topo-host-tier -->
</div>