Commit 3f458ed0 by Stéphane Graber

tests: Support cgmanager

When cgmanager is around, use dbus-send to setup the cgroups, this allows the tests to work in a container without cgroupfs access. Signed-off-by: 's avatarStéphane Graber <stgraber@ubuntu.com> Acked-by: 's avatarSerge E. Hallyn <serge.hallyn@ubuntu.com>
parent 3f500419
...@@ -93,11 +93,27 @@ chown -R $TUSER /run/user/$(id -u $TUSER) ...@@ -93,11 +93,27 @@ chown -R $TUSER /run/user/$(id -u $TUSER)
cd $HDIR cd $HDIR
for d in /sys/fs/cgroup/*; do if [ -e /sys/fs/cgroup/cgmanager/sock ]; then
for d in hugetlb cpuset cpu cpuacct memory devices freezer blkio perf_event; do
dbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock \
--type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.Create \
string:$d string:$TUSER >/dev/null
dbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock \
--type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.Chown \
string:$d string:$TUSER int32:$(id -u $TUSER) int32:$(id -g $TUSER) >/dev/null
dbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock \
--type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.MovePid \
string:$d string:$TUSER int32:$$ >/dev/null
done
else
for d in /sys/fs/cgroup/*; do
[ ! -d $d/lxctest ] && mkdir $d/lxctest [ ! -d $d/lxctest ] && mkdir $d/lxctest
chown -R $TUSER $d/lxctest chown -R $TUSER $d/lxctest
echo $$ > $d/lxctest/tasks echo $$ > $d/lxctest/tasks
done done
fi
run_cmd lxc-create -t download -n c1 -- -d ubuntu -r trusty -a $ARCH run_cmd lxc-create -t download -n c1 -- -d ubuntu -r trusty -a $ARCH
run_cmd lxc-start -n c1 -d run_cmd lxc-start -n c1 -d
......
...@@ -86,11 +86,27 @@ lxc.id_map = u 0 910000 10000 ...@@ -86,11 +86,27 @@ lxc.id_map = u 0 910000 10000
lxc.id_map = g 0 910000 10000 lxc.id_map = g 0 910000 10000
EOF EOF
for d in /sys/fs/cgroup/*; do if [ -e /sys/fs/cgroup/cgmanager/sock ]; then
for d in hugetlb cpuset cpu cpuacct memory devices freezer blkio perf_event; do
dbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock \
--type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.Create \
string:$d string:usernic-user >/dev/null
dbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock \
--type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.Chown \
string:$d string:usernic-user int32:$(id -u usernic-user) int32:$(id -g usernic-user) >/dev/null
dbus-send --print-reply --address=unix:path=/sys/fs/cgroup/cgmanager/sock \
--type=method_call /org/linuxcontainers/cgmanager org.linuxcontainers.cgmanager0_0.MovePid \
string:$d string:usernic-user int32:$$ >/dev/null
done
else
for d in /sys/fs/cgroup/*; do
[ ! -d $d/lxctest ] && mkdir $d/lxctest [ ! -d $d/lxctest ] && mkdir $d/lxctest
chown -R usernic-user $d/lxctest chown -R usernic-user $d/lxctest
echo $$ > $d/lxctest/tasks echo $$ > $d/lxctest/tasks
done done
fi
mkdir -p /run/user/$(id -u usernic-user) mkdir -p /run/user/$(id -u usernic-user)
chown -R usernic-user /run/user/$(id -u usernic-user) /home/usernic-user chown -R usernic-user /run/user/$(id -u usernic-user) /home/usernic-user
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment