[lxc-devel] LXC 0.9.alpha1 pull request

Daniel Lezcano daniel.lezcano at free.fr
Tue Dec 11 10:12:04 UTC 2012


On 12/10/2012 11:36 PM, Stéphane Graber wrote:
> 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.

I just forgot to push the tags, it is on my local tree. I am not able to
push the tree right now because there is an issue on sourceforge with
the owners of the git tree. I opened a ticket for that.

>  - 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)

Why 0.9.alpha1 and not 0.9.0-rc1 ?

>  - 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
>
>
>





More information about the lxc-devel mailing list