Commit Graph

748 Commits

Author SHA1 Message Date
Daniel Baumann
4e0eb76555 Creating missing tty device nodes for squeeze in debian template.
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2010-12-28 21:32:51 +01:00
Daniel Baumann
49a630b8f3 Setting default mirror to cdn.debian.net in debian template.
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2010-12-28 21:32:51 +01:00
Daniel Baumann
9116540be4 Setting default suite to squeeze in debian template.
Signed-off-by:  Daniel Lezcano <dlezcano@fr.ibm.com>
2010-12-28 21:32:51 +01:00
Daniel Lezcano
54c7901672 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>
2010-12-28 21:32:50 +01:00
Daniel Lezcano
fd4f5a5688 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>
2010-12-17 11:43:37 +01:00
Daniel Lezcano
ef342abb22 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>
2010-12-17 11:43:37 +01:00
Daniel Lezcano
36b862992a 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>
2010-12-17 11:43:37 +01:00
Daniel Lezcano
b234e44fdf Change nscgroup interface
Prepare the nscgroup to be converted to the clone_children changes.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2010-12-17 11:43:37 +01:00
Daniel Lezcano
7c282e3cf4 Remove unused nscgroup field
This field is unused.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2010-12-17 11:43:37 +01:00
Daniel Lezcano
4839ec2994 remove duplicate cgroup header
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2010-12-17 11:43:36 +01:00
Michael Tokarev
59760f5d0f 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>
2010-12-17 11:43:36 +01:00
Sergey S. Kostyliov
968fbd3605 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>
2010-10-30 21:41:19 +02:00
Daniel Lezcano
acb0e33016 set version to 0.7.3
Version 0.7.3

Signed-off-by: Daniel Lezcano <daniel.lezcano@free.fr>
2010-10-26 18:14:47 +02:00
Daniel Lezcano
6ecad93f96 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>
2010-10-26 18:14:47 +02:00
Daniel Lezcano
43eb6f2931 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>
2010-10-26 17:42:38 +02:00
Daniel Lezcano
7ee895e428 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>
2010-10-26 17:42:37 +02:00
Daniel Lezcano
b3ecde1ec3 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>
2010-10-12 15:11:45 +02:00
Daniel Lezcano
6ca5b95ef7 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>
2010-10-12 15:11:45 +02:00
Daniel Lezcano
2656d23127 reduce function name
Cosmetic change by reducing the function names.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2010-10-12 14:57:57 +02:00
Daniel Lezcano
abbfd20baa 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>
2010-10-12 10:52:47 +02:00
Daniel Lezcano
751d9dcd39 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>
2010-10-12 10:52:47 +02:00
Stefan Tomanek
e3b4c4c44a 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>
2010-10-12 10:52:47 +02:00
Daniel Lezcano
49d3e78dce 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>
2010-10-05 10:28:31 +02:00
Daniel Lezcano
a6afdde95c 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>
2010-10-03 23:09:36 +02:00
Daniel Lezcano
b57c2211eb 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>
2010-10-03 23:09:36 +02:00
Daniel Lezcano
75b08dddec 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>
2010-10-03 23:09:36 +02:00
Daniel Lezcano
599916790a 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>
2010-10-03 23:09:35 +02:00
Daniel Lezcano
12297168e9 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>
2010-10-03 23:09:35 +02:00
Daniel Lezcano
bc9bd0e31e 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>
2010-10-03 23:09:35 +02:00
Daniel Lezcano
466978b083 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>
2010-10-03 23:09:35 +02:00
Daniel Lezcano
ac7787080c 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>
2010-10-03 23:09:35 +02:00
Daniel Lezcano
2a7c16dc03 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>
2010-10-01 17:07:03 +02:00
Ozan Caglayan
a52455f2d5 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>
2010-10-01 17:07:03 +02:00
Cedric Le Goater
1e499b1158 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>
2010-10-01 17:00:45 +02:00
Daniel Lezcano
cccc74b514 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>
2010-09-13 15:36:20 +02:00
Daniel Lezcano
547467bddb version 0.7.2
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2010-07-26 11:01:20 +02:00
Michel Normand
9de28746a5 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>
2010-07-23 17:17:14 +02:00
Daniel Lezcano
e239ff31a5 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>
2010-07-23 15:10:38 +02:00
Daniel Lezcano
96bcd56ae2 Dont' try to remove a physical nic on error
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2010-07-23 15:10:38 +02:00
Daniel Lezcano
6168e99fff 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>
2010-07-23 15:10:38 +02:00
Daniel Lezcano
7ef6e44073 set rights to lxc-init
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2010-07-23 15:10:38 +02:00
Daniel Lezcano
47ed344ad1 fix compilation warning
Add missing include

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2010-07-23 15:10:38 +02:00
Daniel Lezcano
c702934457 initialize the capabilties for attach and unshare
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2010-07-23 15:10:38 +02:00
Daniel Lezcano
dc456e995f fix setuid to attach, create and start
Fix the setuid bit root script.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2010-07-23 15:10:38 +02:00
Daniel Lezcano
5da9e545b5 fix lxc.spec file
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2010-07-23 15:10:38 +02:00
Daniel Lezcano
fb6d9b2f40 keep the name of the physical interface
When the interface used in the container is a physical
interface from the host, we keep the initial name.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Reported-by: Sabdar <sabdar@wellspringsys.com>
2010-07-22 15:59:44 +02:00
Daniel Lezcano
bac8958311 fix inverted network interface creation
The list is 'lifo', so when we create the network interfaces, we
do this in the reverse order of the expected one. That is confusing.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2010-07-22 15:59:44 +02:00
Daniel Lezcano
7a82e9236d provide a script to set uid bit on cli
Some file systems do not support the file posix capabilities.
The following script set the setuid bit root on the different
cli.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2010-07-20 13:45:44 +02:00
Daniel Lezcano
00dbc43e30 fix console overwrite any file
Prevent to specify a file not belonging to us as the output for the console

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2010-07-20 13:45:44 +02:00
Daniel Lezcano
28f602ff47 fix log appending to any file
With the capabilities, the open of the log file can be done on any
file, making possible to modifify the content of the file.

Let's drop the privilege when opening the file, so we ensure that is
no longer possible.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2010-07-20 13:45:44 +02:00