mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
Update Libcontainer
This commit is contained in:
parent
cb6f8f2ce9
commit
0046760e05
64
Godeps/Godeps.json
generated
64
Godeps/Godeps.json
generated
@ -1600,83 +1600,83 @@
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/opencontainers/runc/libcontainer",
|
||||
"Comment": "v1.0.0-rc1-57-g4eb8c2f",
|
||||
"Rev": "4eb8c2fb1dcb10fa3bf9bd7031f3a25a8ce2fef6"
|
||||
"Comment": "v1.0.0-rc1-79-g0ae6018",
|
||||
"Rev": "0ae6018eb9a3591c856c57c8caa4a6f3e89a2e67"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/opencontainers/runc/libcontainer/apparmor",
|
||||
"Comment": "v1.0.0-rc1-57-g4eb8c2f",
|
||||
"Rev": "4eb8c2fb1dcb10fa3bf9bd7031f3a25a8ce2fef6"
|
||||
"Comment": "v1.0.0-rc1-79-g0ae6018",
|
||||
"Rev": "0ae6018eb9a3591c856c57c8caa4a6f3e89a2e67"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/opencontainers/runc/libcontainer/cgroups",
|
||||
"Comment": "v1.0.0-rc1-57-g4eb8c2f",
|
||||
"Rev": "4eb8c2fb1dcb10fa3bf9bd7031f3a25a8ce2fef6"
|
||||
"Comment": "v1.0.0-rc1-79-g0ae6018",
|
||||
"Rev": "0ae6018eb9a3591c856c57c8caa4a6f3e89a2e67"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/opencontainers/runc/libcontainer/cgroups/fs",
|
||||
"Comment": "v1.0.0-rc1-57-g4eb8c2f",
|
||||
"Rev": "4eb8c2fb1dcb10fa3bf9bd7031f3a25a8ce2fef6"
|
||||
"Comment": "v1.0.0-rc1-79-g0ae6018",
|
||||
"Rev": "0ae6018eb9a3591c856c57c8caa4a6f3e89a2e67"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/opencontainers/runc/libcontainer/cgroups/systemd",
|
||||
"Comment": "v1.0.0-rc1-57-g4eb8c2f",
|
||||
"Rev": "4eb8c2fb1dcb10fa3bf9bd7031f3a25a8ce2fef6"
|
||||
"Comment": "v1.0.0-rc1-79-g0ae6018",
|
||||
"Rev": "0ae6018eb9a3591c856c57c8caa4a6f3e89a2e67"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/opencontainers/runc/libcontainer/configs",
|
||||
"Comment": "v1.0.0-rc1-57-g4eb8c2f",
|
||||
"Rev": "4eb8c2fb1dcb10fa3bf9bd7031f3a25a8ce2fef6"
|
||||
"Comment": "v1.0.0-rc1-79-g0ae6018",
|
||||
"Rev": "0ae6018eb9a3591c856c57c8caa4a6f3e89a2e67"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/opencontainers/runc/libcontainer/configs/validate",
|
||||
"Comment": "v1.0.0-rc1-57-g4eb8c2f",
|
||||
"Rev": "4eb8c2fb1dcb10fa3bf9bd7031f3a25a8ce2fef6"
|
||||
"Comment": "v1.0.0-rc1-79-g0ae6018",
|
||||
"Rev": "0ae6018eb9a3591c856c57c8caa4a6f3e89a2e67"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/opencontainers/runc/libcontainer/criurpc",
|
||||
"Comment": "v1.0.0-rc1-57-g4eb8c2f",
|
||||
"Rev": "4eb8c2fb1dcb10fa3bf9bd7031f3a25a8ce2fef6"
|
||||
"Comment": "v1.0.0-rc1-79-g0ae6018",
|
||||
"Rev": "0ae6018eb9a3591c856c57c8caa4a6f3e89a2e67"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/opencontainers/runc/libcontainer/keys",
|
||||
"Comment": "v1.0.0-rc1-57-g4eb8c2f",
|
||||
"Rev": "4eb8c2fb1dcb10fa3bf9bd7031f3a25a8ce2fef6"
|
||||
"Comment": "v1.0.0-rc1-79-g0ae6018",
|
||||
"Rev": "0ae6018eb9a3591c856c57c8caa4a6f3e89a2e67"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/opencontainers/runc/libcontainer/label",
|
||||
"Comment": "v1.0.0-rc1-57-g4eb8c2f",
|
||||
"Rev": "4eb8c2fb1dcb10fa3bf9bd7031f3a25a8ce2fef6"
|
||||
"Comment": "v1.0.0-rc1-79-g0ae6018",
|
||||
"Rev": "0ae6018eb9a3591c856c57c8caa4a6f3e89a2e67"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/opencontainers/runc/libcontainer/seccomp",
|
||||
"Comment": "v1.0.0-rc1-57-g4eb8c2f",
|
||||
"Rev": "4eb8c2fb1dcb10fa3bf9bd7031f3a25a8ce2fef6"
|
||||
"Comment": "v1.0.0-rc1-79-g0ae6018",
|
||||
"Rev": "0ae6018eb9a3591c856c57c8caa4a6f3e89a2e67"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/opencontainers/runc/libcontainer/selinux",
|
||||
"Comment": "v1.0.0-rc1-57-g4eb8c2f",
|
||||
"Rev": "4eb8c2fb1dcb10fa3bf9bd7031f3a25a8ce2fef6"
|
||||
"Comment": "v1.0.0-rc1-79-g0ae6018",
|
||||
"Rev": "0ae6018eb9a3591c856c57c8caa4a6f3e89a2e67"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/opencontainers/runc/libcontainer/stacktrace",
|
||||
"Comment": "v1.0.0-rc1-57-g4eb8c2f",
|
||||
"Rev": "4eb8c2fb1dcb10fa3bf9bd7031f3a25a8ce2fef6"
|
||||
"Comment": "v1.0.0-rc1-79-g0ae6018",
|
||||
"Rev": "0ae6018eb9a3591c856c57c8caa4a6f3e89a2e67"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/opencontainers/runc/libcontainer/system",
|
||||
"Comment": "v1.0.0-rc1-57-g4eb8c2f",
|
||||
"Rev": "4eb8c2fb1dcb10fa3bf9bd7031f3a25a8ce2fef6"
|
||||
"Comment": "v1.0.0-rc1-79-g0ae6018",
|
||||
"Rev": "0ae6018eb9a3591c856c57c8caa4a6f3e89a2e67"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/opencontainers/runc/libcontainer/user",
|
||||
"Comment": "v1.0.0-rc1-57-g4eb8c2f",
|
||||
"Rev": "4eb8c2fb1dcb10fa3bf9bd7031f3a25a8ce2fef6"
|
||||
"Comment": "v1.0.0-rc1-79-g0ae6018",
|
||||
"Rev": "0ae6018eb9a3591c856c57c8caa4a6f3e89a2e67"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/opencontainers/runc/libcontainer/utils",
|
||||
"Comment": "v1.0.0-rc1-57-g4eb8c2f",
|
||||
"Rev": "4eb8c2fb1dcb10fa3bf9bd7031f3a25a8ce2fef6"
|
||||
"Comment": "v1.0.0-rc1-79-g0ae6018",
|
||||
"Rev": "0ae6018eb9a3591c856c57c8caa4a6f3e89a2e67"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/pborman/uuid",
|
||||
|
4
vendor/github.com/opencontainers/runc/libcontainer/cgroups/fs/apply_raw.go
generated
vendored
4
vendor/github.com/opencontainers/runc/libcontainer/cgroups/fs/apply_raw.go
generated
vendored
@ -9,7 +9,6 @@ import (
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"sync"
|
||||
|
||||
"github.com/opencontainers/runc/libcontainer/cgroups"
|
||||
@ -33,7 +32,6 @@ var (
|
||||
&FreezerGroup{},
|
||||
&NameGroup{GroupName: "name=systemd", Join: true},
|
||||
}
|
||||
CgroupProcesses = "cgroup.procs"
|
||||
HugePageSizes, _ = cgroups.GetHugePageSize()
|
||||
)
|
||||
|
||||
@ -341,7 +339,7 @@ func (raw *cgroupData) join(subsystem string) (string, error) {
|
||||
if err := os.MkdirAll(path, 0755); err != nil {
|
||||
return "", err
|
||||
}
|
||||
if err := writeFile(path, CgroupProcesses, strconv.Itoa(raw.pid)); err != nil {
|
||||
if err := cgroups.WriteCgroupProc(path, raw.pid); err != nil {
|
||||
return "", err
|
||||
}
|
||||
return path, nil
|
||||
|
3
vendor/github.com/opencontainers/runc/libcontainer/cgroups/fs/cpuset.go
generated
vendored
3
vendor/github.com/opencontainers/runc/libcontainer/cgroups/fs/cpuset.go
generated
vendored
@ -8,7 +8,6 @@ import (
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
|
||||
"github.com/opencontainers/runc/libcontainer/cgroups"
|
||||
"github.com/opencontainers/runc/libcontainer/configs"
|
||||
@ -67,7 +66,7 @@ func (s *CpusetGroup) ApplyDir(dir string, cgroup *configs.Cgroup, pid int) erro
|
||||
}
|
||||
// because we are not using d.join we need to place the pid into the procs file
|
||||
// unlike the other subsystems
|
||||
if err := writeFile(dir, "cgroup.procs", strconv.Itoa(pid)); err != nil {
|
||||
if err := cgroups.WriteCgroupProc(dir, pid); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
29
vendor/github.com/opencontainers/runc/libcontainer/cgroups/utils.go
generated
vendored
29
vendor/github.com/opencontainers/runc/libcontainer/cgroups/utils.go
generated
vendored
@ -16,7 +16,10 @@ import (
|
||||
"github.com/docker/go-units"
|
||||
)
|
||||
|
||||
const cgroupNamePrefix = "name="
|
||||
const (
|
||||
cgroupNamePrefix = "name="
|
||||
CgroupProcesses = "cgroup.procs"
|
||||
)
|
||||
|
||||
// https://www.kernel.org/doc/Documentation/cgroup-v1/cgroups.txt
|
||||
func FindCgroupMountpoint(subsystem string) (string, error) {
|
||||
@ -239,7 +242,7 @@ func GetInitCgroupDir(subsystem string) (string, error) {
|
||||
}
|
||||
|
||||
func readProcsFile(dir string) ([]int, error) {
|
||||
f, err := os.Open(filepath.Join(dir, "cgroup.procs"))
|
||||
f, err := os.Open(filepath.Join(dir, CgroupProcesses))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -326,8 +329,7 @@ func PathExists(path string) bool {
|
||||
func EnterPid(cgroupPaths map[string]string, pid int) error {
|
||||
for _, path := range cgroupPaths {
|
||||
if PathExists(path) {
|
||||
if err := ioutil.WriteFile(filepath.Join(path, "cgroup.procs"),
|
||||
[]byte(strconv.Itoa(pid)), 0700); err != nil {
|
||||
if err := WriteCgroupProc(path, pid); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@ -396,7 +398,7 @@ func GetAllPids(path string) ([]int, error) {
|
||||
// collect pids from all sub-cgroups
|
||||
err := filepath.Walk(path, func(p string, info os.FileInfo, iErr error) error {
|
||||
dir, file := filepath.Split(p)
|
||||
if file != "cgroup.procs" {
|
||||
if file != CgroupProcesses {
|
||||
return nil
|
||||
}
|
||||
if iErr != nil {
|
||||
@ -411,3 +413,20 @@ func GetAllPids(path string) ([]int, error) {
|
||||
})
|
||||
return pids, err
|
||||
}
|
||||
|
||||
// WriteCgroupProc writes the specified pid into the cgroup's cgroup.procs file
|
||||
func WriteCgroupProc(dir string, pid int) error {
|
||||
// Normally dir should not be empty, one case is that cgroup subsystem
|
||||
// is not mounted, we will get empty dir, and we want it fail here.
|
||||
if dir == "" {
|
||||
return fmt.Errorf("no such directory for %s", CgroupProcesses)
|
||||
}
|
||||
|
||||
// Dont attach any pid to the cgroup if -1 is specified as a pid
|
||||
if pid != -1 {
|
||||
if err := ioutil.WriteFile(filepath.Join(dir, CgroupProcesses), []byte(strconv.Itoa(pid)), 0700); err != nil {
|
||||
return fmt.Errorf("failed to write %v to %v: %v", pid, CgroupProcesses, err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user