Commit Graph

2475 Commits

Author SHA1 Message Date
Qiang Huang 89ab7f2ccc Merge pull request #712 from mrunalp/comment_fixup
Fixup incorrect package name in a comment
2016-03-31 17:02:02 +08:00
Mrunal Patel 0c1c615ebd Merge pull request #711 from rhatdan/sysctl
Return a more meaningful error when namespaces are disabled
2016-03-30 15:35:06 -07:00
Mrunal Patel 79a2479099 Fixup incorrect pacakge name in a comment
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2016-03-30 14:48:19 -07:00
Alexander Morozov 2441732d6f Merge pull request #710 from crosbymichael/no-pivot
Add --no-pivot option for containers on ramdisk
2016-03-30 13:57:24 -07:00
Aleksa Sarai 0a5293fa4e Merge pull request #708 from cyphar/treat-numric-ids-properly
libcontainer: user: always treat numeric ids numerically
2016-03-31 07:52:26 +11:00
Aleksa Sarai 3cfff676b1 libcontainer: user: general cleanups
Some of the code was quite confusing inside libcontainer/user, so
refactor and comment it so future maintainers can understand what's
going and what edge cases we have to deal with.

Signed-off-by: Aleksa Sarai <asarai@suse.de>
2016-03-31 07:44:16 +11:00
Aleksa Sarai 4468dd5890 libcontainer: user: add tests for numeric user specifications
Signed-off-by: Aleksa Sarai <asarai@suse.de>
2016-03-31 07:44:16 +11:00
Aleksa Sarai 69af385de6 libcontainer: user: always treat numeric ids numerically
Most shadow-related tools don't treat numeric ids as potential
usernames, so change our behaviour to match that. Previously, using an
explicit specification like 111:222 could result in the UID and GID not
being 111 and 222 respectively (which is confusing).

Signed-off-by: Aleksa Sarai <asarai@suse.de>
2016-03-31 07:33:31 +11:00
Dan Walsh d2a39ea043 Return a more meaningful error when namespaces are disabled
Signed-off-by: Dan Walsh <dwalsh@redhat.com>
2016-03-30 16:16:24 -04:00
Michael Crosby 12bd4cffd0 Add --no-pivot option for containers on ramdisk
This adds a `--no-pivot` cli flag to runc so that a container's rootfs
can be located ontop of ramdisk/tmpfs and not fail because you cannot
pivot root.

This should be a cli flag and not part of the spec because this is a
detail of the host/runtime environment and not an attribute of a
container.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-03-30 12:02:17 -07:00
Aleksa Sarai 534d7a8ee4 Makefile: install to /usr/local/sbin
Since runC requires root in order to run, it makes more sense to put it
in /usr/local/sbin (which is traditionally for root-only utilities).
This also fixes the section number mismatch (man8 is usually for
administrative utilities in /usr/local/sbin).

Signed-off-by: Aleksa Sarai <asarai@suse.de>
2016-03-31 01:15:05 +11:00
Qiang Huang 8fa5343b00 Merge pull request #703 from crosbymichael/delete
Remove container root dir from an aborted start
2016-03-30 10:39:07 +08:00
Qiang Huang 2c303f3893 Merge pull request #706 from crosbymichael/spec-timeout
Bump spec and implement hook timeout
2016-03-30 10:33:05 +08:00
Michael Crosby 6f84d902ca Implement hook timeouts
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-03-29 11:14:59 -07:00
Michael Crosby 4d431183be Update spec to version cf8ebc9d6e
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-03-29 11:14:35 -07:00
Michael Crosby fb0dfe068c Remove container root dir from an aborted start
If runc was SIGKILL'd or something happened and the container was not
able to start and runc died as well then we could get into the state
where `$root/<containerid>` exists but `$root/<containerid>/state.json`
does not.  This will not allow libcontainer to load the container to
call the delete function as it has no data on the container other than
its id.  We should just remove it in runc so that that system matches
what runc sees for the container.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-03-29 10:27:19 -07:00
Mrunal Patel e55fcbda8a Merge pull request #683 from thtanaka/mqueue-label
Only perform mount labelling when necessary
2016-03-29 09:30:43 -07:00
Michael Crosby ed03709656 Merge pull request #700 from marcosnils/tests_fix
Fix hanging tests when run without root
2016-03-28 16:47:26 -07:00
Mrunal Patel 851c050340 Merge pull request #686 from hqhq/hq_refactor_nsexec
Refactor nsexec.c and add some comments
2016-03-28 09:36:06 -07:00
Mrunal Patel 857d418b09 Merge pull request #698 from ggaaooppeenngg/gaopeng/format-errorf
Use %v for map structure format
2016-03-28 09:28:28 -07:00
Qiang Huang d9520aeba4 Close opened files before exit
Not to say it'll cause memory leak, it'll still be a
good practice.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-03-28 11:16:34 +08:00
Qiang Huang 3b7e10652b Refactor nsexec.c and add some comments
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-03-28 11:16:12 +08:00
Qiang Huang d8b8f76c4f Fix problem when update memory and swap memory
Currently, if we start a container with:
`docker run -ti --name foo --memory 300M --memory-swap 500M busybox sh`

Then we want to update it with:
`docker update --memory 600M --memory-swap 800M foo`

