{% extends 'base/layout.html' %} {% load helpers %} {% block title %}Backbone health{% endblock %} {% block content %}

Backbone health — data quality

{% if site %}

{{ site.name }} — {% if healthy %} No anomaly detected {% else %} {{ total }} anomal{{ total|pluralize:"y,ies" }} {% endif %}

{{ overview.racks }}
Racks on backbone
{{ overview.trunks }}
Structural trunks
{{ overview.bridges }}
Bridges
{% for m, n in overview.media.items %}{{ m }}:{{ n }}{% if not forloop.last %} · {% endif %}{% empty %}—{% endfor %}
Trunks per media
{{ overview.component_count }}
Backbone island{{ overview.component_count|pluralize }}
{{ overview.isolated_racks }}
Off-backbone racks
{% if overview.fragmented %}

The backbone splits into {{ overview.component_count }} disconnected groups (largest: {{ overview.largest_component }} racks). Racks in different groups can only be joined by a bridge.

{% endif %}
{% for cat in categories %}

{{ cat.label }} {% if cat.count %} {{ cat.count }} {% else %} 0 {% endif %}

{{ cat.help }}

{% if cat.rows %} {% for r in cat.rows %} {% endfor %}
ObjectLocation / rackDetail
{% if r.cable %} {% if r.cable.url %}{{ r.cable.name }}{% else %}{{ r.cable.name }}{% endif %} {% elif r.rear_port %} {% if r.rear_port.url %}{{ r.rear_port.name }}{% else %}{{ r.rear_port.name }}{% endif %} {% else %}—{% endif %} {% if r.rack %} {% if r.rack.url %}{{ r.rack.name }}{% else %}{{ r.rack.name }}{% endif %} {% elif r.rear_port %}{{ r.rear_port.name }}{% else %}—{% endif %} {{ r.detail|default:"—" }}
{% endif %}
{% endfor %} {% if intra_rack.count %}

Intra-rack cross-connects (informational) {{ intra_rack.count }}

Rear↔rear cables between two different panels of the same rack — legitimate cabling, but ignored by inter-rack routing (a same-rack segment is a self-loop). Listed here only for review; not counted as anomalies.

{% for r in intra_rack.rows %} {% endfor %}
CableRack
{% if r.cable.url %}{{ r.cable.name }}{% else %}{{ r.cable.name }}{% endif %} {% if r.rack.url %}{{ r.rack.name }}{% else %}{{ r.rack.name }}{% endif %}
{% endif %} {% endif %} {% endblock %}