Merge "Update function named _wait_volumes_available"
This commit is contained in:
commit
7487f92c86
@ -132,14 +132,16 @@ class Manager(periodic_task.PeriodicTasks):
|
|||||||
|
|
||||||
def _wait_for_volumes_available(self, context, volumes, container,
|
def _wait_for_volumes_available(self, context, volumes, container,
|
||||||
timeout=60, poll_interval=1):
|
timeout=60, poll_interval=1):
|
||||||
count = 0
|
|
||||||
start_time = time.time()
|
start_time = time.time()
|
||||||
while time.time() - start_time < timeout:
|
while time.time() - start_time < timeout:
|
||||||
if count == len(volumes):
|
count = 0
|
||||||
break
|
|
||||||
for vol in volumes:
|
for vol in volumes:
|
||||||
if self.driver.is_volume_available(context, vol):
|
if self.driver.is_volume_available(context, vol):
|
||||||
count = count + 1
|
count = count + 1
|
||||||
|
else:
|
||||||
|
break
|
||||||
|
if count == len(volumes):
|
||||||
|
break
|
||||||
time.sleep(poll_interval)
|
time.sleep(poll_interval)
|
||||||
else:
|
else:
|
||||||
msg = _("Volumes did not reach available status after"
|
msg = _("Volumes did not reach available status after"
|
||||||
|
@ -919,3 +919,16 @@ class TestManager(base.TestCase):
|
|||||||
def test_container_network_attach(self, mock_attach):
|
def test_container_network_attach(self, mock_attach):
|
||||||
container = Container(self.context, **utils.get_test_container())
|
container = Container(self.context, **utils.get_test_container())
|
||||||
self.compute_manager.network_attach(self.context, container, 'network')
|
self.compute_manager.network_attach(self.context, container, 'network')
|
||||||
|
|
||||||
|
@mock.patch.object(fake_driver, 'is_volume_available')
|
||||||
|
@mock.patch.object(manager.Manager, '_fail_container')
|
||||||
|
def test_wait_for_volumes_available(self, mock_fail,
|
||||||
|
mock_is_volume_available):
|
||||||
|
mock_is_volume_available.return_value = True
|
||||||
|
container = Container(self.context, **utils.get_test_container())
|
||||||
|
volumes = [FakeVolumeMapping()]
|
||||||
|
self.compute_manager._wait_for_volumes_available(self.context,
|
||||||
|
volumes,
|
||||||
|
container)
|
||||||
|
mock_is_volume_available.assert_called_once()
|
||||||
|
mock_fail.assert_not_called()
|
||||||
|
Loading…
Reference in New Issue
Block a user