summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKei Masumoto <masumotok@nttdata.co.jp>2011-01-19 09:46:43 +0900
committerKei Masumoto <masumotok@nttdata.co.jp>2011-01-19 09:46:43 +0900
commitf935cf4c6e679d1c8eed99bcabe0d4515c2ba254 (patch)
treee5002fd841d99cf4a14ba4a2ab2cfac66e377513
parent8c92638f89029e34717558e56aa1202958085d22 (diff)
downloadnova-f935cf4c6e679d1c8eed99bcabe0d4515c2ba254.tar.gz
nova-f935cf4c6e679d1c8eed99bcabe0d4515c2ba254.tar.xz
nova-f935cf4c6e679d1c8eed99bcabe0d4515c2ba254.zip
previous commit breaks volume.driver. fix it..
-rw-r--r--nova/compute/manager.py1
-rw-r--r--nova/volume/driver.py13
-rw-r--r--nova/volume/manager.py4
3 files changed, 10 insertions, 8 deletions
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index 644f601af..efb5753aa 100644
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -41,7 +41,6 @@ import logging
import socket
import functools
-from nova import context
from nova import db
from nova import exception
from nova import flags
diff --git a/nova/volume/driver.py b/nova/volume/driver.py
index 0d7ad37d5..cc8809969 100644
--- a/nova/volume/driver.py
+++ b/nova/volume/driver.py
@@ -122,7 +122,7 @@ class VolumeDriver(object):
"""Removes an export for a logical volume."""
raise NotImplementedError()
- def discover_volume(self, volume):
+ def discover_volume(self, _context, volume):
"""Discover volume on a remote host."""
raise NotImplementedError()
@@ -184,10 +184,13 @@ class AOEDriver(VolumeDriver):
self._try_execute("sudo vblade-persist destroy %s %s" %
(shelf_id, blade_id))
- def discover_volume(self, volume):
+ def discover_volume(self, context, volume):
"""Discover volume on a remote host."""
self._execute("sudo aoe-discover")
self._execute("sudo aoe-stat", check_exit_code=False)
+ shelf_id, blade_id = self.db.volume_get_shelf_and_blade(context,
+ volume['id'])
+ return "/dev/etherd/e%s.%s" % (shelf_id, blade_id)
def undiscover_volume(self, _volume):
"""Undiscover volume on a remote host."""
@@ -293,7 +296,7 @@ class ISCSIDriver(VolumeDriver):
iscsi_portal = location.split(",")[0]
return (iscsi_name, iscsi_portal)
- def discover_volume(self, volume):
+ def discover_volume(self, _context, volume):
"""Discover volume on a remote host."""
iscsi_name, iscsi_portal = self._get_name_and_portal(volume['name'],
volume['host'])
@@ -381,7 +384,7 @@ class RBDDriver(VolumeDriver):
"""Removes an export for a logical volume"""
pass
- def discover_volume(self, volume):
+ def discover_volume(self, _context, volume):
"""Discover volume on a remote host"""
return "rbd:%s/%s" % (FLAGS.rbd_pool, volume['name'])
@@ -430,7 +433,7 @@ class SheepdogDriver(VolumeDriver):
"""Removes an export for a logical volume"""
pass
- def discover_volume(self, volume):
+ def discover_volume(self, _context, volume):
"""Discover volume on a remote host"""
return "sheepdog:%s" % volume['name']
diff --git a/nova/volume/manager.py b/nova/volume/manager.py
index da750ab42..1735d79eb 100644
--- a/nova/volume/manager.py
+++ b/nova/volume/manager.py
@@ -138,7 +138,7 @@ class VolumeManager(manager.Manager):
if volume_ref['host'] == self.host and FLAGS.use_local_volumes:
path = self.driver.local_path(volume_ref)
else:
- path = self.driver.discover_volume(volume_ref)
+ path = self.driver.discover_volume(context, volume_ref)
return path
def remove_compute_volume(self, context, volume_id):
@@ -153,6 +153,6 @@ class VolumeManager(manager.Manager):
def check_for_export(self, context, instance_id):
"""Make sure whether volume is exported."""
if FLAGS.volume_driver == 'nova.volume.driver.AOEDriver':
- instance_ref = db.instance_get(instance_id)
+ instance_ref = self.db.instance_get(instance_id)
for v in instance_ref['volumes']:
self.driver.check_for_export(context, v['id'])