Skip to content

fix(update): only require fleet verification for gateway runtimes - #97450

Closed
wooyongbin3-cpu wants to merge 1 commit into
NousResearch:mainfrom
wooyongbin3-cpu:fix/dashboard-update-exit-code
Closed

wooyongbin3-cpu wants to merge 1 commit into
NousResearch:mainfrom
wooyongbin3-cpu:fix/dashboard-update-exit-code

Conversation

@wooyongbin3-cpu

Copy link
Copy Markdown
Contributor

Summary

This PR fixes #97332 by only requiring fleet verification for gateway runtimes, not dashboard/serve runtimes.

Problem

The updater was treating any runtime (dashboard, serve) as evidence that gateway fleet verification was needed. This caused hermes update to exit 1 even when only a dashboard was running and the update succeeded.

Solution

Filter pre_update_plan.runtimes to only count gateway runtimes as evidence requiring fleet verification:

has_gateway = any(
    getattr(r, 'kind', '') == 'gateway'
    for r in pre_update_plan.runtimes
)
if has_gateway:
    return True

Dashboard/serve-only plans no longer trigger the gateway fleet check.

Changes

  • Modified hermes_cli/update_cmd.py: Added gateway-specific filtering in _fleet_probe_expected_runtimes

🤖 Generated with Codebuff
Co-Authored-By: Codebuff noreply@codebuff.com

The updater was treating any runtime (dashboard, serve) as evidence that
gateway fleet verification was needed. This caused `hermes update` to
exit 1 even when only a dashboard was running and the update succeeded.

The fix filters pre_update_plan.runtimes to only count gateway runtimes
as evidence requiring fleet verification. Dashboard/serve-only plans no
longer trigger the gateway fleet check.

This preserves the fail-closed behavior when a gateway was running while
fixing the false positive for dashboard-only setups.

Fixes NousResearch#97332

🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
@alt-glitch alt-glitch added type/bug Something isn't working comp/cli CLI entry point, hermes_cli/, setup wizard area/install-update Installer, updater, packaging, wheels, doctor sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades P2 Medium — degraded but workaround exists duplicate This issue or pull request already exists labels Aug 28, 2026
@alt-glitch

Copy link
Copy Markdown
Contributor

This was generated by AI during triage.

Duplicate of #97350: both make fleet verification expect rows only for gateway-kind plan records. #97350 is the earlier, test-covered implementation.

@teknium1

teknium1 commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator

Same fix landed in #103478 (f58fcc8) via the earlier #97350 by @liuhao1024 (cherry-picked with credit). Thanks for the report.

@teknium1 teknium1 closed this Sep 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/install-update Installer, updater, packaging, wheels, doctor comp/cli CLI entry point, hermes_cli/, setup wizard duplicate This issue or pull request already exists P2 Medium — degraded but workaround exists sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: dashboard-only runtime makes successful hermes update exit 1 on empty gateway fleet check

3 participants