]> git.ipfire.org Git - thirdparty/lxc.git/log
thirdparty/lxc.git
7 years agodoc: add lxc.namespace.clone + lxc.namespace.keep 2125/head
Christian Brauner [Mon, 5 Feb 2018 17:32:00 +0000 (18:32 +0100)] 
doc: add lxc.namespace.clone + lxc.namespace.keep

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agostart: resolve clone flags
Christian Brauner [Fri, 2 Feb 2018 12:29:06 +0000 (13:29 +0100)] 
start: resolve clone flags

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agoconfile: add lxc.namespace.keep
Christian Brauner [Fri, 2 Feb 2018 11:40:55 +0000 (12:40 +0100)] 
confile: add lxc.namespace.keep

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agoconfile: add lxc.namespace.clone
Christian Brauner [Fri, 2 Feb 2018 11:38:14 +0000 (12:38 +0100)] 
confile: add lxc.namespace.clone

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agoconfile: lxc.namespace.* -> lxc.namespace.share.*
Christian Brauner [Fri, 2 Feb 2018 10:53:51 +0000 (11:53 +0100)] 
confile: lxc.namespace.* -> lxc.namespace.share.*

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agoMerge pull request #2117 from brauner/2018-01-26/cgroup_v2_support
Serge Hallyn [Tue, 6 Feb 2018 19:19:10 +0000 (13:19 -0600)] 
Merge pull request #2117 from brauner/2018-01-26/cgroup_v2_support

cgroups: add unified hierarchy support

7 years agoMerge pull request #2044 from brauner/2017-12-16/lxc_ls_add_unprivileged_field
Serge Hallyn [Tue, 6 Feb 2018 19:08:49 +0000 (13:08 -0600)] 
Merge pull request #2044 from brauner/2017-12-16/lxc_ls_add_unprivileged_field

tools: add UNPRIVILEGED field in fancy output mode

7 years agoMerge pull request #2130 from tych0/sigterm-handling
Serge Hallyn [Mon, 5 Feb 2018 15:00:27 +0000 (09:00 -0600)] 
Merge pull request #2130 from tych0/sigterm-handling

Sigterm handling

7 years agoMerge pull request #2129 from tych0/sigterm-sigkill
Christian Brauner [Mon, 5 Feb 2018 14:47:07 +0000 (15:47 +0100)] 
Merge pull request #2129 from tych0/sigterm-sigkill

lxc-init: use SIGKILL after alarm timeout

7 years agolxc.init: ignore SIGHUP 2130/head
Tycho Andersen [Mon, 5 Feb 2018 14:19:25 +0000 (14:19 +0000)] 
lxc.init: ignore SIGHUP

see comment for details.

Signed-off-by: Tycho Andersen <tycho@tycho.ws>
7 years agomonitor: send SIGTERM to the container when SIGHUP is received
Tycho Andersen [Mon, 5 Feb 2018 14:17:48 +0000 (14:17 +0000)] 
monitor: send SIGTERM to the container when SIGHUP is received

For the ->execute() case, we want to make sure the application dies when
SIGHUP is received. The next patch will ignore SIGHUP in the lxc monitor,
because tasks inside the container send SIGHUP to init to have it reload
its config sometimes, and we don't want to do that with init.lxc, since it
might actually kill the container if it forwards SIGHUP to the child and
the child can't handle it.

Signed-off-by: Tycho Andersen <tycho@tycho.ws>
7 years agolxc-init: use SIGKILL after alarm timeout 2129/head
Tycho Andersen [Mon, 5 Feb 2018 14:13:18 +0000 (14:13 +0000)] 
lxc-init: use SIGKILL after alarm timeout

d76e3e1 inadvertently switched the alarm timeout from sigterm to sigkill.
We really want sigkill here, so let's bring it back.

Signed-off-by: Tycho Andersen <tycho@tycho.ws>
7 years agoMerge pull request #2126 from flx42/nvidia-visible-devices-change-null-semantic
Christian Brauner [Fri, 2 Feb 2018 15:11:50 +0000 (16:11 +0100)] 
Merge pull request #2126 from flx42/nvidia-visible-devices-change-null-semantic

hooks: change the semantic of NVIDIA_VISIBLE_DEVICES=""

