diff options
| author | Jenkins <jenkins@review.openstack.org> | 2013-02-16 01:03:59 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2013-02-16 01:03:59 +0000 |
| commit | 414cc82289f6ecbbdff6ddd5b138d1a72df37b62 (patch) | |
| tree | 7277f98c152465d02c4b8077814bf0aeceae6da3 /nova/tests | |
| parent | 596e0b392a961c28c5d8f81ec45dc6e2b28578e2 (diff) | |
| parent | 1504cbc5d4a27695fa663f0b0f3f7b48745bdb45 (diff) | |
Merge "Add option to allow cross AZ attach configurable"
Diffstat (limited to 'nova/tests')
| -rw-r--r-- | nova/tests/fake_volume.py | 11 |
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": |
