[lxc-devel] LXC 0.9.alpha1 pull request

Stéphane Graber stgraber at ubuntu.com
Mon Dec 10 22:36:10 UTC 2012


Hi Daniel,

You'll find the 0.9.alpha1 pull request below.

Based on what you had to do last time in Copenhagen, I believe the
following actions are to be done on your side:

 - Properly tag 0.8, currently we only have a commit but no matching
   tag, this should be fixed before pulling from staging.
 - Review the pull request
 - Use "git pull --edit --no-ff --stat git://github.com/lxc/lxc.git",
   that should do a real merge, letting you do a proper Sign-off of the
   changes.
 - Update the version number to 0.9.alpha1 (the version number format
   is to avoid breaking RPM based distros)
 - Commit and tag

Major changes include:
 - Introduction of the new liblxc API
 - Python bindings
 - New tools:
   - lxc-device
   - lxc-start-ephemeral
   - python version of lxc-ls
 - lxc.autodev support
 - oracle template
 - reworked lxc-attach
 - /etc/lxc/lxc.conf configuration
 - Switch to new docbook
 - A lot of other improvements, new features and bugfixes (details
   below)

I've been using the staging branch daily for the past few months and as
far as I can tell, all the issues I noticed have been fixed.
All of Serge's tests have also passed against today's staging branch and
same thing for the few tests I usually run here, so it should be a
pretty solid alpha release :)

Thanks to everyone involved!

Stéphane

----

The following changes since commit 4aa7ac35696b87867b1e85410a80527696ff4d64:

  Version 0.8.0 (2012-11-11 03:34:22 +0100)

are available in the git repository at:

  git://github.com/lxc/lxc.git staging

for you to fetch changes up to 7323456ec3efe23bb7a84164d3e71d4293998f2c:

  assume LXCPATH took on default localstatedir based value in configure
(2012-12-10 12:34:53 -0500)

----------------------------------------------------------------
Christian Seiler (6):
      lxc-start: Add command to retrieve the clone flags used to start
the container.
      lxc-attach: Remodel cgroup attach logic and attach to namespaces
again in parent process
      lxc-attach: Detect which namespaces to attach to dynamically
      lxc-unshare: Move functions to determine clone flags from command
line options to namespace.c
      lxc-attach: Add -s option to select namespaces to attach to
      lxc-attach: Add -R option to remount /sys and /proc when only
partially attaching

Diego Elio Pettenò (1):
      build: make sure to expand all variables that are substituted.

Dwight Engen (29):
      fix compile without apparmor (against git staging)
      fix gcc error: typedef redefinition (against git staging)
      fix expansion of LXCPATH,LXCROOTFSMOUNT,LXCTEMPLATEDIR
      fix minor spelling error
      Better rpm database downgrade logic
      Always rebuild rpm database
      Fix removal of unneeded startup/shutdown scripts
      Honor network type and link from lxc-create -f
      Add distro config file /etc/lxc/lxc.conf
      Add distro config file /etc/lxc/lxc.conf
      Reinstate README file in rootfs directory
      Fix package name needed for building docs with RPM
      Fix checkconfig to handle kernel memory cgroup name change
      Fix fd leak in lxc log
      Fix use of list item memory after free
      Free allocated configuration memory
      Ensure argv passed by createl to create is NULL terminated
      Use autoconf LXCPATH instead of hardcoded LXCDIR
      Make config api items const
      Oracle template: make container also boot under libvirt
      Fix busybox template to not have extra aa_profile hunk
      Fix build with --enable-tests on Fedora
      Include lxc-ubuntu when doing make dist
      Create busybox commands as symlinks instead of hardlinks
      make install should create $LXCPATH directory
      Use LXCPATH and LOCALSTATEDIR instead of hardcoded /var
      make install should create /var/cache/lxc directory
      lxc.spec: add openssl and rsync as Required since both are used in
lxc-clone
      assume LXCPATH took on default localstatedir based value in configure

Frank Scholten (1):
      Updated README and INSTALL. autogen.sh command should be run
before configure.

