[lxc-devel] [lxc/lxc] be9f76: Merge git://github.com/lxc/lxc

GitHub noreply at github.com
Tue Sep 10 22:20:16 UTC 2013


  Branch: refs/heads/staging
  Home:   https://github.com/lxc/lxc
  Commit: be9f766c1ef1c74cb7cdfca97a71757b492b8a5c
      https://github.com/lxc/lxc/commit/be9f766c1ef1c74cb7cdfca97a71757b492b8a5c
  Author: Daniel Lezcano <daniel.lezcano at free.fr>
  Date:   2013-09-09 (Mon, 09 Sep 2013)

  Changed paths:
    M .gitignore
    M CONTRIBUTING
    M autogen.sh
    M config/Makefile.am
    M configure.ac
    M doc/Makefile.am
    M doc/common_options.sgml.in
    M doc/legacy/lxc-ls.sgml.in
    M doc/lxc-attach.sgml.in
    M doc/lxc-cgroup.sgml.in
    M doc/lxc-checkconfig.sgml.in
    M doc/lxc-checkpoint.sgml.in
    M doc/lxc-clone.sgml.in
    M doc/lxc-console.sgml.in
    M doc/lxc-create.sgml.in
    M doc/lxc-destroy.sgml.in
    M doc/lxc-device.sgml.in
    M doc/lxc-execute.sgml.in
    M doc/lxc-freeze.sgml.in
    M doc/lxc-info.sgml.in
    M doc/lxc-kill.sgml.in
    M doc/lxc-ls.sgml.in
    M doc/lxc-monitor.sgml.in
    M doc/lxc-netstat.sgml.in
    M doc/lxc-ps.sgml.in
    M doc/lxc-restart.sgml.in
    R doc/lxc-shutdown.sgml.in
    M doc/lxc-start-ephemeral.sgml.in
    M doc/lxc-start.sgml.in
    M doc/lxc-stop.sgml.in
    M doc/lxc-top.sgml.in
    M doc/lxc-unfreeze.sgml.in
    M doc/lxc-unshare.sgml.in
    M doc/lxc-version.sgml.in
    M doc/lxc-wait.sgml.in
    M doc/lxc.conf.sgml.in
    M doc/lxc.sgml.in
    M doc/see_also.sgml.in
    M hooks/Makefile.am
    A hooks/clonehostname
    M hooks/mountcgroups
    M hooks/mountecryptfsroot
    A hooks/ubuntu-cloud-prep
    M lxc.spec.in
    M runapitests.sh
    M src/include/getline.c
    M src/include/getline.h
    A src/include/ifaddrs.c
    A src/include/ifaddrs.h
    M src/include/lxcmntent.c
    M src/include/lxcmntent.h
    M src/include/openpty.c
    M src/include/openpty.h
    M src/lua-lxc/Makefile.am
    M src/lua-lxc/core.c
    M src/lua-lxc/lxc.lua
    M src/lxc/Makefile.am
    M src/lxc/af_unix.c
    M src/lxc/af_unix.h
    M src/lxc/apparmor.c
    M src/lxc/apparmor.h
    M src/lxc/arguments.c
    M src/lxc/arguments.h
    M src/lxc/attach.c
    M src/lxc/attach.h
    A src/lxc/attach_options.h
    A src/lxc/bdev.c
    A src/lxc/bdev.h
    M src/lxc/caps.c
    M src/lxc/caps.h
    M src/lxc/cgroup.c
    M src/lxc/cgroup.h
    M src/lxc/checkpoint.c
    M src/lxc/commands.c
    M src/lxc/commands.h
    M src/lxc/conf.c
    M src/lxc/conf.h
    M src/lxc/confile.c
    M src/lxc/confile.h
    M src/lxc/console.c
    M src/lxc/console.h
    M src/lxc/error.c
    M src/lxc/error.h
    M src/lxc/execute.c
    M src/lxc/freezer.c
    M src/lxc/genl.c
    M src/lxc/genl.h
    M src/lxc/legacy/lxc-ls.in
    M src/lxc/list.c
    M src/lxc/list.h
    M src/lxc/log.c
    M src/lxc/log.h
    M src/lxc/lxc-checkconfig.in
    R src/lxc/lxc-clone.in
    R src/lxc/lxc-create.in
    M src/lxc/lxc-destroy.in
    M src/lxc/lxc-device
    M src/lxc/lxc-ls
    M src/lxc/lxc-netstat.in
    M src/lxc/lxc-ps.in
    R src/lxc/lxc-shutdown.in
    M src/lxc/lxc-start-ephemeral.in
    M src/lxc/lxc-top
    M src/lxc/lxc.functions.in
    M src/lxc/lxc.h
    M src/lxc/lxc_attach.c
    M src/lxc/lxc_cgroup.c
    M src/lxc/lxc_checkpoint.c
    A src/lxc/lxc_clone.c
    A src/lxc/lxc_config.c
    M src/lxc/lxc_console.c
    A src/lxc/lxc_create.c
    A src/lxc/lxc_destroy.c
    M src/lxc/lxc_execute.c
    M src/lxc/lxc_freeze.c
    M src/lxc/lxc_info.c
    M src/lxc/lxc_init.c
    M src/lxc/lxc_kill.c
    M src/lxc/lxc_monitor.c
    A src/lxc/lxc_monitord.c
    M src/lxc/lxc_restart.c
    M src/lxc/lxc_start.c
    M src/lxc/lxc_stop.c
    M src/lxc/lxc_unfreeze.c
    M src/lxc/lxc_unshare.c
    A src/lxc/lxc_user_nic.c
    A src/lxc/lxc_usernsexec.c
    M src/lxc/lxc_wait.c
    M src/lxc/lxccontainer.c
    M src/lxc/lxccontainer.h
    M src/lxc/lxclock.c
    M src/lxc/lxclock.h
    M src/lxc/lxcseccomp.h
    M src/lxc/lxcutmp.c
    M src/lxc/lxcutmp.h
    M src/lxc/mainloop.c
    M src/lxc/mainloop.h
    M src/lxc/monitor.c
    M src/lxc/monitor.h
    M src/lxc/namespace.c
    M src/lxc/namespace.h
    M src/lxc/network.c
    M src/lxc/network.h
    M src/lxc/nl.c
    M src/lxc/nl.h
    M src/lxc/parse.c
    M src/lxc/parse.h
    M src/lxc/restart.c
    M src/lxc/rtnl.c
    M src/lxc/rtnl.h
    M src/lxc/seccomp.c
    M src/lxc/start.c
    M src/lxc/start.h
    M src/lxc/state.c
    M src/lxc/state.h
    R src/lxc/stop.c
    M src/lxc/sync.c
    M src/lxc/sync.h
    M src/lxc/utils.c
    M src/lxc/utils.h
    M src/lxc/version.c
    M src/lxc/version.h
    M src/python-lxc/examples/api_test.py
    A src/python-lxc/examples/pyconsole-vte.py
    A src/python-lxc/examples/pyconsole.py
    M src/python-lxc/lxc.c
    M src/python-lxc/lxc/__init__.py
    M src/python-lxc/setup.py
    M src/tests/Makefile.am
    M src/tests/cgpath.c
    A src/tests/clonetest.c
    A src/tests/console.c
    M src/tests/containertests.c
    M src/tests/createtest.c
    M src/tests/destroytest.c
    M src/tests/get_item.c
    M src/tests/locktests.c
    A src/tests/lxc-test-usernic
    M src/tests/saveconfig.c
    M src/tests/shutdowntest.c
    M src/tests/startone.c
    M templates/Makefile.am
    M templates/lxc-alpine.in
    M templates/lxc-altlinux.in
    M templates/lxc-archlinux.in
    M templates/lxc-busybox.in
    A templates/lxc-cirros.in
    M templates/lxc-debian.in
    M templates/lxc-fedora.in
    M templates/lxc-opensuse.in
    M templates/lxc-oracle.in
    M templates/lxc-sshd.in
    M templates/lxc-ubuntu-cloud.in
    M templates/lxc-ubuntu.in

  Log Message:
  -----------
  Merge git://github.com/lxc/lxc

