microsoft / hcsshim

Windows - Host Compute Service Shim
MIT License
564 stars 253 forks source link

[release/0.11] vendor: github.com/containerd/containerd v1.6.33 #2185

Closed thaJeztah closed 1 month ago

thaJeztah commented 2 months ago

Update to the current v1.6 release, which deprecated the errdefs package in favor of the separate github.com/containerd/errdefs module, which is now an alias.

Update the minimum required version to prevent consumers from using an older version, and thus incompatible errdefs definitions, and change all uses of the deprecated package to use the module directly.

thaJeztah commented 2 months ago

cc @kiashok @dmcgowan

thaJeztah commented 2 months ago

Looks like I forgot to re-vendor after changing to the errdefs module; should be fixed now; https://github.com/microsoft/hcsshim/compare/66d6b53a6de4d6ef1c81c4436d9669e31db77fe8..6fbbf8d1603123dab999ff5301fd699d9dcea242

Can you give CI another run?

thaJeztah commented 2 months ago

Hmm... some CGO issue on building for the windows 2022 integration tests; wondering if we need to update this branch to go1.20

+ mingw32-make.exe binaries
+ bin/ctr.exe
+ bin/containerd.exe
# github.com/containerd/containerd/cmd/containerd
C:\hostedtoolcache\windows\go\1.19.13\x64\pkg\tool\windows_amd64\link.exe: running gcc failed: exit status 1
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\RUNNER~1\AppData\Local\Temp\go-link-474042556\000007.o: in function `_cgo_preinit_init':
\\_\_\runtime\cgo/gcc_libinit_windows.c:40: undefined reference to `__imp___iob_func'
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\RUNNER~1\AppData\Local\Temp\go-link-474042556\000007.o: in function `x_cgo_notify_runtime_init_done':
\\_\_\runtime\cgo/gcc_libinit_windows.c:105: undefined reference to `__imp___iob_func'
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\RUNNER~1\AppData\Local\Temp\go-link-474042556\000007.o: in function `_cgo_beginthread':
\\_\_\runtime\cgo/gcc_libinit_windows.c:149: undefined reference to `__imp___iob_func'
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\RUNNER~1\AppData\Local\Temp\go-link-474042556\000008.o: in function `x_cgo_thread_start':
\\_\_\runtime\cgo/gcc_util.c:18: undefined reference to `__imp___iob_func'
collect2.exe: error: ld returned 1 exit status
kiashok commented 2 months ago

Hmm... some CGO issue on building for the windows 2022 integration tests; wondering if we need to update this branch to go1.20

+ mingw32-make.exe binaries
+ bin/ctr.exe
+ bin/containerd.exe
# github.com/containerd/containerd/cmd/containerd
C:\hostedtoolcache\windows\go\1.19.13\x64\pkg\tool\windows_amd64\link.exe: running gcc failed: exit status 1
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\RUNNER~1\AppData\Local\Temp\go-link-474042556\000007.o: in function `_cgo_preinit_init':
\\_\_\runtime\cgo/gcc_libinit_windows.c:40: undefined reference to `__imp___iob_func'
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\RUNNER~1\AppData\Local\Temp\go-link-474042556\000007.o: in function `x_cgo_notify_runtime_init_done':
\\_\_\runtime\cgo/gcc_libinit_windows.c:105: undefined reference to `__imp___iob_func'
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\RUNNER~1\AppData\Local\Temp\go-link-474042556\000007.o: in function `_cgo_beginthread':
\\_\_\runtime\cgo/gcc_libinit_windows.c:149: undefined reference to `__imp___iob_func'
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\RUNNER~1\AppData\Local\Temp\go-link-474042556\000008.o: in function `x_cgo_thread_start':
\\_\_\runtime\cgo/gcc_util.c:18: undefined reference to `__imp___iob_func'
collect2.exe: error: ld returned 1 exit status

Hi @thaJeztah yeah, we have been running into this. But since this has been happening and is not related to your PR , we needn't block your PR on this. Will try to fix this up on the side.

thaJeztah commented 2 months ago

Thanks! let me know if there's anything needed on my side 👍

I also just realized that containerd 1.6 is still on hcsshim v0.9.x, and containerd 1.7 is on hcsshim v0.11.x, but that depends on containerd 1.6. Considering now if the v0.11 branch should be updated to containerd 1.7, but that's assuming containerd 1.6 can continue to stay on hcsshim 0.9.x (and I'd have to check if doing so would help with some of the new modules in preparation for containerd v2.0.0 - I'll have a check if it would help for that - not urgent.

kiashok commented 1 month ago

Thanks! let me know if there's anything needed on my side 👍

I also just realized that containerd 1.6 is still on hcsshim v0.9.x, and containerd 1.7 is on hcsshim v0.11.x, but that depends on containerd 1.6. Considering now if the v0.11 branch should be updated to containerd 1.7, but that's assuming containerd 1.6 can continue to stay on hcsshim 0.9.x (and I'd have to check if doing so would help with some of the new modules in preparation for containerd v2.0.0 - I'll have a check if it would help for that - not urgent.

I think we should leave the containerd versions in the hcsshim release branches as is unless there is a strong need to do otherwise. This will bring unnecessary changes while vendoring in hcsshim tags into stable releases of containerd.