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

Update cimfs snapshotter & differ for new hcsshim interface #10033

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ambarve
Copy link
Contributor

@ambarve ambarve commented Apr 4, 2024

hcsshim recently updated the interface of APIs that are used for importing OCI layers. Plus it now expects that the CimFS snapshotter mounts contain the full cim paths for parent layers. This change updates the cimfs differ & snapshotter to use that new interface.

@k8s-ci-robot
Copy link

Hi @ambarve. Thanks for your PR.

I'm waiting for a containerd member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

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/test-infra repository.

@@ -1 +1 @@
v0.12.0
1d406d0eac5573287ba7b46a04a58275410137ac
Copy link
Member

Choose a reason for hiding this comment

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

Is it possible to get a release with the changes? 2.0 doesn't seem too far off so it'd be nice to stay on a tag

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hmm, I wasn't planning to get this in containerd 2.0 since the rc builds are already out. That's why we didn't get a release on hcsshim. Do we still need a tag if we don't want to get this in 2.0?

Copy link
Member

Choose a reason for hiding this comment

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

Maybe I've forgotten the release process but I'd think if this got checked in anytime before we decide to tag 2.0 then it'd be part of the release

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah, it does look like merging this right now will get it into 2.0. I have confirmed that getting this into 2.0 shouldn't be a problem.

Copy link
Member

Choose a reason for hiding this comment

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

Gotcha.

I have confirmed that getting this into 2.0 shouldn't be a problem.

You mean the commit instead of a tag?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We don't need to get this into 2.0, we can merge this after the final 2.0 tag is cut. At that time, we can merge with a commit ID of hcsshim and then when containerd is preparing for a 2.1 release we can make a separate hcsshim tag at that time and vendor that. Does that sound okay?

Copy link
Member

Choose a reason for hiding this comment

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

Sounds fine to me at least, I'm not sure if any other maintainers would prefer us stay on a tag.

Copy link
Member

Choose a reason for hiding this comment

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

I agree it would be best to keep a tagged release here.

@dcantah
Copy link
Member

dcantah commented Apr 18, 2024

Needs a rebase

core/mount/mount_windows.go Outdated Show resolved Hide resolved
@ambarve ambarve force-pushed the cimfs_layer_refactor branch from e0f787b to abedcaf Compare May 2, 2024 01:51
go.mod Outdated Show resolved Hide resolved
core/mount/mount_windows.go Outdated Show resolved Hide resolved
core/mount/mount_windows.go Outdated Show resolved Hide resolved
core/mount/mount_windows.go Outdated Show resolved Hide resolved
@ambarve ambarve force-pushed the cimfs_layer_refactor branch 2 times, most recently from ca0c82e to 6e1f0ee Compare May 16, 2024 06:59
core/mount/mount_windows.go Outdated Show resolved Hide resolved
@ambarve
Copy link
Contributor Author

ambarve commented Dec 11, 2024

@dcantah I was waiting to merge this before containerd 2.0 was released. Could you please take another look at this and approve if it looks good?

hcsshim recently [updated](microsoft/hcsshim@1d406d0) the interface of APIs that are used
for importing OCI layers. It now expects that the CimFS snapshotter mounts contain the
full cim paths for parent layers. This change updates the cimfs differ & snapshotter to
use that new interface.

Signed-off-by: Amit Barve <[email protected]>

const (
// LayerCimPathFlag is the option flag used to represent the path at which a layer CIM must be stored. This
// flag is only included if an image layer is being extracted onto the snapshot i.e the snapshot key has an
Copy link
Member

Choose a reason for hiding this comment

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

This statement doesn't seem to be true, it looks like we always set LayerCimPathFlag on the mount?

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

Successfully merging this pull request may close these issues.

4 participants