Signed-off-by: Daniel Lezcano <daniel.lezcano at free.fr>


  Commit: 4213373fe5bb5d03d3e0a212a0ef9784b644f162
      https://github.com/lxc/lxc/commit/4213373fe5bb5d03d3e0a212a0ef9784b644f162
  Author: Daniel Lezcano <daniel.lezcano at free.fr>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M configure.ac

  Log Message:
  -----------
  change version to 1.0.0.alpha1 in configure.ac

Signed-off-by: Daniel Lezcano <daniel.lezcano at free.fr>


  Commit: 57da8c32f85c0255efa61ee32e260068afdaa565
      https://github.com/lxc/lxc/commit/57da8c32f85c0255efa61ee32e260068afdaa565
  Author: KATOH Yasufumi <karma at jazz.email.ne.jp>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M configure.ac
    M doc/Makefile.am
    A doc/ja/FAQ.txt
    A doc/ja/Makefile.am
    A doc/ja/common_options.sgml.in
    A doc/ja/legacy/lxc-ls.sgml.in
    A doc/ja/lxc-attach.sgml.in
    A doc/ja/lxc-cgroup.sgml.in
    A doc/ja/lxc-checkconfig.sgml.in
    A doc/ja/lxc-checkpoint.sgml.in
    A doc/ja/lxc-clone.sgml.in
    A doc/ja/lxc-console.sgml.in
    A doc/ja/lxc-create.sgml.in
    A doc/ja/lxc-destroy.sgml.in
    A doc/ja/lxc-device.sgml.in
    A doc/ja/lxc-execute.sgml.in
    A doc/ja/lxc-freeze.sgml.in
    A doc/ja/lxc-info.sgml.in
    A doc/ja/lxc-kill.sgml.in
    A doc/ja/lxc-ls.sgml.in
    A doc/ja/lxc-monitor.sgml.in
    A doc/ja/lxc-netstat.sgml.in
    A doc/ja/lxc-ps.sgml.in
    A doc/ja/lxc-restart.sgml.in
    A doc/ja/lxc-shutdown.sgml.in
    A doc/ja/lxc-start-ephemeral.sgml.in
    A doc/ja/lxc-start.sgml.in
    A doc/ja/lxc-stop.sgml.in
    A doc/ja/lxc-top.sgml.in
    A doc/ja/lxc-unfreeze.sgml.in
    A doc/ja/lxc-unshare.sgml.in
    A doc/ja/lxc-version.sgml.in
    A doc/ja/lxc-wait.sgml.in
    A doc/ja/lxc.conf.sgml.in
    A doc/ja/lxc.sgml.in
    A doc/ja/see_also.sgml.in

  Log Message:
  -----------
  Add Japanese man pages.

