From 51b3510387cafec87e39c2a52e8578a66f3488d4 Mon Sep 17 00:00:00 2001 From: Thierry Carrez Date: Thu, 15 Mar 2012 10:58:57 +0100 Subject: Fix LXC volume attach issue Fix erroneous use of echo to set permissions on LXC volume access. Fixes bug 943304. Note that based on input from the duplicate bug (948193), we set: b x:x rwm to /sys/fs/cgroup/devices/libvirt/lxc/x/devices.allow instead of: c x:x rwm to /sys/fs/cgroup/devices/sysdefault/libvirt/lxc/x/devices.allow Change-Id: Ia048d3f46799839b4b85c781bb50488e09ba9b5e --- nova/virt/disk/api.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/nova/virt/disk/api.py b/nova/virt/disk/api.py index 7b207c09e..6cb19f235 100644 --- a/nova/virt/disk/api.py +++ b/nova/virt/disk/api.py @@ -127,12 +127,13 @@ def bind(src, target, instance_name): utils.execute('mount', '-o', 'bind', src, target, run_as_root=True) s = os.stat(src) - cgroup_info = "c %s:%s rwm" % (os.major(s.st_rdev), - os.minor(s.st_rdev)) + cgroup_info = "b %s:%s rwm\n" % (os.major(s.st_rdev), + os.minor(s.st_rdev)) cgroups_path = \ - "/sys/fs/cgroup/devices/sysdefault/libvirt/lxc/%s/devices.allow" \ + "/sys/fs/cgroup/devices/libvirt/lxc/%s/devices.allow" \ % instance_name - utils.execute('echo', '>', cgroup_info, cgroups_path, run_as_root=True) + utils.execute('tee', cgroups_path, + process_input=cgroup_info, run_as_root=True) def unbind(target): -- cgit