[lxc-devel] [lxc/lxc] ef659a: conf: adapt idmap helpers

GitHub noreply at github.com
Fri Jan 19 14:21:00 UTC 2018


  Branch: refs/heads/stable-2.0
  Home:   https://github.com/lxc/lxc
  Commit: ef659aaf61b57aeda16cf1244a0dbf4cd5cc7740
      https://github.com/lxc/lxc/commit/ef659aaf61b57aeda16cf1244a0dbf4cd5cc7740
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/conf.c

  Log Message:
  -----------
  conf: adapt idmap helpers

- mapped_hostid_entry()
- idmap_add()

Closes #2033.

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


  Commit: 3386067693ce4dc56911d14fd76a660f3b35b220
      https://github.com/lxc/lxc/commit/3386067693ce4dc56911d14fd76a660f3b35b220
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/conf.c

  Log Message:
  -----------
  conf: adapt userns_exec_1()

Closes #2033.

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


  Commit: 4f5119635097bc0c961983bc401d70b61625e59c
      https://github.com/lxc/lxc/commit/4f5119635097bc0c961983bc401d70b61625e59c
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/conf.c
    M src/lxc/conf.h
    M src/lxc/confile.c

  Log Message:
  -----------
  conf{ile}: detect ns{g,u}id mapping for root

Closes #2033.

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


  Commit: 864b0618cbeef0d1307f91cc6c6fe13c42f33849
      https://github.com/lxc/lxc/commit/864b0618cbeef0d1307f91cc6c6fe13c42f33849
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/cgroups/cgfsng.c
    M src/lxc/conf.c
    M src/lxc/confile.c
    M src/lxc/start.c

  Log Message:
  -----------
  cgfsng: use init {g,u}id

If no id mapping for the container's root id is defined try to us the id
mappings specified via lxc.init.{g,u}id.

Closes #2033.

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


  Commit: 4a172fe3a974a3a69c2370e4989e27523a5bb5f3
      https://github.com/lxc/lxc/commit/4a172fe3a974a3a69c2370e4989e27523a5bb5f3
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/conf.c

  Log Message:
  -----------
  conf: detect if devpts can be mounted with gid=5

Closes #2033.

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


  Commit: 364acfc74e66cc2fce1fe7e04e694f82429a0f10
      https://github.com/lxc/lxc/commit/364acfc74e66cc2fce1fe7e04e694f82429a0f10
  Author: Stéphane Graber <stgraber at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M templates/lxc-gentoo.in

  Log Message:
  -----------
  gentoo: Add support for .xz tarballs

Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>


  Commit: b4f111f98d6303aa7799884b9ad76d1e6774311c
      https://github.com/lxc/lxc/commit/b4f111f98d6303aa7799884b9ad76d1e6774311c
  Author: Serge Hallyn <shallyn at cisco.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M configure.ac

  Log Message:
  -----------
  configure.ac: fix the check for static libcap

The existing check doesn't work, because when you statically
link a program against libc, any functions not called are not
included.  So cap_init() which we check for is not there in
the built binary.

So instead just check whether a "gcc -lcap -static" works.
If libcap.a is not available it will fail, if it is it will
succeed.

Signed-off-by: Serge Hallyn <shallyn at cisco.com>


  Commit: c9d3f3aa1b1c4c6a2496c5ad48d6eb630c556018
      https://github.com/lxc/lxc/commit/c9d3f3aa1b1c4c6a2496c5ad48d6eb630c556018
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/cgroups/cgfsng.c
    M src/lxc/conf.c
    M src/lxc/conf.h
    M src/lxc/start.c

  Log Message:
  -----------
  conf: write "deny" to /proc/[pid]/setgroups

When fully unprivileged users run a container that only maps their own {g,u}id
and they do not have access to setuid new{g,u}idmap binaries we will write the
idmapping directly. This however requires us to write "deny" to
/proc/[pid]/setgroups otherwise any write to /proc/[pid]/gid_map will be
denied.

On a sidenote, this patch enables fully unprivileged containers. If you now set
lxc.net.[i].type = empty no privilege whatsoever is required to run a container.

