Commit Graph

2861 Commits

Author SHA1 Message Date
Daniel Lezcano
6b9f39176c Revert "make the log fd thread safe"
This reverts commit 2c9bd0073f.

Pointless and useless right now and certainly wrong as several
threads in the library may want to log to the same, to be defined
later.
2009-04-26 11:49:53 +02:00
Daniel Lezcano
f8dafdbb15 rename configure.in to configure.ac
Rename configure.in to configure.ac as it is the correct
name for the recent version.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-04-26 11:43:41 +02:00
Daniel Lezcano
8db2cb8e0d remove m4 dir usage
As the m4 directory is not used, remove the usage from
the scripts.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-04-26 11:43:41 +02:00
Daniel Lezcano
ccf1319832 add aclocal include in makefile
When auto-regen is done at the make time, eg. when the configure.in
script has been modified, the configure is not correctly generated
because the 'config' directory is missing for aclocal, and that makes
the generation to fail due to the missing macros defined in config
directory.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-04-26 11:43:41 +02:00
Daniel Lezcano
5b2b6e7e2d inc the minor version
Inc the minor version for the next release.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-04-24 11:41:08 +02:00
Daniel Lezcano
01f3fe3156 Setting execution permission for the file
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-04-24 11:38:47 +02:00
Daniel Lezcano
91e1b53961 swap doc compilation order
Let's compile the documentation when everything has compiled
well, that saves time for devel ;) 

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-04-24 11:32:58 +02:00
Daniel Lezcano
8cdca67253 add the autogen script in the dist tarball
Add the autogen script to the tarball so people using the
dist version can patch the auto* files and regenerate them
directly for the dist tarball.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Reported-by: Michael K Johnson <johnsonm@rpath.com>
2009-04-24 11:32:58 +02:00
Daniel Lezcano
ba5b258279 rename bootstrap to autogen.sh
By convention the script calling the auto tools is named
autogen.sh. I rename 'bootstrap' to 'autogen.sh' in order to
stick to this convention.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Reported-by: Michael K Johnson <johnsonm@rpath.com>
2009-04-24 11:32:58 +02:00
Daniel Lezcano
e0b4037dfa add the missing header in the log file
License header is missing in the log files.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-04-24 11:32:58 +02:00
Michel Normand
eabbb2f0c0 locally define O_CLOEXEC
this is a required patch to be able to compile lxc on a RedHat 5 update 1
which has such define.
This is also required for the F_DUPFD_CLOEXEC define

Signed-off-by: Michel Normand <normand@fr.ibm.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-04-24 11:32:58 +02:00
Daniel Lezcano
2c9bd0073f make the log fd thread safe
Add the tls attribute for the global static variables in the logs.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-04-21 21:51:13 +02:00
Cedric Le Goater
dcb7355b2f lxc: cleanup log
some headers and macros are now redundant

Signed-off-by: Cedric Le Goater <legoater@free.fr>
Acked-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-04-21 21:51:13 +02:00
Cedric Le Goater
36eb9bdef1 lxc: use new logging system
This patch defines a new log category in each file using logging and
replaced the former logging routines with the new ones.

Signed-off-by: Cedric Le Goater <legoater@free.fr>
Acked-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-04-21 21:51:13 +02:00
Cedric Le Goater
cb8c5720bd lxc: introduce log4c style logging
lxc_log_init() should be called in each main() of a command
to define the default log priority and log file.

Signed-off-by: Cedric Le Goater <legoater@free.fr>
Acked-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-04-21 21:51:13 +02:00
Michel Normand
a57cf79e58 exclude generated tarball from git managed files
exclude generated tarball from git managed files

Signed-off-by: Michel Normand <normand@fr.ibm.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-04-20 22:10:59 +02:00
Michel Normand
4f916514e8 make the libtoolize files to be copy not
This is required to be able to make the build
on a machine that mount lxc source but not all
machine filesystem.
.
Signed-off-by: Michel Normand <normand@fr.ibm.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-04-20 22:10:59 +02:00
Ryousei Takano
998ac6763f Add support for various mount options
This patch adds support for various mount options.  It is also able to pass extra 
mount option data to mount(2).  For example, it allows users to mount aufs file 
system at lxc_start time.

See the thread
	http://sourceforge.net/mailarchive/forum.php?thread_name=E6D98D6C-F633-419A-9424-F24EBB3E11D9%40aist.go.jp&forum_name=lxc-devel
for details.

Signed-off-by: Ryousei Takano <takano-ryousei@aist.go.jp>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-04-20 22:10:59 +02:00
Môshe van der Sterre
b035ad62e6 prevent tty fd to be inherited in the container
Set the close on exec flag on the pty fd so they are automatically
closed when execing the container.

Signed-off-by: Môshe van der Sterre <me@moshe.nl>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-04-20 22:10:59 +02:00
Môshe van der Sterre
8de09ef556 check multiple devpts instance
Hello,

It took me some thinking to figure out DEVPTS_MULTIPLE_INSTANCES was disabled.
Maybe checking for it in lxc-checkconfig will be helpfull to others.

