Skip to content

Adding Type() to Plugin interface #1008

Closed
@elevran

Description

@elevran

Currently (scheduler) Plugins support a Name() function.
The Name effectively serves as their type (e.g., see config proposal #881).
Further, there is no support for instance specific name when the system is configured with multiple plugins of the same type (e.g., Prefix scorer in disaggregated P/D).

What would you like to be added:

  • Extend the Plugin interface type with Type() string while repurposing the current Name() function to indicate the specific instance name.

Why is this needed:

  • support multiple Plugins of the same type with different instance names (e.g., for logging)
  • align configuration file semantics to create and use named instance of a specific type

Alternatives:

  • can retain the current Name() and add an (e.g.) InstanceName() to minimize the code changes
  • use Kind() (or GKV if so inclined) for Kubernetes alignment
  • extend "Name()" to be a "namespaced name" in the format of name / instance (i.e., overload the name to include both the type and instance)

Would be happy to make that change if acceptable.

CC: @ahg-g @kfswain @nirrozenbaum @shmuelk

Metadata

Metadata

Assignees

Labels

needs-triageIndicates an issue or PR lacks a `triage/foo` label and requires one.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions