From 34f7685f3d23aacd7f596ac1bfe15223efc10204 Mon Sep 17 00:00:00 2001 From: Arata Notsu Date: Fri, 7 Dec 2012 18:30:20 +0900 Subject: 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 --- nova/compute/resource_tracker.py | 1 + nova/tests/compute/test_resource_tracker.py | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) 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']) -- cgit