Enhances #2033.

Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>
Cc: Felix Abecassis <fabecassis at nvidia.com>
Cc: Jonathan Calmels <jcalmels at nvidia.com>
Signed-off-by: Christian Brauner <christian.brauner at ubuntu.com>


  Commit: d8c136e1bc2980940b1f33861e0ae38a567228b2
      https://github.com/lxc/lxc/commit/d8c136e1bc2980940b1f33861e0ae38a567228b2
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/conf.c
    M src/lxc/conf.h

  Log Message:
  -----------
  conf: non-functional changes

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


  Commit: 4b374937a8d45e90d86fc8b1ea943b1c89bd288b
      https://github.com/lxc/lxc/commit/4b374937a8d45e90d86fc8b1ea943b1c89bd288b
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/conf.c

  Log Message:
  -----------
  conf: rework userns_exec_1()

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


  Commit: 8b90f56638abe30f3a79a841c7cc89ddf7ad7146
      https://github.com/lxc/lxc/commit/8b90f56638abe30f3a79a841c7cc89ddf7ad7146
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/cgroups/cgfsng.c

  Log Message:
  -----------
  cgfsng: only establish mapping once

When we deleted cgroups for unprivileged containers we used to allocate a new
mapping and clone a new user namespace each time we delete a cgroup. This of
course meant - on a cgroup v1 system - doing this >= 10 times when all
controllers were used. Let's not to do this and only allocate and establish a
mapping once.

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


  Commit: d2bd703826c10efb6de6fd7a60cb1c065d5d5104
      https://github.com/lxc/lxc/commit/d2bd703826c10efb6de6fd7a60cb1c065d5d5104
  Author: Stéphane Graber <stgraber at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/lxc_init.c

  Log Message:
  -----------
  Fix broken indentation

Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>


  Commit: 6b489ff56f462b6905d0ae5b756dbc109130aa60
      https://github.com/lxc/lxc/commit/6b489ff56f462b6905d0ae5b756dbc109130aa60
  Author: Stéphane Graber <stgraber at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M configure.ac
    M src/lxc/lxc_init.c
    M src/lxc/tools/arguments.c

  Log Message:
  -----------
  Include -devel suffix in version string

Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>


  Commit: 3380e58a1fe060dfba7a7d09c1b492ff46931d3c
      https://github.com/lxc/lxc/commit/3380e58a1fe060dfba7a7d09c1b492ff46931d3c
  Author: LiFeng <lifeng68 at huawei.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/lxccontainer.c

  Log Message:
  -----------
  Add return check for 'lxc_cmd_get_name'

If 'lxc_cmd_get_name' failed and return with NULL, this would cause a segment fault.

Signed-off-by: LiFeng <lifeng68 at huawei.com>


  Commit: e0419ca1078b6e4b9ac144230e1603f6ba26c7cf
      https://github.com/lxc/lxc/commit/e0419ca1078b6e4b9ac144230e1603f6ba26c7cf
  Author: Tycho Andersen <tycho at tycho.ws>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/tools/lxc_usernsexec.c

  Log Message:
  -----------
  fix up lxc-usernsexec's exit status

* exit(1) when there is an option parsing error
* exit(0) when the user explicitly asks for help
* exit(1) when the user specifies an invalid option

Signed-off-by: Tycho Andersen <tycho at tycho.ws>


  Commit: 0ef8bff51fb922c981ef1ab203387cf106a4764c
      https://github.com/lxc/lxc/commit/0ef8bff51fb922c981ef1ab203387cf106a4764c
  Author: Tycho Andersen <tycho at tycho.ws>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/confile_utils.c

  Log Message:
  -----------
  add some idmap parsing error messages

otherwise, we just get a return value of false from setting config failure,
with no indication as to what actually failed in the log.

Signed-off-by: Tycho Andersen <tycho at tycho.ws>


  Commit: e2b0230805c041eaa88bea7b7f5af95798669bd1
      https://github.com/lxc/lxc/commit/e2b0230805c041eaa88bea7b7f5af95798669bd1
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/confile_utils.c

  Log Message:
  -----------
  confile: improve log messages

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


  Commit: db609dffdeef7f7634f72b3e81f542f5ea760583
      https://github.com/lxc/lxc/commit/db609dffdeef7f7634f72b3e81f542f5ea760583
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/console.c
    M src/lxc/console.h

  Log Message:
  -----------
  console: move pty creation to separate function

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


  Commit: cab49b4e151e2eb0bf1546c143e9086a728def18
      https://github.com/lxc/lxc/commit/cab49b4e151e2eb0bf1546c143e9086a728def18
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/start.c

  Log Message:
  -----------
  start: non-functional changes

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


  Commit: 1a6324bed6aca47b98e72c370dfb7df748b320e1
      https://github.com/lxc/lxc/commit/1a6324bed6aca47b98e72c370dfb7df748b320e1
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/conf.c
    M src/lxc/console.c
    M src/lxc/console.h
    M src/lxc/start.c

  Log Message:
  -----------
  console: add some pty helpers