7 years agohooks: change the semantic of NVIDIA_VISIBLE_DEVICES="" 2126/head
Felix Abecassis [Fri, 2 Feb 2018 14:19:13 +0000 (06:19 -0800)] 
hooks: change the semantic of NVIDIA_VISIBLE_DEVICES=""

With LXC, you can override the value of an environment variable to
null, but you can't unset an existing variable.

The NVIDIA hook was previously activated when NVIDIA_VISIBLE_DEVICES
was set to null. As a result, it was not possible to disable the hook
by overriding the environment variable in the configuration.

The hook can now be disabled by setting NVIDIA_VISIBLE_DEVICES to
null or to the new special value "void".

Signed-off-by: Felix Abecassis <fabecassis@nvidia.com>
7 years agoMerge pull request #2120 from stgraber/master
Christian Brauner [Thu, 1 Feb 2018 14:55:25 +0000 (15:55 +0100)] 
Merge pull request #2120 from stgraber/master

debian: We must use iproute on wheezy

7 years agodebian: We must use iproute on wheezy 2120/head
Stéphane Graber [Thu, 1 Feb 2018 14:02:25 +0000 (15:02 +0100)] 
debian: We must use iproute on wheezy

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
7 years agoMerge pull request #2119 from brauner/2018-02-01/fix_android
Stéphane Graber [Thu, 1 Feb 2018 14:26:22 +0000 (15:26 +0100)] 
Merge pull request #2119 from brauner/2018-02-01/fix_android

lsm: do not #ifdefine

7 years agolsm: do not #ifdefine 2119/head
Christian Brauner [Thu, 1 Feb 2018 12:14:36 +0000 (13:14 +0100)] 
lsm: do not #ifdefine

Since we stopped linking against AppArmor we can now remove the conditional
compilation.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agoMerge pull request #2114 from brauner/2018-01-27/make_name_arg_optional
Serge Hallyn [Thu, 1 Feb 2018 04:11:48 +0000 (22:11 -0600)] 
Merge pull request #2114 from brauner/2018-01-27/make_name_arg_optional

tools: make "-n" optional

7 years agocgroups: more consistent naming 2117/head
Christian Brauner [Wed, 31 Jan 2018 16:09:13 +0000 (17:09 +0100)] 
cgroups: more consistent naming

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agocgroups: handle limits on the unified hierarchy
Christian Brauner [Wed, 31 Jan 2018 15:45:04 +0000 (16:45 +0100)] 
cgroups: handle limits on the unified hierarchy

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agoconfile: add lxc.cgroup2.[controller].[property]
Christian Brauner [Wed, 31 Jan 2018 15:44:30 +0000 (16:44 +0100)] 
confile: add lxc.cgroup2.[controller].[property]

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agocgroups: cgfsng_set: handle unified hierarchy
Christian Brauner [Wed, 31 Jan 2018 15:42:19 +0000 (16:42 +0100)] 
cgroups: cgfsng_set: handle unified hierarchy

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agocgroups: cgfsng_get: handle unified hierarchy
Christian Brauner [Wed, 31 Jan 2018 15:41:53 +0000 (16:41 +0100)] 
cgroups: cgfsng_get: handle unified hierarchy

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agocgroups: cgfsng_attach: handle unified hierarchy
Christian Brauner [Wed, 31 Jan 2018 15:38:55 +0000 (16:38 +0100)] 
cgroups: cgfsng_attach: handle unified hierarchy

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agocgroups: cgfsng_create: handle unified hierarchy
Christian Brauner [Wed, 31 Jan 2018 15:33:17 +0000 (16:33 +0100)] 
cgroups: cgfsng_create: handle unified hierarchy

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agocgroups: get controllers on the unified hierarchy
Christian Brauner [Wed, 31 Jan 2018 15:25:11 +0000 (16:25 +0100)] 
cgroups: get controllers on the unified hierarchy

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agoMerge pull request #2116 from brauner/2018-01-29/legacy_network_fixes
Stéphane Graber [Tue, 30 Jan 2018 01:06:50 +0000 (20:06 -0500)] 
Merge pull request #2116 from brauner/2018-01-29/legacy_network_fixes

confile_legacy: fix legacy network parser

