Skip to content

Conversation

@kiashok
Copy link
Contributor

@kiashok kiashok commented Mar 15, 2023

This PR cherry picks commit de3d999 from main branch

Adds support for Windows container images built by Docker that contain the ArgsEscaped boolean in the ImageConfig. This is a non-OCI entry that tells the runtime that the Entrypoint and/or Cmd are a single element array with the args pre-escaped into a single CommandLine that should be passed directly to Windows rather than passed as an args array which will be additionally escaped.

(cherry picked from commit de3d999)

Adds support for Windows container images built by Docker
that contain the ArgsEscaped boolean in the ImageConfig. This
is a non-OCI entry that tells the runtime that the Entrypoint
and/or Cmd are a single element array with the args pre-escaped
into a single CommandLine that should be passed directly to
Windows rather than passed as an args array which will be
additionally escaped.

Signed-off-by: Justin Terry <[email protected]>
(cherry picked from commit de3d999)
Signed-off-by: Kirtana Ashok <[email protected]>
@k8s-ci-robot
Copy link

Hi @kiashok. 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.

Details

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.

@kiashok
Copy link
Contributor Author

kiashok commented Mar 15, 2023

@dcantah Created a PR to port de3d999 . Will send PR for porting d4b9dad once this one is merged :)

@kiashok
Copy link
Contributor Author

kiashok commented Mar 22, 2023

@dmcgowan @mikebrow could you please take a look at this PR when you have some time? :)

@dmcgowan dmcgowan merged commit 8375938 into containerd:release/1.6 Mar 22, 2023
Mengkzhaoyun pushed a commit to open-beagle/containerd that referenced this pull request Apr 10, 2023
containerd 1.6.20

Welcome to the v1.6.20 release of containerd!

The twentieth patch release for containerd 1.6 contains various fixes and updates.