Japanese man pages is installed under $mandir/ja.
At this time, it is based on version 0.9.0.


  Commit: 98f5f7e2c54fc003f81b2164adf3c7bd8a104556
      https://github.com/lxc/lxc/commit/98f5f7e2c54fc003f81b2164adf3c7bd8a104556
  Author: Cedric Bosdonnat <cbosdonnat at suse.com>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M templates/lxc-opensuse.in

  Log Message:
  -----------
  Fixed opensuse template to make lxc-shutdown work.

The fix is described by:
https://wiki.archlinux.org/index.php/Linux_Containers#Container_cannot_be_shutdown_if_using_systemd

Signed-off-by: Cedric Bosdonnat <cbosdonnat at suse.com>
Acked-by: Stéphane Graber <stgraber at ubuntu.com>


  Commit: f5dd1d532a76a1b57cf341db821eae85ea1118c5
      https://github.com/lxc/lxc/commit/f5dd1d532a76a1b57cf341db821eae85ea1118c5
  Author: Serge Hallyn <serge.hallyn at ubuntu.com>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M src/lxc/lxccontainer.c
    M src/lxc/lxccontainer.h
    M src/tests/Makefile.am
    A src/tests/snapshot.c

  Log Message:
  -----------
  API support for container snapshots (v2)

The api allows for creating, listing, and restoring of container
snapshots.  Snapshots are created as snapshot clones of the
original container - i.e. btrfs and lvm will be done as snapshot,
a directory-backed container will have overlayfs snapshots.  A
restore is a copy-clone, using the same backing store as the
original container had.

Changelog:

 . remove lxcapi_snap_open, which wasn't defined anyway.
 . rename get_comment to get_commentpath
 . if no newname is specified at restore, use c->name (as we meant to)
   rather than segving.
 . when choosing a snapshot index, use the correct path to check for.

Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
Acked-by: Stéphane Graber <stgraber at ubuntu.com>


  Commit: 6a11b3fb9baa8faac3a8e41f25502fd4d9f42e37
      https://github.com/lxc/lxc/commit/6a11b3fb9baa8faac3a8e41f25502fd4d9f42e37
  Author: Serge Hallyn <serge.hallyn at ubuntu.com>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M src/lxc/Makefile.am
    A src/lxc/lxc_snapshot.c

  Log Message:
  -----------
  introduce lxc-snapshot

