Implement core Kubernetes Workload API (KEP-4671) support in KAI Scheduler.
Design document: KAI-Scheduler/docs/developer/designs/k8s-workload-api/README.md at db3ed702554ae7769763bfbe8dc4ac60125a2a46 · kai-scheduler/KAI-Scheduler
Scope
Import/vendor Kubernetes Workload API types (scheduling.k8s.io/v1alpha1)
Enable the scheduler to watch and cache Workload resources
Create a new Workload plugin in the podgrouper:
Detect pods with spec.workloadRef
Generate KAI PodGroup names: {workload}-{podGroup}-{replicaKey?}
Translate gang.minCount → MinMember (or 1 for basic policy)
Implement layered metadata calculation (Workload → Top Owner → Pod)
Ensure correct plugin ordering: top owner plugin first, then Workload plugin overrides
Acceptance Criteria
Pods with workloadRef are grouped into correct KAI PodGroups
Gang policy minCount correctly maps to MinMember
Basic policy creates PodGroup with MinMember=1
Metadata inheritance follows the defined fallback chain
Recommendation
Try to add this as an issue in the bot repo, and see what will it do.
Implement core Kubernetes Workload API (KEP-4671) support in KAI Scheduler.
Design document: KAI-Scheduler/docs/developer/designs/k8s-workload-api/README.md at db3ed702554ae7769763bfbe8dc4ac60125a2a46 · kai-scheduler/KAI-Scheduler
Scope
Import/vendor Kubernetes Workload API types (scheduling.k8s.io/v1alpha1)
Enable the scheduler to watch and cache Workload resources
Create a new Workload plugin in the podgrouper:
Detect pods with spec.workloadRef
Generate KAI PodGroup names: {workload}-{podGroup}-{replicaKey?}
Translate gang.minCount → MinMember (or 1 for basic policy)
Implement layered metadata calculation (Workload → Top Owner → Pod)
Ensure correct plugin ordering: top owner plugin first, then Workload plugin overrides
Acceptance Criteria
Pods with workloadRef are grouped into correct KAI PodGroups
Gang policy minCount correctly maps to MinMember
Basic policy creates PodGroup with MinMember=1
Metadata inheritance follows the defined fallback chain
Recommendation
Try to add this as an issue in the bot repo, and see what will it do.