[lxc-devel] [PATCH 1/1] Remove mention of mountcgroups in ubuntu.common config
Serge Hallyn
serge.hallyn at ubuntu.com
Thu Jul 17 22:21:31 UTC 2014
Quoting Stéphane Graber (stgraber at ubuntu.com):
> On Thu, Jul 17, 2014 at 02:08:59PM +0000, Serge Hallyn wrote:
> > That mount hook predates the lxc.mount.auto = cgroup option. So mention
> > that instead.
> >
> > Perhaps we should simply drop the mountcgroup hook from the tree, but
> > I'm not doing that in this patch.
> >
> > (This addresses https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/1342960)
> >
> > Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
>
> Acked-by: Stéphane Graber <stgraber at ubuntu.com>
>
> And unless someone strongly feels otherwise, I'd +1 the removal of the
> hook from the tree too.
Ok, let's do it then:
Subject: [PATCH 1/1] remove mountcgroup hook entirely
Also fix the comment in lxc-cirros template (which I overlooked last time).
Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
---
hooks/Makefile.am | 1 -
hooks/mountcgroups | 69 -------------------------------------------------
templates/lxc-cirros.in | 2 +-
3 files changed, 1 insertion(+), 71 deletions(-)
delete mode 100755 hooks/mountcgroups
diff --git a/hooks/Makefile.am b/hooks/Makefile.am
index 64bb26b..be55601 100644
--- a/hooks/Makefile.am
+++ b/hooks/Makefile.am
@@ -2,7 +2,6 @@ hooksdir=@LXCHOOKDIR@
hooks_SCRIPTS = \
clonehostname \
- mountcgroups \
mountecryptfsroot \
ubuntu-cloud-prep \
squid-deb-proxy-client
diff --git a/hooks/mountcgroups b/hooks/mountcgroups
deleted file mode 100755
index 073929c..0000000
--- a/hooks/mountcgroups
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/bash
-
-# (C) Copyright Canonical 2011,2012
-
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-#
-# This is an example hook to mount all mounted cgroups in the
-# container. Only the container's own cgroup (not parents) will be
-# accessible to the container. You can enable this by adding
-# lxc.hook.mount = /usr/share/lxc/hooks/mountcgroups
-# to your container's configuration file.
-
-set -e
-
-c=$1
-configfile=$LXC_CONFIG_FILE
-d=/sys/fs/cgroup
-d2=$LXC_ROOTFS_MOUNT/${d}
-# name lxc hook lxcpath
-lxcpath=$4
-if [ ! -d "$d" ]; then
- exit 0
-fi
-
-mount -n -t tmpfs tmpfs ${d2}
-
-do_devices_setup() {
- local devdir="$1"
- local c="$2"
- local line
- local w # which (allow or deny)
- local v # value
- # lxc.include provides common configuration options
- local commonconfigfile=$(egrep "^lxc.include[ \t]*=" ${configfile} | awk -F= '{ print $2 }')
- cat ${configfile} ${commonconfigfile} | egrep "^lxc.cgroup.devices.(allow|deny)[ \t]*=" | while read line; do
- w=`echo $line | awk -F. '{ print $4 }' | awk '{ print $1 }'`
- v=`echo $line | awk -F= '{ print $2 }'`
- echo "$v" >> "$devdir"/devices.$w
- done
-}
-
-# XXX TODO - we'll need to account for other cgroup groups beside 'lxc',
-# i.e. 'build' or 'users/joe'.
-for dir in `/bin/ls $d`; do
- if [ "$dir" = "devices" ]; then
- devicesdir="${d}/${dir}/lxc/${c}"
- mkdir -p "$devicesdir"
- # set the devices cgroup perms now - we can't change from blacklist to
- # whitelist, or add perms, once we have children.
- do_devices_setup "$devicesdir" "${c}"
- fi
- mkdir -p "${d}/${dir}/lxc/${c}/${c}.real"
- echo 1 > "${d}/${dir}/lxc/${c}/${c}.real/tasks"
- mkdir -p ${d2}/${dir}
- mount -n --bind "${d}/${dir}/lxc/${c}/${c}.real" "${d2}/${dir}"
-done
diff --git a/templates/lxc-cirros.in b/templates/lxc-cirros.in
index 986b2b1..24b9210 100644
--- a/templates/lxc-cirros.in
+++ b/templates/lxc-cirros.in
@@ -121,7 +121,7 @@ lxc.cap.drop = sys_module mac_admin mac_override sys_time
#lxc.aa_profile = unconfined
# To support container nesting on an Ubuntu host, uncomment next two lines:
#lxc.aa_profile = lxc-container-default-with-nesting
-#lxc.hook.mount = /usr/share/lxc/hooks/mountcgroups
+#lxc.mount.auto = cgroup
lxc.cgroup.devices.deny = a
# Allow any mknod (but not using the node)
--
1.9.1
More information about the lxc-devel
mailing list