metal3-io/ip-address-manager

IPPool gets deleted when last IPClaim is deleted

omniproc opened this issue · 6 comments

Not sure if that's expected behaviour but we see that the IPPool gets deleted once all IPClaims are deleted. Before a first IPClaim exists the IPAM seems to wait for that event:

controllers/IPPool/IPPool-controller "msg"="Error fetching cluster. It might not exist yet, Requeuing" "metal3-ippool"={"Namespace":"default","Name":"some-ippool-name"}

Environment:

  • Cluster-api version: 1.2.1
  • IPAM version: 1.1.3
  • Kubernetes version: (use kubectl version): 1.24.4

/kind bug

@omniproc: This issue is currently awaiting triage.
If Metal3.io contributors determine this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.
The triage/accepted label can be added by org members by writing /triage accepted in a comment.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@omniproc

  • If you have deleted the cluster then deleting the IPPool is expected .
  • I have checked deleting the claims without deleting the cluster and the Pool stayed in place.

In case my answer does not help, then please share as much information about your environment as possible e.g. state of cluster, what is your workflow and so on.

Thanks @Rozzii, that clearifies the behaviour. Altought I think it would be great to make that default configurable. It's not always desireable that the pool is deleted when it's cluster gets deleted.

I can see your point @omniproc but this behavior is inherited from CAPI, it is not something that we can change on our end.

Is it okay if we close the issue @omniproc ?

Sure @Rozzii - You clearified your design decission. I guess we'll write a small operator that transforms a ConfigMap into a IPPool CRD if it doesn't exist to get the results we want.