]> git.proxmox.com Git - mirror_lxc.git/log
mirror_lxc.git
13 years agoAdd relatime and strictatime mount options
Sven Wegener [Mon, 23 May 2011 21:12:24 +0000 (23:12 +0200)]
Add relatime and strictatime mount options

Also add #ifndef for compability with glibc before 2.12.

Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agolxc: don't install setns.h
Cedric Le Goater [Fri, 20 May 2011 09:37:16 +0000 (11:37 +0200)]
lxc: don't install setns.h

'setns.h' is not an lxc interface.

Also, a side effect of this declaration of 'setns.h' in the lxc header
files is to be distributed in the lxc tarball. This breaks the
lxc-attach command because the file is not automatically generated at
compile time.

Signed-off-by: Cedric Le Goater <clg@fr.ibm.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoignore non-lxc configuration line
Daniel Lezcano [Fri, 13 May 2011 20:29:34 +0000 (22:29 +0200)]
ignore non-lxc configuration line

We ignore the line of in the configuration file not beginning by "lxc."
So we can mix the configuration file with another information used for
another component through the lxc library.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agotemplates: don't put devpts in $confdir/container/fstab
Daniel Lezcano [Fri, 6 May 2011 23:33:33 +0000 (01:33 +0200)]
templates: don't put devpts in $confdir/container/fstab

src/lxc/conf.c will explicitly mount it anyway.  Furthermore, the fstab
entry, which is getting processed first, did not specify -o newinstance.
This can cause the host's devpts entry mount options to change, as in
https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/607636.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agotemplates: don't put devpts in $confdir/container/fstab
Serge E. Hallyn [Fri, 6 May 2011 23:33:33 +0000 (01:33 +0200)]
templates: don't put devpts in $confdir/container/fstab

src/lxc/conf.c will explicitly mount it anyway.  Furthermore, the fstab
entry, which is getting processed first, did not specify -o newinstance.
This can cause the host's devpts entry mount options to change, as in
https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/607636.

I believe the lenny, fedora, and debian templates also will need an
update.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agolxc-execute: document the '--' option
Cedric Le Goater [Thu, 5 May 2011 10:07:51 +0000 (12:07 +0200)]
lxc-execute: document the '--' option

Signed-off-by: Cedric Le Goater <clg@fr.ibm.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agolxc: fix bogus header file
Cedric Le Goater [Thu, 5 May 2011 10:07:51 +0000 (12:07 +0200)]
lxc: fix bogus header file

The lxc/ prefix is missing in <start.h>. This breaks the inclusion
of the header file <lxc/conf.h> in external source code.

Signed-off-by: Cedric Le Goater <clg@fr.ibm.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agolxc: default log appender on stderr
Greg Kurz [Wed, 6 Apr 2011 11:41:44 +0000 (13:41 +0200)]
lxc: default log appender on stderr

The default appender for logs is currently the file one: this
make macros from log.h unusable as long as lxc_log_init() hasn't
been called. This prevents errors from even being printed on
stderr in lxc_caps_init() for example.

Let's make stderr the default appender.

Signed-off-by: Greg Kurz <gkurz@fr.ibm.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agolxc-attach: fix access permissions of /proc/$pid/ns
Cedric Le Goater [Mon, 4 Apr 2011 15:05:47 +0000 (17:05 +0200)]
lxc-attach: fix access permissions of /proc/$pid/ns

Signed-off-by: Cedric Le Goater <clg@fr.ibm.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agolxc-* tools are vulnerable for arguments with spaces
Michel Normand [Tue, 15 Mar 2011 19:19:07 +0000 (20:19 +0100)]
lxc-* tools are vulnerable for arguments with spaces

this is related to the bug
http://sourceforge.net/tracker/?func=detail&aid=3113612&group_id=163076&atid=826303
that suggested to modify bash lxc script to properly use "$@" in place of "$*"

Signed-off-by: Michel Normand <michel.mno@free.fr>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agolxc_cgroup_path_get, cache the right value
François-Xavier Bourlet [Tue, 22 Mar 2011 14:10:37 +0000 (15:10 +0100)]
lxc_cgroup_path_get, cache the right value

lxc_cgroup_path_get currently cache the cgroup mount point plus the
container name at the same time, making every call of the function
returning the same value.
It mean that actually every call to lxc_cgroup_get with a different
container name will in fact use the same container name as used for
the primary call.

I join a patch to fix that, still doing some caching, but only caching
the cgroup moint point this time. This patch actually work for me, as
I am using the liblxc for retrieving statistics about all running
containers, using lxc_cgroup_get to retrieve every interesting values.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoconfile: check allocation succeeds
Michael Santos [Sat, 19 Mar 2011 15:11:31 +0000 (11:11 -0400)]
confile: check allocation succeeds

Signed-off-by: Michael Santos <michael.santos@gmail.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoconf: increase buffer size to include spaces
Michael Santos [Sat, 19 Mar 2011 15:11:03 +0000 (11:11 -0400)]
conf: increase buffer size to include spaces

Signed-off-by: Michael Santos <michael.santos@gmail.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoarguments: check allocation succeeds
Michael Santos [Sat, 19 Mar 2011 15:10:34 +0000 (11:10 -0400)]
arguments: check allocation succeeds

Signed-off-by: Michael Santos <michael.santos@gmail.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agonetwork: ensure interface name is NULL terminated
Michael Santos [Sat, 19 Mar 2011 15:10:12 +0000 (11:10 -0400)]
network: ensure interface name is NULL terminated

IFNAMSIZ includes the trailing NULL.

Signed-off-by: Michael Santos <michael.santos@gmail.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agolxc_unshare: edit help output
Michael Santos [Sat, 19 Mar 2011 15:09:44 +0000 (11:09 -0400)]
lxc_unshare: edit help output

Signed-off-by: Michael Santos <michael.santos@gmail.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoEnsure monitored container name is null terminated
Michael Santos [Wed, 16 Mar 2011 14:05:05 +0000 (10:05 -0400)]
Ensure monitored container name is null terminated

regexec() expects a null terminated name.

Signed-off-by: Michael Santos <michael.santos@gmail.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoExit if allocation fails
Michael Santos [Wed, 16 Mar 2011 14:04:13 +0000 (10:04 -0400)]
Exit if allocation fails

Signed-off-by: Michael Santos <michael.santos@gmail.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agofix mount path
Daniel Lezcano [Mon, 14 Mar 2011 20:47:15 +0000 (21:47 +0100)]
fix mount path

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agorename physical device to the original name
Daniel Lezcano [Mon, 7 Mar 2011 01:08:47 +0000 (02:08 +0100)]
rename physical device to the original name

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agofactor out networking configuration code
Daniel Lezcano [Mon, 7 Mar 2011 01:08:47 +0000 (02:08 +0100)]
factor out networking configuration code

Change the name of the functions and factor some of them.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agolxc-0.7.4
Daniel Lezcano [Sat, 26 Feb 2011 09:18:19 +0000 (10:18 +0100)]
lxc-0.7.4

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoUpdate file capa detection for kernels >=2.6.37
Jan Niehusmann [Sat, 26 Feb 2011 09:18:19 +0000 (10:18 +0100)]
Update file capa detection for kernels >=2.6.37

The comment containing the version number at the beginning of the kernel
config file changed its format with 2.6.37. This trivial patch makes the
grep less specific, so it triggers for both formats.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoFixed a small typo in lxc-debian template
Amit Uttamchandani [Sat, 19 Feb 2011 08:45:32 +0000 (09:45 +0100)]
Fixed a small typo in lxc-debian template

"udpate" should be "update" in configure_debian().

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agofix lxc-checkpoint and lxc-restart sgml labels
Rob Landley [Thu, 17 Feb 2011 09:07:44 +0000 (10:07 +0100)]
fix lxc-checkpoint and lxc-restart sgml labels

The patch fixes two build breaks in the sgml files:

lxc-checkpoint.sgml.in
Element Title in namespace '' encountered in refsect1, but no template
matches.

lxc-restart.sgml:58: parser error : AttValue: " or ' expected
      <arg
choice=req><option>--name=<replaceable>NAME</replaceable></option></a

Signed-off-by: Rob Landley <rlandley@parallels.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoSimplify broadcast computation
Daniel Lezcano [Mon, 14 Feb 2011 08:22:08 +0000 (09:22 +0100)]
Simplify broadcast computation

David Ward reported this computation could be written in a simpler
way.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoupdate configuration wrt to the broadcast address
Daniel Lezcano [Sun, 6 Feb 2011 20:30:18 +0000 (21:30 +0100)]
update configuration wrt to the broadcast address

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agofix broadcast compution
Daniel Lezcano [Sun, 6 Feb 2011 20:29:13 +0000 (21:29 +0100)]
fix broadcast compution

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agofix empty network configuration
Daniel Lezcano [Wed, 2 Feb 2011 20:55:49 +0000 (21:55 +0100)]
fix empty network configuration

The return statement is at the wrong place.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agolxc-start can output the console to a file
Daniel Lezcano [Tue, 1 Feb 2011 13:49:40 +0000 (14:49 +0100)]
lxc-start can output the console to a file

Add the ability to specify a file to output the console.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agolxc-0.7.4-rc1
Daniel Lezcano [Tue, 1 Feb 2011 11:55:39 +0000 (12:55 +0100)]
lxc-0.7.4-rc1

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agotake into account new configure option --with-linuxdir
Cedric Le Goater [Fri, 21 Jan 2011 10:01:43 +0000 (11:01 +0100)]
take into account new configure option --with-linuxdir

Signed-off-by: Cedric Le Goater <clg@fr.ibm.com>
13 years agogenerate setns syscall number
Clement Calmels [Thu, 20 Jan 2011 09:59:33 +0000 (10:59 +0100)]
generate setns syscall number

Signed-off-by: Clement Calmels <clement.calmels@fr.ibm.com>
Signed-off-by: Cedric Le Goater <clg@fr.ibm.com>
13 years agolxc-attach gives a better error message
Daniel Lezcano [Tue, 1 Feb 2011 10:42:29 +0000 (11:42 +0100)]
lxc-attach gives a better error message

Don't assume the user knows the kernel internals :)

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoFix paths in the lxc-busybox template
Daniel Lezcano [Thu, 27 Jan 2011 23:24:54 +0000 (00:24 +0100)]
Fix paths in the lxc-busybox template

Author of the patch : Jonathan Liu <???> posted as a bug fix on the lxc
sourceforge website.

OS: Arch Linux 32-bit

/etc/init.d/rcS do not use full path to syslogd, mount and udhcpc executables.
As busybox requires /proc mounted if CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
to run these commands without full path, the full path should be used in the
startup script as /proc is mounted later in the script.

It also fails to start the machine if /lib64 does not exist on the host system
as there is a mount entry for /lib64 in the config.

The attached patch changes commands in /etc/init.d/rcS to use full path and
adds a check for /lib64 on host before adding lib64 mount entries to config.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoexport env variable in lxc_start
Daniel Lezcano [Thu, 27 Jan 2011 23:14:51 +0000 (00:14 +0100)]
export env variable in lxc_start

Let's export the 'container' variable and let init receive it
as a kernel command line option.

In the upstart init scripts, we can distinguish if we are in a
container context or not.

===============================================================================

# /dev/console - getty
#
# This service maintains a getty on /dev/console from the point the
# system is started until it is shut down again.
# It only runs in lxc containers.

start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]

env container
pre-start script
[ "x$container" != "xlxc" ] && { stop; exit 0; }
exit 0;
end script

respawn

exec /sbin/getty -8 38400 /dev/console

===============================================================================

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agosuppress udev log output
Daniel Lezcano [Sun, 23 Jan 2011 20:47:12 +0000 (21:47 +0100)]
suppress udev log output