Frederic Crozat (1):
      ensure btrfs subvolume is removed when container creating fails

Jan Kiszka (2):
      lxc-wait: Add timeout option
      Add network-down script

Natanael Copa (9):
      lxc-start: add option -p, --pidfile=FILE
      lxc-create: use posix shell instead of bash
      lxc-create: fix passing over first argument to template script
      lxc-create: do not use 'local'
      lxc-info: add option -t, --state-is=STATE to test for a given test
      lxc-version: use POSIX shell instead of bash
      lxc-checkconfig: use POSIX shell instead of bash
      lxc-setcap: use POSIX shell instead of bash
      lxc-setuid: use POSIX shell instead of bash

Peter Simons (2):
      Update documentation to Docbook 4.5
      Update documentation to Docbook 4.5

Serge Hallyn (39):
      Introduce support for seccomp.
      confile: support 'lxc.include' option to include other config files
      seccomp: include lxcseccomp.h in start.c
      fix configure.ac for seccomp and apparmor
      Makefile.am: use right .h file name for seccomp
      lxc-create: Make location of container rootfs configurable
      lxc-wait: initialize timeout to -1
      Add lxc.hook.pre-mount
      replace HOOK define with proper code.
      check chdir(/) return value
      Fix passing non-const char* in for const char*
      get_item(utsname): don't dereference utsname if it is NULL
      Add lxc_conf_free()
      document lxc.hooks in lxc.conf manpage
      premount hook is implemented in git
      dual-fork for daemonized fork in lxcapi-start
      check sscanf return value
      check return values of scanf and system
      api shutdown: don't c->stop() if already stopped.
      Support individual hook types in clear_config_item
      add oracle template  (From: Dwight Engen)
      Fix reverse check: error out only if mkdir(cgroup/lxc) fails NOT
due to -EEXIST
      lxc-ssh: fix message about ssh key insertion
      Initialize curtime to silence spurious compiler warning
      Revert "Fix check against LXCROOTFSMOUNT to use strcmp"
      switch use of #define with static char*
      dont fail on failure to link kmsg
      Add lxc.autodev
      fix lxc-ubuntu-cloud option parsing bugs
      revert inadvertent un-doing of lxc-clone fix
      Description: run MAKEDEV console when doing lxc.autodev
      check and warn of return value from fchdir
      lxc-clone: use hardlink detection in rsync
      templates: use hardlink detection in rsync
      lxc_conf logfile and loglevel support
      rename physical nics at shutdown
      lxc-create: refuse to use a custom rootfs (--dir) which already
exists.
      api: add set_cgroup_item and get_cgroup_item (to c api)
      dont save loglevel if it is unset

Stéphane Graber (77):
      Merge the liblxc API work by Serge Hallyn.
      When starting a container daemonized, wait for it to reach RUNNING
state before returning the result of start().
      Add python-lxc based on the new liblxc API.
      Remove duplicate copy of runapitests.bash
      Rename runapitests.bash to runapitests.sh and make it use /bin/sh
      Add lxc.aa_profile example to all templates
      Make building the API tests/examples optional
      Change lxc_remove_nic from returning int to void
      Remove unused "i" variable in lxc_get_item_nic
      Cleanup lxc_wait
      Remove unused v1 and v2 variables in main()
      Add better example/test of the python3-lxc API
      Raise exception when getting Container instance as non-root in
python3-lxc
      Remove zombie_handler from python-lxc code
      Add lxc-start-ephemeral
      Remove hardcoded /var/lib/lxc from lxc-start-ephemeral
      Fix previous commit, removing hardcoded /var/lib/lxc from
lxc-start-ephemeral
      Prefix the test binaries by lxc-test-
      python-lxc: Always convert state passed to wait() to uppercase
      lxc-start-ephemeral: Fix typo causing crash at startup
      lxc-start-ephemeral: Add missing return call to wait override
      lxc-start-ephemeral: Drop stop() calls when shutdown() returns
non-True
      lxc-start-ephemeral: Exit with command return code
      lxc-start-ephemeral: startup time improvement
      api_test.py: Remove workarounds for API bugs
      python-lxc: Add missing space between two help lines
      Convert remaining file to new docbook format
      Revert "Convert remaining file to new docbook format"
      Revert "Update documentation to Docbook 4.5"
      lxc-start-ephemeral: Wipe the whole container on exit, not just
the rootfs
      Set automake flags and CFLAGS
      Fix autogen failing because of clean/distclean overrides
      Fix check against LXCROOTFSMOUNT to use strcmp
      Detect which name to use for docbook2x-man
      Update .gitignore for current list of binaries and templates
      lxc-ls: Don't exit 1 when no container or help
      lxc-create: Support passing a full path to -t
      Check return value of all system calls in startone
      Add the test binaries to .gitignore
      Use clearer error message on failure to create pidfile
      python: Add add_device() function
      python: Add new lxc-device tool
      lxc.conf.sgml.in: Fix typo
      Remove all trailing whitespaces.
      python: PEP8 compatibility
      python: Use builtin len() function for network interfaces
      gitignore: Ignore python cache
      lxc-ubuntu: Always create the needed locales
      lxc-ubuntu: Guess a list of langpacks to install
      lxc-ubuntu: Rename from lxc-ubuntu.in
      lxc-ubuntu: Fix mixed indent
      lxc-ubuntu: Fix wrong variable name
      lxc-create: Store template information in config
      lxc-create: Script cleanup
      Rewrite lxc-ls in python
      Install legacy scripts when built without python.
      lxc-start-ephemeral: Use argparse errors
      lxc-ls: Show a simple error message when non-root
      lxc-device: Show an error message when non-root
      python: Update to the device related functions
      lxc-ls: Update code to allow non-root listing
      lxc-archlinux.in: Apply same LXCPATH/LOCALSTATEDIR
      oracle template: fixes when using fedora host
      Update README
      Minor documentation updates
      templates: Make generated config consistent
      Update for consistent indent
      lxc-ubuntu: Don't hardcode path to cache
      lxc-archlinux: Don't hardcode /var/lib/lxc in help
      templates: Consistent use of locking
      python: Remove hardcoded LXCPATH
      lxc-create: Allow for empty or unset template name
      python3-lxc: Fix build prefix/destdir
      python: get_keys() doesn't require a path
      python: Add binding for {get|set}_cgroup_item
      gitignore: Update for python files
      python: Update add_device_node to use the new API

 .gitignore                             |   44 ++++--
 CONTRIBUTING                           |    7 +-
 COPYING                                |   16 +-
 INSTALL                                |    4 +-
 Makefile.am                            |    6 +-
 README                                 |   37 ++++-
 TODO                                   |    2 +-
 config/Makefile.am                     |   15 +-
 config/acinclude.m4                    |   16 +-
 config/lxc.conf.libvirt                |    3 +
 config/lxc.conf.ubuntu                 |    3 +
 config/lxc.conf.unknown                |    1 +
 configure.ac                           |  132 ++++++++++++++--
 doc/FAQ.txt                            |    4 +-
 doc/Makefile.am                        |   21 ++-
 doc/legacy/lxc-ls.sgml.in              |  156 +++++++++++++++++++
 doc/lxc-attach.sgml.in                 |  127 +++++++++++++++-
 doc/lxc-cgroup.sgml.in                 |    6 +-
 doc/lxc-checkpoint.sgml.in             |    2 +-
 doc/lxc-console.sgml.in                |    8 +-
 doc/lxc-create.sgml.in                 |   15 +-
 doc/lxc-destroy.sgml.in                |    6 +-
 doc/lxc-execute.sgml.in                |    6 +-
 doc/lxc-freeze.sgml.in                 |    6 +-
 doc/lxc-kill.sgml.in                   |    2 +-
 doc/lxc-ls.sgml.in                     |  153 +++++++++++++------
 doc/lxc-monitor.sgml.in                |    8 +-
 doc/lxc-ps.sgml.in                     |   12 +-
 doc/lxc-restart.sgml.in                |    2 +-
 doc/lxc-shutdown.sgml.in               |    2 +-
 doc/lxc-start.sgml.in                  |   18 ++-
 doc/lxc-stop.sgml.in                   |    8 +-
 doc/lxc-unfreeze.sgml.in               |    6 +-
 doc/lxc-wait.sgml.in                   |   17 ++-
 doc/lxc.conf                           |    2 +-
 doc/lxc.conf.sgml.in                   |  135 ++++++++++++++++-
 doc/lxc.sgml.in                        |   22 +--
 doc/rootfs/Makefile.am                 |    2 +-
 lxc.spec.in                            |    6 +-
 runapitests.sh                         |   32 ++++
 src/Makefile.am                        |    2 +-
 src/lxc/Makefile.am                    |   30 +++-
 src/lxc/af_unix.c                      |    8 +-
 src/lxc/arguments.h                    |    2 +
 src/lxc/attach.c                       |   86 ++++++++++-
 src/lxc/attach.h                       |    3 +-
 src/lxc/cgroup.c                       |  175 +++++++++++++++++++---
 src/lxc/cgroup.h                       |    3 +
 src/lxc/commands.c                     |   31 +++-
 src/lxc/commands.h                     |    2 +
 src/lxc/conf.c                         |  575
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 src/lxc/conf.h                         |   33 +++-
 src/lxc/confile.c                      |  944
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------
 src/lxc/confile.h                      |   12 ++
 src/lxc/execute.c                      |    1 -
 src/lxc/genl.c                         |    4 +-
 src/lxc/genl.h                         |    4 +-
 src/lxc/{ => legacy}/lxc-ls.in         |    7 +-
 src/lxc/list.h                         |    5 +
 src/lxc/log.c                          |   41 +++++
 src/lxc/log.h                          |    4 +-
 src/lxc/lxc-checkconfig.in             |   61 ++++----
 src/lxc/lxc-clone.in                   |   14 +-
 src/lxc/lxc-create.in                  |  258
+++++++++++++++++++-------------
 src/lxc/lxc-destroy.in                 |   82 +++++-----
 src/lxc/lxc-device                     |   95 ++++++++++++
 src/lxc/lxc-ls                         |  251
+++++++++++++++++++++++++++++++
 src/lxc/lxc-netstat.in                 |  130 ++++++++--------
 src/lxc/lxc-ps.in                      |  169 +++++++++++----------
 src/lxc/lxc-setcap.in                  |   62 ++++----
 src/lxc/lxc-setuid.in                  |   66 ++++----
 src/lxc/lxc-start-ephemeral.in         |  289
+++++++++++++++++++++++++++++++++++
 src/lxc/lxc-version.in                 |    2 +-
 src/lxc/lxc.h                          |   25 ++++
 src/lxc/lxc_attach.c                   |  114 ++++++++++++--
 src/lxc/lxc_info.c                     |   15 +-
 src/lxc/lxc_monitor.c                  |    2 +-
 src/lxc/lxc_start.c                    |   27 +++-
 src/lxc/lxc_unshare.c                  |   45 ------
 src/lxc/lxc_wait.c                     |   81 +---------
 src/lxc/lxccontainer.c                 | 1001
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/lxc/lxccontainer.h                 |   79 ++++++++++
 src/lxc/lxclock.c                      |  105 +++++++++++++
 src/lxc/lxclock.h                      |   61 ++++++++
 src/lxc/lxcseccomp.h                   |   41 +++++
 src/lxc/mainloop.c                     |    4 +-
 src/lxc/mainloop.h                     |    4 +-
 src/lxc/monitor.c                      |   24 ++-
 src/lxc/namespace.c                    |   45 ++++++
 src/lxc/namespace.h                    |    3 +
 src/lxc/network.c                      |   16 ++
 src/lxc/network.h                      |    3 +-
 src/lxc/nl.c                           |   14 +-
 src/lxc/nl.h                           |   32 ++--
 src/lxc/rtnl.c                         |    2 +-
 src/lxc/rtnl.h                         |    4 +-
 src/lxc/seccomp.c                      |  121 +++++++++++++++
 src/lxc/start.c                        |   88 ++++++++++-
 src/lxc/start.h                        |    1 +
 src/lxc/state.c                        |  115 ++++++++++++++
 src/lxc/state.h                        |    1 +
 src/python-lxc/Makefile.am             |   22 +++
 src/python-lxc/examples/api_test.py.in |  158 ++++++++++++++++++++
 src/python-lxc/lxc.c                   |  620
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/python-lxc/lxc/__init__.py.in      |  468
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/python-lxc/setup.py                |   10 ++
 src/tests/Makefile.am                  |   23 +++
 src/tests/containertests.c             |  262
