Updated libraries to use containerd 2.0 and nerdctl 2.0. This includes some functionality changes on nerdctl's end so I had to do some code changes to keep as similar behavior as possible.
FUNCIONALITY CHANGES:
finch remove will only send a 400 now on error, as nerdctl no longer returns a specific error, instead returning a generic one (some volumes could not be removed) and having the specific error in the WARN logs. Not sure if there's a way around it, though. Changes e2e test to reflect this but not unit test.
Namespacing has been added at a wider scale, so things such as networks can now be namespaced. This means that the way files are stored in the backend.
This change makes finch-daemon incompatible with nerdctl <2.0.0.
The first two commits should only include imports and package name changes and no real code functionality changes. The third commit should have all of the functionality changes (as well a couple of package name changes that I missed + changes I needed after rebasing, sorry 😔)
Testing done:make test-unit && make test-e2e
Worth noting that I had one test failure on my machine related to namespace overlap due to Docker using the same namespace, I tried changing the namespace but had some issues so I'll first see how the CI handles it before seeing what changes have to be made
[X] I've reviewed the guidance in CONTRIBUTING.md
License Acceptance
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Issue #, if available:
Description of changes:
Updated libraries to use containerd 2.0 and nerdctl 2.0. This includes some functionality changes on nerdctl's end so I had to do some code changes to keep as similar behavior as possible.
FUNCIONALITY CHANGES:
finch remove
will only send a 400 now on error, as nerdctl no longer returns a specific error, instead returning a generic one (some volumes could not be removed
) and having the specific error in the WARN logs. Not sure if there's a way around it, though. Changes e2e test to reflect this but not unit test.The first two commits should only include imports and package name changes and no real code functionality changes. The third commit should have all of the functionality changes (as well a couple of package name changes that I missed + changes I needed after rebasing, sorry 😔)
Testing done:
make test-unit && make test-e2e
Worth noting that I had one test failure on my machine related to namespace overlap due to Docker using the same namespace, I tried changing the namespace but had some issues so I'll first see how the CI handles it before seeing what changes have to be made
License Acceptance
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.