Commit Graph

1298 Commits

Author SHA1 Message Date
InformatiQ
27078f4422 * allow cloning of non-snapshot lvm devices
Signed-off-by: InformatiQ <rhanna@informatiq.org>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
2011-08-31 00:20:09 +02:00
Ramez Hanna
29ec8f8473 lxc-fedora.in
* if not running on fedora host amd -R is not set, use fedora 14 as default
* trap SIGHUP SIGINT SIGTERM, and cleanup before exiting

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-31 00:20:09 +02:00
Ramez Hanna
a30ce0ac4d fix for missing EOF and fstab contents
templates/lxc-fedora.in |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-31 00:20:09 +02:00
Alexey Shabalin
262f4e48a5 add lxc-altlinux template
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-31 00:20:09 +02:00
Matthijs Kooijman
be58c6b5b4 .gateway options
Man for the gateway option.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-30 23:50:23 +02:00
Matthijs Kooijman
19a26f8214 add autodetection of the gateway address
For veth and macvlan networks, this can look up the host address on the
bridge (link) interface and add a default route on the guest to that
address. This facilitates a typical setup where guests are bridged
together.

syntax:
	lxc.ipv4.gateway = auto
	lxc.ipv6.gateway = auto

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-30 23:50:23 +02:00
Matthijs Kooijman
f8fee0e2c3 .gateway configuration
This directive adds a default route to the guest at startup.

syntax:
	lxc.network.ipv4.gateway = 10.0.0.1
	lxc.network.ipv6.gateway = 2001:db8:85a3::8a2e:370:7334

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-30 23:50:23 +02:00
Daniel Lezcano
ebdd307db7 Don't log an error when the container is stopped
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-30 23:50:00 +02:00
Daniel Lezcano
e6238180c6 remove minimal install for ubuntu template
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-12 21:47:55 +02:00
Daniel Lezcano
970ab58945 make undefined personality non-fatal
Just warn, do not exit fatally.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-12 01:34:49 +02:00
Daniel Lezcano
6f1239c380 fix segfault when an unsupported personality is set
Bad array len computation.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-12 01:34:49 +02:00
Daniel Lezcano
6371febf3c Version 0.7.5
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-11 19:00:13 +02:00
Daniel Lezcano
d3b904039c fix setns parameter
The setns syscall is now mainstream but the parameter passing changed.
Let's fix that.

The pid namespace and mount namespace attach are missing for the moment.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-11 18:59:44 +02:00
Daniel Lezcano
c797dcc3d0 lxc-ps : update the man page for passing the options
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-11 17:54:57 +02:00
Daniel Lezcano
858133f52c lxc-ps : fix the container name search
We don't have to check for the cgroup namespace name because the
pid we are looking for is already in the list of the container owned by
lxc and retrieved from the abstract socket command name.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-11 17:54:57 +02:00
Daniel Lezcano
5d42011acb add container init pid with the lxc-info command
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-11 17:19:56 +02:00
InformatiQ
9894575994 fix RELEAE_URL to not hardcode the arch
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-11 17:19:56 +02:00
InformatiQ
579ebf1283 working fedora template
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-11 17:19:56 +02:00
Daniel Lezcano
d9e2cc0ead lxc-checkconfig takes into account cgroup.clone_children
Take into account we may have the clone_children flag on the cgroup,
so we ignore cgroup namespace in this case.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-09 20:02:31 +02:00
Serge E. Hallyn
0b9c21ab8a Silence lxc-unshare warning when removing cgroup
If ns cgroup is mounted, then when lxc-unshare runs, the kernel automatically
creates a new cgroup for the task.  So lxc-unshare tries to delete it.  But
if ns cgroup is not mounted, that cgroup does not get created, and now
lxc-unshare spits an error.
Author: Serge Hallyn <serge.hallyn@canonical.com>
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/819319
Forwarded: no

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-09 16:51:01 +02:00
Serge E. Hallyn
0a1259d99f make lxc-netstat work when /etc/mtab is not /proc/mounts
like lxc-ps and lxc-ls, lxc-netstat breaks if there is not an 'lxc' cgroup
mount and /etc/mtab is not a link to /proc/mounts.
Author: Serge Hallyn <serge.hallyn@canonical.com>
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/819319
Forwarded: no

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-09 16:51:01 +02:00
Serge E. Hallyn
93884589f6 fix lxc-ls with mtab != /proc/mounts
The cgroup mounts created by cgroup-bin do not show up in /etc/mtab.
lxc-ls, as lxc-ps before it, assumes that /etc/mtab is symlinked to
/proc/mounts.
Author: Serge Hallyn <serge.hallyn@canonical.com>
Forwarded: no
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/819319

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-09 16:51:01 +02:00
Serge E. Hallyn
3729572b4b lxc-ps: support '-n name' and '-- ps-options'
This is more consistent with other lxc commands

Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/820720

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-09 16:51:01 +02:00
Daniel Lezcano
dff21ef019 explicitly do not use the console
If the keyword 'none' is specified for the console name, lxc will ignore creating a console.
That allows to have a rootfs but without a console.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-09 16:51:01 +02:00
Serge E. Hallyn
4cb05a609b Use container's /run/utmp if it exists
If /var/run is a symlink to /run in the container, then opening
/proc/<pid>/root/var/run/utmp will end up opening the host's utmp.
Therefore the hack detecting shutdown through utmp fails.