- int lxc_make_controlling_pty()
- int lxc_login_pty()
- void lxc_pty_conf_free()
- void lxc_pty_info_init()
- void lxc_pty_init()

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


  Commit: a93bfc5ff06ec857c32472f14e9e2ed7e2fc75ff
      https://github.com/lxc/lxc/commit/a93bfc5ff06ec857c32472f14e9e2ed7e2fc75ff
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/attach.c

  Log Message:
  -----------
  attach: cleanup attach_child_main()

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


  Commit: fd543fe0229cbe339dd428cf7ffa2b6fc62af490
      https://github.com/lxc/lxc/commit/fd543fe0229cbe339dd428cf7ffa2b6fc62af490
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/console.c
    M src/lxc/console.h
    M src/lxc/start.c
    M src/lxc/tools/lxc_attach.c

  Log Message:
  -----------
  console: adapt lxc_console_mainloop_add()

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


  Commit: dcb579a2cb3bffed463fd43e315aa2794e4aed78
      https://github.com/lxc/lxc/commit/dcb579a2cb3bffed463fd43e315aa2794e4aed78
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/conf.c
    M src/lxc/conf.h
    M src/lxc/console.c
    M src/lxc/console.h
    M src/lxc/start.c
    M src/lxc/tools/lxc_attach.c

  Log Message:
  -----------
  console: add lxc_pty_map_ids()

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


  Commit: 8e534be6ab3bed7e02f176a176a24548166044d6
      https://github.com/lxc/lxc/commit/8e534be6ab3bed7e02f176a176a24548166044d6
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/attach.c

  Log Message:
  -----------
  attach: minor tweaks

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


  Commit: d3d3fd0b8214c950e6a8ddffbf5385aa8c0efb4b
      https://github.com/lxc/lxc/commit/d3d3fd0b8214c950e6a8ddffbf5385aa8c0efb4b
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/tools/lxc_start.c

  Log Message:
  -----------
  tools: honor --console and --console-log

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


  Commit: a7cc8f78402c81f9b2b27482210c67c130ba2f9c
      https://github.com/lxc/lxc/commit/a7cc8f78402c81f9b2b27482210c67c130ba2f9c
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/start.c

  Log Message:
  -----------
  start: non-functional changes

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


  Commit: f5d35f370b1b454eb2fd39d351a88a5d2e96b0c2
      https://github.com/lxc/lxc/commit/f5d35f370b1b454eb2fd39d351a88a5d2e96b0c2
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/console.c

  Log Message:
  -----------
  console: set SFD_CLOEXEC on signal fd

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


  Commit: 1cb849b724e80a3fd2b70257b4f44620475de2bd
      https://github.com/lxc/lxc/commit/1cb849b724e80a3fd2b70257b4f44620475de2bd
  Author: Kaarle Ritvanen <kaarle.ritvanen at datakunkku.fi>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M config/templates/alpine.common.conf.in
    M templates/lxc-alpine.in

  Log Message:
  -----------
  lxc-alpine: allow retaining sys_ptrace per container

