Repository navigation
Spark wireless link: auth-retries 0, disconnected-no-secrets named, srv12 rostered with a coverage join - #13199
Merged
Merged
Conversation
…sconnected-no-secrets named, srv12 rostered with a coverage join Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…s read from the profile active on the interface (review of #13199) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
gunbai-bot Bot
pushed a commit
that referenced
this pull request
Oct 4, 2026
…ayHaveRun Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lessons A2 and B from the 2026-10-03/04 Spark Group A bring-up, turned into facts that code actually reads (
node://adhoc-f0195bdb-ef2).A2 — a failed handshake or activation keeps retrying instead of stopping.
extdeps.networkmanager.nmcliNmRetryBudgetis one decoding (-1 global default, 0 without limit, n a count) used by two properties, both cited from nm-settings-nmcli(5), read 2026-10-04:connection.auth-retries: the default is 3 attempts, and "Connections using a pre-shared key to authenticate will only prompt for a new key during the last authentication attempt". A headless host has no agent to answer that prompt, which matches the "no secrets: No agents were available" seen on srv8 and spark-3336 on 2026-10-03. With 0 there is no last attempt.connection.autoconnect-retries: the default is 4 autoactivation attempts "before giving up", after which autoconnect is blocked until a timeout. "Zero means forever."spark_wireless_auth_retries,spark_wireless_autoconnect_retries). Each goes through the full chain: observed → planned (WirelessLinkPlan.auth_retries/.autoconnect_retries) → applied (nmcli connection modify <uuid> connection.<prop> 0) → read back and re-decided, inside the existingspark_wireless_link_convergemode.LinkDisconnectedNoSecrets. It comes fromnmcli -g GENERAL.STATE device show(30 = disconnected) combined with the count of "no secrets" lines injournalctl -u NetworkManager -b, and appears in the receipt asstanding=DISCONNECTED-NO-SECRETS(...).The governing profile is read from the device (review of this PR).
observe_wireless_linkfirst readsnmcli -t -f UUID,DEVICE,NAME connection show --active(nm_active_connection_on). It then reads every persisted setting (powersave, auth-retries, autoconnect-retries) from the profile ACTIVE on wlP9s9, by UUID, never from the desired profile's name.B — the spark-2196 power-save "regression" was a roster gap, not drift.
wireless_link_desired_rowsleft it out ("radio not measured"), so no converge ever ran there.802-11-wireless.powersave, so Ubuntu'sconf.d/default-wifi-powersave-on.conf(wifi.powersave = 3) applied. Latency was 165 ms vs 11 ms after the fix./etc/netplan/90-NM-…yaml, so it persists.wireless_link_uncovered_spark_hostsjoins the rows againstgunbc.spark.dgx_procurementdgx_spark_procurement_intent.reserved_identitiesby identity.Witnesses:
test.claim.fleet.fleet_wireless_link_witness, 27/27 PASS via claim_batch on BuildBuddy.witness_desired_profile_correct_active_profile_drifting_is_drift: the name lookup answersdisable, the active UUID answersenable. It must not read as converged, and it refuses at readback because the pure runner cannot change state.witness_default_autoconnect_retries_is_drift_planned_to_zeroandwitness_default_auth_retries_is_drift_planned_to_zero: still at the upstream default -1 → planned to 0 on the governing UUID.witness_a_different_active_profile_refuses,witness_no_active_profile_refuses, and the active-listing parser (interface row picked,\:unescaped, two profiles on one device unreadable).witness_every_procured_spark_has_a_wireless_row(deleting srv12's row reds it), the no-secrets standing and its negatives, and the existing converge-route claims rewired to the UUID reads.Ledger:
gunbc.recurring_failure_modea_host_absent_from_a_converge_roster_silently_keeps_the_upstream_default, including the read-by-name sibling found in review.Not done here, stated:
ArgvLegMayHaveRunarm toArgvRun, whichargv_run_failurehere must handle. Whichever of the two lands second merges main and adds that arm.🤖 Generated with Claude Code