Tags: runloopai/accelerated-container-image
Tags
Mount overlaybd devices in journal mode This is slower but safer. All writes will go through the journal.
Use a proper image name for the imported tar image When an image is imported from tar without an annotation for the image name, we generate a fake one. Make sure it is valid.
Create and use a lease in the Compare method to prevent GC (#24) containerd is not forwarding the lease used by nerdctl. We must set our own, time-expiring lease until it is fixed upstream. Otherwise our objects get garbage collected before we can make references to them.
Add a diff service to Overlaybd snapshotter (#21) This diff service identifies whether the Compare function is operating on overlaybd devices, and if so, attempts to call overlaybd-commit on the writable_data and writable_index of the upper layer, efficiently generating a blob for the writable layer. This is much faster than the default diff service, which mounts the block devices and compares the filesystem's file-by-file, which generates an OCI tar which we then convert to overlaybd.
Remove extra logs (#20) **What this PR does / why we need it**: **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*: Fixes # **Please check the following list**: - [ ] Does the affected code have corresponding tests, e.g. unit test, E2E test? - [ ] Does this change require a documentation update? - [ ] Does this introduce breaking changes that would require an announcement or bumping the major version? - [ ] Do all new files have an appropriate license header? <!-- If this is a security issue, please do not discuss on GitHub. Please report any suspected or confirmed security issues directly to https://github.com/containerd/accelerated-container-image/blob/main/MAINTAINERS. -->
convertor: Retry on 5xx errors (#19) **What this PR does / why we need it**: Also retry on 5xx errors. Occasionally we get various gateway errors or just 500 errors, the retry logic should apply to these too. **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*: Fixes # **Please check the following list**: - [ ] Does the affected code have corresponding tests, e.g. unit test, E2E test? - [ ] Does this change require a documentation update? - [ ] Does this introduce breaking changes that would require an announcement or bumping the major version? - [ ] Do all new files have an appropriate license header? <!-- If this is a security issue, please do not discuss on GitHub. Please report any suspected or confirmed security issues directly to https://github.com/containerd/accelerated-container-image/blob/main/MAINTAINERS. -->
Check the parent snapshot to identify the writable type (#17) **What this PR does / why we need it**: **What** Changes getWritableType() to look at the *parent* snapshot's filesystem instead of the child's, which doesn't even exist at this point. **Why** When creating sandboxes/containers from overlaybd pause images, the first creation works correctly but subsequent attempts fall back to overlayfs mode instead of using overlaybd. The getWritableType() function was checking the child snapshot's labels and filesystem for overlaybd metadata, but the child snapshot doesn't have a label, and the child snapshot directories don't exist yet at this point. **Please check the following list**: - [ ] Does the affected code have corresponding tests, e.g. unit test, E2E test? - [ ] Does this change require a documentation update? - [ ] Does this introduce breaking changes that would require an announcement or bumping the major version? - [ ] Do all new files have an appropriate license header? <!-- If this is a security issue, please do not discuss on GitHub. Please report any suspected or confirmed security issues directly to https://github.com/containerd/accelerated-container-image/blob/main/MAINTAINERS. -->
Bump golang version in ci action (#15) **What this PR does / why we need it**: Bumps ci.yml golang version to match go.mod. Without this the ci action is failing with `go: go.mod requires go >= 1.23.0 (running go 1.22.0; GOTOOLCHAIN=local)` **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*: Fixes # **Please check the following list**: - [ ] Does the affected code have corresponding tests, e.g. unit test, E2E test? - [ ] Does this change require a documentation update? - [ ] Does this introduce breaking changes that would require an announcement or bumping the major version? - [ ] Do all new files have an appropriate license header? <!-- If this is a security issue, please do not discuss on GitHub. Please report any suspected or confirmed security issues directly to https://github.com/containerd/accelerated-container-image/blob/main/MAINTAINERS. -->
PreviousNext