Greetings,
Môshe van der Sterre

Signed-off-by: Môshe van der Sterre <moshevds@gmail.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-04-20 22:10:59 +02:00
Daniel Lezcano
f6235d0635 don't remove init file in the stop function
At present the 'init' file is deleted from the 'stop' function and
I don't remember why it is done in this place :)

The 'init' file is removed from the 'start' when the first process
has been deleted.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-03-31 13:55:44 +02:00
Daniel Lezcano
34e7030e83 speed container creation/destruction
As the state of the container is monitored with the netlink,
the file state is no longer used to watch the state changes.

The previous hack, which adds a tempo of 200ms, is removed and
that makes the container being created, started, stopped, destroyed
faster, we gain 1 second in a container lifecycle. One second is
too much if we launch thousand of containers, one by one like for
example in a tests suite.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-03-31 13:55:44 +02:00
Ryousei Takano
3f21c11481 Fix compile warnings
This patch fixes compile warnings: ignoring return value of function,
declared with attribute warn_unused_result, and adds error handling.

Signed-off-by: Ryousei Takano <takano-ryousei@aist.go.jp>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-03-31 13:55:18 +02:00
Guido Trotter
abf424cf20 $(localstatedir) != $(prefix)/var
The current code assumes that localstatedir is equal to $(prefix)/var,
thus failing for example on debian, where prefix is /usr and
localstatedir is /var. This patch fixes this by expanding LXCPATH just
once in configure.ac to $(localstatedir)/lib/lxc and expanding that
variable everywhere else.

install-exec-local is changed to just do one mkdir -p, and taking into
account of the DESTDIR variable, user for example for packaging.

Changing the permission of LXCPATH is done in lxc-setcap

Signed-off-by: Guido Trotter <ultrotter@quaqua.net>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-03-30 14:16:39 +02:00
Daniel Lezcano
85a3182189 add error.h header
Add the missing header in the package installation.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-03-30 14:02:19 +02:00
Daniel Lezcano
089cd8b878 move lxc_conf_init to conf.c
Changed the struct lxc_conf initialization function to the
right place.

Signed-off-by: Daniel Lezcano <daniel.lezcano@free.fr>
2009-03-30 14:02:19 +02:00
Daniel Lezcano
a871ff6bdf cleanup config.h
Rename lxc_config.h to confile.h

Signed-off-by: Daniel Lezcano <daniel.lezcano@free.fr>
2009-03-30 14:02:19 +02:00
Daniel Lezcano
35d2c3e71d cleanup state.h
Rename lxc_state.h to state.h

Signed-off-by: Daniel Lezcano <daniel.lezcano@free.fr>
2009-03-30 14:02:19 +02:00
Daniel Lezcano
951cc719a3 cleanup list.h
Rename lxc_list.h to list.h

Signed-off-by: Daniel Lezcano <daniel.lezcano@free.fr>
2009-03-30 14:02:19 +02:00
Daniel Lezcano
731cc33fb7 cleanup log.h
Rename lxc_log.h to log.h

Signed-off-by: Daniel Lezcano <daniel.lezcano@free.fr>
2009-03-30 14:02:19 +02:00
Daniel Lezcano
13954cce63 cleanup conf.h
Rename lxc_conf.h to conf.h

Signed-off-by: Daniel Lezcano <daniel.lezcano@free.fr>
2009-03-30 14:02:19 +02:00
Daniel Lezcano
170d528eea cleanup cgroup.h
Rename lxc_cgroup.h to cgroup.h

Signed-off-by: Daniel Lezcano <daniel.lezcano@free.fr>
2009-03-30 14:02:19 +02:00
Daniel Lezcano
c6d1536e2b cleanup lock.h
Rename lxc_lock.h to lock.h

Signed-off-by: Daniel Lezcano <daniel.lezcano@free.fr>
2009-03-30 14:02:19 +02:00
Daniel Lezcano
61ba7fe64a cleanup namespace.h
Rename lxc_namespace.h to namespace.h

Signed-off-by: Daniel Lezcano <daniel.lezcano@free.fr>
2009-03-30 14:02:19 +02:00
Ryousei Takano
e65b846976 Use 'uname -m' instead of arch
'uname -m' seems to be more general to get the machine's architecture
type.  Ubunbu 8.10 (and also all debian based distros?) does not have
arch(1).

Signed-off-by: Ryousei Takano <takano-ryousei@aist.go.jp>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-03-27 11:12:45 +01:00
Ryousei Takano
b44cb779a1 Add mtu option setting for lxc-fedora
This patch adds the mtu option setting for the lxc-fedora script.

Signed-off-by: Ryousei Takano <takano-ryousei@aist.go.jp>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-03-26 11:39:19 +01:00
Ryousei Takano
81f6a40acf Add mtu option setting for lxc-debian
This patch adds the mtu option setting for the lxc-debian script.

Signed-off-by: Ryousei Takano <takano-ryousei@aist.go.jp>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-03-26 11:39:19 +01:00
Daniel Lezcano
eb14c10a41 set the mtu before attaching to the bridge
"I checked lxc-0.6.1 and your commit 75d09f83b8
(set mtu for netdev).

