{% if snapshot is none %} {% if refresh_error %} {% endif %}

Gathering the first fleet snapshot…{% if refreshing %} Refresh in progress for {{ refresh_elapsed }}.{% endif %}

{% else %} {% if refreshing %} {% elif refresh_error %} {% elif snapshot_stale %} {% endif %} {# Two config keys naming one machine is a real defect, not a cosmetic one: both are swept, both render, and every job on that machine is counted twice in the jobs table and the JSON API. #} {% for hostname, keys in duplicate_enrolments %} {% endfor %} {# #168: a configured target is a config key, not a machine. Daemon counts are per daemon: a scheduler lane reports its driver's health, so counting it again would repeat the driver. #} {% set r = readiness %}
{{ summary.hosts }}configured targets
{{ r.resources.known }}{% if r.resources.unidentified %}+?{% endif %} execution resources
{{ summary.running }}running
{{ summary.pending }}pending
{{ summary.running_cpus }}cpus busy
{{ summary.unreachable }}unreachable
{{ r.daemons.degraded }}daemons degraded
{{ r.daemons.unknown }}daemon health unknown
{# The number an operator running a rolling update is actually watching. #}
{{ summary.vq_versions | length }} vq version{{ "" if summary.vq_versions | length == 1 else "s" }}

{% if snapshot_age %}updated {{ snapshot_age }} ago{% else %}updated just now{% endif %} · sweep took {{ snapshot.duration_seconds }} s {% if summary.vq_versions %}· vq {{ summary.vq_versions | join(", ") }}{% endif %} {% if not summary.converged %}— fleet is not on one vq version (a rollout state, not a dispatch hold: see readiness below){% endif %}

Execution readiness

{{ r.targets.daemon_hosts }} daemon host{{ "" if r.targets.daemon_hosts == 1 else "s" }} and {{ r.targets.scheduler_lanes }} scheduler lane{{ "" if r.targets.scheduler_lanes == 1 else "s" }} on {{ r.resources.machines }} machine{{ "" if r.resources.machines == 1 else "s" }} and {{ r.resources.clusters }} cluster{{ "" if r.resources.clusters == 1 else "s" }}{% if r.resources.unidentified %}, plus {{ r.resources.unidentified }} target{{ "" if r.resources.unidentified == 1 else "s" }} not identified{% endif %}. Dispatch: {{ r.dispatch.open }} open · {{ r.dispatch.held }} held · {{ r.dispatch.unknown }} unknown. Live calculations, each counted once: {{ r.executions.counts.running }} running ({{ r.executions.allocated_cpus }} CPUs allocated), {{ r.executions.counts.queued }} queued{% if r.executions.counts.held %}, {{ r.executions.counts.held }} held{% endif %}{% if r.executions.counts.unconfirmed %}, {{ r.executions.counts.unconfirmed }} unconfirmed{% endif %}.

{% if r.partial %} {% endif %} {% if r.programs %}
{% for p in r.programs %} {% endfor %}
programeligible on (current runtime)updatesnot eligible
{{ p.program }} {% for e in p.eligible %}{{ e.target }}{% if e.runtime %} ({{ e.runtime }}){% endif %}{% if not loop.last %}, {% endif %}{% else %}none established{% endfor %} {% for u in p.updates %}
{{ u.target }}: {{ u.state }}{% if u.holds_dispatch %} (dispatch held){% else %} (current runtime unaffected){% endif %}{% if u.action %}
{{ u.action }}{% endif %}
{% else %}-{% endfor %}
{% for h in p.held %}
held on {{ h.target }}: {{ h.reason | truncate(200, true) }}
{% endfor %} {% for x in p.refused %}
refused on {{ x.target }}: {{ x.reason | truncate(200, true) }}
{% endfor %} {% for u in p.unknown %}
unknown on {{ u.target }}: {{ u.reason | truncate(200, true) }}
{% endfor %} {% if not (p.held or p.refused or p.unknown) %}-{% endif %}
{% else %}

No target reported a program runtime, an update lease or a refused job.

{% endif %} {% if r.admission_failures %}

Admission failures

{% endif %}
{% for card in cards %}
{{ card.host }} {# Never an empty chip: a real version, else the helper SHA a daemonless scheduler host does have, else an explicit unknown. Silence used to be indistinguishable from agreement. #} {{ card.version_label }}
{# The machine's own name for itself, shown when it differs from the config key. This is what makes a duplicate enrolment or a machine-relative key ("localhost") self-evident on the page. #} {% if card.identity_mismatch %}

calls itself {{ card.reported_hostname }}

{% endif %}
{% if card.admin_down %} admin down {% elif not card.reachable %} unreachable {% else %} {# A scheduler lane has no daemon of its own: the health shown is its driver's. #} {% set daemon_label = "driver daemon" if card.readiness and card.readiness.kind == "scheduler" else "daemon" %} {% if card.daemon_ok %} {{ daemon_label }} ok {% elif card.daemon_ok is sameas false %} {{ daemon_label }} degraded {% endif %} {% if card.readiness %} {% if card.readiness.dispatch == "open" %}dispatch open {% elif card.readiness.dispatch == "held" %}dispatch held {% else %}dispatch unknown{% endif %} {% endif %} {% if card.draining %}draining{% endif %} {% if card.throttled %}throttled{% endif %} {% if card.admin_marker_summary %} update: {{ card.admin_marker_summary }} {% endif %} {% endif %}
{% if card.reachable %}
running
{{ card.running }}
pending
{{ card.pending }}
cpus
{{ card.running_cpus }}{% if card.max_cpus %} / {{ card.max_cpus }}{% else %} / ?{% endif %}
{% if card.mem_total_mb %}
free mem
{{ card.mem_available_mb }} / {{ card.mem_total_mb }} MB
{% endif %} {% if card.idle %}
idle
{{ card.idle }}
{% endif %}
jobs listed
{{ card.job_count }}
{% if card.scheduler_queue_counts %}

scheduler phases: {% for phase, n in card.scheduler_queue_counts.items() %}{{ phase }}={{ n }}{% if not loop.last %}, {% endif %}{% endfor %}

{% endif %} {# Program versions the view used to drop, making this page strictly less informative than `vq overview` and unable to answer "which vibe-qc is deployed here?". #} {% if card.envs %}
{% for env in card.envs %}
{{ env.name }}
{% if env.error %}{{ env.error | truncate(60, true) }} {% else %}{{ env.version or "?" }}{% if env.dirty %} dirty{% endif %}{% endif %}
{% endfor %}
{% endif %} {% endif %} {# Failure detail in the card body, not a title= tooltip: a tooltip is keyboard-inaccessible, invisible on touch, and uncopyable -- and these strings are the ones an operator needs to paste somewhere. #} {% if card.admin_down %}

{{ card.admin_down }}

{% elif not card.reachable and card.error %}

{{ card.error | truncate(200, true) }}

{% endif %} {% if card.jobs_error %}

job listing failed: {{ card.jobs_error | truncate(200, true) }} {% if card.reachable %}
counts above come from the host overview and are still current; “jobs listed” is not.{% endif %}

{% endif %} {% if card.admin_marker_stale_reason %}

{{ card.admin_marker_stale_reason }}

{% endif %} {% if card.reachable and card.readiness and card.readiness.dispatch != "open" %}

dispatch {{ card.readiness.dispatch }}: {{ card.readiness.reasons | join("; ") | truncate(300, true) }}

{% endif %}

jobs on {{ card.host }} →

{% endfor %}
{% endif %}