Signed-off-by: Serge Hallyn <serge.hallyn@canonical.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-07 12:25:07 +02:00
Serge E. Hallyn
3e9c97c17a add ubuntu-keyring to the packagelist for oneiric containers.
Otherwise apt fails during and after debootstrap.

Signed-off-by: Serge Hallyn <serge.hallyn@canonical.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-08-07 12:25:07 +02:00
Serge E. Hallyn
9e4fcfa115 Don't try to add host user's groups in container
When '-b user' is specified to lxc-ubuntu container creation template, do
not automatically add all the groups of which user is a member on the host,
to user's groups in the container.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-07-27 16:34:58 +02:00
Serge Hallyn
623f98d8cc lxc-ubuntu: Allow /dev/fuse to be used in a container
As people seem to want it, i.e.
https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/800886

Signed-off-by: Serge Hallyn <serge.hallyn@canonical.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-07-25 00:22:50 +02:00
Serge Hallyn
c440536e7c lxc-ubuntu: 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.

Note - I messed up.  This was applied upstream, but I dropped it in
subsequent conversion to lxc-ubuntu template.  It therefore needs to
be reapplied.

Signed-off-by: Serge Hallyn <serge.hallyn@canonical.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-07-25 00:22:50 +02:00
Serge Hallyn
e7eb632cb4 Add arm as a supported srcarch
Otherwise building on armel fails with

checking for linux SRCARCH... configure: error: architecture arm-unknown-linux-gnueabi not supported

See https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/745884 for details.

Signed-off-by: Serge Hallyn <serge.hallyn@canonical.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-07-25 00:22:50 +02:00
Joerg Gollnick
c011782c8d fix lxc-ps to work with systemd
Dear all,
while working with systemd I found that lxc-ps -efa does not recognize the 
container name.
Best regards Joerg

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-07-25 00:22:50 +02:00
Serge E. Hallyn
bcbd102cba cgroups: support cgroups mounted in multiple places (v3)
(sorry for the extra traffic.)

With this patch, lxc works for me both with all cgroups mounted with
ns cgroup on /cgroup, and with libcgroup mounting all cgroups
separately.

To do this, instead of looking for one cgroup called 'lxc' or
otherwise taking the first cgroup we find, we actually create a
container in every mounted cgroup fs.  Right now it's done under the
root of each fs.  We may want to put that under lxc, or, better yet,
make that configurable.

Changelog:
  Michael H. Warfield: Handle the case where subsystem doesn't have '.'.
  Daniel Lezcano: clean up incorrect reentrant use of mntent helpers
  v3: use the rest of Daniel's cleanups

TODO: add a configurable directory name, 'lxc' by default, under which
      all lxc cgroups are created (i.e. /sys/fs/cgroup/lxc)

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Tested-by: Michael H. Warfield <mhw@WittsEnd.com>
2011-07-04 00:42:06 +02:00
Frederic Crozat
c840b37de8 templates: add openSUSE template.
The good news is, starting with next openSUSE release (and next SLES 11
Service Pack), patching /etc/init.d/boot won't be needed anymore for
LXC, we integrated detection of LXC (through container variable set to
lxc) in /etc/init.d/boot and /dev is no longer mounted automatically by
initscript.

