Commit Graph

3574 Commits

Author SHA1 Message Date
Stéphane Graber
10f277105b Fix get_config_item for sys:mixed
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-03-11 12:25:06 -04:00
Stéphane Graber
50066f4f7e Prefer iproute over ifconfig
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-03-11 12:25:05 -04:00
Stéphane Graber
24f97cf71d Merge pull request #464 from pymag09/lxccreate
Lxccreate: add a backing store type (bdevtype) to a python create function
2015-03-10 12:25:35 -04:00
Stéphane Graber
214b8bfce4 Merge pull request #456 from itoffshore/master
fix lxc-console on centos / oracle unprivileged containers
2015-03-10 12:24:45 -04:00
Stéphane Graber
abda570e25 Merge pull request #463 from bostjan/bugfix/lxctop-limit-name-width
lxc-top: limit container name to 18 characters
2015-03-10 12:24:20 -04:00
Stuart Cardall
6e53ca56a4 fix lxc-console on centos / oracle unprivileged containers
Signed-off-by: Stuart Cardall <developer@it-offshore.co.uk>
2015-03-10 10:55:42 +00:00
Bostjan Skufca
99a7b6f7bb autostart: Fix bug with containers being started in reverse order
Signed-off-by: Bostjan Skufca <bostjan@a2o.si>
2015-03-10 11:38:06 +01:00
Bostjan Skufca
9a6d86dcc7 lxc-top: limit container name to 18 characters
Signed-off-by: Bostjan Skufca <bostjan@a2o.si>
2015-03-10 11:29:19 +01:00
Bieiaievskyi Sergey
d1dd911376 add bdevtype to lxc create procedure
Signed-off-by: Bieliaievskyi Sergey magelan09@gmail.com
2015-03-10 11:14:01 +02:00
KATOH Yasufumi
ea4cadbfac doc: Add lxc.rebootsignal to Japanese man pages.
Also fix some indentation and improve translation.
Update for commit 936762f

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
2015-03-09 22:21:04 -04:00
KATOH Yasufumi
d8c4c595c4 Use rdepends when non-thinpool LVM container is cloned
When a non-thinpool LVM container which have snapshotted clone is
destroyed, the LV of snapshotted clone was also deleted. This patch
prevent it.

The original non-thinpool LVM container of snapshotted clone cannot be
now destroyed.

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-03-09 22:21:04 -04:00
Stéphane Graber
7674317572 Merge pull request #446 from jhenninger/attach_exit
attach: use _exit() instead of exit() in the intermediate child process
2015-03-09 21:48:19 -04:00
lxc@zitta.fr
35e68b0447 gentoo container building fails during wget.
follow new gentoo's download server configuration.
Should be backported in earlier lxc versions.

Signed-off-by: Guillaume ZITTA <lxc@zitta.fr>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-03-09 21:26:11 -04:00
Stéphane Graber
3b6aebceaf Update Travis configuration
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2015-02-23 18:39:28 -05:00
Johannes Henninger
5dcc1ca6a4 attach: use _exit() instead of exit() in the intermediate child process
This prevents on_exit() and atexit() handlers registered by the parent
process from being run in the forked intermediate process.

Signed-off-by: Johannes Henninger <johannes@henninger.io>
2015-02-20 15:14:54 +01:00
Bogdan Purcareata
22fb28a946 lxc-busybox: use lxc.rebootsignal = SIGTERM
Otherwise lxc-stop -r has no effect on the container.

Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-02-18 09:42:40 -08:00
Bogdan Purcareata
936762f3fb document lxc.rebootsignal
Also fix some minor indentation mishaps since we're here.

Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-02-18 09:42:38 -08:00
Bogdan Purcareata
dd267776ee add lxc.rebootsignal
Following the model of f0f1d8c076, add a reboot
signal for special init processes that work on something other than SIGINT.

Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-02-18 09:42:36 -08:00
KATOH Yasufumi
65f8fdda25 doc: Add about zfs, aufs, overlayfs to '-s' option of lxc-clone(1)
Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
2015-02-18 09:40:29 -08:00
KATOH Yasufumi
a9b21284fc doc: Update lxc-snapshot(1) for moving snapshot directory
At the commit 18aa217, the snapshot dir was moved to /var/lib/lxc/c/snaps.

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
2015-02-18 09:40:29 -08:00
Stéphane Graber
f4b15ee1d0 Merge pull request #444 from tukiyo/patch-1
no such option: --releasever on CentOS5's yum
2015-02-17 21:28:11 -05:00
tukiyo
6d41f7dfa6 no such option: --releasever on CentOS5's yum
Signed-off-by: tukiyo3 <tukiyo3@gmail.com>
2015-02-17 10:05:25 +09:00
Stéphane Graber
0ad409c736 Merge pull request #441 from ovr/patch-1
Update CONTRIBUTING
2015-02-16 09:15:58 -05:00
Дмитрий Пацура
fd0bef1e5e Update CONTRIBUTING
Signed-off-by: Dmitry Patsura <talk@dmtry.me>
2015-02-14 22:30:49 +08:00
brauner
a38e3e325d config: Allow all containers to use fuse
This enables containers to mount fuse filesystems per default. The mount
is designed to be safe. Hence, it can be enabled per default in
common.conf. It will lead to a cleaner boot for some unprivileged
systemd-based containers.

