Skip to content

[Core] Ray Label Selector API Implementation Tracker #51564

@ryanaoleary

Description

@ryanaoleary

Description

Implement support for label selector API:

Autoscaler adaptation:

Documentation/Library changes

Milestone 2:

  • (P0) Update the label_selector API in @ray.remote decorator to support label fallback syntax
  • (P0) Update the bundle_label_selector in the ray.util.placement_group constructor to support label fallback syntax
  • (P0) Implement fallback_strategy scheduling logic for tasks, actors and placement groups
  • (P0) Update the gcs logic to pass the fallback strategies to autoscaler
  • (P0) Update Autoscaler bin packing logic to support label fallback syntax
  • (P0) Add exists() and !exists() label operators in label selectors
  • (P0) Add validation to prevent empty string value in node labels & label selectors in Ray code, Autoscaler and Kuberay
  • (P1) Update documentation/examples to use updated label_selector API for label fallback use cases
  • (P2) Update library usage of NodeLabelSchedulingStrategy, _soft_target_node_id and other related features with label_selector API
  • (P2) Add deprecation warnings for the NodeLabelSchedulingStrategy , accelerator types and other features that will be replaced by label based scheduling

Use case

This issue will serve to track the progress of implementing the label selector API feature enhancement. This enhancement supersedes the previous node affinity feature enhancement REP and continues on much of the implementation there.

Node affinity feature enhancement work tracker: #34894
Related REP: ray-project/enhancements#60

Metadata

Metadata

Assignees

Labels

P1Issue that should be fixed within a few weekscommunity-backlogcoreIssues that should be addressed in Ray CoreenhancementRequest for new feature and/or capabilityk8s-projK8s and Ray OSS

Type

No type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions