Skip to content

Update containerd to 06b9cb35161009dcb7123345749fef02f7cea8e0#34356

Merged
lowenna merged 2 commits intomoby:masterfrom
mlaventure:update-containerd
Aug 24, 2017
Merged

Update containerd to 06b9cb35161009dcb7123345749fef02f7cea8e0#34356
lowenna merged 2 commits intomoby:masterfrom
mlaventure:update-containerd

Conversation

@mlaventure
Copy link
Copy Markdown
Contributor

@mlaventure mlaventure commented Aug 1, 2017

This also update:

  • runc to 3f2f8b84a77f73d38244dd690525642a72156c64
  • runtime-specs to v1.0.0

Signed-off-by: Kenfe-Mickael Laventure [email protected]


diff: containerd/containerd@3addd84...06b9cb3

- What I did

  • Updated containerd to version 06b9cb35161009dcb7123345749fef02f7cea8e0
  • Updated runtime-specs to version v1.0.0 to match the one used by containerd
  • Updated runc to 3f2f8b84a77f73d38244dd690525642a72156c64

- How I did it

  • Good old vndr ;-)

- How to verify it

  • containerd --version

- Description for the changelog

Good question 😅

- A picture of a cute animal (not mandatory but encouraged)

🐒

@thaJeztah
Copy link
Copy Markdown
Member

@mlaventure panic in CI

16:08:56 --- FAIL: TestLoadProfile (0.00s)
16:08:56 panic: runtime error: invalid memory address or nil pointer dereference [recovered]
16:08:56 	panic: runtime error: invalid memory address or nil pointer dereference
16:08:56 [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x1013ec20]

@thaJeztah thaJeztah added status/2-code-review status/failing-ci Indicates that the PR in its current state fails the test suite and removed status/0-triage labels Aug 1, 2017
@mlaventure mlaventure force-pushed the update-containerd branch 3 times, most recently from fe8229e to 2f5e3b4 Compare August 3, 2017 14:59
@mlaventure mlaventure requested a review from cpuguy83 as a code owner August 3, 2017 14:59
@mlaventure mlaventure changed the title Update containerd to 08888ce31d3eaca228526d2722b55b8a41a891e1 [WIP] Update containerd to 08888ce31d3eaca228526d2722b55b8a41a891e1 Aug 3, 2017
@cpuguy83
Copy link
Copy Markdown
Member

cpuguy83 commented Aug 3, 2017

00:01:04.147 # github.com/docker/docker/libcontainerd
00:01:04.147 ..\..\libcontainerd\client_windows.go:103: spec.Platform undefined (type specs.Spec has no field or method Platform)
00:01:04.147 ..\..\libcontainerd\client_windows.go:423: container.ociSpec.Platform undefined (type specs.Spec has no field or method Platform)
00:01:04.148 ..\..\libcontainerd\container_windows.go:85: ctr.ociSpec.Platform undefined (type specs.Spec has no field or method Platform)
00:01:04.148 ..\..\libcontainerd\container_windows.go:93: ctr.ociSpec.Platform undefined (type specs.Spec has no field or method Platform)
00:01:04.148 ..\..\libcontainerd\container_windows.go:248: ctr.ociSpec.Platform undefined (type specs.Spec has no field or method Platform)

@mlaventure
Copy link
Copy Markdown
Contributor Author

Ah, I forgot windows :)

@mlaventure
Copy link
Copy Markdown
Contributor Author

If unix test passes, maybe I'll just wait for @darrenstahlmsft to cherry-pick my changes or vice-versa

@mlaventure
Copy link
Copy Markdown
Contributor Author

Found a bug in runc, I made a PR to fix it: opencontainers/runc#1544

@mlaventure mlaventure force-pushed the update-containerd branch 2 times, most recently from 6e9eaef to 21228fa Compare August 3, 2017 21:36
@mlaventure
Copy link
Copy Markdown
Contributor Author

Ok, so this is waiting on the opencontainers/runc#1544 to be merged, and a decision on whether opencontainers/runc#1450 (comment) is going to be reverted or not. If it's not reverted, I'll probably just fork runc for now.

@mlaventure mlaventure force-pushed the update-containerd branch 2 times, most recently from fd8cb42 to cb03625 Compare August 4, 2017 15:33
@thaJeztah
Copy link
Copy Markdown
Member

opencontainers/runc#1544 was merged

opencontainers/runc#1548 (reverting opencontainers/runc#1450 (comment)) has two LGTM's (not merged yet)

@thaJeztah
Copy link
Copy Markdown
Member

both are merged now