7 years agoconfile_legacy: fix legacy network parser 2116/head
Christian Brauner [Mon, 29 Jan 2018 21:01:20 +0000 (22:01 +0100)] 
confile_legacy: fix legacy network parser

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agoMerge pull request #2102 from brauner/2018-01-22/lsm_simplifications
Serge Hallyn [Mon, 29 Jan 2018 23:08:38 +0000 (17:08 -0600)] 
Merge pull request #2102 from brauner/2018-01-22/lsm_simplifications

lsm: simplifcations

7 years agotools: make "-n" optional 2114/head
Christian Brauner [Sat, 27 Jan 2018 13:43:14 +0000 (14:43 +0100)] 
tools: make "-n" optional

This lets users use the tools with "lxc-* -n <container-name>" or
"lxc-* <container-name>".

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agoMerge pull request #2113 from marcosps/seccomp_return
Christian Brauner [Sat, 27 Jan 2018 14:50:13 +0000 (15:50 +0100)] 
Merge pull request #2113 from marcosps/seccomp_return

seccomp.c: Use return instead of attribution and return

7 years agoseccomp.c: Use return instead of attribution and return 2113/head
Marcos Paulo de Souza [Sat, 27 Jan 2018 13:13:20 +0000 (11:13 -0200)] 
seccomp.c: Use return instead of attribution and return

Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
7 years agoMerge pull request #2112 from stgraber/master
Christian Brauner [Sat, 27 Jan 2018 11:31:50 +0000 (12:31 +0100)] 
Merge pull request #2112 from stgraber/master

debian: Use iproute2 instead of iproute

7 years agodebian: Use iproute2 instead of iproute 2112/head
Stéphane Graber [Sat, 27 Jan 2018 05:33:07 +0000 (00:33 -0500)] 
debian: Use iproute2 instead of iproute

The package has pretty much always been iproute2 with iproute being an
alias for it, the alias is now gone so we need to use iproute2.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
7 years agoMerge pull request #2111 from tych0/unpriv-fixups
Christian Brauner [Fri, 26 Jan 2018 22:39:29 +0000 (23:39 +0100)] 
Merge pull request #2111 from tych0/unpriv-fixups

Unpriv fixups

7 years agorename am_unpriv to am_host_unpriv 2111/head
Tycho Andersen [Fri, 26 Jan 2018 22:11:09 +0000 (22:11 +0000)] 
rename am_unpriv to am_host_unpriv

Signed-off-by: Tycho Andersen <tycho@tycho.ws>
7 years agobetter unprivileged detection
Tycho Andersen [Fri, 26 Jan 2018 21:21:51 +0000 (21:21 +0000)] 
better unprivileged detection

In particular, if we are already in a user namespace we are unprivileged,
and doing things like moving the physical nics back to the host netns won't
work. Let's do the same thing LXD does if euid == 0: inspect
/proc/self/uid_map and see what that says.

Signed-off-by: Tycho Andersen <tycho@tycho.ws>
7 years agobetter check for lock dir
Tycho Andersen [Fri, 26 Jan 2018 17:43:12 +0000 (17:43 +0000)] 
better check for lock dir

Consider the case where we're running in a user namespace but in the host's
mount ns with the host's filesystem (something like
lxc-usernsexec ... lxc-execute ...), in this case, we'll be euid 0, but we
can't actually write to /run. Let's improve this locking check to make sure
we can actually write to /run before we decide to actually use it as our
locking dir.

Signed-off-by: Tycho Andersen <tycho@tycho.ws>
7 years agoMerge pull request #2109 from duguhaotian/new
Christian Brauner [Fri, 26 Jan 2018 13:54:35 +0000 (14:54 +0100)] 
Merge pull request #2109 from duguhaotian/new

[cgfsng] show wrong errno

7 years ago[cgfsng] show wrong errno 2109/head
duguhaotian [Fri, 26 Jan 2018 13:07:58 +0000 (21:07 +0800)] 
[cgfsng] show wrong errno

lxc_cgroup_set_data: h = get_hierarchy(controller);
if h is NULL, now errno is old, it donot set new one.
And then,
cgfsng_setup_limits:

    if (lxc_cgroup_set_data(cg->subsystem, cg->value, d)) {
if (do_devices && (errno == EACCES ||
errno == EPERM)) {
WARN("Error setting %s to %s for %s",
cg->subsystem, cg->value,
d->name);
continue;
}
SYSERROR("Error setting %s to %s for
 %s",
 cg->subsystem, cg->value,
 d->name);
goto out;
}

SYSERROR will show old errno, make me confused.

