[PR #150] [MERGED] fix: sanitize singleton CPU config intersections #212

Closed
opened 2026-10-29 14:21:03 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/kvcache-ai/AgentENV/pull/150
Author: @zlzGithub-0801
Created: 8/10/2026
Status: ✅ Merged
Merged: 8/11/2026
Merged by: @yingdi-shan

Base: main ← Head: fix/single-node-cpu-template-sanitization


📝 Commits (1)

  • 56330a1 fix: sanitize singleton CPU config intersections

📊 Changes

2 files changed (+6 additions, -8 deletions)

View changed files

📝 services/scheduler/internal/cpu_template.go (+1 -5)
📝 services/scheduler/internal/cpu_template_test.go (+5 -3)

📄 Description

What

Fix the single-node startup failure when using the scheduler.

Why

In a single-node setup with the scheduler enabled, CPU config intersection took the fast path and returned the config unchanged. This preserved CPUID leaf 0xB, subleaf 0x1, which caused Firecracker startup to fail.

Closes #137

Scope and non-goals

Included:

  • Update the scheduler CPU config intersection logic.

Non-goals:

  • Changes to node logic.

Design and behavior changes

Single-node CPU configs no longer take the fast path. They now use the same filtering and validation logic as multi-node configs.

Compatibility and operations

  • Public API or generated protocol: No changes.
  • Configuration or defaults: No changes.
  • Snapshot manifest, artifact layout, or storage format: No changes.
  • Upgrade and rollback: No changes.
  • Host requirements, permissions, ports, or dependencies: No changes.

Validation

  • make fmt
  • make clippy
  • make test-unit
  • Relevant Rust integration tests
  • make -C services test (required when services/ changes)
  • Generated clients/server regenerated with the documented make target
  • Documentation updated
  • Benchmarks or performance comparison completed

Commands and results:

Skipped checks and reasons:

Documentation updates and performance benchmarks were skipped because this change does not affect documentation or performance.

Risks and reviewer notes

Checklist

  • The PR contains one coherent change and no unrelated formatting or refactoring.
  • New behavior is covered by tests, or I explained why testing is impractical.
  • Logs and examples contain no credentials, tokens, or private registry information.
  • I did not manually edit generated code without updating its source and regenerating it.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/kvcache-ai/AgentENV/pull/150 **Author:** [@zlzGithub-0801](https://github.com/zlzGithub-0801) **Created:** 8/10/2026 **Status:** ✅ Merged **Merged:** 8/11/2026 **Merged by:** [@yingdi-shan](https://github.com/yingdi-shan) **Base:** `main` ← **Head:** `fix/single-node-cpu-template-sanitization` --- ### 📝 Commits (1) - [`56330a1`](https://github.com/kvcache-ai/AgentENV/commit/56330a1c8a68126dab987cb76b5a591f44fa23c2) fix: sanitize singleton CPU config intersections ### 📊 Changes **2 files changed** (+6 additions, -8 deletions) <details> <summary>View changed files</summary> 📝 `services/scheduler/internal/cpu_template.go` (+1 -5) 📝 `services/scheduler/internal/cpu_template_test.go` (+5 -3) </details> ### 📄 Description ## What Fix the single-node startup failure when using the scheduler. ## Why In a single-node setup with the scheduler enabled, CPU config intersection took the fast path and returned the config unchanged. This preserved CPUID leaf `0xB`, subleaf `0x1`, which caused Firecracker startup to fail. ## Related issue Closes #137 ## Scope and non-goals Included: - Update the scheduler CPU config intersection logic. Non-goals: - Changes to node logic. ## Design and behavior changes Single-node CPU configs no longer take the fast path. They now use the same filtering and validation logic as multi-node configs. ## Compatibility and operations - Public API or generated protocol: No changes. - Configuration or defaults: No changes. - Snapshot manifest, artifact layout, or storage format: No changes. - Upgrade and rollback: No changes. - Host requirements, permissions, ports, or dependencies: No changes. ## Validation - [x] `make fmt` - [x] `make clippy` - [x] `make test-unit` - [x] Relevant Rust integration tests - [x] `make -C services test` (required when `services/` changes) - [x] Generated clients/server regenerated with the documented `make` target - [ ] Documentation updated - [ ] Benchmarks or performance comparison completed Commands and results: Skipped checks and reasons: Documentation updates and performance benchmarks were skipped because this change does not affect documentation or performance. ## Risks and reviewer notes ## Checklist - [x] The PR contains one coherent change and no unrelated formatting or refactoring. - [x] New behavior is covered by tests, or I explained why testing is impractical. - [x] Logs and examples contain no credentials, tokens, or private registry information. - [x] I did not manually edit generated code without updating its source and regenerating it. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-29 14:21:03 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kvcache-ai/AgentENV#212
No description provided.