Skip to content

Conversation

@thaJeztah
Copy link
Member

This switches the hcsshim dependency back to tagged releases, instead of the special
"moby" branch. This makes the dependency align with both BuildKit and containerd,
which use these versions.

The switch to the "moby" branch was done in 2865478 (#41144), to bring in a fix for image import, without having to bring in additional changes;

#41144 (comment)

We changed to the moby branch for a couple of reasons:

  • Allows us to take this important change without needing to also pull in all
    of the other work that has been going on in the repo.
  • moby uses an older set of APIs exposed from hcsshim, based on the HCS v1
    functionality. Going forwards, we have discussed deprecating/removing these
    APIs from the mainline branch in hcsshim, so our thinking was we could keep
    this moby branch around to ensure we don't break compatibility there.

(...) Long term, the best path here is to get moby using containerd as the
backend on Windows, which should alleviate these issues.

full diff: https://github.com/Microsoft/hcsshim/compare/9dcb42f100215f8d375b4a9265e5bba009217a85..v0.8.10

…elease)

This switches the hcsshim dependency back to tagged releases, instead of the special
"moby" branch. This makes the dependency align with both BuildKit and containerd,
which use these versions.

The switch to the "moby" branch was done in 2865478,
to bring in a fix for image import, without having to bring in additional changes;

> We changed to the moby branch for a couple of reasons:
>
> - Allows us to take this important change without needing to also pull in all
>   of the other work that has been going on in the repo.
> - moby uses an older set of APIs exposed from hcsshim, based on the HCS v1
>   functionality. Going forwards, we have discussed deprecating/removing these
>   APIs from the mainline branch in hcsshim, so our thinking was we could keep
>   this moby branch around to ensure we don't break compatibility there.
>
> (...) Long term, the best path here is to get moby using containerd as the
> backend on Windows, which should alleviate these issues.

full diff: https://github.com/Microsoft/hcsshim/compare/9dcb42f100215f8d375b4a9265e5bba009217a85..v0.8.10

Signed-off-by: Sebastiaan van Stijn <[email protected]>
@thaJeztah
Copy link
Member Author

ok, it's green (except for flaky s390x)

@TBBle
Copy link
Contributor

TBBle commented Nov 19, 2020

I had a look through the vendor'd differences, and I didn't notice any significant feature-changes. A lot of lines due to moving a bunch of stuff from safefile into the winapi package, and what looks like a HCS schema regeneration/update for some new features.

There's a couple of new features in the internal packages, but the vendoring didn't pull in the public packages that expose them, so they shouldn't have any meaningful effect since clearly they're not used here. The public package changes are visible in the hcsshim full diff.

The only one I'm curious about is the change in the containerd-shim-runhcs-v1 protobuf-json field name for GPUs, but I didn't think Docker used containerd-shim-runhcs-v1 anyway, so I'm not sure why the vendoring even picked that up.

It makes sense that a lot of this (but not all... looks like we'll still need hcsshim for networking) goes away with #41455, but that looks like being 21.x-targeted due to losing Windows Server LTSC 2016, from the last discussion, and that's a long time to hold a custom hcsshim branch open for cherry-picking fixes.

@thaJeztah
Copy link
Member Author

Thanks for looking! So looks like changes in this re-vendor should be ok, in which case I (personally) prefer to go back to tagged releases (matching the other repositories) to make the vending less confusing, and (slightly) help users that use go modules for vendoring to allow them to get the same version of the dependency.

@thaJeztah thaJeztah marked this pull request as ready for review November 23, 2020 08:30
@thaJeztah thaJeztah changed the title [draft/rfc] vendor: update github.com/Microsoft/hcsshim v0.8.10 (back to tagged release) vendor: update github.com/Microsoft/hcsshim v0.8.10 (back to tagged release) Nov 23, 2020
@thaJeztah
Copy link
Member Author

@tiborvass @cpuguy83 @tonistiigi ptal

Copy link
Member

@cpuguy83 cpuguy83 left a comment

Choose a reason for hiding this comment

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

LGTM

@cpuguy83 cpuguy83 merged commit 3e0025e into moby:master Jan 28, 2021
@thaJeztah thaJeztah deleted the switch_hcsshim branch January 28, 2021 21:44
@thaJeztah thaJeztah added this to the 20.10.4 milestone Feb 2, 2021
@thaJeztah thaJeztah modified the milestones: 20.10.4, 21.xx Feb 2, 2021
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