We use udev within these containers and we prevent the /dev files
to be created with the cgroup whitelist. So when the udevd receives
the event from the kernel, it will fail to create some nodes in /dev
and will spit error on the console.

We set the log level to zero, so udev will silently fail.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoUpdate ubuntu templates
Serge Hallyn [Sat, 22 Jan 2011 20:59:40 +0000 (21:59 +0100)]
Update ubuntu templates

Rename 'ubuntu' template to 'lucid'

Add new maverick and natty templates, which do much less tweaking
of the environment.  These should only be used on a kernel which
supports sysfs tagging for /sys/class/net, as udev will be running
in the container.

The natty template needed to slightly change the installed packages
for dhclient to be correclty installed.

Signed-off-by: Serge Hallyn <serge.hallyn@canonical.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoAdds correct file capa detection for >2.6.32 The kernel compile parameter was removed...
Reto Gantenbein [Mon, 17 Jan 2011 23:45:17 +0000 (00:45 +0100)]
Adds correct file capa detection for >2.6.32 The kernel compile parameter was removed with kernel release 2.6.33 Since then file capabilities are enabled by default kernel commit: b3a222e52e4d4be77cc4520a57af1a4a0d8222d1

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoOnly bring up network interface if IFF_UP is set
David Ward [Mon, 17 Jan 2011 09:18:50 +0000 (10:18 +0100)]
Only bring up network interface if IFF_UP is set

Each network interface was brought up regardless of the configuration,
as the wrong boolean operator was being used to test the IFF_UP flag.

Signed-off-by: David Ward <david.ward@ll.mit.edu>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoset veth host's side always up
Daniel Lezcano [Mon, 17 Jan 2011 09:18:50 +0000 (10:18 +0100)]
set veth host's side always up

We should always have the veth host's side up, otherwise if we omit
the up flag in the configurationn, letting the container to configure
its interface, the network will be never enabled as the host's side
is not up.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoFix mntflags initialization
Joerg Gollnick [Sun, 16 Jan 2011 18:40:46 +0000 (19:40 +0100)]
Fix mntflags initialization

Dear all,
while setting up a container on x86_64 (archlinux host/guest) I had trouble
with mounting dev/pts and others from container.fstab and a ssh login does not
work (only ssh container bash -i gives you a shell)
The cause is that conf.c does not initialize mntflags.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoadd lxc-lenny template
Daniel Lezcano [Fri, 14 Jan 2011 08:51:13 +0000 (09:51 +0100)]
add lxc-lenny template

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agofix clone_children path
Daniel Lezcano [Thu, 13 Jan 2011 22:45:22 +0000 (23:45 +0100)]
fix clone_children path

This line is at the wrong place ...

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoadd missing template in Makefile
Daniel Lezcano [Thu, 13 Jan 2011 15:25:14 +0000 (16:25 +0100)]
add missing template in Makefile

Missed to add lxc-lenny to the template.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agofix busybox inittab template
Daniel Lezcano [Thu, 13 Jan 2011 15:25:14 +0000 (16:25 +0100)]
fix busybox inittab template

The inittab file format is wrong regarding how behaves busybox with
this syntax.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agosubstitute the absolute rootfs mount path
Daniel Lezcano [Thu, 13 Jan 2011 15:25:14 +0000 (16:25 +0100)]
substitute the absolute rootfs mount path

Change the mount point in the rootfs because we mount the rootfs
in ROOTFSDIR for the pivot. We have to substitute the real mount
path to the new path located in ROOTFSDIR.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoencapsulate mount point code
Daniel Lezcano [Thu, 13 Jan 2011 15:25:14 +0000 (16:25 +0100)]
encapsulate mount point code

Change the code to encapsulate the different mounts point.

 * mount on the host fs
 * mount relatively to the rootfs
 * mount absolutely to the rootfs (broken)

