summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nova/rpc/amqp.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/nova/rpc/amqp.py b/nova/rpc/amqp.py
index cfa4ad1c1..ac29a625d 100644
--- a/nova/rpc/amqp.py
+++ b/nova/rpc/amqp.py
@@ -38,6 +38,7 @@ from nova import flags
from nova import log as logging
from nova.openstack.common import local
import nova.rpc.common as rpc_common
+from nova import utils
LOG = logging.getLogger(__name__)
@@ -293,7 +294,11 @@ class MulticallWaiter(object):
if self._done:
raise StopIteration
while True:
- self._iterator.next()
+ try:
+ self._iterator.next()
+ except Exception:
+ with utils.save_and_reraise_exception():
+ self.done()
if self._got_ending:
self.done()
raise StopIteration