summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2012-10-02 11:10:34 +0100
committerDaniel P. Berrange <berrange@redhat.com>2012-11-12 17:22:57 +0000
commitf38fe82fc62926b6868fea3f89aff80adb22affb (patch)
tree0c299daac84153e4de3958cf322db23180f5aaea
parente3dfde7148a1b842804ff6f74655dfce6785bab7 (diff)
downloadnova-f38fe82fc62926b6868fea3f89aff80adb22affb.tar.gz
nova-f38fe82fc62926b6868fea3f89aff80adb22affb.tar.xz
nova-f38fe82fc62926b6868fea3f89aff80adb22affb.zip
Move libvirt specific cgroups setup code out of nova.virt.disk.api
The nova.virt.disk.api module contains code that is generically reusable for any hypervisor. Thus the 'bind' method should not contain Libvirt LXC specific cgroups code Change-Id: I919b74c2c4af8ba05b1005ea93d2164be69612ba Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
-rw-r--r--nova/virt/disk/api.py7
-rw-r--r--nova/virt/libvirt/driver.py7
2 files changed, 7 insertions, 7 deletions
diff --git a/nova/virt/disk/api.py b/nova/virt/disk/api.py
index 529f231af..e71faad70 100644
--- a/nova/virt/disk/api.py
+++ b/nova/virt/disk/api.py
@@ -157,13 +157,6 @@ def bind(src, target, instance_name):
utils.execute('touch', target, run_as_root=True)
utils.execute('mount', '-o', 'bind', src, target,
run_as_root=True)
- s = os.stat(src)
- cgroup_info = "b %s:%s rwm\n" % (os.major(s.st_rdev),
- os.minor(s.st_rdev))
- cgroups_path = ("/sys/fs/cgroup/devices/libvirt/lxc/"
- "%s/devices.allow" % instance_name)
- utils.execute('tee', cgroups_path,
- process_input=cgroup_info, run_as_root=True)
def unbind(target):
diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py
index 9483055aa..79845a0ca 100644
--- a/nova/virt/libvirt/driver.py
+++ b/nova/virt/libvirt/driver.py
@@ -742,6 +742,13 @@ class LibvirtDriver(driver.ComputeDriver):
if lxc_container_target:
disk.bind(lxc_host_volume, lxc_container_target, instance_name)
+ s = os.stat(lxc_host_volume)
+ cgroup_info = "b %s:%s rwm\n" % (os.major(s.st_rdev),
+ os.minor(s.st_rdev))
+ cgroups_path = ("/sys/fs/cgroup/devices/libvirt/lxc/"
+ "%s/devices.allow" % instance_name)
+ utils.execute('tee', cgroups_path,
+ process_input=cgroup_info, run_as_root=True)
@exception.wrap_exception()
def _detach_lxc_volume(self, xml, virt_dom, instance_name):