[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