summaryrefslogtreecommitdiffstats
path: root/nova
diff options
context:
space:
mode:
Diffstat (limited to 'nova')
-rw-r--r--nova/volume/driver.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/nova/volume/driver.py b/nova/volume/driver.py
index a9ea5caa3..7d5db4ab0 100644
--- a/nova/volume/driver.py
+++ b/nova/volume/driver.py
@@ -103,8 +103,18 @@ class AOEDriver(object):
@defer.inlineCallbacks
def ensure_exports(self):
"""Runs all existing exports"""
- yield self._try_execute("sudo vblade-persist auto all")
- yield self._try_execute("sudo vblade-persist start all")
+ # NOTE(vish): The standard _try_execute does not work here
+ # because these methods throw errors if other
+ # volumes on this host are in the process of
+ # being created. The good news is the command
+ # still works for the other volumes, so we
+ # just wait a bit for the current volume to
+ # be ready and ignore any errors.
+ yield self._execute("sleep 2")
+ yield self._execute("sudo vblade-persist auto all",
+ check_exit_code=False)
+ yield self._execute("sudo vblade-persist start all",
+ check_exit_code=False)
class FakeAOEDriver(AOEDriver):