]> git.proxmox.com Git - mirror_lxc.git/log
mirror_lxc.git
10 years agofix aufs mount for some fs types via adding the xino parameter
S.Çağlar Onur [Thu, 20 Feb 2014 05:49:55 +0000 (00:49 -0500)]
fix aufs mount for some fs types via adding the xino parameter

Signed-off-by: S.Çağlar Onur <caglar@10ur.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agofix mounts not propagating back to root mntns during create and clone
Dwight Engen [Wed, 19 Feb 2014 21:44:19 +0000 (16:44 -0500)]
fix mounts not propagating back to root mntns during create and clone

Systems based on systemd mount the root shared by default. We don't want
mounts done during creation by templates nor those done internally by
bdev during rsync based clones to propagate to the root mntns.

The create case already had the right check, but the mount call was
missing "/", so it was failing.

Signed-off-by: Dwight Engen <dwight.engen@oracle.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agochange version to 1.0.0.rc4 in configure.ac
Stéphane Graber [Wed, 19 Feb 2014 19:53:25 +0000 (14:53 -0500)]
change version to 1.0.0.rc4 in configure.ac

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoupstart; Enable lxc-net by default
Stéphane Graber [Wed, 19 Feb 2014 18:46:46 +0000 (13:46 -0500)]
upstart; Enable lxc-net by default

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agorundir: Fix crash with privileged containers
Stéphane Graber [Wed, 19 Feb 2014 16:47:03 +0000 (11:47 -0500)]
rundir: Fix crash with privileged containers

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoFix typo in error message
Stéphane Graber [Wed, 19 Feb 2014 15:48:39 +0000 (10:48 -0500)]
Fix typo in error message

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agotemplates: Fix bashisms in common code
Stéphane Graber [Wed, 19 Feb 2014 15:45:14 +0000 (10:45 -0500)]
templates: Fix bashisms in common code

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agodoc: Update Japanese lxc.container.conf(5)
KATOH Yasufumi [Wed, 19 Feb 2014 06:05:51 +0000 (15:05 +0900)]
doc: Update Japanese lxc.container.conf(5)

Update for commit 3a5ec236b75773991873cd4d3d7a3dcb8499eec6

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agolxc-alpine: add checksums for musl libc build server pubkeys
Natanael Copa [Wed, 19 Feb 2014 14:52:02 +0000 (15:52 +0100)]
lxc-alpine: add checksums for musl libc build server pubkeys

We have added 3 new build servers for Alpine Linux musl libc x86, x86_64
and arm. Add the sha256sum for those keys.

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agolxc-alpine: fixes for checkbashism
Natanael Copa [Wed, 19 Feb 2014 14:52:01 +0000 (15:52 +0100)]
lxc-alpine: fixes for checkbashism

Fix the issues reported by checkbashisms and change back to #!/bin/sh

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agocoverity: rundir: Fix memory leaks
Stéphane Graber [Wed, 19 Feb 2014 05:40:21 +0000 (00:40 -0500)]
coverity: rundir: Fix memory leaks

Since we're no longer always returning a getenv result or some defined
string, the callers should cleanup the variable after use.

As a result, change from const char* to char*, add the needed free()
everywhere and use strdup() on strings coming from getenv.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agorundir: Fix memory leaks
Stéphane Graber [Wed, 19 Feb 2014 05:40:21 +0000 (00:40 -0500)]
rundir: Fix memory leaks

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agonetwork: set mtu of unpriv veth to the bridge's mtu
Serge Hallyn [Wed, 19 Feb 2014 04:42:34 +0000 (22:42 -0600)]
network: set mtu of unpriv veth to the bridge's mtu

That's to make sure that if the bridge has a higher than 1500
mtu, the new veth (defaulting to 1500) doesn't lower it.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agorundir: Fix the uid == 0 case
Stéphane Graber [Wed, 19 Feb 2014 04:56:31 +0000 (23:56 -0500)]
rundir: Fix the uid == 0 case

This makes get_rundir actually do what I meant it to do... for some
reason I missed that one in testing...

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoSet a reasonable fallback for get_rundir
Stéphane Graber [Tue, 18 Feb 2014 22:33:51 +0000 (17:33 -0500)]
Set a reasonable fallback for get_rundir