Signed-off-by: Christian Brauner <christianvanbrauner@gmail.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
2015-02-08 18:26:21 +02:00
Stéphane Graber
b88ff9a0e3 In lxc.mount.auto, skip on ENONENT
This resolves the case where /proc/sysrq-trigger doesn't exist by simply
ignoring any mount failure on ENOENT. With the current mount list, this
will always result in a safe environment (typically the read-only
underlay).

Closes #425

v2: Don't always show an error

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-02-08 18:08:48 +02:00
Stéphane Graber
24ab0d3404 proc:mixed make /proc/sys/net writable
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-02-08 18:08:44 +02:00
Tycho Andersen
96fe6d1d9c Process command line is null terminated
It turns out the process command line is in fact null terminated on the stack;
this caused a bug where when the new process title was smaller than the old
one, the first environment entry would be rendered as part of the process
title.

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-02-08 18:08:39 +02:00
KATOH Yasufumi
a61848fe21 plamo: Change how to create objects under /dev in the container
lxc-plamo stop:
* creating objects under /dev when creating the container
* removing /dev population process from original rc script

now populate /dev at container boot time, and allow to enable
lxc.autodev=1

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
2015-02-08 18:08:25 +02:00
Serge Hallyn
73c1c88714 getproctitle - check for null after last strchr
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
2015-01-31 14:10:22 +01:00
Stéphane Graber
5d6ef2286f
Also define PR_SET_MM (fixes Android)
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2015-01-30 18:24:04 +01:00
Tycho Andersen
553347e403 define some macros to fix the build
Not all kernels have these macros; they'll just give an EINVAL if/when invoked.

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
2015-01-30 16:04:02 +01:00
Tycho Andersen
0a4be28d8c set the monitor process title to something useful
Instead of having a parent process that's called whatever the caller of the
library is called, we instead set it to "[lxc monitor] <lxcpath> <container>"

Closes #180

v2: check for null in tok for loop, only truncate environment when necessary

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-01-30 15:14:21 +01:00
Stéphane Graber
62ed104940
change version to 1.1.0 in configure.ac
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2015-01-30 14:11:30 +01:00
KATOH Yasufumi
dd93ef87b2 doc: Add the description of sys:mixed in Japanese lxc.container.conf(5)
Update for commit f24a52d

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
2015-01-30 08:53:54 +01:00
Serge Hallyn
1b0c17462a apparmor: support lxc.ttydir when bind-mounting ptys
Because we now create the ttys from inside the container, we had to
add an apparmor rule for start-container to bind-mount /dev/pts/** -> /dev/tty*/.
However that's not sufficient if the container sets lxc.ttydir, in
which case we need to support mounting onto files in subdirs of /dev.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
2015-01-30 01:02:06 +01:00
Stéphane Graber
ae0aeadeaa ubuntu: Drop lucid support and refresh releaess list
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-01-30 00:08:05 +01:00
Stéphane Graber
c60edd1865 oracle: Fix /dev/shm
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-01-30 00:08:02 +01:00
Stéphane Graber
a79df22733 centos: Fix booting a Centos 6 container
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-01-30 00:07:30 +01:00
Stéphane Graber
03cbefb814
change version to 1.1.0.rc4 in configure.ac
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2015-01-29 23:55:55 +01:00
Serge Hallyn
730e3f9e2f clone_paths: use 'rootfs' for destination directory
We were trying to be smart and use whatever the last part of
the container's rootfs path was.  However for block devices
that doesn't make much sense.  I.e. if lxc.rootfs = /dev/md-1,
chances are that /var/lib/lxc/c1/md-1 does not exist.