Signed-off-by: Kaarle Ritvanen <kaarle.ritvanen at datakunkku.fi>


  Commit: d8c45e6bf432b77dbf61ad348703e3dbb67e4437
      https://github.com/lxc/lxc/commit/d8c45e6bf432b77dbf61ad348703e3dbb67e4437
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/utils.c

  Log Message:
  -----------
  utils: do not rely on unitialized variable

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


  Commit: 05cf0940540d33f51d8f7e26b7aebd5248abbfcc
      https://github.com/lxc/lxc/commit/05cf0940540d33f51d8f7e26b7aebd5248abbfcc
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/tests/lxc-test-utils.c

  Log Message:
  -----------
  test: log error on failure

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


  Commit: e4a6841757f5c5e9af93f740e8f50c81619a61e8
      https://github.com/lxc/lxc/commit/e4a6841757f5c5e9af93f740e8f50c81619a61e8
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/utils.c

  Log Message:
  -----------
  utils: check suffix length

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


  Commit: ba9605d8b009695433712936253022f524d40112
      https://github.com/lxc/lxc/commit/ba9605d8b009695433712936253022f524d40112
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/commands.c
    M src/lxc/state.c

  Log Message:
  -----------
  lxccontainer: restore blocking wait()

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

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


  Commit: 28937cc3a64eb0e01c565551fc7796d14d9edbce
      https://github.com/lxc/lxc/commit/28937cc3a64eb0e01c565551fc7796d14d9edbce
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/freezer.c

  Log Message:
  -----------
  freezer: non-functional changes

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


  Commit: b59956a4fdf93393657c3b715775ac9f2bf7955b
      https://github.com/lxc/lxc/commit/b59956a4fdf93393657c3b715775ac9f2bf7955b
  Author: Christian Brauner <christian.brauner at ubuntu.com>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/commands.c
    M src/lxc/commands.h
    M src/lxc/freezer.c
    M src/lxc/start.c
    M src/lxc/start.h
    M src/lxc/state.c

  Log Message:
  -----------
  commands: add LXC_CMD_SERVE_STATE_CLIENTS

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


  Commit: 1e511590f2ad45325f9b9e0b37cffff8e9f0ea6e
      https://github.com/lxc/lxc/commit/1e511590f2ad45325f9b9e0b37cffff8e9f0ea6e
  Author: Tycho Andersen <tycho at tycho.ws>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/start.c

  Log Message:
  -----------
  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 at tycho.ws>


  Commit: f4ce67ece4603c0fe24880d9cc47f17673f498e2
      https://github.com/lxc/lxc/commit/f4ce67ece4603c0fe24880d9cc47f17673f498e2
  Author: Tycho Andersen <tycho at tycho.ws>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/error.c

  Log Message:
  -----------
  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 at tycho.ws>


  Commit: 6f5d4e2e51e69f8b9b4dd55a58643a315337d0a7
      https://github.com/lxc/lxc/commit/6f5d4e2e51e69f8b9b4dd55a58643a315337d0a7
  Author: Tycho Andersen <tycho at tycho.ws>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/lxc_init.c

  Log Message:
  -----------
  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 at tycho.ws>


  Commit: 50cbe5eb8181a9fbcb6d9569f991f68a545ac8d2
      https://github.com/lxc/lxc/commit/50cbe5eb8181a9fbcb6d9569f991f68a545ac8d2
  Author: Tycho Andersen <tycho at tycho.ws>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/lxccontainer.c
    M src/lxc/start.c
    M src/lxc/start.h

  Log Message:
  -----------
  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 at tycho.ws>


  Commit: 6d88f7ea6e7aed869e64551a8fade0bb6527cf0d
      https://github.com/lxc/lxc/commit/6d88f7ea6e7aed869e64551a8fade0bb6527cf0d
  Author: Tycho Andersen <tycho at tycho.ws>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/start.c

  Log Message:
  -----------
  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 at tycho.ws>


  Commit: cc00cc5669f265810b4eff327038194fbdc43e3b
      https://github.com/lxc/lxc/commit/cc00cc5669f265810b4eff327038194fbdc43e3b
  Author: Tycho Andersen <tycho at tycho.ws>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/tools/lxc_execute.c

  Log Message:
  -----------
  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 at tycho.ws>


  Commit: 76f61234dc2031e0e35e7ac1acf60bf0657ea2a3
      https://github.com/lxc/lxc/commit/76f61234dc2031e0e35e7ac1acf60bf0657ea2a3
  Author: Tycho Andersen <tycho at tycho.ws>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  Changed paths:
    M src/lxc/start.c

  Log Message:
  -----------
  set exit status to 1 in the unknown si_code case

Signed-off-by: Tycho Andersen <tycho at tycho.ws>


Compare: https://github.com/lxc/lxc/compare/20c4a5219227...76f61234dc20


More information about the lxc-devel mailing list