That will make the code cleaner to fix the latter.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agomindless changes to conform indentation
Daniel Lezcano [Thu, 13 Jan 2011 15:15:15 +0000 (16:15 +0100)]
mindless changes to conform indentation

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoset function static
Daniel Lezcano [Thu, 13 Jan 2011 15:15:15 +0000 (16:15 +0100)]
set function static

Set the function prototype to static as it is not exported and used
somewhere else in the code than this file.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agofix cgroup directory removal
Daniel Lezcano [Mon, 10 Jan 2011 16:58:32 +0000 (17:58 +0100)]
fix cgroup directory removal

Fix the name of the directory to remove.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agofix the ns_cgroup vs clone_children
Daniel Lezcano [Sun, 9 Jan 2011 22:53:19 +0000 (23:53 +0100)]
fix the ns_cgroup vs clone_children

The following patch fixes the bug where the clone_children compatibility
flag is available with the ns_cgroup subsystem. The 2.6.37 kernel version
should be the only one which is concerned by this modification, please
refer to Documentation/feature-removal-schedule.txt and look for ns_cgroup.

The problem is coming from we check for clone_children and we set it
automatically and then we try to create a new cgroup. As the
ns_cgroup is present the cgroup already exists and we are not allowed
to attach our pid to a new cgroup. The next error will be when we try
to create a new container because we enabled the clone_children flag
and the ns_cgroup is present, it is not allowed by the kernel.

The patch fix this by checking the mount options.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoCorrecting charset argument when calling locale-gen.
Daniel Baumann [Tue, 28 Dec 2010 20:32:51 +0000 (21:32 +0100)]
Correcting charset argument when calling locale-gen.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoCorrecting include argument when calling debootstrap.
Daniel Baumann [Tue, 28 Dec 2010 20:32:51 +0000 (21:32 +0100)]
Correcting include argument when calling debootstrap.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoDisabling unneeded checkroot.sh initscript in debian template.
Daniel Baumann [Tue, 28 Dec 2010 20:32:51 +0000 (21:32 +0100)]
Disabling unneeded checkroot.sh initscript in debian template.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoCreating missing tty device nodes for squeeze in debian template.
Daniel Baumann [Tue, 28 Dec 2010 20:32:51 +0000 (21:32 +0100)]
Creating missing tty device nodes for squeeze in debian template.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoSetting default mirror to cdn.debian.net in debian template.
Daniel Baumann [Tue, 28 Dec 2010 20:32:51 +0000 (21:32 +0100)]
Setting default mirror to cdn.debian.net in debian template.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoSetting default suite to squeeze in debian template.
Daniel Baumann [Tue, 28 Dec 2010 20:32:51 +0000 (21:32 +0100)]
Setting default suite to squeeze in debian template.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoDuplicate lxc-debian to lxc-lenny
Daniel Lezcano [Tue, 28 Dec 2010 20:32:50 +0000 (21:32 +0100)]
Duplicate lxc-debian to lxc-lenny

Duplicate the lxc-debian template to use it as a fine grained
template.

Subject: Daniel Lezcano <dlezcano@fr.ibm.com>

13 years agouse clone_children cgroup's flag
Daniel Lezcano [Fri, 17 Dec 2010 10:43:37 +0000 (11:43 +0100)]
use clone_children cgroup's flag

If the ns_cgroup does not exist, we use the clone_children feature.
Everytime a cgroup is created, we set this compatibility flag and we create
the cgroup manually and add the child task to the cgroup.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoMove common code to lxc_cgroup_create
Daniel Lezcano [Fri, 17 Dec 2010 10:43:37 +0000 (11:43 +0100)]
Move common code to lxc_cgroup_create

For both the ns_cgroup and the usual cgroup creation, we have to
check if a previous does not exist and remove it if it is empty.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoencapsulate the ns_cgroup
Daniel Lezcano [Fri, 17 Dec 2010 10:43:37 +0000 (11:43 +0100)]
encapsulate the ns_cgroup

Create a single API to create a cgroup which will switch to the old
ns_cgroup automatically.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoChange nscgroup interface
Daniel Lezcano [Fri, 17 Dec 2010 10:43:37 +0000 (11:43 +0100)]
Change nscgroup interface

