Skip to content

πŸ› hub: fix fleet Version column β€” stable "N behind Β· building", "β€”" versions, upgrade control - #11647

Merged
hivecommons-hive[bot] merged 2 commits into
v5from
fix/hub-fleet-version-column
Oct 13, 2026
Merged

hivecommons-hive[bot] merged 2 commits into
v5from
fix/hub-fleet-version-column

Conversation

@clubanderson

Copy link
Copy Markdown
Member

Fixes #11645

What

Three fleet-page (My Hives) Version-column defects seen live on 2026-10-12 (hub 3d0503c, 97 hives):

Symptom Root cause Fix
51 :stable hives at 0d399a6 (== channel commit) badge "796 behind Β· building" ⏳, grouped "Up to date" image_pulls.go activeReleaseLine: stable Branch=="" after auto-promotion β†’ fallback to highest line v6; commitsBehindStableV4 measured vs v6 tip. dashboard.html channelImagePending fired because behindTargetSHA != _latestSHAs[v5], pulling _latestImageStatus.v5 ("building") into stable rows. Stable line follows channelUpstream (stableβ†’candidateβ†’edge β‡’ v5); my-hives measures each hive vs its own branch tip (branchTipSHA); new behindTargetPromotionGated flag gates channelImagePending; βœ“ tooltip carries "stable channel is N behind candidate".
Hub pushed :stable spokes to 3910932/9c1a585/6eed1b9 (recentEvents) channel_image_target.go walked the branch forward for :stable too β†’ reachableUpgradeTarget bypassed the soak :stable is promotion-gated: target == channel commit, no walk, PromotionGated=true, never VerificationUnavailable
36 vllm-d hives show "β€”" version Registry entry has no GitHash/Version (30 never heartbeated this epoch, 6 last seen 17:02Z); UI printed "β€”" New versionMissingReason ("no heartbeat yet" / "push-only cluster Β· awaiting spoke heartbeat" / "heartbeat carries no version") + "last seen " in the cell and an explanatory tooltip
Upgrade control missing / inconsistent Hidden via mis-flagged isCurrent; enabled-with-hint while target image building Single attribute source for auto + manual paths; aria-disabled + tooltip "image for still building" while building

Tests

  • go test ./pkg/hub/... -cover β†’ ok 88.5% (floor 87%).
  • New fleet_version_column_test.go: promotion-gated stable target (blocking + non-blocking), reachableUpgradeTarget for stable, channelFollowsBranchTip, activeReleaseLine upstream walk, versionMissingReason, clusterIsPullOnly, dashboard markup contract.

Not in this PR (operator)

vllm-d spokes are all CreateContainerError (SELinux relabel of the CephFS PVC fails on /data/.hive) and HIVE_CLUSTER_ID (#11432) is still unset there β€” tracked in the issue.

…ersions, upgrade control

Fixes #11645

Stable hives sitting exactly at the auto-promoted stable commit rendered
"796 behind Β· building" with an hourglass and no upgrade control, while
being grouped under "Up to date". Three defects, one column:

1. activeReleaseLine fell back to the highest-numbered line (v6) once
   auto-promotion held :stable off any branch tip (Branch == ""), so
   commitsBehindStableV4 for every hive was measured against the v6 tip.
   The stable line now follows the channel stable is promoted from
   (stable β†’ candidate β†’ edge) and my-hives measures each hive against
   its own branch tip (new branchTipSHA field).

2. channelPublishedImageTarget walked the branch forward for :stable too,
   handing stable spokes newer v5 per-SHA images (3910932, 9c1a585,
   6eed1b9 in recentEvents) and bypassing the soak. :stable is now
   promotion-gated: target == channel commit, PromotionGated=true,
   never VerificationUnavailable. The dashboard uses that flag to stop
   the candidate build status leaking into stable rows and notes the
   stable-vs-candidate lag in the βœ“ tooltip instead.

3. The Version cell rendered "β€”" for hives with no reported version.
   my-hives now sends versionMissingReason ("no heartbeat yet",
   "push-only cluster Β· awaiting spoke heartbeat", "heartbeat carries
   no version") and the cell appends "last seen <age>" so no-data and
   stale-data read differently.

The upgrade control is emitted from one attribute source for the auto
and manual paths; while the target image is still building it stays
visible but aria-disabled with the tooltip "image for <sha> still
building".

Signed-off-by: Andrew Anderson <andy@clubanderson.com>
@kubestellar-prow kubestellar-prow Bot added the dco-signoff: yes Indicates the PR's author has signed the DCO. label Oct 13, 2026
@kubestellar-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign clubanderson for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubestellar-prow kubestellar-prow Bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Oct 13, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Open PR overlap check

Base branch: v5

Conflicts are checked with every PR merged onto the current tip of v5, so a PR that only needs a rebase is not reported as conflicting with its siblings.

No conflicting open PRs or same-file overlaps were found.

Keeps the hub static-pages style= count at the 947 ratchet baseline.

Signed-off-by: Andrew Anderson <andy@clubanderson.com>
@hivecommons-hive
hivecommons-hive Bot merged commit 3e07a64 into v5 Oct 13, 2026
56 of 57 checks passed
@hivecommons-hive

Copy link
Copy Markdown
Contributor

merged by Hive trusted-author auto-merge: author @clubanderson holds role owner and GitHub permission admin on repo; CI green at 476e7eb.

@kubestellar-prow
kubestellar-prow Bot deleted the fix/hub-fleet-version-column branch October 13, 2026 01:37
@github-actions

Copy link
Copy Markdown
Contributor

Thank you for your contribution! Your PR has been merged.

We'd love to hear how your experience was: share feedback

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dco-signoff: yes Indicates the PR's author has signed the DCO. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

πŸ› hub: stable hives show "796 behind Β· building"; push-only hives show "β€”" version; upgrade button missing

1 participant