I found a problem of the MTU size of br0.  In the current code,
device_set_mtu() is
called after bridge_attach(), so the MTU size of br0 is set to the
default MTU size
of veth0 (i.e., 1500 bytes).
This causes performance degradation as I reported.

We need to modify to call device_set_mtu() before bridge_attach()"

Now that we have the network functions accessible, do not longer
use the lxc_configure_veth, lxc_configure_macvlan and split
the configuration of the veth in order to create it, configure it
and finally attach it to the bridge.

Reported-by: Ryousei Takano <takano-ryousei@aist.go.jp>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Acked-by: Ryousei Takano <takano-ryousei@aist.go.jp>
2009-03-26 11:32:23 +01:00
Daniel Lezcano
497353b66b change the api to export the network functions
The network functions are too encapsulated and do not allow
flexibility. Export all these api and prepare the changes for the
next patch to set the mtu.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Acked-by: Ryousei Takano <takano-ryousei@aist.go.jp>
2009-03-26 11:32:22 +01:00
Ryousei Takano
b35f75882e Fix trivial stuff for mtu option setting
Hi Daniel,

This patch removes unused variable 'strmtu' and fix an incorrect variable name.

Signed-off-by: Ryousei Takano <takano-ryousei@aist.go.jp>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-03-25 18:47:14 +01:00
Daniel Lezcano
1b36359d9b increment minor version number
increment the minor version number for the next release

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-03-24 18:31:23 +01:00
Daniel Lezcano
237315ff50 Use a specific script to set the capabilities
Instead of having the capabilities to be set automatically,
it will be up to the user to set them through a specific
script 'lxc-setcap'.

After installing the lxc tools, if we want them to be available,
for a non-root user, lxc-setcap will set the needed capabilities.
If, after thinking it, we want to remove the capabilities,
the 'lxc-setcap -d' will do this for us.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Acked-by: Guido Trotter <ultrotter@google.com>
2009-03-24 16:57:41 +01:00
Daniel Lezcano
75d09f83b8 set mtu for netdev
When setting the mtu size at the veth creation, the mtu is only set
on one side of the veth tunnel, the one attached to the bridge.

I changed a little the code and added the device_set_mtu function so
it is called after the veth has been created on both side.

That moves the mtu veth specific code inside the veth function creation.

Hopefully this code could be reused later for different future network
configuration (eg. ip tunnel).

The mtu option will be simply ignored in case of macvlan network configuration
because the macvlan network device inherit the mtu of the physical link.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-03-22 22:52:17 +01:00
Takano Ryousei
442cbbe65b Add lxc.network.mtu configuration (resend)
Hi Daniel,

I resent my patch. I hope to fix folding failure.

This patch allows users to specify the MTU size of the veth interface.
 It helps to use jumbo frames on the container.

Changes from v1:
	- Fix failing if the 'mtu' is not specified.
	- Delete the 'mtu' entry at time of lxc-destroy.

Signed-off-by: Ryousei Takano <takano-ryousei@aist.go.jp>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-03-22 09:47:30 +01:00
Daniel Lezcano
dfdcea5c4f Fix capability setting for lxc-init
lxc-init has moved to libexec, change the corresponding setcap
path.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-03-20 16:25:46 +01:00
Matt Helsley
bfa3802503 Add powerpc signalfd syscall numbers
Add signalfd and signalfd4 syscall number definitions for powerpc so
that we may compile even with older platform headers.

Signed-off-by: Matt Helsley <matthltc@us.ibm.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-03-20 11:51:46 +01:00
Guido Trotter
3619350200 CONTRIBUTING: specify where one can send patches
Signed-off-by: Guido Trotter <ultrotter@quaqua.net>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-03-19 16:11:11 +01:00
Guido Trotter
e81c7f2cce CONTRIBUTING: fix two typos
s/accessible/accessed/ because the optionality of the possibility is
already expressed by the 'can be' in front of it.

Signed-off-by: Guido Trotter <ultrotter@quaqua.net>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-03-19 16:11:10 +01:00
Guido Trotter
dbdab2ffcb lxc-checkconfig: Allow to override grep and config
It might be handy for the user to specify a different kernel config file
to check, perhaps the one of a kernel he's about to build. To allow that
we only set the CONFIG variable if it's not present in the environment
before. Also, if CONFIG is not found and we resort to a different file,
we say it explicitely, to avoid typos on the user's part resulting in
silently checking a different config than the one the user wanted.

Signed-off-by: Guido Trotter <ultrotter@quaqua.net>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-03-19 16:11:10 +01:00
Guido Trotter
84a156421a lxc-checkconfig: look in one more place
The current version of lxc-checkconfig falls back to searching in
/lib/modules/$KVER/build/.config if it doesn't find the config. In some
systems, though, the config will be installed in /boot/config-$KVER, so
we'll look there as well.

Signed-off-by: Guido Trotter <ultrotter@quaqua.net>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2009-03-19 16:11:10 +01:00