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

vendor: github.com/opencontainers/runc v1.2.0-rc.1 #47668

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

thaJeztah
Copy link
Member

@thaJeztah thaJeztah commented Apr 3, 2024

vendor: github.com/opencontainers/runtime-spec v1.2.0

  • deprecate Prestart hook
  • deprecate kernel memory limits

Additions

  • config: add idmap and ridmap mount options
  • config.md: allow empty mappings for [r]idmap
  • features-linux: Expose idmap information
  • mount: Allow relative mount destinations on Linux
  • features: add potentiallyUnsafeConfigAnnotations
  • config: add support for org.opencontainers.image annotations

Minor fixes:

  • config: improve bind mount and propagation doc

full diff: opencontainers/runtime-spec@v1.1.0...v1.2.0

vendor: github.com/cilium/ebpf v0.12.3

full diff: cilium/ebpf@v0.11.0...v0.12.3

vendor: github.com/opencontainers/runc v1.2.0-rc.1

full diff: opencontainers/runc@v1.1.12...v1.2.0-rc.1

- What I did

- How I did it

- How to verify it

- Description for the changelog

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

@thaJeztah
Copy link
Member Author

OK, looks like some changes are needed;

0.345 + go build -mod=vendor -modfile=vendor.mod -o /tmp/bundles/dynbinary-daemon/dockerd -tags ' journald' -buildmode=pie -ldflags '-w -X "github.com/docker/docker/dockerversion.Version=dev" -X "github.com/docker/docker/dockerversion.GitCommit=HEAD" -X "github.com/docker/docker/dockerversion.BuildTime=2024-04-03T12:29:20.000000000+00:00" -X "github.com/docker/docker/dockerversion.PlatformName=" -X "github.com/docker/docker/dockerversion.ProductName=" -X "github.com/docker/docker/dockerversion.DefaultProductLicense="   ' -gcflags= github.com/docker/docker/cmd/dockerd
57.03 # github.com/docker/docker/daemon
57.03 daemon/oci_linux.go:828:29: undefined: cgroups.GetInitCgroup

@thaJeztah
Copy link
Member Author

thaJeztah commented Apr 3, 2024

Relates to opencontainers/runc@fd5debf

Trying to figure out what the replacement would be; it looks like we're currently checking both a parent path and "own";

moby/daemon/oci_linux.go

Lines 826 to 837 in b7c0598

p := cgroupsPath
if useSystemd {
initPath, err := cgroups.GetInitCgroup("cpu")
if err != nil {
return errors.Wrap(err, "unable to init CPU RT controller")
}
_, err = cgroups.GetOwnCgroup("cpu")
if err != nil {
return errors.Wrap(err, "unable to init CPU RT controller")
}
p = filepath.Join(initPath, s.Linux.CgroupsPath)
}

This commit / comment may be related as well; opencontainers/runc@54e2021

libctr/cgroups: don't take init's cgroup into account

Sometimes, the init process is not in the root cgroup.
This can be noted by GetInitPath, which already scrubs the path of init.scope.

This was encountered when trying to patch the Kubelet to handle systemd being in a separate cpuset
from root (to allow load balance disabling for containers). At present, there's no way to have libcontainer or runc
manage cgroups in a hierarchy outside of the one init is in (unless the path contains init.scope, which is limiting)

full diff: opencontainers/runc@v1.1.12...v1.2.0-rc.1

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant