summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-02-16 01:03:59 +0000
committerGerrit Code Review <review@openstack.org>2013-02-16 01:03:59 +0000
commit414cc82289f6ecbbdff6ddd5b138d1a72df37b62 (patch)
tree7277f98c152465d02c4b8077814bf0aeceae6da3 /nova/tests
parent596e0b392a961c28c5d8f81ec45dc6e2b28578e2 (diff)
parent1504cbc5d4a27695fa663f0b0f3f7b48745bdb45 (diff)
Merge "Add option to allow cross AZ attach configurable"
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/fake_volume.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/nova/tests/fake_volume.py b/nova/tests/fake_volume.py
index c7430ee6d..0d8a502a5 100644
--- a/nova/tests/fake_volume.py
+++ b/nova/tests/fake_volume.py
@@ -17,12 +17,17 @@
import uuid
from nova import exception
+from nova.openstack.common import cfg
from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
LOG = logging.getLogger(__name__)
+CONF = cfg.CONF
+CONF.import_opt('cinder_cross_az_attach',
+ 'nova.volume.cinder')
+
class fake_volume():
user_uuid = '4a3cd440-b9c2-11e1-afa6-0800200c9a66'
@@ -175,7 +180,7 @@ class API(object):
LOG.info('deleting volume %s', volume['id'])
self.volume_list = [v for v in self.volume_list if v != volume]
- def check_attach(self, context, volume):
+ def check_attach(self, context, volume, instance=None):
if volume['status'] != 'available':
msg = _("status must be available")
msg = "%s" % volume
@@ -183,6 +188,10 @@ class API(object):
if volume['attach_status'] == 'attached':
msg = _("already attached")
raise exception.InvalidVolume(reason=msg)
+ if instance and not CONF.cinder_cross_az_attach:
+ if instance['availability_zone'] != volume['availability_zone']:
+ msg = _("Instance and volume not in same availability_zone")
+ raise exception.InvalidVolume(reason=msg)
def check_detach(self, context, volume):
if volume['status'] == "available":