summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nova/notifications.py4
-rw-r--r--nova/tests/test_notifications.py19
2 files changed, 21 insertions, 2 deletions
diff --git a/nova/notifications.py b/nova/notifications.py
index d0374ac16..913d01cdd 100644
--- a/nova/notifications.py
+++ b/nova/notifications.py
@@ -63,7 +63,7 @@ def send_update(context, old_instance, new_instance, service=None, host=None):
old_vm_state = old_instance["vm_state"]
new_vm_state = new_instance["vm_state"]
- old_task_state = old_instance["task_state"],
+ old_task_state = old_instance["task_state"]
new_task_state = new_instance["task_state"]
# we should check if we need to send a state change or a regular
@@ -90,7 +90,7 @@ def send_update(context, old_instance, new_instance, service=None, host=None):
service=service, host=host)
except Exception:
LOG.exception(_("Failed to send state update notification"),
- instance=instance)
+ instance=new_instance)
def send_update_with_states(context, instance, old_vm_state, new_vm_state,
diff --git a/nova/tests/test_notifications.py b/nova/tests/test_notifications.py
index 0626f16e8..5fd5d63f9 100644
--- a/nova/tests/test_notifications.py
+++ b/nova/tests/test_notifications.py
@@ -268,3 +268,22 @@ class NotificationsTestCase(test.TestCase):
display_name = self.instance["display_name"]
self.assertEquals(payload["display_name"], display_name)
+
+ def test_send_no_state_change(self):
+ called = [False]
+
+ def sending_no_state_change(context, instance, **kwargs):
+ called[0] = True
+ self.stubs.Set(notifications, '_send_instance_update_notification',
+ sending_no_state_change)
+ notifications.send_update(self.context, self.instance, self.instance)
+ self.assertTrue(called[0])
+
+ def test_fail_sending_update(self):
+ def fail_sending(context, instance, **kwargs):
+ raise Exception('failed to notify')
+ self.stubs.Set(notifications, '_send_instance_update_notification',
+ fail_sending)
+
+ notifications.send_update(self.context, self.instance, self.instance)
+ self.assertEquals(0, len(test_notifier.NOTIFICATIONS))