Skip to content

Creating a CRD with broken converter webhook prevents GC controller from initialization #101078

@jprzychodzen

Description

@jprzychodzen

What happened:

Creating a CRD with broken converter webhook prevents GC controller from initialization, which breaks on informer sync. Additionally, this issue is not visible until gc controller restarts - dynamically added crd resources with non-working converter webhook do not break running GC.

What you expected to happen:

GC controller should initialize with available informers. CRDs with broken converter webhook should not prevent GC controller from working on other resources.

How to reproduce it (as minimally and precisely as possible):

  1. Create a cluster
  2. Create a CRD (1_crd.yaml)
  3. Create a CR (2_crd.yaml)
  4. Change CRD to add another version and webhook converter (3_crd.yaml)
  5. Restart kube-controll-manager
  6. Add deployment
  7. Delete deployment
  8. Check that pod from deployment is not GC'ed

gc-bug.zip

Metadata

Metadata

Assignees

Labels

kind/bugCategorizes issue or PR as related to a bug.lifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.sig/api-machineryCategorizes an issue or PR as relevant to SIG API Machinery.triage/acceptedIndicates an issue or PR is ready to be actively worked on.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions