Repository navigation
Conversation
Import now asks each node's ctr which import modes it supports. When the node advertises --local, ksail imports client-side, which keeps named images and their child digest references but does not register the archive's own top-level index as another image. containerd 2.x's default transfer importer stores that index as a digest reference that no later export can find or pull. The local import is pinned to the node's exact platform, so an image index that is only partly present still imports on the platform the archive carries instead of failing on a compatible platform's missing manifest. Nodes whose ctr lacks --local keep the plain command, and a failed or incomplete capability probe refuses the import before copying. Refs #8158 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
After a user imports an image archive, newer container runtimes also record the archive's own wrapper as if it were an image. That entry points at nothing real, so a later full cluster export can fail on it. Archives whose multi-platform images carry content for only one platform could also fail to import on a node of that very platform.
What
Import now checks what each node's container runtime supports. Where it can, it imports in a mode that keeps every named image and its digest references but leaves the archive wrapper out, limited to the node's own platform, so a partly present multi-platform image still imports there. Older runtimes keep today's behaviour, and a node whose capabilities cannot be read refuses the import with a clear error before anything is copied.
Deferred: #8251 — recovery and the nested system test
Part of #8158