[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