Signed-off-by: duguhaotian <duguhaotian@gmail.com>
7 years agoMerge pull request #2099 from brauner/2018-01-20/attach_init_pty
Stéphane Graber [Wed, 24 Jan 2018 20:24:46 +0000 (22:24 +0200)] 
Merge pull request #2099 from brauner/2018-01-20/attach_init_pty

bugfixes

7 years agoMerge pull request #2103 from marcosps/forward_not_used
Christian Brauner [Tue, 23 Jan 2018 10:31:53 +0000 (11:31 +0100)] 
Merge pull request #2103 from marcosps/forward_not_used

network.c: Remove ip_forward_set and callers

7 years agonetwork.c: Remove ip_forward_set and callers 2103/head
Marcos Paulo de Souza [Tue, 23 Jan 2018 00:04:03 +0000 (22:04 -0200)] 
network.c: Remove ip_forward_set and callers

The last user of ip_forward_set, lxc_ip_forward_on and
lxc_ip_forward_off was in 2009:

commit 92d385229be040cf034ac6efd9405b7bdfe06a3e
Author: Daniel Lezcano <dlezcano@fr.ibm.com>
Date:   Thu Oct 22 15:33:40 2009 +0200

    remove test directory

These functions are not called anymore.

Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
7 years agoautotools: do not link against libapparmor 2102/head
Christian Brauner [Mon, 22 Jan 2018 11:14:21 +0000 (12:14 +0100)] 
autotools: do not link against libapparmor

Since we write the label directly without going through the AppArmor API it
doesn't make sense to link against it.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agoapparmor: do not call aa_change_profile()
Christian Brauner [Mon, 22 Jan 2018 11:02:44 +0000 (12:02 +0100)] 
apparmor: do not call aa_change_profile()

We can simply write the label ourselves. There's no magic happening.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agolsm: add lsm_process_label_set_at()
Christian Brauner [Mon, 22 Jan 2018 10:54:21 +0000 (11:54 +0100)] 
lsm: add lsm_process_label_set_at()

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agolsm: add lsm_process_label_fd_get()
Christian Brauner [Mon, 22 Jan 2018 09:54:38 +0000 (10:54 +0100)] 
lsm: add lsm_process_label_fd_get()

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agolsm: non-functional changes
Christian Brauner [Mon, 22 Jan 2018 09:48:56 +0000 (10:48 +0100)] 
lsm: non-functional changes

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agoMerge pull request #2092 from lifeng68/modify_console_create
Christian Brauner [Mon, 22 Jan 2018 09:40:15 +0000 (10:40 +0100)] 
Merge pull request #2092 from lifeng68/modify_console_create

Create console when the rootfs is NULL

7 years agoFix comments and add check in lxc_poll. 2092/head
LiFeng [Mon, 22 Jan 2018 11:13:52 +0000 (06:13 -0500)] 
Fix comments and add check in lxc_poll.

Add check whether handler->conf->console.path is 'none'

Signed-off-by: LiFeng <lifeng68@huawei.com>
7 years agoMerge pull request #2100 from lifeng68/Modify_git_ignore
Christian Brauner [Mon, 22 Jan 2018 09:14:13 +0000 (10:14 +0100)] 
Merge pull request #2100 from lifeng68/Modify_git_ignore

Modify .gitignore

7 years agoModify .gitignore 2100/head
LiFeng [Mon, 22 Jan 2018 12:48:21 +0000 (07:48 -0500)] 
Modify .gitignore

Add:
src/tests/lxc-test-api-reboot
src/tests/lxc-test-criu-check-feature
src/tests/lxc-test-raw-clone
src/tests/lxc-test-share-ns
src/tests/lxc-test-state-server

Signed-off-by: LiFeng <lifeng68@huawei.com>
7 years agoMerge pull request #2101 from tenforward/japanese
Christian Brauner [Mon, 22 Jan 2018 09:13:55 +0000 (10:13 +0100)] 
Merge pull request #2101 from tenforward/japanese

doc: Update Japanese lxc-attach(1) and lxc.container.conf(5)

7 years agodoc: Update Japanese lxc-attach(1) and lxc.container.conf(5) 2101/head
KATOH Yasufumi [Mon, 22 Jan 2018 05:47:48 +0000 (14:47 +0900)] 
doc: Update Japanese lxc-attach(1) and lxc.container.conf(5)

