Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix #134 use the trusted top layer id from image info #135

Merged
merged 2 commits into from
Dec 24, 2024

Conversation

dingp
Copy link
Collaborator

@dingp dingp commented Dec 23, 2024

No description provided.

@dingp dingp requested a review from scanon December 23, 2024 01:06
@dingp
Copy link
Collaborator Author

dingp commented Dec 23, 2024

Ooops, sorry for containing # in the branch name. That makes the pip install repo_URL@branch fail, and no way to escape # there (a pip limitation).

@dingp
Copy link
Collaborator Author

dingp commented Dec 23, 2024

Test procedure:

Test with pre-built images

  1. Install podman-hpc using this feature branch;
  2. Find a a multi-layer image, inspect the image with skopeo, e.g. skopeo inspect docker://docker.io/ubuntu:16.04
  3. Pull the image;
  4. List the image to verify it has been migrated;
  5. Remove the local image with podman-hpc rmi <img_id>;
  6. Run the container with the migrated image on the same node;
  7. Run the container with the migrated image on a different login node;
  8. Run the container with the migrated image on a compute node.
  9. Delete the squashed image (optional before moving to test the next image, but should be done at least for one image).

Test with the followinw images:

  • ubuntu:16.04
  • nvcr.io/nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04
  • NERSC custom-built tensorflow image registry.nersc.gov/library/nersc/tensorflow:ngc-24.05-v1

Test with locally-built images

Similar as steps above, but test with a locally-built image.

@dingp
Copy link
Collaborator Author

dingp commented Dec 23, 2024

It passed all my tests listed above.

I also tested with a locally-built image where I added a file in the last (outermost) layer. The image was migrated with the patch version. I was able to see it in the squashed image on a compute node (container was running with podman-hpc v1.1.3).

@dingp
Copy link
Collaborator Author

dingp commented Dec 23, 2024

I updated the version to 1.1.4. If the PR is ready to merge, we can tag the main branch with v1.1.4 right after the merge.

Copy link
Member

@scanon scanon left a comment

Choose a reason for hiding this comment

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

LGTM. The key issue was the wrong layer was being linked up. The actual squash image contents are correct because that uses the image ID. But it was being attached to the wrong layer.

@scanon scanon merged commit 85ad161 into main Dec 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants