Skip to content

Deleting a conflicted RGD stops reconciliation for the original RGD #1169

@NicholasBlaskey

Description

@NicholasBlaskey

Description

Summary

When two RGDs define the same Kind, the second one is rejected (Inactive). However, deleting the rejected RGD causes the original Active RGD to stop reconciling instances.

Reproduction

  1. create a RGD A points to CRD A
  2. create a RGD B also point to CRD A

Note B will be inactive as expected

  1. delete RGD B

  2. instances of CRD A will no longer reconicle

Controller logs after deletion:

  DEBUG   dynamic-controller      Successfully unregistered GVR   {"gvr": "kro.run/v1alpha1/myapps"}
  INFO    rgd-controller  skipping CRD deletion because allowCRDDeletion is disabled
  DEBUG   rgd-controller  setting resourcegraphdefinition as unmanaged {"name": "myapp-advanced"}

Expected Behavior

Deleting an Inactive/conflicted RGD should have no effect on the Active RGD that owns the CRD. The original RGD should continue reconciling instances normally.

Impact

  • Deleting rejected/conflicted RGDs breaks original RGDs
  • Restarting should fix this

Which option describes the most your issue?

ResourceGraphDefinition (Create, Update, Deletion)

Metadata

Metadata

Labels

kind/bugCategorizes issue or PR as related to a bug.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