feat: adapt YuanRong 0.10.2rc9 and placement policy - #76
Conversation
Map resource-unit status codes to meaningful CLI labels while reserving OK for normal nodes. Treat an omitted protobuf default as NORMAL and cover unavailable and forward-compatible states. Signed-off-by: robbluo <luo1442@gmail.com>
Consume checksum-pinned Core and RRT assets from the 0.10.2rc9 GitHub release. Keep the existing openyuanrong-sandbox 0.10.2rc9 SDK dependency aligned with the runtime artifacts. Signed-off-by: robbluo <luo1442@gmail.com>
Prepare an SDK release candidate that includes node lifecycle status rendering and the openYuanRong 0.10.2rc9 runtime alignment. Signed-off-by: robbluo <luo1442@gmail.com>
Expose the Unit scheduler policy through Helm, Terraform, and guided profiles. Default AKernel deployments to spread and let node proxies advertise frontend create only for spread placement. Allow an explicit binpack override and reject unsupported values. Signed-off-by: robbluo <luo1442@gmail.com>
tianyuzhou95
left a comment
There was a problem hiding this comment.
Project guidance also needs updating. This commit changes a deployment command and the default operational behavior (spread, plus node-proxy capability advertisement), while AGENTS.md requires deployment-command or operational-assumption changes to update that file in the same change. Please document the new placement-policy default and override, its proxy-advertisement behavior, and the restart requirement there.
|
Regarding the project-guidance review: the deployment behavior is documented in |
Summary
ak resources, reservingOKfor normal nodesakernel-sdkfrom 0.1.6rc5 to 0.1.6rc6spreadspreadand disable it forbinpackYuanRong 0.10.2rc9 bug fixes
2c09231f): aggregate rootcapacityandallocatablefromNORMALresource fragments only, and use the same summary for cluster metrics. Fragment-level capacity, allocatable resources, and lifecycle status remain available in the resource response, allowing AKernel to distinguishEVICTING,RECOVERING, andTO_BE_DELETEDnodes instead of presenting them as healthy.43ccd714): assign each kill attempt a unique wire request ID and retain its retry context so delayed callbacks cannot advance a replacement instance lifecycle (the ABA case). Recovery kill failures are propagated, while an already absent runtime process remains an idempotent success.Placement behavior
binpack; AKernel explicitly defaults deployments tospread.master.schedulePlacementPolicy; Terraform and guided profiles exposeschedule_placement_policy/SCHEDULE_PLACEMENT_POLICY.--schedule_placement_policy.spread. Their local UnitScheduler is non-aggregating and has a single scheduling unit, so cluster placement remains a Master policy.Release provenance
ba6d443904d1787563e00b6e87fc2e6d03ae22dfced5668500ca8fa7c100690fac5e0877a90b26b7ce1347c81b1b4bc1174abf16084e0bfc115985910ac6c9141126ad856f6b16b87843089441ea352927a56ec462113fca0ce0a56adf6906c653da562985a723efd7981dc10c8f0f1083c78a89Validation
make sdk-check: 274 tests passed; Ruff and mypy passedspread, explicitbinpack, and invalid-value rejection passed for Master and Nodespreadand reject values other thanbinpack/spreadakernel-all-in-one:pr76-yr0.10.2rc9-spread-routing-20260921sha256:7ba0d85a6f9acbce087aa9fc1c31a6834bf802e311feb1d1fd3d59593bc1e2b4a4498cc34866f36b83d329d497539ed82a59dfb9spreadand explicitbinpack; Nodespread=true/binpack=falsefrontend-create advertisement; Standalone frontend-create enabledgit diff --check origin/main...HEAD: passed