@mlaventure
Copy link
Copy Markdown
Contributor Author

mlaventure commented Aug 6, 2017 via email

@tonistiigi
Copy link
Copy Markdown
Member

ping @jhowardmsft

@lowenna
Copy link
Copy Markdown
Member

lowenna commented Aug 16, 2017

@tonistiigi I haven't got time to review this evening, but will take a look while on the plane to SF in the morning.

I take it back - was waiting for other things to complete in the background. Just some nits really.

Comment thread daemon/oci_windows.go Outdated
// TODO @jhowardmsft LCOW Support. Modify this check when running in dual-mode
if system.LCOWSupported() && img.OS == "linux" {
daemon.createSpecLinuxFields(c, &s)
createSpecLinuxFields(c, &s)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This function is a shell at the moment, but will shortly need daemon. I'd probably keep that in for now

Comment thread libcontainerd/client_windows.go Outdated
osName := spec.Platform.OS
if osName == "windows" {

// spec.Linux must be nill for Windows containers, but spec.Windows will be filled in regardless of container platform.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

typo nil

Comment thread libcontainerd/client_windows.go Outdated
// spec.Linux must be nill for Windows containers, but spec.Windows will be filled in regardless of container platform.
// This is a temporary workaround due to LCOW requiring layer folder paths, which are stored under spec.Windows.
// TODO: @darrenstahlmsft fix this once the OCI spec is updated to support layer folder paths for LCOW
isWindows := spec.Linux == nil
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Not sure we need this variable if it's only accessed once (could be in the if itself). Nit though.

Comment thread libcontainerd/client_windows.go Outdated
}

// We must have least one layer in the spec
if spec.Windows.LayerFolders == nil || len(spec.Windows.LayerFolders) < 1 {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

== 0?

}
break
}
if container.ociSpec.Windows.HyperV == nil {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Hmmm, this will break LCOW pause/resume

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Actually, I plead temporary insanity. Ignore that comment. It's fine as is! I misread == as !=.

break
}

if container.ociSpec.Windows.HyperV == nil {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Same here for LCOW

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

And same, ignore above comment too.

Comment thread libcontainerd/container_windows.go Outdated
// Linux containers requires the raw OCI spec passed through HCS and onwards to GCS for the utility VM.
if ctr.ociSpec.Platform.OS == "linux" {
// LCOW requires the raw OCI spec passed through HCS and onwards to GCS for the utility VM.
if system.LCOWSupported() && !ctr.isWindows {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Drop system.LCOWSupported(). It'll never get this far if Linux and LCOW isn't enabled.

@mlaventure
Copy link
Copy Markdown
Contributor Author

@darrenstahlmsft do you mind addressing @jhowardmsft comments? I can pick the changes from your branch once done.

@darstahl
Copy link
Copy Markdown
Contributor

Yep, I'll fix those as soon as I can.

@darstahl
Copy link
Copy Markdown
Contributor

darstahl commented Aug 21, 2017

Fixed nits with darstahl@5c6a3c0

This also update:
 - runc to 3f2f8b84a77f73d38244dd690525642a72156c64
 - runtime-specs to v1.0.0

Signed-off-by: Kenfe-Mickael Laventure <[email protected]>
@darstahl
Copy link
Copy Markdown
Contributor

@mlaventure I don't think the nits fixed in darstahl@5c6a3c0 got picked up 👼

@mlaventure
Copy link
Copy Markdown
Contributor Author

mlaventure commented Aug 21, 2017

@darrenstahlmsft in which branch is it? I cherry-picked the #33336 PR commits

EDIT: I guess I can just clone your whole repo 👼

Signed-off-by: Darren Stahl <[email protected]>
Signed-off-by: Kenfe-Mickael Laventure <[email protected]>
@mlaventure
Copy link
Copy Markdown
Contributor Author

@darrenstahlmsft done, thanks for the ping!

@darstahl
Copy link
Copy Markdown
Contributor

Sorry, I pushed it on a branch based on this PR, attempting to make it easier to take. Maybe I should've just continued working in the other branch 👼

@lowenna lowenna merged commit 285bc99 into moby:master Aug 24, 2017
@mlaventure mlaventure deleted the update-containerd branch August 24, 2017 21:41
beweedon added a commit to microsoft/opengcs that referenced this pull request Aug 25, 2017
The docker update to use this version of runc can be found in the PR
moby/moby#34356.
beweedon added a commit to microsoft/opengcs that referenced this pull request Aug 25, 2017
The docker update to use this version of runc can be found in the PR
moby/moby#34356.
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.

8 participants