If get_rundir can't find XDG_RUNTIME_DIR in the environment, it'll
attempt to build a path using ~/.cache/lxc/run/. Should that fail
because of missing $HOME in the environment, it'll then return NULL an
all callers will fail in that case.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agolxc-checkconfig: Fix parsing on vserver kernels
Stéphane Graber [Tue, 18 Feb 2014 22:09:14 +0000 (17:09 -0500)]
lxc-checkconfig: Fix parsing on vserver kernels

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoFix unprivileged networking
Serge Hallyn [Tue, 18 Feb 2014 21:12:52 +0000 (15:12 -0600)]
Fix unprivileged networking

If we are unprivileged and have asked for a veth device, then create
a pipe over which to pass the veth names.

Network-related todos:
1. set mtu on the container side of veth device
2. set mtu in lxc-user-nic.  Note that this probably requires an
   update to the /etc/lxc/lxc-usernet file :(

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agocache whether 'optional' was in mntopts
Serge Hallyn [Tue, 18 Feb 2014 21:01:38 +0000 (15:01 -0600)]
cache whether 'optional' was in mntopts

after commit 4e4ca16158f91ac1271495638a4e62881169474e we are
checking for optional in mntopts after we forcibly remove it.
Cache whether we had it before removing it.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
10 years agogentoo: fix typo in config cross-reference comment
Eivind Uggedal [Tue, 18 Feb 2014 13:07:44 +0000 (13:07 +0000)]
gentoo: fix typo in config cross-reference comment

Signed-off-by: Eivind Uggedal <eivind@uggedal.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agodoc: update for commit 69aa6655
Dwight Engen [Tue, 18 Feb 2014 19:19:29 +0000 (14:19 -0500)]
doc: update for commit 69aa6655

Signed-off-by: Dwight Engen <dwight.engen@oracle.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agodrop create= from mount options (v2)
Serge Hallyn [Tue, 18 Feb 2014 18:56:29 +0000 (12:56 -0600)]
drop create= from mount options (v2)

Otherwise mount may return -EINVAL if in-kernel super-block parser
objects (as is the case with ext4).

Changelog v2:
also drop 'optional'
specifically drop create=dir, not create=*
fix order of arguments for memmove

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoAdd missing include
Stéphane Graber [Tue, 18 Feb 2014 17:44:54 +0000 (12:44 -0500)]
Add missing include

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agocoverity: Try to make it happier with our array handling
Stéphane Graber [Tue, 18 Feb 2014 17:10:51 +0000 (12:10 -0500)]
coverity: Try to make it happier with our array handling

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoupstart: Fix wrong stderr redirect
Stéphane Graber [Tue, 18 Feb 2014 16:31:48 +0000 (11:31 -0500)]
upstart: Fix wrong stderr redirect

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agodoc: Update Japanese lxc-clone(1)
KATOH Yasufumi [Tue, 18 Feb 2014 07:05:00 +0000 (16:05 +0900)]
doc: Update Japanese lxc-clone(1)

Update for commit f9ae4107f7ec6d193c3751744e28c9009aaebfbb

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
10 years agodoc: Fix broken grammar.
Stéphane Graber [Tue, 18 Feb 2014 04:50:34 +0000 (23:50 -0500)]
doc: Fix broken grammar.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agodon't skip setting network properties in unpriv case
Serge Hallyn [Tue, 18 Feb 2014 04:33:20 +0000 (22:33 -0600)]
don't skip setting network properties in unpriv case

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agochange version to 1.0.0.rc3 in configure.ac
Stéphane Graber [Tue, 18 Feb 2014 03:08:59 +0000 (22:08 -0500)]
change version to 1.0.0.rc3 in configure.ac

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoAdd some missing newlines
Stéphane Graber [Tue, 18 Feb 2014 01:53:43 +0000 (20:53 -0500)]
Add some missing newlines

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agocgmanager: lock around cgmanager-client calls
Serge Hallyn [Tue, 18 Feb 2014 00:23:54 +0000 (18:23 -0600)]
cgmanager: lock around cgmanager-client calls

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
10 years agoTypo fix
Stéphane Graber [Mon, 17 Feb 2014 22:45:10 +0000 (17:45 -0500)]
Typo fix

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agotests: Use trusty instead of lucid
Stéphane Graber [Mon, 17 Feb 2014 22:44:20 +0000 (17:44 -0500)]
tests: Use trusty instead of lucid

This is required so the tests actually have a chance of passing on arm64
and ppc64el.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoclose correct side of the pipe and increase buffer size by one to handle \n
S.Çağlar Onur [Mon, 17 Feb 2014 20:08:18 +0000 (15:08 -0500)]
close correct side of the pipe and increase buffer size by one to handle \n

Signed-off-by: S.Çağlar Onur <caglar@10ur.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoconfigure.ac: Fix cgmanager detection
Stéphane Graber [Mon, 17 Feb 2014 20:36:51 +0000 (15:36 -0500)]
configure.ac: Fix cgmanager detection

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoattach: try to use the container's seccomp policy
Serge Hallyn [Mon, 17 Feb 2014 18:47:35 +0000 (12:47 -0600)]
attach: try to use the container's seccomp policy

We can't get the actual policy (in the case where the policy file
has changed) from the container, but at least we can use the
seccomp policy file listed in the container config file.

(If anyone wants to further improve this, it may be better to get
the seccomp policy over the cmd api;  not sure that's what we want,
and this seems simpler to hook into the existing code, so I went
this way for now)

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agosupport get_config_item(lxc.seccomp) and clear_config_item(lxc.seccomp)
Serge Hallyn [Mon, 17 Feb 2014 18:46:30 +0000 (12:46 -0600)]
support get_config_item(lxc.seccomp) and clear_config_item(lxc.seccomp)

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agodownload: Support nested containers in unpriv
Stéphane Graber [Mon, 17 Feb 2014 15:51:53 +0000 (10:51 -0500)]
download: Support nested containers in unpriv

This adds detection for the case where we are root in an unprivileged
container and then run LXC from there. In this case, we want to download
to the system location, ignore the missing uid/gid ranges and run
templates that are userns-ready.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agofill missing netdev fields for unprivileged containers
S.Çağlar Onur [Sun, 16 Feb 2014 21:20:48 +0000 (16:20 -0500)]
fill missing netdev fields for unprivileged containers

lxc-user-nic now returns the names of the interfaces and
unpriv_assign_nic function parses that information to fill
missing netdev->veth_attr.pair and netdev->name.

With this patch get_running_config_item started to provide
correct information;

>>> import lxc; c = lxc.Container("rubik"); c.get_running_config_item("lxc.network.0.name"); c.get_running_config_item("lxc.network.0.veth.pair");
'eth0'
'veth9MT2L4'
>>>

and lxc-info started to show network stats;

lxc-info -n rubik
Name:           rubik
State:          RUNNING
PID:            23061
IP:             10.0.3.233
CPU use:        3.86 seconds
BlkIO use:      88.00 KiB
Memory use:     6.53 MiB
KMem use:       0 bytes
Link:           veth9MT2L4
 TX bytes:      3.45 KiB
 RX bytes:      8.83 KiB
 Total bytes:   12.29 KiB

Signed-off-by: S.Çağlar Onur <caglar@10ur.org>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoclose inherited fds when we still have proc mounted
Serge Hallyn [Sat, 15 Feb 2014 18:50:31 +0000 (12:50 -0600)]
close inherited fds when we still have proc mounted

and don't close the sigfd

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
10 years agoalways ensure a /proc while setting up container
Serge Hallyn [Sat, 15 Feb 2014 05:57:12 +0000 (23:57 -0600)]
always ensure a /proc while setting up container

