Skip to content

DRA KEP 5055: DRA Device Taints and Tolerations #3233

Description

@jmdeal

Overview

KEP Graduation Status
5055 GA (1.37)

DRA Device Taints and Tolerations extends the familiar taint and toleration system from nodes to DRA resources. Each device may list a set of taints that follow the familiar key=value:effect format. The following effects are supported: None (noop), NoSchedule, and NoExecute. The same effects are valid for tolerations.

Karpenter Integration

There are two required changes, and one potential future change we may want to consider:

  • Karpenter must respect taints on existing devices
  • Karpenter must enable cloudproviders to pass tainted devices via the InstanceType API
  • Karpenter may enable cloudproviders to provide startupTaints for devices

While the third change has an obvious parallel to Karpenter's existing taint support on NodePools, it's not obvious that the startup taint pattern will emerge for DRA given that it has more powerful status reporting primitives than taints for device readiness. Before surfacing this as either cloudprovider config or user config, we should let the DRA driver ecosystem mature and see if it emerges as a common pattern.

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • Comments asking for updates generate extra noise for issue followers and do not help maintainers prioritize issues. If you think the issue is higher priority than it is labelled, please instead add your user story.
  • If you are interested in working on this issue or have submitted a pull request, please assign yourself

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/featureCategorizes issue or PR as related to a new feature.needs-priorityneeds-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