* Update for commit ba2be1a (attach: move pty allocation into api)
* Update for commit 5757588 (manpage: correct lxc.log.file conf option)

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
7 years agoattach: non-functional changes 2099/head
Christian Brauner [Sun, 21 Jan 2018 14:23:20 +0000 (15:23 +0100)] 
attach: non-functional changes

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agoattach: setup /proc limits
Christian Brauner [Sun, 21 Jan 2018 14:20:19 +0000 (15:20 +0100)] 
attach: setup /proc limits

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agostart: fix mainloop cleanup goto statements
Christian Brauner [Sun, 21 Jan 2018 12:55:42 +0000 (13:55 +0100)] 
start: fix mainloop cleanup goto statements

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agocoverity: #1426694
Christian Brauner [Sat, 20 Jan 2018 20:46:31 +0000 (21:46 +0100)] 
coverity: #1426694

remove logically dead code

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agocoverity: #1426734
Christian Brauner [Sat, 20 Jan 2018 20:44:50 +0000 (21:44 +0100)] 
coverity: #1426734

do not call close on bad fd

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agocoverity: #1427190
Christian Brauner [Mon, 8 Jan 2018 17:25:56 +0000 (18:25 +0100)] 
coverity: #1427190

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agocoverity: #1427191
Christian Brauner [Mon, 8 Jan 2018 17:24:41 +0000 (18:24 +0100)] 
coverity: #1427191

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agocoverity: #1427638
Christian Brauner [Sat, 20 Jan 2018 20:35:35 +0000 (21:35 +0100)] 
coverity: #1427638

avoid (however unlikely) double free

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agocoverity: #1427639
Christian Brauner [Sat, 20 Jan 2018 20:30:17 +0000 (21:30 +0100)] 
coverity: #1427639

remove logically dead code

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agocoverity: #1427668
Christian Brauner [Sat, 20 Jan 2018 20:26:33 +0000 (21:26 +0100)] 
coverity: #1427668

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agotools: fix android
Christian Brauner [Sat, 20 Jan 2018 13:05:01 +0000 (14:05 +0100)] 
tools: fix android

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agotools: non-functional changes
Christian Brauner [Sat, 20 Jan 2018 13:04:15 +0000 (14:04 +0100)] 
tools: non-functional changes

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agoattach: init struct
Christian Brauner [Sat, 20 Jan 2018 11:57:12 +0000 (12:57 +0100)] 
attach: init struct

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agoMerge pull request #2097 from mikemccracken/2018-01-19/report-storage-destroy
Christian Brauner [Sat, 20 Jan 2018 05:27:36 +0000 (06:27 +0100)] 
Merge pull request #2097 from mikemccracken/2018-01-19/report-storage-destroy

storage: treat return value from ops->destroy as int

7 years agoMerge pull request #2096 from mikemccracken/patch-1
Christian Brauner [Fri, 19 Jan 2018 23:42:16 +0000 (00:42 +0100)] 
Merge pull request #2096 from mikemccracken/patch-1

manpage: correct lxc.log.file conf option

7 years agoMerge pull request #2095 from tych0/remove-lxc-init
Christian Brauner [Fri, 19 Jan 2018 17:49:21 +0000 (18:49 +0100)] 
Merge pull request #2095 from tych0/remove-lxc-init

unlink lxc-init

7 years agostorage: treat return value from ops->destroy as int 2097/head
Michael McCracken [Fri, 19 Jan 2018 16:38:36 +0000 (08:38 -0800)] 
storage: treat return value from ops->destroy as int

r->ops->destroy() returns an int, -1 on error.
When assigned to a bool, this becomes true and hides errors.

Signed-off-by: Michael McCracken <mikmccra@cisco.com>
7 years agounlink lxc-init 2095/head
Tycho Andersen [Wed, 20 Dec 2017 17:52:38 +0000 (17:52 +0000)] 
unlink lxc-init

It's sort of an implementation detail that this exists at all, and we
should probably not pollute the container's mount tables or FS with this.

Signed-off-by: Tycho Andersen <tycho@tycho.ws>
7 years ago Adapt lxc_setup_console() to bind mount 'console'
LiFeng [Fri, 19 Jan 2018 16:23:35 +0000 (11:23 -0500)] 
 Adapt lxc_setup_console() to bind mount 'console'