It'll get error because we can't set memory to 600M with
the 500M limit of swap memory.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2016-03-28 10:48:29 +08:00
Mrunal Patel f5ad78dc49 Merge pull request #699 from ggaaooppeenngg/gaopeng/fix-typo
Fix typo
2016-03-27 16:27:52 -07:00
Marcos Lilljedahl 61ffdc0661 Fix hanging tests when run without root
Fixes #692

Signed-off-by: Marcos Lilljedahl <marcosnils@gmail.com>
2016-03-27 01:53:01 -03:00
Peng Gao 3fa246609c Fix typo
Signed-off-by: Peng Gao <peng.gao.dut@gmail.com>
2016-03-27 12:44:16 +08:00
Peng Gao ffbc626e53 Use %v for map structure format
Based on Golang document, %s is for "the uninterpreted bytes of the
string or slice", so %v is more appropriate.

Signed-off-by: Peng Gao <peng.gao.dut@gmail.com>
2016-03-26 23:28:59 +08:00
Mrunal Patel 519529febe Merge pull request #696 from hartzler/fix-libcontainer-doc
Fix libcontainer README.md example config
2016-03-25 21:24:12 -07:00
Matt Hartzler 9428c58e85 Fix libcontainer README.md example config
Signed-off-by: Matt Hartzler <matt@cryptopanic.org>
2016-03-25 21:49:02 -05:00
Mrunal Patel 47499e0415 Merge pull request #687 from cloudfoundry-incubator/rlimit-with-prlimit
Set rlimits using prlimit in parent
2016-03-25 18:10:10 -07:00
Mrunal Patel 40f4e7873d Merge pull request #691 from crosbymichael/seccomp-log
Remove log from seccomp package
2016-03-25 17:45:26 -07:00
Mrunal Patel f3e5352c7f Merge pull request #688 from codido/specconv
Export CreateLibcontainerConfig
2016-03-25 17:44:58 -07:00
Mrunal Patel 9d2d88ca8a Merge pull request #690 from crosbymichael/lock-thread
Move lockthread to package level
2016-03-25 17:43:22 -07:00
Michael Crosby 8873ac26a5 Remove log from seccomp package
Logging in packages is bad, mkay.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-03-25 14:21:30 -07:00
Michael Crosby 0698777a36 Move lockthread to package level
Move this to be one of the first things that is done in the main if we
are executing the init.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-03-25 11:15:09 -07:00
Ido Yariv 28b21a5988 Export CreateLibcontainerConfig
Users of libcontainer other than runc may also require parsing and
converting specification configuration files.

Since runc cannot be imported, move the relevant functions and
definitions to a separate package, libcontainer/specconv.

Signed-off-by: Ido Yariv <ido@wizery.com>
2016-03-25 12:19:18 -04:00
Julian Friedman e91b2b8aca Set rlimits using prlimit in parent
Fixes #680

This changes setupRlimit to use the Prlimit syscall (rather than
Setrlimit) and moves the call to the parent process. This is necessary
because Setrlimit would affect the libcontainer consumer if called in
the parent, and would fail if called from the child if the
child process is in a user namespace and the requested rlimit is higher
than that in the parent.

Signed-off-by: Julian Friedman <julz.friedman@uk.ibm.com>
2016-03-25 15:11:44 +00:00
Qiang Huang 344b0ccaa6 Merge pull request #685 from allencloud/fix-typos
fix typos
2016-03-25 18:18:29 +08:00
allencloud 10cc27888c fix typos
Signed-off-by: allencloud <allen.sun@daocloud.io>
2016-03-25 11:11:48 +08:00
Thomas Tanaka 55aabc142c Only perform mount labelling when necessary
Do label mqueue when mounting it with label failed/not supported.

Signed-off-by: Thomas Tanaka <thomas.tanaka@oracle.com>
2016-03-24 13:38:18 -07:00
Michael Crosby 5439bd2d95 Merge pull request #682 from anusha-ragunathan/dont-cleanpath
Dont cleanPath for systemd cgroup paths.
2016-03-24 11:18:51 -07:00
Anusha Ragunathan 89abd91694 Dont cleanPath for systemd cgroup paths.
systemd expects cgroupsPath to be of form "slice:prefix:name".
So dont call cleanPath on it anymore.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-03-24 10:52:41 -07:00
Michael Crosby 24950964ec Merge pull request #667 from mrunalp/systemd_cgroups
Add support for enabling systemd cgroups
2016-03-23 16:14:03 -07:00
Mrunal Patel d563bd1342 Merge pull request #677 from tonistiigi/pipe-crash-logging
Show proper error from init process panic
2016-03-23 09:52:57 -07:00
Mrunal Patel 0e4170849f Update man page for runc
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2016-03-22 17:09:51 -07:00
Mrunal Patel 7e91a96605 Add support for systemd cgroups in runc
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2016-03-22 17:08:07 -07:00
Mrunal Patel 24142a8514 Add a flag to enable systemd cgroups support in runc
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2016-03-22 17:07:57 -07:00
Tonis Tiigi 78ecdfe18e Show proper error from init process panic
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-22 15:57:15 -07:00
Mrunal Patel 5f182ce738 Merge pull request #673 from rajasec/error-typo
fixing typo in device access error
2016-03-22 14:16:33 -07:00
Mrunal Patel a35f907983 Merge pull request #668 from mrunalp/fix_exec_oom
Set oom_score_adj before we send the config to avoid race
2016-03-22 09:42:34 -07:00