Skip to content

Add federation forwarding and polish tests#38

Merged
powderluv merged 1 commit intomainfrom
users/powderluv/federation-polish
Mar 27, 2026
Merged

Add federation forwarding and polish tests#38
powderluv merged 1 commit intomainfrom
users/powderluv/federation-polish

Conversation

@powderluv
Copy link
Copy Markdown
Collaborator

Summary

  • Implements federation peer forwarding in scheduler_loop.rs: when jobs remain unscheduled after local scheduling + preemption, unschedulable jobs are forwarded to configured peer clusters via SlurmControllerClient::submit_job()
  • Adds core_spec_to_proto() helper (inverse of proto_to_job_spec) needed for cross-cluster RPC
  • 18 new unit tests covering federation config, PMIx env var names, power management state transitions, and srun step mode detection (688 → 706 tests)

Test plan

  • cargo test — 706 tests, 0 failures
  • cargo fmt --check — clean
  • cargo clippy — clean

🤖 Generated with Claude Code

Implements the final item from the plan: federation peer forwarding in
the scheduler loop, plus test coverage for all 5 polish features.

Changes:
- scheduler_loop.rs: forward unschedulable jobs to federation peer
  clusters via SlurmControllerClient::submit_job(). Tries peers in
  order; stops on first successful accept. Adds core_spec_to_proto()
  helper for the core→proto conversion required for RPC forwarding.
- t50_core.rs: federation config parsing tests (t50_75–78), PMIx env
  var name tests (t50_79–81) — 7 new tests.
- t07_sched.rs: federation forwarding decision tests (t07_18–20),
  power management state transition tests (t07_21–23) — 6 new tests.
- t01_run.rs: srun step mode env var tests (t01_18–20) — 3 new tests.

Total: 688 → 706 tests, 0 failures.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@powderluv powderluv merged commit 764fdcf into main Mar 27, 2026
4 checks passed
@powderluv powderluv deleted the users/powderluv/federation-polish branch March 27, 2026 16:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant