summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-12-13 23:57:20 +0000
committerGerrit Code Review <review@openstack.org>2016-12-13 23:57:20 +0000
commit6b9400ac2a9aef0a49ed4073f2ddb0d6e5f33f1f (patch)
tree2a1d8c45607d89f571f9690c2b58b27cd4810a49
parent68437adb7b14a0c23cc1d8d71efd8a9d9942faab (diff)
parentf1afda393d8bfafd92b26a445452ab4c74912f0e (diff)
downloadglance_store-6b9400ac2a9aef0a49ed4073f2ddb0d6e5f33f1f.tar.gz
Merge "take into consideration created volume size in cinder backend"
-rw-r--r--glance_store/_drivers/cinder.py2
-rw-r--r--glance_store/tests/unit/test_cinder_store.py12
2 files changed, 11 insertions, 3 deletions
diff --git a/glance_store/_drivers/cinder.py b/glance_store/_drivers/cinder.py
index 521eb83..bfca003 100644
--- a/glance_store/_drivers/cinder.py
+++ b/glance_store/_drivers/cinder.py
@@ -660,6 +660,7 @@ class Store(glance_store.driver.Store):
volume = client.volumes.create(size_gb, name=name, metadata=metadata,
volume_type=volume_type)
volume = self._wait_volume_status(volume, 'creating', 'available')
+ size_gb = volume.size
failed = True
need_extend = True
@@ -694,6 +695,7 @@ class Store(glance_store.driver.Store):
volume = self._wait_volume_status(volume,
'extending',
'available')
+ size_gb = volume.size
except exceptions.BackendException:
raise exceptions.StorageFull()
diff --git a/glance_store/tests/unit/test_cinder_store.py b/glance_store/tests/unit/test_cinder_store.py
index d18a101..9cbae7d 100644
--- a/glance_store/tests/unit/test_cinder_store.py
+++ b/glance_store/tests/unit/test_cinder_store.py
@@ -308,12 +308,16 @@ class TestCinderStore(base.StoreBaseTest,
volume_type='some_type')
def test_cinder_add(self):
- fake_volume = mock.MagicMock(id=str(uuid.uuid4()), status='available')
+ fake_volume = mock.MagicMock(id=str(uuid.uuid4()),
+ status='available',
+ size=1)
volume_file = six.BytesIO()
self._test_cinder_add(fake_volume, volume_file)
def test_cinder_add_with_verifier(self):
- fake_volume = mock.MagicMock(id=str(uuid.uuid4()), status='available')
+ fake_volume = mock.MagicMock(id=str(uuid.uuid4()),
+ status='available',
+ size=1)
volume_file = six.BytesIO()
verifier = mock.MagicMock()
self._test_cinder_add(fake_volume, volume_file, 1, verifier)
@@ -323,7 +327,9 @@ class TestCinderStore(base.StoreBaseTest,
e = IOError()
volume_file = six.BytesIO()
e.errno = errno.ENOSPC
- fake_volume = mock.MagicMock(id=str(uuid.uuid4()), status='available')
+ fake_volume = mock.MagicMock(id=str(uuid.uuid4()),
+ status='available',
+ size=1)
with mock.patch.object(volume_file, 'write', side_effect=e):
self.assertRaises(exceptions.StorageFull,
self._test_cinder_add, fake_volume, volume_file)