Signed-off-by: LiFeng <lifeng68@huawei.com>
7 years agomanpage: correct lxc.log.file conf option 2096/head
Michael McCracken [Fri, 19 Jan 2018 19:05:26 +0000 (11:05 -0800)] 
manpage: correct lxc.log.file conf option

lxc.log.file instead of just lxc.log

Signed-off-by: Michael McCracken <mikmccra@cisco.com>
7 years agoMerge pull request #2094 from tych0/propagate-exit-code
Serge Hallyn [Fri, 19 Jan 2018 04:26:32 +0000 (22:26 -0600)] 
Merge pull request #2094 from tych0/propagate-exit-code

Propagate exit code for app containers

7 years agoset exit status to 1 in the unknown si_code case 2094/head
Tycho Andersen [Fri, 19 Jan 2018 04:23:48 +0000 (04:23 +0000)] 
set exit status to 1 in the unknown si_code case

Signed-off-by: Tycho Andersen <tycho@tycho.ws>
7 years agolxc-execute: actually exit with the status of the spawned task
Tycho Andersen [Fri, 19 Jan 2018 03:31:33 +0000 (03:31 +0000)] 
lxc-execute: actually exit with the status of the spawned task

Now that we have things propagated through init and liblxc correctly, at
least in non-daemon mode, we can exit with the actual exit status of the
task, instead of always succeeding, which is not so helpful.

Signed-off-by: Tycho Andersen <tycho@tycho.ws>
7 years agostart: don't return false when the container's init exits nonzero
Tycho Andersen [Fri, 19 Jan 2018 03:29:05 +0000 (03:29 +0000)] 
start: don't return false when the container's init exits nonzero

