Skip to content

feat(critest): Add image manager consistency and idempotency tests#1959

Open
SergeyKanzhelev wants to merge 1 commit intokubernetes-sigs:masterfrom
SergeyKanzhelev:imageTests
Open

feat(critest): Add image manager consistency and idempotency tests#1959
SergeyKanzhelev wants to merge 1 commit intokubernetes-sigs:masterfrom
SergeyKanzhelev:imageTests

Conversation

@SergeyKanzhelev
Copy link
Member

Adds a new test suite in to validate the idempotency and immediate consistency of CRI image operations.

This suite includes tests to ensure:

  • An image is available in ListImages and ImageStatus immediately after being pulled.
  • An image is absent from ListImages and ImageStatus immediately after being removed.
  • Concurrent RemoveImage calls for the same image are handled gracefully without errors, and the image is confirmed to be removed immediately after each call returns.

Additionally, this commit enhances the existing Image Manager test suite in with tests for removing images that have multiple tags, including tags that point to the same image digest from different registry domains (e.g., registry.k8s.io and its k8s.gcr.io mirror). The tests are written to be resilient to other images pre-existing on the test environment.

/kind feature

This code was generated by Gemini

Special notes for your reviewer:

Follow up from #1911

Does this PR introduce a user-facing change?

New tests for critest to validate the image operation consistency.

@k8s-ci-robot k8s-ci-robot added the kind/feature Categorizes issue or PR as related to a new feature. label Dec 11, 2025
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: SergeyKanzhelev
Once this PR has been reviewed and has the lgtm label, please assign mrunalp for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Dec 11, 2025
@k8s-ci-robot k8s-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Dec 11, 2025
@SergeyKanzhelev SergeyKanzhelev force-pushed the imageTests branch 2 times, most recently from 1f29cec to c042889 Compare December 12, 2025 22:29
@saschagrunert
Copy link
Member

@SergeyKanzhelev do you mind a rebase?

@SergeyKanzhelev
Copy link
Member Author

Failures seems not related to this PR.

@SergeyKanzhelev
Copy link
Member Author

@saschagrunert can you please try rerun tests? Failures seem unrelated. If passing - this is OK to merge

Adds a new test suite in  to validate the idempotency and immediate consistency of CRI image operations.

This suite includes tests to ensure:
- An image is available in ListImages and ImageStatus immediately after being pulled.
- An image is absent from ListImages and ImageStatus immediately after being removed.
- Concurrent RemoveImage calls for the same image are handled gracefully without errors, and the image is confirmed to be removed immediately after each call returns.

Additionally, this commit enhances the existing Image Manager test suite in  with tests for removing images that have multiple tags, including tags that point to the same image digest from different registry domains (e.g., registry.k8s.io and its k8s.gcr.io mirror). The tests are written to be resilient to other images pre-existing on the test environment.
@saschagrunert
Copy link
Member

Tests are green now, that one containerd test flakes all the time on windows.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/feature Categorizes issue or PR as related to a new feature. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants