-
Notifications
You must be signed in to change notification settings - Fork 18.9k
c8d: image load is not atomic, and always overwrites image #48591
Copy link
Copy link
Labels
area/imagesImage ServiceImage Servicearea/uxcontainerd-integrationIssues and PRs related to containerd integrationIssues and PRs related to containerd integrationkind/bugBugs are bugs. The cause may or may not be known at triage time so debugging may be needed.Bugs are bugs. The cause may or may not be known at triage time so debugging may be needed.kind/enhancementEnhancements are not bugs or new features but can improve usability or performance.Enhancements are not bugs or new features but can improve usability or performance.
Metadata
Metadata
Assignees
Labels
area/imagesImage ServiceImage Servicearea/uxcontainerd-integrationIssues and PRs related to containerd integrationIssues and PRs related to containerd integrationkind/bugBugs are bugs. The cause may or may not be known at triage time so debugging may be needed.Bugs are bugs. The cause may or may not be known at triage time so debugging may be needed.kind/enhancementEnhancements are not bugs or new features but can improve usability or performance.Enhancements are not bugs or new features but can improve usability or performance.
Type
Projects
Status
Done
Status
Required for default containerd
Description
This may be partially "by design" (but possibly worth a discussion). When loading an image from a tar, the loaded image unconditionally replaces existing image(s).
1. Failing to load image replaces existing image with empty index
The following example loads a multi-platform image from a tar (not all variants are present in the tar);
When trying to load a platform-variant from the tar that's not included, an error is produced, but the image is replaced regardless, so now resulting in an empty image reference;
2. Loading different variant of the same manifest-index replaces existing variants
The following loads a single variant from a tar;
Loading a different variant from the same image replaces the available variants of the multi-platform image with the newly imported variant;
❓ do we want to have an option to append to the existing image, in situations where the root manifest-index is the same?