Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for CNI GC Verb #8500

Open
haircommander opened this issue Feb 9, 2024 · 3 comments
Open

Support for CNI GC Verb #8500

haircommander opened this issue Feb 9, 2024 · 3 comments

Comments

@haircommander
Copy link

Currently, CRI-O has some behavior specifically tuned for calico (though it could be argued that it's correct behavior for all) where we keep track of a pod across reboots so we can call CNI del on the now dead container after a reboot.

With the CNI GC verb, CRI-O could instead ask calico to GC the contents of that node. That would allow it to have less to keep track of and potentially not even persist pods across reboots.

Are there plans to support GC?

@caseydavenport
Copy link
Member

Oh that's exciting - I hadn't spotted that change.

Sounds like something we should look into implementing in Calico - thanks for the pointer.

@caseydavenport caseydavenport changed the title Plans to support CNI GC Verb? Support for CNI GC Verb Feb 27, 2024
@caseydavenport
Copy link
Member

This is the spec section: https://github.com/containernetworking/cni/blob/main/SPEC.md#gc-clean-up-any-stale-resources

Note this clause:

The runtime MUST NOT use GC as a substitute for DEL. Plugins may be unable to clean up some resources from GC that they would have been able to clean up from DEL.

and

specifically tuned for calico (though it could be argued that it's correct behavior for all)

I tend to agree that this is probably the correct behavior for all. I think Calico likely should implement the GC action, but given the above I don't think it would invalidate the desire for the logic to send DEL commands as it does currently.

@haircommander
Copy link
Author

dang yeah I guess I missed that section. I'll leave this open but it does close the avenue of optimization I was hoping for

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

No branches or pull requests

2 participants