Hopefully someone else will come in and spruce it up :)  This
version is as simple as can be

lxc-snapshot -n a1
	create a snapshot of a1
echo "second commit" > /tmp/a
lxc-snapshot -n a1 -c /tmp/a
	create a snapshot of a1 with /tmp/a as a commit comment
lxc-snapshot -n a1 -L
	list a1's snapshots
lxc-snapshot -n a1 -L -C
	list a1's snapshots along with commit comments
lxc-snapshot -n a1 -r snap0 a2
	restore snapshot 0 of a1 as container a2

Some easy nice-to-haves:

1. sort snapshots in the list
2. allow a comment to be given in-line
3. an option to remove a snapshot?

Removing a snapshot can just as well be done with

	lxc-destroy -P /var/lib/lxcsnaps/c1 -n snap2

so I leave it to others to decide whether they really want
it, and provide the patch if so.

Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
Acked-by: Stéphane Graber <stgraber at ubuntu.com>


  Commit: 3fc7e0a593960e2a6c5523868a0393681209ffc4
      https://github.com/lxc/lxc/commit/3fc7e0a593960e2a6c5523868a0393681209ffc4
  Author: Serge Hallyn <serge.hallyn at ubuntu.com>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M src/lxc/error.c

  Log Message:
  -----------
  error.c: don't return error if container init signaled

We log that at INFO level in case it is needed.  However, in a modern
kernel a container which was shut down using 'shutdown' will always
have been signaled with SIGINT.  Making lxc-start return an error to
reflect that seems overkill.

It's *conceivable* that someone is depending on this behavior, so I'm
sending this out for anyone to NACK, but if I hear no complaints I'll
apply.

Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
Acked-by: Stéphane Graber <stgraber at ubuntu.com>


  Commit: d0386d66058fbd62ee99415ee8f4475a011b7b8c
      https://github.com/lxc/lxc/commit/d0386d66058fbd62ee99415ee8f4475a011b7b8c
  Author: Christian Seiler <christian at iwakd.de>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

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

  Log Message:
  -----------
  global config: Unify parsing, add additional checks

Instead of duplicating the code for parsing the global config file for
each option, write one main function, lxc_global_config_value, that
does the parsing for an arbitrary option name and just call that
function from the existing ones.

Signed-off-by: Christian Seiler <christian at iwakd.de>
Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>


  Commit: 6e16552de7cef98827c7a699464008e2cd9e2c32
      https://github.com/lxc/lxc/commit/6e16552de7cef98827c7a699464008e2cd9e2c32
  Author: Christian Seiler <christian at iwakd.de>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M configure.ac
    M src/lxc/Makefile.am
    M src/lxc/utils.c

  Log Message:
  -----------
  Add cgroup.pattern global configuration option

Signed-off-by: Christian Seiler <christian at iwakd.de>
Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>


  Commit: db27c8d70eded806da4d05183b5efcd9b834bb87
      https://github.com/lxc/lxc/commit/db27c8d70eded806da4d05183b5efcd9b834bb87
  Author: Christian Seiler <christian at iwakd.de>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

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

  Log Message:
  -----------
  Add fopen_cloexec function to emulate 'e' mode