Otherwise we can't open /proc/self/fd to find the fds to close.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
10 years agochange version to 1.0.0.rc2 in configure.ac
Stéphane Graber [Sat, 15 Feb 2014 04:08:00 +0000 (23:08 -0500)]
change version to 1.0.0.rc2 in configure.ac

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agocoverity: Don't pass uninitialized var to write
Stéphane Graber [Fri, 14 Feb 2014 21:20:17 +0000 (16:20 -0500)]
coverity: Don't pass uninitialized var to write

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocoverity: Check fcntl return value
Stéphane Graber [Fri, 14 Feb 2014 21:07:41 +0000 (16:07 -0500)]
coverity: Check fcntl return value

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocoverity: Check return value of setenv
Stéphane Graber [Fri, 14 Feb 2014 21:06:17 +0000 (16:06 -0500)]
coverity: Check return value of setenv

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocoverity: Check fstat return value
Stéphane Graber [Fri, 14 Feb 2014 21:03:00 +0000 (16:03 -0500)]
coverity: Check fstat return value

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocoverity: Silence potential null-deref warning
Stéphane Graber [Fri, 14 Feb 2014 20:59:23 +0000 (15:59 -0500)]
coverity: Silence potential null-deref warning

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocoverity: Check fread length
Stéphane Graber [Fri, 14 Feb 2014 20:56:28 +0000 (15:56 -0500)]
coverity: Check fread length

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agore-open cgmanager socket after fork in daemonized start
Serge Hallyn [Fri, 14 Feb 2014 23:16:58 +0000 (00:16 +0100)]
re-open cgmanager socket after fork in daemonized start

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agolxc-start: close inherited fds right before exec
Serge Hallyn [Fri, 14 Feb 2014 22:23:24 +0000 (23:23 +0100)]
lxc-start: close inherited fds right before exec

Not before we've even forked.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agomove fnv_64a_buf to utils.c and remove mutliple copies (v2)
S.Çağlar Onur [Fri, 14 Feb 2014 06:38:09 +0000 (01:38 -0500)]
move fnv_64a_buf to utils.c and remove mutliple copies (v2)

Signed-off-by: S.Çağlar Onur <caglar@10ur.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agocoverity: fix resource leak
Dwight Engen [Fri, 14 Feb 2014 14:49:51 +0000 (09:49 -0500)]
coverity: fix resource leak

also fix the check if the string will fit the local buffer

Signed-off-by: Dwight Engen <dwight.engen@oracle.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoJapanese lxc-usernsexec manpage: fix typo
KATOH Yasufumi [Fri, 14 Feb 2014 06:38:42 +0000 (15:38 +0900)]
Japanese lxc-usernsexec manpage: fix typo

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agolxc-usernsexec manpage: fix typo (command name is not lxc-unshare)
Serge Hallyn [Fri, 14 Feb 2014 04:39:38 +0000 (22:39 -0600)]
lxc-usernsexec manpage: fix typo (command name is not lxc-unshare)

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
10 years agochange version to 1.0.0.beta4 in configure.ac
Stéphane Graber [Thu, 13 Feb 2014 23:51:50 +0000 (18:51 -0500)]
change version to 1.0.0.beta4 in configure.ac

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoRevert "move fnv_64a_buf to utils.c and remove mutliple copies"
Stéphane Graber [Thu, 13 Feb 2014 22:34:26 +0000 (17:34 -0500)]
Revert "move fnv_64a_buf to utils.c and remove mutliple copies"

Fix clang breakage.

This reverts commit 7cd32872b697e02a9a326e80d52ef0b934de530c.

10 years agomove fnv_64a_buf to utils.c and remove mutliple copies
S.Çağlar Onur [Thu, 13 Feb 2014 21:57:12 +0000 (16:57 -0500)]
move fnv_64a_buf to utils.c and remove mutliple copies

Signed-off-by: S.Çağlar Onur <caglar@10ur.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoreindent src/lxc/af_unix.c
S.Çağlar Onur [Thu, 13 Feb 2014 21:43:45 +0000 (16:43 -0500)]
reindent src/lxc/af_unix.c

Signed-off-by: S.Çağlar Onur <caglar@10ur.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agocreate fd, stdin, stdout, stderr symlinks in /dev
Dwight Engen [Thu, 13 Feb 2014 21:13:03 +0000 (16:13 -0500)]
create fd, stdin, stdout, stderr symlinks in /dev

The kernel's Documentation/devices.txt says that these symlinks should
exist in /dev (they are listed in the "Compulsory" section). I'm not
currently adding nfsd and X0R since they are required for iBCS, but
they can be easily added to the array later if need be.

Signed-off-by: Dwight Engen <dwight.engen@oracle.com>
Acked-by: Michael H. Warfield <mhw@WittsEnd.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agopython3: Update apitest
Stéphane Graber [Thu, 13 Feb 2014 18:41:31 +0000 (13:41 -0500)]
python3: Update apitest

