Skip to content

cri: deprecate restore in CreateContainer - #13838

Merged
samuelkarp merged 1 commit into
containerd:mainfrom
samuelkarp:deprecate-cri-checkpoint
Jul 28, 2026
Merged

cri: deprecate restore in CreateContainer#13838
samuelkarp merged 1 commit into
containerd:mainfrom
samuelkarp:deprecate-cri-checkpoint

Conversation

@samuelkarp

Copy link
Copy Markdown
Member

No description provided.

Copilot AI review requested due to automatic review settings July 24, 2026 08:10
@github-project-automation github-project-automation Bot moved this to Needs Triage in Pull Request Review Jul 24, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a deprecation warning for the CRI behavior that restores checkpoint data during CreateContainer, and wires the warning service through CRI initialization so the deprecation is surfaced via warning emission and ctr deprecations list.

Changes:

  • Add a new deprecation ID/message for “restoring checkpoint data during CRI CreateContainer” and document it in RELEASES.md.
  • Wire the warning service into CRIServiceOptions/criService and emit/log the warning when checkpoint restore is detected in CreateContainer.
  • Add unit and contrib-script coverage to verify the warning appears via introspection.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
RELEASES.md Documents the new deprecation and target removal release.
plugins/cri/cri.go Fetches WarningPlugin once and passes it into CRI server options.
pkg/deprecation/deprecation.go Adds a new deprecation ID and message string.
internal/cri/server/service.go Extends CRI service options/state to carry a warning service.
internal/cri/server/container_create.go Emits the new deprecation warning on checkpoint-based CreateContainer.
internal/cri/server/container_checkpoint_warning_test.go Unit test verifying warning emission for checkpoint restore.
contrib/checkpoint/checkpoint-restore-cri-test.sh Validates warning presence/update via ctr deprecations list --format=json.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread plugins/cri/cri.go
Comment thread pkg/deprecation/deprecation.go
Copilot AI review requested due to automatic review settings July 24, 2026 18:09
@samuelkarp
samuelkarp force-pushed the deprecate-cri-checkpoint branch from 350038a to 26d0db5 Compare July 24, 2026 18:09

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Comment thread plugins/cri/cri.go
Comment thread RELEASES.md Outdated
@rst0git

rst0git commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

@haircommander @adrianreber Do you have any advice on how to coordinate this with CRI-O?

Comment thread pkg/deprecation/deprecation.go
Assisted-by: Antigravity
Signed-off-by: Samuel Karp <samuelkarp@google.com>
Copilot AI review requested due to automatic review settings July 28, 2026 05:12
@samuelkarp
samuelkarp force-pushed the deprecate-cri-checkpoint branch from 26d0db5 to a3f99ba Compare July 28, 2026 05:12
@samuelkarp samuelkarp added this to the 2.4 milestone Jul 28, 2026
@samuelkarp samuelkarp moved this from Needs Triage to Needs Reviewers in Pull Request Review Jul 28, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Comment thread plugins/cri/cri.go
@github-project-automation github-project-automation Bot moved this from Needs Reviewers to Review In Progress in Pull Request Review Jul 28, 2026
@samuelkarp
samuelkarp added this pull request to the merge queue Jul 28, 2026
@samuelkarp

Copy link
Copy Markdown
Member Author

/cherry-pick release/2.3
/cherry-pick release/2.2
/cherry-pick release/2.1

@k8s-infra-cherrypick-robot

Copy link
Copy Markdown

@samuelkarp: once the present PR merges, I will cherry-pick it on top of release/2.1, release/2.2, release/2.3 in new PRs and assign them to you.

Details

In response to this:

/cherry-pick release/2.3
/cherry-pick release/2.2
/cherry-pick release/2.1

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@samuelkarp samuelkarp added cherry-pick/2.1.x Change to be cherry picked to release/2.1 branch cherry-pick/2.2.x Change to be cherry picked to release/2.2 branch cherry-pick/2.3.x Change to be cherry picked to release/2.3 and removed cherry-pick/2.1.x Change to be cherry picked to release/2.1 branch labels Jul 28, 2026
@samuelkarp

Copy link
Copy Markdown
Member Author

oops don't need 2.1 since that's EOL; I'll close the PR when it gets generated

Merged via the queue into containerd:main with commit fda8a90 Jul 28, 2026
96 of 98 checks passed
@github-project-automation github-project-automation Bot moved this from Review In Progress to Done in Pull Request Review Jul 28, 2026
@k8s-infra-cherrypick-robot

Copy link
Copy Markdown

@samuelkarp: new pull request created: #13868

Details

In response to this:

/cherry-pick release/2.3
/cherry-pick release/2.2
/cherry-pick release/2.1

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-infra-cherrypick-robot

Copy link
Copy Markdown

@samuelkarp: #13838 failed to apply on top of branch "release/2.2":

Applying: cri: deprecate restore in CreateContainer
Using index info to reconstruct a base tree...
M	RELEASES.md
M	internal/cri/server/container_create.go
M	internal/cri/server/service.go
M	pkg/deprecation/deprecation.go
M	plugins/cri/cri.go
Falling back to patching base and 3-way merge...
Auto-merging RELEASES.md
CONFLICT (content): Merge conflict in RELEASES.md
Auto-merging internal/cri/server/container_create.go
Auto-merging internal/cri/server/service.go
Auto-merging pkg/deprecation/deprecation.go
CONFLICT (content): Merge conflict in pkg/deprecation/deprecation.go
Auto-merging plugins/cri/cri.go
CONFLICT (content): Merge conflict in plugins/cri/cri.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Patch failed at 0001 cri: deprecate restore in CreateContainer

Details

In response to this:

/cherry-pick release/2.3
/cherry-pick release/2.2
/cherry-pick release/2.1

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-infra-cherrypick-robot

Copy link
Copy Markdown

@samuelkarp: #13838 failed to apply on top of branch "release/2.1":

Applying: cri: deprecate restore in CreateContainer
Using index info to reconstruct a base tree...
M	RELEASES.md
M	contrib/checkpoint/checkpoint-restore-cri-test.sh
M	internal/cri/server/container_create.go
M	internal/cri/server/service.go
M	pkg/deprecation/deprecation.go
M	plugins/cri/cri.go
Falling back to patching base and 3-way merge...
Auto-merging RELEASES.md
CONFLICT (content): Merge conflict in RELEASES.md
Auto-merging contrib/checkpoint/checkpoint-restore-cri-test.sh
Auto-merging internal/cri/server/container_create.go
Auto-merging internal/cri/server/service.go
Auto-merging pkg/deprecation/deprecation.go
CONFLICT (content): Merge conflict in pkg/deprecation/deprecation.go
Auto-merging plugins/cri/cri.go
CONFLICT (content): Merge conflict in plugins/cri/cri.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Patch failed at 0001 cri: deprecate restore in CreateContainer

Details

In response to this:

/cherry-pick release/2.3
/cherry-pick release/2.2
/cherry-pick release/2.1

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@samuelkarp samuelkarp added cherry-picked/2.3.x PR commits are cherry picked into release/2.3 branch and removed cherry-pick/2.3.x Change to be cherry picked to release/2.3 labels Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cherry-pick/2.2.x Change to be cherry picked to release/2.2 branch cherry-picked/2.3.x PR commits are cherry picked into release/2.3 branch size/L

Projects

Development

Successfully merging this pull request may close these issues.

6 participants