* **Disable looking up usernames and groupnames on host** ([#8230](containerd/containerd#8230))
* **Add support for Windows ArgsEscaped images** ([#8273](containerd/containerd#8273))
* **Update hcsshim to v0.9.8** ([#8274](containerd/containerd#8274))
* **Fix debug flag in shim** ([#8288](containerd/containerd#8288))
* **Add `WithReadonlyTempMount` to support readonly temporary mounts** ([#8299](containerd/containerd#8299))
* **Update ttrpc to fix file descriptor leak** ([#8308](containerd/containerd#8308))
* **Update runc binary to v1.1.5** ([#8324](containerd/containerd#8324))
* **Update image config to support ArgsEscaped** ([#8306](containerd/containerd#8306))

See the changelog for complete list of changes

Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.

* Sebastiaan van Stijn
* Derek McGowan
* Maksym Pavlenko
* Akihiro Suda
* Phil Estes
* Eng Zer Jun
* Justin Terry
* Kazuyoshi Kato
* Wei Fu
* Abirdcfly
* Gabriel Adrian Samfira
* Henry Wang
* Kang.Zhang
* Kirtana Ashok
* Laura Brehm
* Luca Comellini
* Paul "TBBle" Hampson
* liyuxuan.darfux
* ningmingxiao
* wanglei
<details><summary>48 commits</summary>
<p>

* [release/1.6] Prepare release notes for v1.6.20 ([#8310](containerd/containerd#8310))
  * [`a039a2b9c`](containerd/containerd@a039a2b) Prepare release notes for v1.6.20
* [release/1.6]Updates oci image config to support upstream ArgsEscaped ([#8306](containerd/containerd#8306))
  * [`5dd94a7e6`](containerd/containerd@5dd94a7) Updates oci image config to support upstream ArgsEscaped
* [release/1.6] update runc binary to v1.1.5 ([#8324](containerd/containerd#8324))
  * [`59fa6b191`](containerd/containerd@59fa6b1) update runc binary to v1.1.5
  * [`0c0aad93e`](containerd/containerd@0c0aad9) go.mod: github.com/opencontainers/runc v1.1.5
* [release/1.6] Update ttrpc to v1.1.1 ([#8308](containerd/containerd#8308))
  * [`50a6be0b4`](containerd/containerd@50a6be0) Update ttrpc to v1.1.1
* [release/1.6 backport] Add `WithReadonlyTempMount` to create readonly temporary mounts ([#8299](containerd/containerd#8299))
  * [`8cead6594`](containerd/containerd@8cead65) Add `WithReadonlyTempMount` to create readonly temporary mounts
* [release/1.6] Adds support for Windows ArgsEscaped images ([#8273](containerd/containerd#8273))
  * [`f0dc0297d`](containerd/containerd@f0dc029) Adds support for Windows ArgsEscaped images
* [release/1.6]go.mod: Bump hcsshim tag to v0.9.8 ([#8274](containerd/containerd#8274))
  * [`5981a24e2`](containerd/containerd@5981a24) Update hcsshim tag to v0.9.8
* [1.6] shim: fix debug flag not working ([#8288](containerd/containerd#8288))
  * [`28f1e32e3`](containerd/containerd@28f1e32) shim: fix debug flag not working
* [release/1.6] cherry-pick: Update go-restful to v3 ([#8271](containerd/containerd#8271))
  * [`5a8ea75df`](containerd/containerd@5a8ea75) Update go-restful to v3
  * [`59bdc1d5a`](containerd/containerd@59bdc1d) go.mod: update to github.com/emicklei/go-restful/v3 v3.7.3
* [release/1.6] Go 1.19.7 ([#8238](containerd/containerd#8238))
  * [`86e0bd9e3`](containerd/containerd@86e0bd9) Go 1.19.7
* [release/1.6 backport] archive: disable looking up usernames and groupnames on the host ([#8230](containerd/containerd#8230))
  * [`063ad2f19`](containerd/containerd@063ad2f) archive: disable looking up usernames and groupnames on the host
* [release/1.6 backport] assorted linting, and golang update-related changes ([#8229](containerd/containerd#8229))
  * [`9cbea6fe7`](containerd/containerd@9cbea6f) Enable dupword linter
  * [`c73f1abff`](containerd/containerd@c73f1ab) Bump golangci-lint to v1.50.1
  * [`f198f7724`](containerd/containerd@f198f77) update golangci-lint to v1.49.0
  * [`e6179af1e`](containerd/containerd@e6179af) remove unneeded nolint-comments (nolintlint), disable deprecated linters
  * [`77160e6b5`](containerd/containerd@77160e6) [release/1.6] adjust some nolint comments
  * [`95655f4ce`](containerd/containerd@95655f4) clean-up "nolint" comments, remove unused ones
  * [`9f0617ecc`](containerd/containerd@9f0617e) pkg/cri/(server|sbserver): criService.getTLSConfig() add TODO to verify nolint
  * [`e66397d83`](containerd/containerd@e66397d) golangci-lint: sort linters in config file
  * [`682a567e9`](containerd/containerd@682a567) linting: address gosec G112/G114
  * [`627f563e6`](containerd/containerd@627f563) chore: remove duplicate word in comments
  * [`efb88a8bb`](containerd/containerd@efb88a8) pkg/cri/streaming: increase ReadHeaderTimeout
  * [`45f055df6`](containerd/containerd@45f055d) Update protobuf definitions
  * [`584707524`](containerd/containerd@5847075) Run gofmt 1.19
  * [`f33e38572`](containerd/containerd@f33e385) Switch to Go 1.19
  * [`fc10cd23a`](containerd/containerd@fc10cd2) remove duplicate
  * [`7cbb9e746`](containerd/containerd@7cbb9e7) Update linters to use t.Setenv
  * [`4347a3265`](containerd/containerd@4347a32) Use t.Setenv instead of os.Setenv
  * [`10357eab5`](containerd/containerd@10357ea) Address some timeout issues in the Windows CI
  * [`977ce8ef5`](containerd/containerd@977ce8e) Enable gosec linter for golangci-lint
  * [`c23945c5f`](containerd/containerd@c23945c) test: remove redundant `mountPoint`
  * [`588ed91d3`](containerd/containerd@588ed91) test: use `T.TempDir` to create temporary test directory
  * [`c2ed63c86`](containerd/containerd@c2ed63c) Remove hardcoded /tmp in tempfile paths
  * [`7e382c516`](containerd/containerd@7e382c5) fix Implicit memory aliasing in for loop
</p>
</details>
<details><summary>2 commits</summary>
<p>

* [release/1.1] server: Fix connection leak when receiving ECONNRESET ([#136](containerd/ttrpc#136))
  * [`8977f59`](containerd/ttrpc@8977f59) server: Fix connection leak when receiving ECONNRESET
</p>
</details>

* **github.com/Microsoft/hcsshim**          v0.9.7 -> v0.9.8
* **github.com/containerd/ttrpc**           v1.1.0 -> v1.1.1
* **github.com/emicklei/go-restful/v3**     v3.7.3 **_new_**
* **github.com/opencontainers/image-spec**  c5a74bcca799 -> 3a7f492d3f1b
* **github.com/opencontainers/runc**        v1.1.2 -> v1.1.5

Previous release can be found at [v1.6.19](https://github.com/containerd/containerd/releases/tag/v1.6.19)
@kiashok kiashok deleted the addSupportArgsEscaped branch June 13, 2023 22:14
@kiashok kiashok restored the addSupportArgsEscaped branch June 13, 2023 22:16
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.

5 participants