Signed-off-by: Frederic Crozat <fcrozat@suse.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-07-04 00:35:52 +02:00
Serge Hallyn
c1c75c04a6 print netdev name, not link, after moving dev into netns
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-06-25 15:17:47 +02:00
Serge Hallyn
7c3ab01ffd Clarify the template-specific options a bit in lxc-create's help
This does not supplant the need for a manpage, but it's a start.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-06-25 15:17:47 +02:00
Serge Hallyn
c6992ecf0d lxc-ubuntu: Default to current ubuntu release.
If can't match any valid release, use lucid.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-06-25 15:17:47 +02:00
Serge Hallyn
8339b4c86a lxc-ubuntu: Base arch detection code on debootstrap's with some additions when we don't have dpkg or udpkg
Changelog: [seh] Don't take arch from environment

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-06-25 15:17:47 +02:00
Serge Hallyn
e2b4064f94 consolidate ubuntu templates
Consolidate lucid, maverick, natty, and oneiric templates into one 'ubuntu'
template.

Add support for specifying architecture.

Add support for '--trim|-x' option, which removes services like the lucid
template used to.  This creates smaller, faster-booting containers, but they
will not be safe with certain upgrades, like mountall or udev.  When -x is
not specified for lucid or maverick container, then install lxcguest from
the ubuntu-virt ppa, since it does not exist in the official archives, and
the container is not safe to boot without lxcguest.

Add support for '--bindhome <user>' option, which will cause /home/<user>
to be bind-mounted into the container, and create the user with his
original password, shell, and group memberships in the container.

changelog:
  june 23:
    lxc-ubuntu template: set lxc.arch in config
    install lxcguest when NOT trimming the container
    lxc-ubuntu: always install lxcguest in postprocess

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-06-25 15:17:47 +02:00
Serge E. Hallyn
b722bed2da lxc-create: pass remaining args to templates
This way I can do

	lxc-create -t ubuntu -f /etc/lxc.conf -n u1 -- -x

and have -x passed to the template

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-06-24 00:42:24 +02:00
Serge E. Hallyn
be8b597242 Add lxc-clone script
Create an lxc-clone script to clone containers.  It should probably
be factored into helpers and then enhanced, in particular to convert
between LVM and non-LVM containers, create non-snapshot LVM clones,
support loopback devices, and, when stable enough, to use
overlayfs, btrfs, etc.

But this is a start.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-06-24 00:42:24 +02:00
Serge E. Hallyn
e2e0ee2501 lxc-destroy: delete a rootfs if it is an lvm volume
If this is acceptable as is, then I'll try to get a simple lxc-clone
out tomorrow (taking into account your comments from last time).

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-06-24 00:42:24 +02:00
Daniel Lezcano
9ccb2dbcd2 set close-on-exec flag on command socket
When we accept a connection, we have to set the close-on-exec flag,
otherwise that won't be possible to reboot a container through a
lxc-console command.

Reported-by: Katoh Yasufumi <karma@jazz.email.ne.jp>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-06-02 09:50:38 +02:00
Stéphane Graber
d755a9e6b4 Add initial oneiric template 2011-05-26 22:58:23 +02:00
Stéphane Graber
3930b7453e Convert all Debian (and derivative) templates from using 'arch' to using 'dpkg --print-architecture' as debootstrap does 2011-05-26 22:58:23 +02:00
Sven Wegener
77890c6d6b Check for existing ptmx symlink
It's OK, if /dev/ptmx points to /dev/pts/ptmx via a symlink.

Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
2011-05-23 23:12:24 +02:00
Sven Wegener
88d413d5b6 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>
2011-05-23 23:12:24 +02:00
Cedric Le Goater
820339bd96 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>
2011-05-20 11:37:16 +02:00
Daniel Lezcano
476d4cf175 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>
2011-05-13 22:29:34 +02:00
Daniel Lezcano
f66331efb0 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>
2011-05-07 01:33:33 +02:00
Serge E. Hallyn
f2b2ec3160 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>
2011-05-07 01:33:33 +02:00