This seems slightly counter-intuitive, but IMO it's what we want.
Basically, ->start() should succeed if the container is spawned correctly
(similar to how golang's exec.Cmd.Start() returns nil if the thing spawns
correctly), and users can check error_num (i.e. golang's exec.Cmd.Wait())
to see how it exited.

This preserves previous behavior, which basically was that start was always
successful if the thing actually launched. Since we never kept track of
exit codes, this would always succeed too. Now that we do, it doesn't, and
this change is required.

Signed-off-by: Tycho Andersen <tycho@tycho.ws>
7 years agoremember the exit code from the init process
Tycho Andersen [Fri, 19 Jan 2018 03:24:59 +0000 (03:24 +0000)] 
remember the exit code from the init process

error_num seems to be trying to remember the exit code of the init process,
except that nothing actually keeps track of it anywhere. So, let's add a
field to the handler, so that we can keep track of the process' exit
status, and the propagate it to error_num in struct lxc_container so that
people can use it.

Note that this is a slight behavior change, essentially instead of making
error_num always == the return code from start, now it contains slightly
more useful information (the actual exit status). But, there is only one
internal user of error_num which I'll fix in later in the series, so IMO
this is ok.

Signed-off-by: Tycho Andersen <tycho@tycho.ws>
7 years agolxc.init: correctly exit with the app's error code
Tycho Andersen [Fri, 19 Jan 2018 03:21:10 +0000 (03:21 +0000)] 
lxc.init: correctly exit with the app's error code

Based on the comments in the code (and the have_status flag), the intent
here (and IMO, the desired behavior) should be for init.lxc to propagate
the actual exit code from the real application process up through.
Otherwise, it is swallowed and nobody can access it.

The bug being fixed here is that ret held the correct exit code, but when
it went around the loop again (to wait for other children) ret is
clobbered. Let's save the desired exit status somewhere else, so it can't
get clobbered, and we propagate things correctly.

Signed-off-by: Tycho Andersen <tycho@tycho.ws>
7 years agofix lxc_error_set_and_log to match the docs
Tycho Andersen [Fri, 19 Jan 2018 03:20:08 +0000 (03:20 +0000)] 
fix lxc_error_set_and_log to match the docs

The documentation for this function says if the task was killed by a
signal, the return code will be 128+n, where n is the signal number. Let's
make that actually true.

(We'll use this behavior in later patches.)

Signed-off-by: Tycho Andersen <tycho@tycho.ws>
7 years agostart: don't log stop/continue for non-init processes
Tycho Andersen [Fri, 19 Jan 2018 00:50:39 +0000 (00:50 +0000)] 
start: don't log stop/continue for non-init processes

This non-init forwarding check should really be before all the log messages
about "init continued" or "init stopped", since they will otherwise lie
about some process that wasn't init being stopped or continued.

Signed-off-by: Tycho Andersen <tycho@tycho.ws>
7 years agoCreate console when the rootfs is NULL
LiFeng [Thu, 18 Jan 2018 22:26:11 +0000 (17:26 -0500)] 
Create console when the rootfs is NULL

Signed-off-by: LiFeng <lifeng68@huawei.com>
7 years agoMerge pull request #2089 from brauner/2018-01-17/restore_blocking_wait
Serge Hallyn [Wed, 17 Jan 2018 23:44:24 +0000 (17:44 -0600)] 
Merge pull request #2089 from brauner/2018-01-17/restore_blocking_wait

lxccontainer: restore blocking wait()

7 years agocommands: add LXC_CMD_SERVE_STATE_CLIENTS 2089/head
Christian Brauner [Wed, 17 Jan 2018 19:46:04 +0000 (20:46 +0100)] 
commands: add LXC_CMD_SERVE_STATE_CLIENTS

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agofreezer: non-functional changes
Christian Brauner [Wed, 17 Jan 2018 19:09:13 +0000 (20:09 +0100)] 
freezer: non-functional changes

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agolxccontainer: restore blocking wait()
Christian Brauner [Wed, 17 Jan 2018 14:22:36 +0000 (15:22 +0100)] 
lxccontainer: restore blocking wait()

Closes #2027.
Closes lxc/go-lxc#98.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agoMerge pull request #2061 from brauner/2017-12-23/attach_allocate_pty_in_api
Serge Hallyn [Wed, 17 Jan 2018 23:42:57 +0000 (17:42 -0600)] 
Merge pull request #2061 from brauner/2017-12-23/attach_allocate_pty_in_api

attach: add LXC_ATTACH_ALLOCATE_PTY

7 years agoutils: check suffix length 2061/head
Christian Brauner [Wed, 17 Jan 2018 11:21:09 +0000 (12:21 +0100)] 
utils: check suffix length

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agotest: log error on failure
Christian Brauner [Wed, 17 Jan 2018 10:50:54 +0000 (11:50 +0100)] 
test: log error on failure

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agoutils: do not rely on unitialized variable
Christian Brauner [Wed, 17 Jan 2018 10:19:05 +0000 (11:19 +0100)] 
utils: do not rely on unitialized variable

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agoMerge pull request #2086 from kunkku/alpine-ptrace
Christian Brauner [Tue, 16 Jan 2018 14:25:43 +0000 (15:25 +0100)] 
Merge pull request #2086 from kunkku/alpine-ptrace

lxc-alpine: allow retaining sys_ptrace per container

7 years agolxc-alpine: allow retaining sys_ptrace per container 2086/head
Kaarle Ritvanen [Tue, 16 Jan 2018 13:53:04 +0000 (15:53 +0200)] 
lxc-alpine: allow retaining sys_ptrace per container

Signed-off-by: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
7 years agoMerge pull request #2085 from duguhaotian/master
Christian Brauner [Tue, 16 Jan 2018 09:50:11 +0000 (10:50 +0100)] 
Merge pull request #2085 from duguhaotian/master

[console] return wrong console logsize

7 years ago[console] return wrong console logsize 2085/head
duguhaotian [Tue, 16 Jan 2018 07:31:14 +0000 (15:31 +0800)] 
[console] return wrong console logsize

get_config_console_logsize want console.buffer_size not c->autodev

Signed-off-by: duguhaotian <duguhaotian@gmail.com>
7 years agotests: do not call close() on invalid fd
Christian Brauner [Fri, 12 Jan 2018 17:26:40 +0000 (18:26 +0100)] 
tests: do not call close() on invalid fd

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agoconsole: set SFD_CLOEXEC on signal fd
Christian Brauner [Sun, 31 Dec 2017 00:58:16 +0000 (01:58 +0100)] 
console: set SFD_CLOEXEC on signal fd

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agostart: non-functional changes
Christian Brauner [Sun, 31 Dec 2017 00:48:01 +0000 (01:48 +0100)] 
start: non-functional changes

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
7 years agotools: honor --console and --console-log
Christian Brauner [Mon, 25 Dec 2017 00:52:33 +0000 (01:52 +0100)] 
tools: honor --console and --console-log

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>