Newer glibc versions (that we can't require) allow for an additional
letter 'e' in the fopen mode that will cause the file to be opened with
the O_CLOEXEC flag, so that it will be closed if the program exec()s
away. This is important because if liblxc is used in a multithreaded
program, another thread might want to run a program. This options
prevents the leakage of file descriptors from LXC. This patch adds an
emulation for that that uses the open(2) syscall and fdopen(3). At some
later point in time, it may be dropped against fopen(..., "...e").

This commit also converts all fopen() calls in utils.c (where the
function is added) to fopen_cloexec(). Subsequently, other calls to
fopen() and open() should also be adapted.

Signed-off-by: Christian Seiler <christian at iwakd.de>
Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>


  Commit: 82371fdd64e31e4fa3ba168c31a7e66c98343f84
      https://github.com/lxc/lxc/commit/82371fdd64e31e4fa3ba168c31a7e66c98343f84
  Author: Serge Hallyn <serge.hallyn at ubuntu.com>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M src/lxc/utils.c

  Log Message:
  -----------
  fopen_cloexec: simplify open call

Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>


  Commit: 502657d5a4b3b2de6d314c491766e062c37c94d5
      https://github.com/lxc/lxc/commit/502657d5a4b3b2de6d314c491766e062c37c94d5
  Author: Christian Seiler <christian at iwakd.de>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

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

  Log Message:
  -----------
  utils: Add string and array utility functions

Adds a few useful string and array manipulation functions to utils.[ch]

Signed-off-by: Christian Seiler <christian at iwakd.de>
Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>


  Commit: 0e95426b238e64b04ef7b6a2f260b998ed56e6a0
      https://github.com/lxc/lxc/commit/0e95426b238e64b04ef7b6a2f260b998ed56e6a0
  Author: Christian Seiler <christian at iwakd.de>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

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

  Log Message:
  -----------
  utils: Add utility functions that write/read to entire files

Signed-off-by: Christian Seiler <christian at iwakd.de>
Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>


  Commit: bfa3f007370adf755c7960d1c854e6064c40cf6a
      https://github.com/lxc/lxc/commit/bfa3f007370adf755c7960d1c854e6064c40cf6a
  Author: Serge Hallyn <serge.hallyn at ubuntu.com>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

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

  Log Message:
  -----------
  remove unused lxc_read_line_from_file()

Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>


  Commit: 33ad9f1ab13de51d28aecbcbdac086ea009a1740
      https://github.com/lxc/lxc/commit/33ad9f1ab13de51d28aecbcbdac086ea009a1740
  Author: Christian Seiler <christian at iwakd.de>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M src/lxc/attach.c
    M src/lxc/cgroup.c
    M src/lxc/cgroup.h
    M src/lxc/commands.c
    M src/lxc/freezer.c
    M src/lxc/lxc.h
    M src/lxc/lxccontainer.c
    M src/lxc/lxcutmp.c
    M src/lxc/start.c
    M src/lxc/start.h
    M src/lxc/state.c
    M src/lxc/utils.c
    M src/tests/cgpath.c

  Log Message:
  -----------
  cgroup: Major rewrite of cgroup logic

This patch rewrites most of the cgroup logic. It creates a set of data
structures to store the kernel state of the cgroup hierarchies and
their mountpoints.

Mainly, everything is now grouped with respect to the hierarchies of
the system. Multiple controllers may be mounted together or separately
to different hierarchies, the data structures reflect this.

Each hierarchy may have multiple mount points (that were created
previously using the bind mount method) and each of these mount points
may point to a different prefix inside the cgroup tree. The current
code does not make any assumptions regarding the mount points, it just
parses /proc/self/mountinfo to acquire the relevant information.

The only requirement is that the current cgroup of either init (if
cgroup.pattern starts with '/' and the tools are executed as root) or
the current process (otherwise) are accessible. The root cgroup need
not be accessible.

The configuration option cgroup.pattern is introduced. For
root-executed containers, it specifies which format the cgroups should
be in. Example values may include '/lxc/%n', 'lxc/%n', '%n' or
'/machine/%n.lxc'. Any occurrence of '%n' is replaced with the name of
the container (and if clashes occur in any hierarchy, -1, -2, etc. are
appended globally). If the pattern starts with /, new containers'
cgroups will be located relative to init's cgroup; if it doesn't, they
will be located relative to the current process's cgroup.

Some changes to the cgroup.h API have been done to make it more
consistent, both with respect to naming and with respect to the
parameters. This causes some changes in other parts of the code that
are included in the patch.

There has been some testing of this functionality, but there are
probably still quite a few bugs in there, especially for people with
different configurations.

Signed-off-by: Christian Seiler <christian at iwakd.de>
Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>


  Commit: 001b026e7d20de99e5bf9a0a3403e799e09e8fe1
      https://github.com/lxc/lxc/commit/001b026e7d20de99e5bf9a0a3403e799e09e8fe1
  Author: Serge Hallyn <serge.hallyn at ubuntu.com>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M src/lxc/cgroup.c

  Log Message:
  -----------
  don't use cgroup_path_components un-initialized

Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>


  Commit: 9431aa65a46c806738c698558c86fe8e8b20d414
      https://github.com/lxc/lxc/commit/9431aa65a46c806738c698558c86fe8e8b20d414
  Author: Serge Hallyn <serge.hallyn at ubuntu.com>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M src/lxc/cgroup.c

  Log Message:
  -----------
  lxc_cgroup_process_info_free_and_remove should recursively call itself

Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>


Compare: https://github.com/lxc/lxc/compare/9ddcd34a2c57...9431aa65a46c


More information about the lxc-devel mailing list