解耦 runner 与 workload placement #56

Merged
panxiao81 merged 1 commits from fix/decouple-runner-placement into main 2026-09-25 19:12:07 +00:00
Owner

问题\n\nexecutor 不应理解 Kubernetes/OpenSandbox 等调度决策。此前它根据 workload class/driver 重新生成 runner labels,导致 controller 与 runner 镜像必须锁步升级,并造成生产自举失败。\n\n## 修改\n\n- controller 将最终 runner labels 以 JSON 注入 executor\n- executor 只消费最终 labels,不再读取或校验 placement\n- registration builder 只校验 labels,不依赖 backend 类型\n- 更新对应单元测试\n\n## 验证\n\n- go test ./...\n- go vet ./...\n- 已从提交 53732699dfc4892c941ffae6f7ea33dbe57905f7 本地构建并推送 controller/runner 镜像及 SBOM/provenance

## 问题\n\nexecutor 不应理解 Kubernetes/OpenSandbox 等调度决策。此前它根据 workload class/driver 重新生成 runner labels,导致 controller 与 runner 镜像必须锁步升级,并造成生产自举失败。\n\n## 修改\n\n- controller 将最终 runner labels 以 JSON 注入 executor\n- executor 只消费最终 labels,不再读取或校验 placement\n- registration builder 只校验 labels,不依赖 backend 类型\n- 更新对应单元测试\n\n## 验证\n\n- `go test ./...`\n- `go vet ./...`\n- 已从提交 `53732699dfc4892c941ffae6f7ea33dbe57905f7` 本地构建并推送 controller/runner 镜像及 SBOM/provenance
panxiao81 added 1 commit 2026-09-25 19:10:24 +00:00
fix: 解耦 runner 与 placement 实现
test / shell (pull_request) Successful in 3m31s
test / python (pull_request) Failing after 10m54s
test / go (pull_request) Failing after 12m12s
53732699df
panxiao81 merged commit 452be27ea9 into main 2026-09-25 19:12:07 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: panxiao81/gitea-dynamic-runner#56