Commit Graph

4488 Commits

Author SHA1 Message Date
Serge Hallyn
fcca16bc86 cgfs: ignore mount prefix in mountinfo if cgroup namespaces are supported
This is not 100% correct, but will suffice until we fix the kernel so that
we can distinguish between bind mounts and namespaced cgroupfs mounts.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
2016-02-26 13:35:24 -08:00
Christian Brauner
5d55659daa Merge pull request #855 from hallyn/2016-02-26/cgfs.crucial
fix cgfs failure for unpriv users
2016-02-26 21:55:27 +01:00
Serge Hallyn
ea439aaca1 fix cgfs failure for unpriv users
Cgmanager was taught awhile ago that only some cgroup controllers are
crucial.  Teach cgfs the same thing.

This patch needs improvement, but will fix failure of lxc without cgmanager
for unprivileged users for now.  In particular, needed improvements include:

1. the check for crucial subsystems needs to include lxc.use
2. we should keep a list of the actually used subsystems so we don't keep
trying to chmod and enter after create has found we couldn't use a particular
subsystem

This fixes unprivileged lxc use.  It does not appear to suffice to fix
nested unprivilegd lxd usage.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
2016-02-26 12:16:39 -08:00
Christian Brauner
127ef998ed Merge pull request #751 from jirutka/alpine-tmpl
Rewrite template script for Alpine Linux
2016-02-26 15:46:02 +01:00
Stéphane Graber
e5712bb441 Merge pull request #852 from brauner/bugfix_branch
lxc-ls: count spaces
2016-02-26 09:44:05 -05:00
Jakub Jirutka
1125e053fb
lxc-alpine: allow to install additional packages
Signed-off-by: Jakub Jirutka <jakub@jirutka.cz>
2016-02-26 14:16:35 +01:00
Jakub Jirutka
20f39db782
lxc-alpine: cache APK packages instead of rootfs
Signed-off-by: Jakub Jirutka <jakub@jirutka.cz>
2016-02-26 14:16:35 +01:00
Jakub Jirutka
5845ac2bb8
lxc-alpine: remove all bashisms, make it compatible with dash
Signed-off-by: Jakub Jirutka <jakub@jirutka.cz>
2016-02-26 14:16:33 +01:00
Jakub Jirutka
04fa4e1253
lxc-alpine: make it compatible with ash, replace curl and rsync
Now it runs even on minimal Alpine system without bash, curl, openssl or
rsync.

Signed-off-by: Jakub Jirutka <jakub@jirutka.cz>
2016-02-26 13:15:30 +01:00
Jakub Jirutka
6515faa115
lxc-alpine: completely rewrite the template script
New template script is more readable and robust, uses cache and external
LXC config file as other templates.

Signed-off-by: Jakub Jirutka <jakub@jirutka.cz>
2016-02-26 13:14:46 +01:00
Christian Brauner
c46954935b Merge pull request #854 from ysbnim/master
Update Korean manuals
2016-02-26 12:48:23 +01:00
Christian Brauner
c753bba615 Merge pull request #853 from tenforward/japanese_man
doc: Update Japanese lxc-attach(1)
2016-02-26 12:45:48 +01:00
KATOH Yasufumi
f025e64819 doc: Update Japanese lxc-attach(1)
Update the description of pty allocation. Update for commit 478dda7.

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
2016-02-26 20:05:09 +09:00
Sungbae Yoo
bcd7520a48 doc: Add the Korean description that automount is ignored when cgroup namespaces are supported.
Update for commit 4608594

Signed-off-by: Sungbae Yoo <sungbae.yoo@samsung.com>
2016-02-26 20:02:38 +09:00
Sungbae Yoo
77fbb4d2d9 doc: Update Korean lxc-clone(1) and lxc-start-ephemeral(1)
Update for commit 2ae6732.

Signed-off-by: Sungbae Yoo <sungbae.yoo@samsung.com>
2016-02-26 20:02:38 +09:00
Sungbae Yoo
eae7ec6edc doc: Update Korean lxc-attach(1)
Update for commit e986ea3

Signed-off-by: Sungbae Yoo <sungbae.yoo@samsung.com>
2016-02-26 20:02:33 +09:00
Sungbae Yoo
1e4fe6112c doc: Add the Korean description of cgns apparmor profile in lxc.container.conf
Update for commit 7a126ae

Signed-off-by: Sungbae Yoo <sungbae.yoo@samsung.com>
2016-02-26 20:01:29 +09:00
Sungbae Yoo
a3e596c3a5 doc: Add LXC_CGNS_AWARE env to Korean lxc.container.conf(5)
Update for commit c4cafa0

Signed-off-by: Sungbae Yoo <sungbae.yoo@samsung.com>
2016-02-26 19:58:56 +09:00
Christian Brauner
fb9d69f27f lxc-ls: count spaces
Otherwise line wrapping might occur too late.

Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
2016-02-26 11:20:40 +01:00
Serge Hallyn
a71e0967ae Merge pull request #851 from tych0/set-sid-in-init
start: setsid in init task as well
2016-02-25 17:00:20 -08:00
Tycho Andersen
8c9a76651a start: setsid in init task as well
If we don't do this, we'll leak the parent's session id to the container,
which maybe doesn't matter, but it still seems better to set it anyway.

Also, it breaks CRIU for containers that don't call setsid themselves.

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
2016-02-25 17:04:01 -07:00
Serge Hallyn
ad6ea0348c Merge pull request #849 from brauner/2016-02-25/fix_attach_container_put
lxc-attach: rework pty allocation
2016-02-25 11:48:26 -08:00
Stéphane Graber
0eb37f9866 Merge pull request #850 from hallyn/2016-02-25/cgfs.lxcfs
cgfs: make sure we use valid cgroup mountpoints
2016-02-25 14:39:28 -05:00
Serge Hallyn
d3f99e96fb cgfs: make sure we use valid cgroup mountpoints
If lxcfs starts before cgroup-lite, then the first cgroup mountpoints in
/proc/self/mountinfo are /run/lxcfs/*.  Unprivileged users cannot access
these.  So privileged containers are ok, and unprivileged containers are ok
since they won't cache those to begin with.  But unprivileged root-owned
containers cache /run/lxcfs/* and then try to use them.

So when doing cgroup automounting check whether the mountpoints we have
stored are accessible, and if not look for a new one to use.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
2016-02-25 11:18:17 -08:00
Christian Brauner
478dda766a lxc-attach: rework pty allocation
Previously we implemented two ways to get a pty for lxc-attach:
	1. get a pty in the container
	2. get a pty on the host

Where 1. was the default and 2. was only tried after 1. failed.
For safety and simplicity reasons, we remove 1. and just keep 2. around.

Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
2016-02-25 19:27:02 +01:00
Christian Brauner
fa79f0a4e3 Merge pull request #847 from tenforward/japanese_man
Update Japanese man
2016-02-25 08:57:21 +01:00
KATOH Yasufumi
cd548c9d86 doc: Update Japanese lxc.container.conf(5)
- Add the description that automount is ignored when cgroup namespaces
  are supported. Update for commit 4608594.
- Unify terminology of translation

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
2016-02-25 15:44:44 +09:00
KATOH Yasufumi
bf5afa6e6b doc: Update Japanese lxc-clone(1) and lxc-start-ephemeral(1)
describe that lxc-clone and lxc-start-ephemeral have been deprecated
in those man pages.
Update for commit 2ae6732.

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
2016-02-25 15:15:41 +09:00
Stéphane Graber
9e89a0ba52
change version to 2.0.0.rc3 in configure.ac
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2016-02-24 21:13:20 -05:00
Stéphane Graber
e80ca772ad Merge pull request #846 from hallyn/2016-02-24/cgns.auto
cgfs: do not automount if cgroup namespaces are supported
2016-02-24 21:11:29 -05:00
Serge Hallyn
4608594e1d cgfs: do not automount if cgroup namespaces are supported
In that case containers will be able to mount cgroup filesystems
for themselves as they do on a host.

This fixes inability to start systemd based containers on cgns-enabled
kernels with cgmanager not running.

I've tested debian jessie, busybox, ubuntu trusty and xenial, all of
which booted ok.  However if there are some setups which require
premounted cgroupfs (i.e. they don't mount if they detect being in
a container), this may cause trouble.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
2016-02-24 17:47:23 -08:00
Stéphane Graber
4f97fce4b3 Merge pull request #844 from brauner/2016-02-22/manpage_update
configure.ac: add --enable-deprecated flag
2016-02-24 20:35:26 -05:00
Christian Brauner
d0a6bd3940 configure.ac: add --enable-deprecated flag
- lxc-clone and lxc-start-ephemeral are marked deprecated. We add a
  --enable-deprecated flag to configure.ac allowing us to enable these
  deprecated executables
- update tests to use lxc-copy instead of lxc-clone

Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
2016-02-24 21:07:26 +01:00
Christian Brauner
2ae6732f6b mark lxc-clone & lxc-start-ephemeral as deprecated
- add deprecation not to man pages
- print deprecation info to stderr when the executables are invoked

Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
2016-02-24 21:07:26 +01:00
Christian Brauner
55290b8333 Merge pull request #843 from tenforward/japanese_man
Update Japanese man
2016-02-24 10:10:20 +01:00
KATOH Yasufumi
23a3ea07e8 doc: Update Japanese lxc-clone(1) and lxc-start-ephemeral(1)
Update for commit 02e5d92

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
2016-02-24 18:04:40 +09:00
KATOH Yasufumi
b6acc629c0 doc: Update Japanese lxc-attach(1)
Update for commit e986ea3

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
2016-02-24 18:04:05 +09:00
Stéphane Graber
e60242adf9 Merge pull request #841 from brauner/2016-02-22/manpage_update
update manpages
2016-02-23 10:08:48 -05:00
Christian Brauner
02e5d92b70 update manpages
- add note to lxc-clone manpage that it is superseded by lxc-copy
- add note to lxc-start-ephemeral manpage that it is superseded by lxc-copy
- fix typo in lxc-attach manpage
- fix some of my comments in lxc_ls.c

Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
2016-02-23 10:26:31 +01:00
Stéphane Graber
b450a79dd5 Merge pull request #840 from brauner/2016-02-22/manpage_update
update lxc-attach manpage
2016-02-22 19:27:00 -05:00
Christian Brauner
e986ea3dfa update lxc-attach manpage
- explain rationale behind allocation of pty
- briefly explain how a pty is allocated
- add a short note that describes the changed behavior for lxc-attach when the
  user is not placed in a writeable cgroup at login

Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
2016-02-22 23:23:58 +01:00
Stéphane Graber
6f92522ba5
change version to 2.0.0.rc2 in configure.ac
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2016-02-22 13:39:01 -05:00
Stéphane Graber
b5c8400909 Merge pull request #839 from brauner/2016-02-15/lxc_attach_pty
lxc-attach: add comment, & implement login_tty()
2016-02-22 10:22:59 -05:00
Christian Brauner
9bd9187632 lxc-attach: add comment, & implement login_tty()
- The code required to prepare an fd to act as a login tty is shared among
  pty_on_host_callback() and fork_pty(). This implements login_pty(), a
  minimalistic login_tty() clone, to avoid code redundancy.
- Give pty_in_container() a slightly extended comment.

Signed-off-by: Christian Brauner <christian.brauner@mailbox.org>
2016-02-22 15:41:58 +01:00
Stéphane Graber
f7cdb292fe Merge pull request #837 from tenforward/japanese_man
doc: Add Japanese description of cgns apparmor profile in lxc.container.conf(5)
2016-02-22 01:30:21 -05:00
KATOH Yasufumi
9d101b3d8b doc: Add Japanese description of cgns apparmor profile in lxc.container.conf(5)
Update for commit 7a126ae

Signed-off-by: KATOH Yasufumi <karma@jazz.email.ne.jp>
2016-02-22 15:21:40 +09:00
Stéphane Graber
7bf0dbae71 Merge pull request #836 from hallyn/2016-02-21/cgns.aa
2016 02 21/cgns.aa
2016-02-22 00:37:00 -05:00
Serge Hallyn
f58236fd70 update tests to recognize cgns profile
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
2016-02-21 21:09:42 -08:00
Serge Hallyn
7a126ae1f2 lxc.container.conf / apparmor : document cgns profile
Also document 'unchanged' which we had never documented before.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
2016-02-21 20:46:58 -08:00
Serge Hallyn
787ff6e2d2 allow cgroup mounting in nesting profile
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
2016-02-21 20:45:04 -08:00