diff options
| author | Arata Notsu <notsu@virtualtech.jp> | 2012-12-07 18:30:20 +0900 |
|---|---|---|
| committer | Arata Notsu <notsu@virtualtech.jp> | 2012-12-11 07:23:46 +0900 |
| commit | 34f7685f3d23aacd7f596ac1bfe15223efc10204 (patch) | |
| tree | e76f14b90e2547256ab52ba22220799b824f3384 | |
| parent | 4d648c4b3d480dc3cc2dbb4d77f561f0bd4de426 (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.py | 1 | ||||
| -rw-r--r-- | nova/tests/compute/test_resource_tracker.py | 4 |
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']) |
