moby--moby/pkg
Sebastiaan van Stijn 1e1156cf67
Skip kernel-memory tests on RHEL/CentOS daemons
RHEL/CentOS 3.10 kernels report that kernel-memory accounting is supported,
but it actually does not work.

Runc (when compiled for those kernels) will be compiled without kernel-memory
support, so even though the daemon may be reporting that it's supported,
it actually is not.

This cause tests to fail when testing against a daemon that's using a runc
version without kmem support.

For now, skip these tests based on the kernel version reported by the daemon.

This should fix failures such as:

```
FAIL: /go/src/github.com/docker/docker/integration-cli/docker_cli_run_unix_test.go:499: DockerSuite.TestRunWithKernelMemory

assertion failed:
Command:  /usr/bin/docker run --kernel-memory 50M --name test1 busybox cat /sys/fs/cgroup/memory/memory.kmem.limit_in_bytes
ExitCode: 0
Error:    <nil>
Stdout:   9223372036854771712

Stderr:   WARNING: You specified a kernel memory limit on a kernel older than 4.0. Kernel memory limits are experimental on older kernels, it won't work as expected and can cause your system to be unstable.

Failures:
Expected stdout to contain "52428800"

FAIL: /go/src/github.com/docker/docker/integration-cli/docker_cli_update_unix_test.go:125: DockerSuite.TestUpdateKernelMemory

/go/src/github.com/docker/docker/integration-cli/docker_cli_update_unix_test.go:136:
    ...open /go/src/github.com/docker/docker/integration-cli/docker_cli_update_unix_test.go: no such file or directory
... obtained string = "9223372036854771712"
... expected string = "104857600"

----------------------------------------------------------------------
FAIL: /go/src/github.com/docker/docker/integration-cli/docker_cli_update_unix_test.go:139: DockerSuite.TestUpdateKernelMemoryUninitialized

/go/src/github.com/docker/docker/integration-cli/docker_cli_update_unix_test.go:149:
    ...open /go/src/github.com/docker/docker/integration-cli/docker_cli_update_unix_test.go: no such file or directory
... value = nil
```

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-01-04 13:27:46 +01:00
..
aaparser Add canonical import comment 2018-02-05 16:51:57 -05:00
archive pkg/archive: add TestReexecUserNSOverlayWhiteoutConverter 2018-12-11 07:18:37 +09:00
authorization Format code with gofmt -s from go-1.11beta1 2018-09-06 15:24:16 -07:00
broadcaster Various code-cleanup 2018-05-23 17:50:54 +02:00
chrootarchive Add ADD/COPY --chown flag support to Windows 2018-08-13 21:59:11 -07:00
containerfs Add ADD/COPY --chown flag support to Windows 2018-08-13 21:59:11 -07:00
devicemapper Various code-cleanup 2018-05-23 17:50:54 +02:00
directory Extract volume interaction to a volumes service 2018-05-25 14:21:07 -04:00
discovery Add canonical import comment 2018-02-05 16:51:57 -05:00
dmesg Add canonical import comment 2018-02-05 16:51:57 -05:00
filenotify pkg/filenotify/poller: fix Close() 2018-08-29 22:16:04 -07:00
fileutils Remove duplicated words in pkg files 2018-10-05 22:32:14 +08:00
fsutils Add canonical import comment 2018-02-05 16:51:57 -05:00
homedir Add canonical import comment 2018-02-05 16:51:57 -05:00
idtools Add ADD/COPY --chown flag support to Windows 2018-08-13 21:59:11 -07:00
ioutils Update tests to use gotest.tools 👼 2018-06-13 09:04:30 +02:00
jsonmessage Update tests to use gotest.tools 👼 2018-06-13 09:04:30 +02:00
locker Add canonical import comment 2018-02-05 16:51:57 -05:00
longpath Add canonical import comment 2018-02-05 16:51:57 -05:00
loopback Add canonical import comment 2018-02-05 16:51:57 -05:00
mount Fix some go_vet issues 2018-12-19 23:57:06 +01:00
namesgenerator added an adjective to kick off another build! 2018-09-30 21:00:09 +01:00
parsers Skip kernel-memory tests on RHEL/CentOS daemons 2019-01-04 13:27:46 +01:00
pidfile Add canonical import comment 2018-02-05 16:51:57 -05:00
platform Add canonical import comment 2018-02-05 16:51:57 -05:00
plugingetter Move plugin client to separate interface 2018-05-30 15:22:10 -04:00
plugins Remove duplicated words in pkg files 2018-10-05 22:32:14 +08:00
pools Update tests to use gotest.tools 👼 2018-06-13 09:04:30 +02:00
progress pkg/progress: work around closing closed channel panic 2018-09-06 20:20:12 +00:00
pubsub Various code-cleanup 2018-05-23 17:50:54 +02:00
reexec fix build on OpenBSD by defining Self() 2018-06-16 19:09:04 +02:00
signal SIGSKTFLT does not exist on MIPS, instead SIGEMT does. SIGRTMAX is also 127 on MIPS. 2018-07-19 12:26:52 +02:00
stdcopy Merge pull request #37088 from ohbarye/fix-typos-duplicated-the 2018-05-19 20:57:47 +02:00
streamformatter Remove duplicated words in pkg files 2018-10-05 22:32:14 +08:00
stringid Add canonical import comment 2018-02-05 16:51:57 -05:00
symlink Update LICENSE 2018-09-12 14:27:53 +01:00
sysinfo use empty string as cgroup path to grab first find 2018-12-07 18:44:00 +01:00
system Fix some go_vet issues 2018-12-19 23:57:06 +01:00
tailfile Add func to get an io.Reader for tail operations 2018-08-10 21:01:15 -07:00
tarsum pkg/tarsum: fix unit test for Go 1.11+ 2018-07-19 10:38:45 +03:00
term Fix #28814 2018-08-07 10:20:13 +02:00
truncindex fixes display text in Multiple IDs found with provided prefix 2018-09-24 12:17:31 +08:00
urlutil Be explicit about github.com prefix being a legacy feature 2018-05-30 11:09:14 +02:00
useragent Add canonical import comment 2018-02-05 16:51:57 -05:00
README.md Rename a few docker to moby 2017-10-25 13:56:12 +02:00

README.md

pkg/ is a collection of utility packages used by the Moby project without being specific to its internals.

Utility packages are kept separate from the moby core codebase to keep it as small and concise as possible. If some utilities grow larger and their APIs stabilize, they may be moved to their own repository under the Moby organization, to facilitate re-use by other projects. However that is not the priority.

The directory pkg is named after the same directory in the camlistore project. Since Brad is a core Go maintainer, we thought it made sense to copy his methods for organizing Go code :) Thanks Brad!

Because utility packages are small and neatly separated from the rest of the codebase, they are a good place to start for aspiring maintainers and contributors. Get in touch if you want to help maintain them!