This update will make it work unprivileged as well as testing a few of
the new functions.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agopython3: Drop API warning and fix pep8/pyflakes3
Stéphane Graber [Thu, 13 Feb 2014 17:50:54 +0000 (12:50 -0500)]
python3: Drop API warning and fix pep8/pyflakes3

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agolxc-start-ephemeral: Use attach
Stéphane Graber [Thu, 13 Feb 2014 17:42:21 +0000 (12:42 -0500)]
lxc-start-ephemeral: Use attach

With this change, systems that support it will use attach to run any
provided command.

This doesn't change the default behaviour of attaching to tty1, but it
does make it much easier to script or even get a quick shell with:
lxc-start-ephemeral -o p1 -n p2 -- /bin/bash

I'm doing the setgid,initgroups,setuid,setenv magic in python rather
than using the attach_wait parameters as I need access to the pwd module
in the target namespace to grab the required information.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agoUpdate rootfs README
Stéphane Graber [Thu, 13 Feb 2014 18:52:50 +0000 (13:52 -0500)]
Update rootfs README

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoFix crash in rename with undefined containers
Stéphane Graber [Thu, 13 Feb 2014 18:40:34 +0000 (13:40 -0500)]
Fix crash in rename with undefined containers

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agolxc-ls: Add a few new columns
Stéphane Graber [Thu, 13 Feb 2014 16:00:36 +0000 (11:00 -0500)]
lxc-ls: Add a few new columns

This adds support for:
 - memory (total memory)
 - ram
 - swap

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agopython3: Add missing get_running_config_item binding
Stéphane Graber [Thu, 13 Feb 2014 15:59:19 +0000 (10:59 -0500)]
python3: Add missing get_running_config_item binding

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocoverity: Do chdir following chroot
Stéphane Graber [Thu, 13 Feb 2014 16:17:48 +0000 (11:17 -0500)]
coverity: Do chdir following chroot

We used to do chdir(path), chroot(path). That's correct but not properly
handled coverity, so do chroot(path), chdir("/") instead as that's the
recommended way.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agodoc: Update lxc.container.conf(5)
KATOH Yasufumi [Thu, 13 Feb 2014 07:11:08 +0000 (16:11 +0900)]
doc: Update lxc.container.conf(5)

- Update Japanese man for commit a7c27357b33d726a326a11e1e72f68e1546b994a, seccomp v2
- Fix typo in English man

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agodoc: Update Japanese man pages for aufs support
KATOH Yasufumi [Thu, 13 Feb 2014 07:11:07 +0000 (16:11 +0900)]
doc: Update Japanese man pages for aufs support

Update lxc-clone(1) and lxc-snapshot(1) for commit 1f92162dc0432b6f7f8156d22348f22934cbea3f
and improve some translations

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agooverlayfs_clonepaths: if unpriv then rsync in a userns
Serge Hallyn [Thu, 13 Feb 2014 06:52:52 +0000 (00:52 -0600)]
overlayfs_clonepaths: if unpriv then rsync in a userns

This allows lxc-snapshot and lxc-clone -s from an overlayfs container
to work unprivileged.  (lxc-clone -s from a directory backed container
already did work)

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoAdd the seccomp examples to EXTRA_DIST
Stéphane Graber [Thu, 13 Feb 2014 04:19:45 +0000 (23:19 -0500)]
Add the seccomp examples to EXTRA_DIST

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoseccomp: extend manpage, and add examples
Serge Hallyn [Wed, 12 Feb 2014 23:50:36 +0000 (17:50 -0600)]
seccomp: extend manpage, and add examples

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoseccomp: don't support v2 if seccomp_syscall_resolve_name_arch is not avilable
Serge Hallyn [Wed, 12 Feb 2014 23:20:22 +0000 (17:20 -0600)]
seccomp: don't support v2 if seccomp_syscall_resolve_name_arch is not avilable

Also don't use arm arch if not defined

