summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Dietz <matt.dietz@rackspace.com>2012-07-30 18:17:40 +0000
committerMatt Dietz <matt.dietz@rackspace.com>2012-07-30 18:17:40 +0000
commit3ffc109e380e4a7b0d899f3881ced845abd5d58c (patch)
tree09b89356144d421e1f5094bdd091967001d1169b
parent8f0d8e26d09ff6de3065864d6d62d124bcc85737 (diff)
Resize.end now includes the correct instance_type
Fixes bug 1031004. Moves the notification to the destination compute node so that the correct instance_type attributes are assigned. Change-Id: I5886154ddd7a9768dc5d82dc4e43e9e0f681ee04
-rw-r--r--nova/compute/manager.py14
-rw-r--r--nova/tests/compute/test_compute.py4
2 files changed, 13 insertions, 5 deletions
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index 686409e47..1bcc23a13 100644
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -1572,9 +1572,6 @@ class ComputeManager(manager.SchedulerDependentManager):
self.compute_rpcapi.finish_resize(context, instance_ref, migration_id,
image, disk_info, migration_ref['dest_compute'])
- self._notify_about_instance_usage(context, instance_ref, "resize.end",
- network_info=network_info)
-
def _finish_resize(self, context, instance, migration_ref, disk_info,
image):
resize_instance = False
@@ -1650,6 +1647,17 @@ class ComputeManager(manager.SchedulerDependentManager):
instance=instance)
self._set_instance_error_state(context, instance['uuid'])
+ try:
+ network_info = self._get_instance_nw_info(context, instance)
+ except Exception, error:
+ with excutils.save_and_reraise_exception():
+ msg = _('%s. Setting instance vm_state to ERROR')
+ LOG.error(msg % error)
+ self._set_instance_error_state(context, instance_uuid)
+
+ self._notify_about_instance_usage(context, instance, "resize.end",
+ network_info=network_info)
+
@exception.wrap_exception(notifier=notifier, publisher_id=publisher_id())
@checks_instance_lock
@wrap_instance_fault
diff --git a/nova/tests/compute/test_compute.py b/nova/tests/compute/test_compute.py
index c5913d9d3..848376da1 100644
--- a/nova/tests/compute/test_compute.py
+++ b/nova/tests/compute/test_compute.py
@@ -1,4 +1,4 @@
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
+# vim: tabstop=5 shiftwidth=4 softtabstop=4
# Copyright 2010 United States Government as represented by the
# Administrator of the National Aeronautics and Space Administration.
@@ -1208,7 +1208,7 @@ class ComputeTestCase(BaseTestCase):
migration_id=int(migration_ref['id']), disk_info={}, image={},
instance=instance)
- self.assertEquals(len(test_notifier.NOTIFICATIONS), 2)
+ self.assertEquals(len(test_notifier.NOTIFICATIONS), 3)
msg = test_notifier.NOTIFICATIONS[0]
self.assertEquals(msg['event_type'],
'compute.instance.finish_resize.start')