So always use the $lxcpath/$lxcname/rootfs, and if it does
not exist, try to create it.

With this, 'lxc-clone -s -o c1 -n c2' where c1 has an lvm backend
is fixed.  See https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/1414771

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
2015-01-29 17:55:10 +01:00
Serge Hallyn
e8bd4e430b create lxc.tty ptys from container process
Lxc has always created the ptys for use by console and ttys early
on from the monitor process.  This has some advantages, but also
has disadvantages, namely (1) container ptys counting against the
max ptys for the host, and (2) not having a /dev/pts/N in the
container to pass to getty.  (2) was not a problem for us historically
because we bind-mounted the host's /dev/pts/N onto a /dev/ttyN in
the container.  However, systemd hardocdes a check for container_ttys
that the path have 'pts/' in it.  If it were only for (2) I'd have
opted for a systemd patch to check the device major number, but (1)
made it worth moving the openpty to the container namespace.

So this patch moves the tty creation into the task which becomes
the container init.  It then passes the fds for the opened ptys
back to the monitor over a unix socketpair (for use by lxc-console).
The /dev/console is still created in the monitor process, so that
it can for instance be used by lxc.logfd.

So now if you have a foreground container with lxc.tty = 4, you
should end up with one host /dev/pts entry per container rather than 5.

And lxc-console now works with systemd containers.

Note that if the container init mounts its own devpts over the
one mounted by lxc, the tty /dev/pts/n will be hidden.  This is ok
since it's only systemd that needs it, and systemd won't do that.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
2015-01-29 11:46:02 +01:00
Stéphane Graber
f24a52d5f5 Use consistent /proc, /sys and /sys/fs/cgroup (v2)
- Implements mixed mode for /sys where it's mounted read-only but with
   /sys/devices/virtual/net/ writable.

 - Sets lxc.mount.auto to "cgroup:mixed proc:mixed sys:mixed" for all
   templates.

 - Drop any template-specific mount for /proc, /sys or /sys/fs/cgroup.

 - Get rid of the fstab file by default, using lxc.mount.entry instead.

 - Set sys:mixed as the default for "sys". sys:mixed is slightly more
   permissive than sys:ro so this shouldn't be a problem.

The read-only bind mount of /sys on top of itself is there so that
mountall and other init systems don't attempt to remount /sys
read-write.

v2 changes:
 - Fix the mount list, don't specify a source for the remount.
 - Update the documentation.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-01-29 11:44:02 +01:00
Stéphane Graber
e088e9267c Fix clearing IPv4/IPv6 addresses
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-01-28 12:47:20 +01:00
Stéphane Graber
9f177a0013 lxc-{centos|fedora}: Respect --rootfs
Close #406

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-01-28 12:47:15 +01:00
Stéphane Graber
6010a41622 Fix lxc-create -h with absolute template path
Close #421

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-01-28 12:47:12 +01:00
Serge Hallyn
393903d108 systemd: specify container_ttys in environment
The lxc.tty configuration item specifies a number of ttys to create.
Historically, for each of those, we create a /dev/pts/N entry and
symlink it to /dev/ttyN for older inits to use.  For systemd, we should
instead specify each tty name in a $container_ttys environment variable
passed to init.

See http://www.freedesktop.org/wiki/Software/systemd/ContainerInterface/ and
https://github.com/lxc/lxc/issues/419.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
2015-01-28 09:15:43 +01:00
Stéphane Graber
8d19ce7b9f Only use clear_config_item for lists
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-01-28 09:15:43 +01:00
Stéphane Graber
fcdc3e50ea clear_config_item should only work for lists
Close #394

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2015-01-28 09:15:43 +01:00
KATOH Yasufumi
b340eab858 lxc-plamo: remove unnecessary lxc.autodev=0
It is set in plamo.common.conf, so it do not need in plamo.userns.conf

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
2015-01-27 13:40:18 +00:00