summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJian Wen <wenjianhn@gmail.com>2012-11-13 17:02:36 +0800
committerJian Wen <wenjianhn@gmail.com>2012-11-13 17:16:54 +0800
commitca1282ad7c577398b8a4c47481fa0c94b62893b4 (patch)
tree21c561241ef059763ee7ace584b84f8c9be0e28e
parentf282a2c31f50b24d628b44cbd97f35429ad2798b (diff)
downloadnova-ca1282ad7c577398b8a4c47481fa0c94b62893b4.tar.gz
nova-ca1282ad7c577398b8a4c47481fa0c94b62893b4.tar.xz
nova-ca1282ad7c577398b8a4c47481fa0c94b62893b4.zip
Fixes usage of migrate_instance_start
Because migrate_instance_start is used to remove floating ips on the source compute node, we need send the RPC to the source compute node instead of the dest compute node. Fixes bug 1078207 Change-Id: Ie993548944268e1ab3af0b89e74e1b54d8137802
-rw-r--r--nova/network/api.py2
-rw-r--r--nova/tests/network/test_api.py3
2 files changed, 3 insertions, 2 deletions
diff --git a/nova/network/api.py b/nova/network/api.py
index e4fd38b13..4b803482a 100644
--- a/nova/network/api.py
+++ b/nova/network/api.py
@@ -351,7 +351,7 @@ class API(base.Base):
if self._is_multi_host(context, instance):
args['floating_addresses'] = \
self._get_floating_ip_addresses(context, instance)
- args['host'] = migration['dest_compute']
+ args['host'] = migration['source_compute']
self.network_rpcapi.migrate_instance_start(context, **args)
diff --git a/nova/tests/network/test_api.py b/nova/tests/network/test_api.py
index bfc9dc878..15ead5337 100644
--- a/nova/tests/network/test_api.py
+++ b/nova/tests/network/test_api.py
@@ -117,7 +117,6 @@ class ApiTestCase(test.TestCase):
'project_id': 'fake_project_id',
'floating_addresses': None}
if multi_host:
- expected['host'] = 'fake_compute_dest'
expected['floating_addresses'] = ['fake_float1', 'fake_float2']
return fake_instance, fake_migration, expected
@@ -125,6 +124,7 @@ class ApiTestCase(test.TestCase):
info = {'kwargs': {}}
arg1, arg2, expected = self._stub_migrate_instance_calls(
'migrate_instance_start', True, info)
+ expected['host'] = 'fake_compute_source'
self.network_api.migrate_instance_start(self.context, arg1, arg2)
self.assertEqual(info['kwargs'], expected)
@@ -139,6 +139,7 @@ class ApiTestCase(test.TestCase):
info = {'kwargs': {}}
arg1, arg2, expected = self._stub_migrate_instance_calls(
'migrate_instance_finish', True, info)
+ expected['host'] = 'fake_compute_dest'
self.network_api.migrate_instance_finish(self.context, arg1, arg2)
self.assertEqual(info['kwargs'], expected)