Skip to content

Make drain package reusable for controller-runtime based callers #1133

Description

@acumino

How to categorize this issue?

/kind enhancement
/priority 3

What would you like to be added:
The drain package in machine-controller-manager is currently tightly coupled to the client-go informer/lister stack. Callers like Gardener that use a controller-runtime client (and do not run client-go informers) cannot reuse the drain logic directly.

Extend the drain Options API to support external callers that:

  • Do not run a client-go informer/lister for pods
  • Need to plug in their own pod source
  • Want to customize pod selection with additional filters
  • Want to skip volume detach/reattach handling independently of ForceDeletePods

Why is this needed:

This is required to streamline the drain logic across gardener.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/enhancementEnhancement, improvement, extensionpriority/3Priority (lower number equals higher priority)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions