summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArata Notsu <notsu@virtualtech.jp>2012-12-07 18:30:20 +0900
committerArata Notsu <notsu@virtualtech.jp>2012-12-11 07:23:46 +0900
commit34f7685f3d23aacd7f596ac1bfe15223efc10204 (patch)
treee76f14b90e2547256ab52ba22220799b824f3384
parent4d648c4b3d480dc3cc2dbb4d77f561f0bd4de426 (diff)
Set instance_ref['node'] in _set_instance_host_and_node
instance_ref is finally passed to ComputeDriver.spawn(). The instance_ref['node'] must be set before spawn() is called since a ComputeDriver managing multiple nodes may use the value in spawn(). Without this patch, _set_instance_host_and_node() updates only 'host' and 'launched_on' in instance_ref although it updates 'host', 'launched_on' and 'node' in DB. It is natural and necessary that we set instance_ref['node'] there. blueprint general-bare-metal-provisioning-framework Change-Id: I5cdf7d9a9d59d30a9e2f1d15c9ec74428828570c
-rw-r--r--nova/compute/resource_tracker.py1
-rw-r--r--nova/tests/compute/test_resource_tracker.py4
2 files changed, 4 insertions, 1 deletions
diff --git a/nova/compute/resource_tracker.py b/nova/compute/resource_tracker.py
index 0767b4e61..7306b5940 100644
--- a/nova/compute/resource_tracker.py
+++ b/nova/compute/resource_tracker.py
@@ -189,6 +189,7 @@ class ResourceTracker(object):
**values)
instance_ref['host'] = self.host
instance_ref['launched_on'] = self.host
+ instance_ref['node'] = self.nodename
def abort_instance_claim(self, instance):
"""Remove usage from the given instance"""
diff --git a/nova/tests/compute/test_resource_tracker.py b/nova/tests/compute/test_resource_tracker.py
index ac18e9505..9bad14275 100644
--- a/nova/tests/compute/test_resource_tracker.py
+++ b/nova/tests/compute/test_resource_tracker.py
@@ -805,13 +805,15 @@ class ResizeClaimTestCase(BaseTrackerTestCase):
self.tracker.update_available_resource(self.context)
self.assertEqual(1, len(self.tracker.tracked_migrations))
- def test_set_instance_host(self):
+ def test_set_instance_host_and_node(self):
instance = self._fake_instance()
self.assertEqual(None, instance['host'])
self.assertEqual(None, instance['launched_on'])
+ self.assertEqual(None, instance['node'])
claim = self.tracker.instance_claim(self.context, instance)
self.assertNotEqual(0, claim.memory_mb)
self.assertEqual('fakehost', instance['host'])
self.assertEqual('fakehost', instance['launched_on'])
+ self.assertEqual('fakenode', instance['node'])