This *should* fix build so precise, but I didn't fire one off.
I did test that builds with libseccomp2 still work as expected.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoFix some configure.ac issues
Stéphane Graber [Wed, 12 Feb 2014 22:46:06 +0000 (17:46 -0500)]
Fix some configure.ac issues

 - Run on distro without lsb_release
 - Don't try and interpret with_runtime_path as a command
 - Don't print stuff on screen while in the middle of a check

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agotravis: Build using the daily PPA
Stéphane Graber [Wed, 12 Feb 2014 22:30:12 +0000 (17:30 -0500)]
travis: Build using the daily PPA

Now that we depend on seccomp2, the backport currently in precise is too
old to allow for a succesful build, so instead use ppa:ubuntu-lxc/daily
which contains recent versions of all needed build-dependencies.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agocoverity: Check return value from open
Stéphane Graber [Wed, 12 Feb 2014 21:21:45 +0000 (16:21 -0500)]
coverity: Check return value from open

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocoverity: Drop dead code
Stéphane Graber [Wed, 12 Feb 2014 21:15:10 +0000 (16:15 -0500)]
coverity: Drop dead code

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocoverity: Don't store fgets return value if we don't use it
Stéphane Graber [Wed, 12 Feb 2014 21:12:39 +0000 (16:12 -0500)]
coverity: Don't store fgets return value if we don't use it

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocoverity: check return value of fcntl in usernsexec
Stéphane Graber [Wed, 12 Feb 2014 21:08:08 +0000 (16:08 -0500)]
coverity: check return value of fcntl in usernsexec

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocoverity: Always check mkdir_p's return value
Stéphane Graber [Wed, 12 Feb 2014 20:53:21 +0000 (15:53 -0500)]
coverity: Always check mkdir_p's return value

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocoverity: Check return value of fcntl in lxc_popen
Stéphane Graber [Wed, 12 Feb 2014 20:39:33 +0000 (15:39 -0500)]
coverity: Check return value of fcntl in lxc_popen

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocoverity: Free bdev in clone_update_rootfs
Stéphane Graber [Wed, 12 Feb 2014 20:33:57 +0000 (15:33 -0500)]
coverity: Free bdev in clone_update_rootfs

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agoseccomp: introduce v2 policy (v2)
Serge Hallyn [Wed, 12 Feb 2014 21:50:20 +0000 (15:50 -0600)]
seccomp: introduce v2 policy (v2)

v2 allows specifying system calls by name, and specifying
architecture.  A policy looks like:

2
whitelist
open
read
write
close
mount
[x86]
open
read

Also use SCMP_ACT_KILL by default rather than SCMP_ACT_ERRNO(31)  -
which confusingly returns 'EMLINK' on x86_64.  Note this change
is also done for v1 as I think it is worthwhile.

With this patch, I can in fact use a seccomp policy like:

2
blacklist
mknod errno 0

after which 'sudo mknod null c 1 3' silently succeeds without
creating the null device.

changelog v2:
  add blacklist support
  support default action
  support per-rule action

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agobdev: Add aufs support
Stéphane Graber [Wed, 12 Feb 2014 19:01:02 +0000 (14:01 -0500)]
bdev: Add aufs support

This is pretty much copy/paste from overlayfs.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agotravis: Drop workaround introduced last week
Stéphane Graber [Wed, 12 Feb 2014 20:07:11 +0000 (15:07 -0500)]
travis: Drop workaround introduced last week

Travis has now corrected the bug in their build environment so we no
longer need to force the autogen script through bash.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agolxc-start-ephemeral: Allow unprivileged run
Stéphane Graber [Wed, 12 Feb 2014 16:58:15 +0000 (11:58 -0500)]
lxc-start-ephemeral: Allow unprivileged run

This allows running lxc-start-ephemeral using overlayfs. aufs remains
blocked as it hasn't been looked at and patched to work in the kernel at
this point (not sure if it ever wil).

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agocheck for access to lxcpath
Serge Hallyn [Wed, 12 Feb 2014 04:20:03 +0000 (22:20 -0600)]
check for access to lxcpath

The previous check for access to rootfs->path failed in the case of
overlayfs or loop backign stores.  Instead just check early on for
access to lxcpath.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoFix build failure (broken makefile)
Stéphane Graber [Wed, 12 Feb 2014 00:49:19 +0000 (19:49 -0500)]
Fix build failure (broken makefile)

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agotests: Don't hardcode architecture
Stéphane Graber [Tue, 11 Feb 2014 23:49:39 +0000 (18:49 -0500)]
tests: Don't hardcode architecture