Prepare the nscgroup to be converted to the clone_children changes.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoRemove unused nscgroup field
Daniel Lezcano [Fri, 17 Dec 2010 10:43:37 +0000 (11:43 +0100)]
Remove unused nscgroup field

This field is unused.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoremove duplicate cgroup header
Daniel Lezcano [Fri, 17 Dec 2010 10:43:36 +0000 (11:43 +0100)]
remove duplicate cgroup header

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoMake mount paths relative to rootfs
Michael Tokarev [Fri, 17 Dec 2010 10:43:36 +0000 (11:43 +0100)]
Make mount paths relative to rootfs

Why not chdir into the root of container right when
the root filesystem is (bind-)mounted, and let all
mount entries to be relative to the container root?

Even more, to warn if lxc.mount[.entry] contains
absolute path for the destination directory (or a
variation of this, absolute and does not start with
container root mount point)?

This way, all mounts will look much more sane, and
it will be much easier to move/clone containers -
by changing only lxc.rootfs.

I do it this way locally since the beginning, by
chdir'ing to the proper directory (rootfs) before
running lxc-start (in a startup script), but this
is now broken in 0.7.3 which bind-mounts rootfs
somewhere in /usr/lib/lxc.

Signed-off-by: Michael Tokarev<mjt@tls.msk.ru>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoadd support for dirsync mount option
Sergey S. Kostyliov [Sat, 30 Oct 2010 19:41:19 +0000 (21:41 +0200)]
add support for dirsync mount option