++++++++++++++++++++++++++++++++
 src/tests/createtest.c                 |   92 ++++++++++++
 src/tests/destroytest.c                |  104 +++++++++++++
 src/tests/get_item.c                   |  308
++++++++++++++++++++++++++++++++++++++
 src/tests/getkeys.c                    |   71 +++++++++
 src/tests/locktests.c                  |  239 +++++++++++++++++++++++++++++
 src/tests/saveconfig.c                 |  106 +++++++++++++
 src/tests/shutdowntest.c               |   93 ++++++++++++
 src/tests/startone.c                   |  264
++++++++++++++++++++++++++++++++
 templates/Makefile.am                  |    3 +
 templates/lxc-altlinux.in              |  134 +++++++++--------
 templates/lxc-archlinux.in             |   30 ++--
 templates/lxc-busybox.in               |  144 ++++++++----------
 templates/lxc-debian.in                |  119 ++++++++-------
 templates/lxc-fedora.in                |  110 +++++++-------
 templates/lxc-lenny.in                 |  120 +++++++--------
 templates/lxc-opensuse.in              |  122 +++++++--------
 templates/lxc-oracle.in                |  557
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 templates/lxc-sshd.in                  |   40 ++---
 templates/lxc-ubuntu-cloud.in          |   22 ++-
 templates/lxc-ubuntu.in                |   68 +++++----
 128 files changed, 9498 insertions(+), 1405 deletions(-)
 create mode 100644 config/lxc.conf.libvirt
 create mode 100644 config/lxc.conf.ubuntu
 create mode 100644 config/lxc.conf.unknown
 create mode 100644 doc/legacy/lxc-ls.sgml.in
 create mode 100644 runapitests.sh
 rename src/lxc/{ => legacy}/lxc-ls.in (96%)
 create mode 100644 src/lxc/lxc-device
 create mode 100644 src/lxc/lxc-ls
 create mode 100644 src/lxc/lxc-start-ephemeral.in
 create mode 100644 src/lxc/lxccontainer.c
 create mode 100644 src/lxc/lxccontainer.h
 create mode 100644 src/lxc/lxclock.c
 create mode 100644 src/lxc/lxclock.h
 create mode 100644 src/lxc/lxcseccomp.h
 create mode 100644 src/lxc/seccomp.c
 create mode 100644 src/python-lxc/Makefile.am
 create mode 100644 src/python-lxc/examples/api_test.py.in
 create mode 100644 src/python-lxc/lxc.c
 create mode 100644 src/python-lxc/lxc/__init__.py.in
 create mode 100644 src/python-lxc/setup.py
 create mode 100644 src/tests/Makefile.am
 create mode 100644 src/tests/containertests.c
 create mode 100644 src/tests/createtest.c
 create mode 100644 src/tests/destroytest.c
 create mode 100644 src/tests/get_item.c
 create mode 100644 src/tests/getkeys.c
 create mode 100644 src/tests/locktests.c
 create mode 100644 src/tests/saveconfig.c
 create mode 100644 src/tests/shutdowntest.c
 create mode 100644 src/tests/startone.c
 create mode 100644 templates/lxc-oracle.in



-- 
Stéphane Graber
Ubuntu developer
http://www.ubuntu.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 899 bytes
Desc: OpenPGP digital signature
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20121210/e3c3919e/attachment.pgp>


More information about the lxc-devel mailing list