If on Ubuntu, then match the host's own architecture, this should allow
for our tests to pass on the armhf CI environment.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agotests: Add lxc-test-autostart
Stéphane Graber [Tue, 11 Feb 2014 23:40:18 +0000 (18:40 -0500)]
tests: Add lxc-test-autostart

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agobdev: allow unprivileged overlayfs snapshots
Serge Hallyn [Tue, 11 Feb 2014 19:43:19 +0000 (13:43 -0600)]
bdev: allow unprivileged overlayfs snapshots

Also make sure to chown the new rootfs path to the container owner.
This is how we make sure that the container root is allowed to write
under delta0.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoAdd --with-runtime-path to configure
Stéphane Graber [Tue, 11 Feb 2014 22:40:20 +0000 (17:40 -0500)]
Add --with-runtime-path to configure

This allows older distros to override /run with whatever their own path
is, mostly useful for old RedHat and possibly Android.

Reported-by: Robert Vogelgesang <vogel@users.sourceforge.net>
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agoconf: Save lxc.network.ipv4 broadcast address
Stéphane Graber [Tue, 11 Feb 2014 21:31:44 +0000 (16:31 -0500)]
conf: Save lxc.network.ipv4 broadcast address

Reported-by: Robert Vogelgesang <vogel@users.sourceforge.net>
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
10 years agolxcapi-snapshot: don't snapshot directory-backed containers
Serge Hallyn [Mon, 10 Feb 2014 20:19:42 +0000 (14:19 -0600)]
lxcapi-snapshot: don't snapshot directory-backed containers

Instead force a copy clone.  Else if the user makes a change
to the original container, the snapshot will be affected.
The user should first create a snapshot clone, then use
and snapshot that clone while leaving the original container
untouched.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agowarn about insufficient permissions
Serge Hallyn [Mon, 10 Feb 2014 22:57:08 +0000 (16:57 -0600)]
warn about insufficient permissions

With this patch, if an unprivileged user has $HOME 700 or
750 and does

lxc-start -n c1

he'll see an error like:

lxc_container: Permission denied - could not access /home/serge.  Please grant it 'x' access, or add an ACL for t he container root.

(This addresses bug pad.lv/1277466)

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agolxc-plamo: various small changes
TAMUKI Shoichi [Sat, 8 Feb 2014 09:15:40 +0000 (18:15 +0900)]
lxc-plamo: various small changes

- Change redirection of fd 200 to 9 (greater than 9 may conflict with
  fd the shell uses internally)
- Replace numeric line addressing of ed to regular expression to avoid
  correcting the line addressing at each modification of init scripts
- Correct the option order (trivial)

Signed-off-by: TAMUKI Shoichi <tamuki@linet.gr.jp>
Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
10 years agotravis: Workaround buggy build environment
Stéphane Graber [Sat, 8 Feb 2014 01:22:56 +0000 (20:22 -0500)]
travis: Workaround buggy build environment

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoWhitespace fix
Stéphane Graber [Sat, 8 Feb 2014 00:36:50 +0000 (19:36 -0500)]
Whitespace fix

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agobionic: Define faccessat if missing
Stéphane Graber [Fri, 7 Feb 2014 20:21:24 +0000 (15:21 -0500)]
bionic: Define faccessat if missing

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agoadd_device_node: act in a chroot
Serge Hallyn [Fri, 7 Feb 2014 19:00:50 +0000 (13:00 -0600)]
add_device_node: act in a chroot

The goal is to avoid an absolute symlink in the guest redirecting
us to the host's /dev.  Thanks to the libvirt team for considering
that possibility!

We want to work on kernels which do not support setns, so we simply
chroot into the container before doing any rm/mknod.  If /dev/vda5
is a symlink to /XXX, or /dev is a symlink to /etc, this is now
correctly resolved locally in the chroot.

We would have preferred to use realpath() to check that the resolved
path is not changed, but realpath across /proc/pid/root does not
work as expected.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
10 years agolxc_autostart: Update following shutdown() API change
Stéphane Graber [Fri, 7 Feb 2014 15:23:35 +0000 (10:23 -0500)]
lxc_autostart: Update following shutdown() API change

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>