Add support for `dirsync' mount option. MS_DIRSYNC is on of the
mount(2) mountflags so don't send it as extra mount option to avoid:

  lxc-start: Invalid argument - failed to mount ...

errors.

Signed-off-by: Sergey S. Kostyliov <rathamahata@gmail.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
13 years agoset version to 0.7.3
Daniel Lezcano [Tue, 26 Oct 2010 16:14:47 +0000 (18:14 +0200)]
set version to 0.7.3

Version 0.7.3

Signed-off-by: Daniel Lezcano <daniel.lezcano@free.fr>
13 years agoupdate the man page with the net script hook
Daniel Lezcano [Tue, 26 Oct 2010 16:14:47 +0000 (18:14 +0200)]
update the man page with the net script hook

Update the man page wrt the hook script added for the host side
network configuration.

Signed-off-by: Daniel Lezcano <daniel.lezcano@free.fr>
13 years agofix multiple console for a container
Daniel Lezcano [Tue, 26 Oct 2010 15:42:38 +0000 (17:42 +0200)]
fix multiple console for a container

Don't close the socket when we ask for a console, otherwise this will
make the console slot to be freed, so the next console will use the same
slot leading to an erratic behavior.

Signed-off-by: Daniel Lezcano <daniel.lezcano@free.fr>
13 years agodon't play with the capabilities when we are root
Daniel Lezcano [Tue, 26 Oct 2010 15:42:37 +0000 (17:42 +0200)]
don't play with the capabilities when we are root

We don't want to drop the capabilities when we are root because that
leads to some problems. For exemple, sudo lxc-start -n foo -o $(tty) fails with
"permission denied".

Signed-off-by: Daniel Lezcano <daniel.lezcano@free.fr>
14 years agoFix compilation error on fc12
Daniel Lezcano [Tue, 12 Oct 2010 13:11:45 +0000 (15:11 +0200)]
Fix compilation error on fc12

The capability header makes the inclusion of the loop header to
fail. Moving the inclusion of loop.h before capability.h fixes the
problem.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agoFix compilation warning
Daniel Lezcano [Tue, 12 Oct 2010 13:11:45 +0000 (15:11 +0200)]
Fix compilation warning

Fix some compilation warnings:
 * include caps.h in lxc_checkpoint and lxc_restart
 * check the return of the timer notification read

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agoreduce function name
Daniel Lezcano [Tue, 12 Oct 2010 12:57:57 +0000 (14:57 +0200)]
reduce function name

Cosmetic change by reducing the function names.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agouse popen and redirect script output
Daniel Lezcano [Tue, 12 Oct 2010 08:52:47 +0000 (10:52 +0200)]
use popen and redirect script output

Change the run_script function to use popen and to redirect
the output of the script to the log file.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agofix Coding Style
Daniel Lezcano [Tue, 12 Oct 2010 08:52:47 +0000 (10:52 +0200)]
fix Coding Style

Fix the coding style, 80 chars lines, etc ...
Fix indentation blocks if ... then ... else ... fi

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agoadd lxc.network.script.up configuration hook
Stefan Tomanek [Tue, 12 Oct 2010 08:52:47 +0000 (10:52 +0200)]
add lxc.network.script.up configuration hook

This commit adds an configuration option to specify a script to be
executed after creating and configuring the network used by the
container. The following arguments are passed to the script:

* container name
* config section name (net)

Additional arguments depend on the config section employing a
script hook; the following are used by the network system:

* execution context (up)
* network type (empty/veth/macvlan/phys)

Depending on the network type, other arguments may be passed:

veth/macvlan/phys:
* (host-sided) device name

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agoupdate the lxc.conf man page
Daniel Lezcano [Tue, 5 Oct 2010 08:28:31 +0000 (10:28 +0200)]
update the lxc.conf man page

Update the man page regarding the image or block device
supported as a rootfs.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agoallow to specify a image or a device block as rootfs
Daniel Lezcano [Sun, 3 Oct 2010 21:09:36 +0000 (23:09 +0200)]
allow to specify a image or a device block as rootfs

This patch allows to specify an image or a block device.

The image or the block device is mounted on rootfs->mount.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agoadd rootfs mount dir variable to pkg-config
Daniel Lezcano [Sun, 3 Oct 2010 21:09:36 +0000 (23:09 +0200)]
add rootfs mount dir variable to pkg-config

In the case we use an image for rootfs, if we need to do extra mount
from the host to the rootfs, we have to specify the place where the
image is mounted. This value is configured by the user with the
lxc.rootfs.mount otherwise defaulting to @LXCROOTFSMOUNT@. Let's
export this variable to pkg-config, so the user can use it to build
a correct path to the rootfs.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agoDon't display an error in lxc_file_for_each_line
Daniel Lezcano [Sun, 3 Oct 2010 21:09:36 +0000 (23:09 +0200)]
Don't display an error in lxc_file_for_each_line

Don't display an error when the callback returns an error different
from zero. A value greater than zero may means "stop". Let's the caller
to check the error.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agoUse container's proc to setup the utmp watching
Daniel Lezcano [Sun, 3 Oct 2010 21:09:35 +0000 (23:09 +0200)]
Use container's proc to setup the utmp watching

The <rootfs>/var/run/utmp is located in:

/proc/<containerinit>/root/var/run/utmp, let's use it.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agoInitialize default mount point
Daniel Lezcano [Sun, 3 Oct 2010 21:09:35 +0000 (23:09 +0200)]
Initialize default mount point

Let's initialize rootfs->mount to LXCROOTFSMOUNT. The value
will be overwritten by the configuration in case it is specified.

That will make the code nicer, instead of the ugly rootfs->mount checks.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agouse the rootfs mount point for the tty's
Daniel Lezcano [Sun, 3 Oct 2010 21:09:35 +0000 (23:09 +0200)]
use the rootfs mount point for the tty's

The rootfs is always located in rootfs->mount, let's use it for
the tty.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agouse the rootfs mount point for the console
Daniel Lezcano [Sun, 3 Oct 2010 21:09:35 +0000 (23:09 +0200)]
use the rootfs mount point for the console

The rootfs is always located in the mount point now, let's
use it.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agomount the rootfs to the mount directory first
Daniel Lezcano [Sun, 3 Oct 2010 21:09:35 +0000 (23:09 +0200)]
mount the rootfs to the mount directory first

Split the rootfs setup by mounting the rootfs to the mount
point. This mount point will be used as the facto place where
the rootfs is placed.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agoimprove lxc-debian template to specify the suite
Daniel Lezcano [Fri, 1 Oct 2010 15:07:03 +0000 (17:07 +0200)]
improve lxc-debian template to specify the suite

The attached patch adds a variable at the top of lxc-debian to change the SUITE.
Currently tested suites are lenny, squeeze, sid.

Also, the patch uses the dhcp3-client package instead of dhcp-client which is
deprecated in lenny and removed in squeeze.

Patch initialy from Mathieu Parent.
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agoFix linking problems with libcap
Ozan Caglayan [Fri, 1 Oct 2010 15:07:03 +0000 (17:07 +0200)]
Fix linking problems with libcap

Correctly link to libcap to avoid underlinking and unused direct
dependency problems.

Signed-off-by: Ozan Caglayan <ozan@pardus.org.tr>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agoinitialize capabilities in checkpoint and restart commands
Cedric Le Goater [Fri, 1 Oct 2010 15:00:45 +0000 (17:00 +0200)]
initialize capabilities in checkpoint and restart commands

Signed-off-by: Cedric Le Goater <clg@fr.ibm.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agoconfigure container architecture
Daniel Lezcano [Mon, 13 Sep 2010 13:36:20 +0000 (15:36 +0200)]
configure container architecture

When a container is installed with 32bits binaries while we are
running on a 64bits host, inside the container we are seen as
64bits arch. That leads to some problems for the package updates
because the scripts will download 64bits packages instead of 32bits.

This patch defines a configuration variable to set the architecture
of the container.

lxc.arch = i686 | x86 | x86_64 | amd64

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agoversion 0.7.2
Daniel Lezcano [Mon, 26 Jul 2010 09:01:20 +0000 (11:01 +0200)]
version 0.7.2

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agoavoid compile warning in src/lxc/console.c
Michel Normand [Fri, 23 Jul 2010 15:17:14 +0000 (17:17 +0200)]
avoid compile warning in src/lxc/console.c

src/lxc/console.c:143: warning : return type defaults to ‘int’

Signed-off-by: Michel Normand <normand@fr.ibm.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agoFix bad returned value
Daniel Lezcano [Fri, 23 Jul 2010 13:10:38 +0000 (15:10 +0200)]
Fix bad returned value

In case of error the message will be always truncated.
We check the message was truncated with the total size
received which means the kernel as more info to give.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agoDont' try to remove a physical nic on error
Daniel Lezcano [Fri, 23 Jul 2010 13:10:38 +0000 (15:10 +0200)]
Dont' try to remove a physical nic on error

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agofix core dump when using physical interface
Daniel Lezcano [Fri, 23 Jul 2010 13:10:38 +0000 (15:10 +0200)]
fix core dump when using physical interface

If the physical link is not specified in the configuration
the check in if_nametoindex(netdev->link) leads to a segfault.

Check the link is specified.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Reported-by: Ferenc Wagner <wferi@niif.hu>
14 years agoset rights to lxc-init
Daniel Lezcano [Fri, 23 Jul 2010 13:10:38 +0000 (15:10 +0200)]
set rights to lxc-init

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agofix compilation warning
Daniel Lezcano [Fri, 23 Jul 2010 13:10:38 +0000 (15:10 +0200)]
fix compilation warning

Add missing include

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agoinitialize the capabilties for attach and unshare
Daniel Lezcano [Fri, 23 Jul 2010 13:10:38 +0000 (15:10 +0200)]
initialize the capabilties for attach and unshare

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agofix setuid to attach, create and start
Daniel Lezcano [Fri, 23 Jul 2010 13:10:38 +0000 (15:10 +0200)]
fix setuid to attach, create and start

Fix the setuid bit root script.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
14 years agofix lxc.spec file
Daniel Lezcano [Fri, 23 Jul 2010 13:10:38 +0000 (15:10 +0200)]
fix lxc.spec file

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>