diff options
author | Zuul <zuul@review.opendev.org> | 2019-06-07 17:02:15 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2019-06-07 17:02:15 +0000 |
commit | 92e4ea4874f3f34d66115f6978e43cc25164538e (patch) | |
tree | 6782835b2648872852eb268b306d105b6a1425f0 | |
parent | 4aa569e185cad48c72ba59f1f73ab889dc957f44 (diff) | |
parent | f11d2073ef01517a5be2ea96ad40a84bb0c7f525 (diff) | |
download | heat-92e4ea4874f3f34d66115f6978e43cc25164538e.tar.gz |
Merge "Fix multi region issue for software deployment" into stable/pike
-rw-r--r-- | heat/engine/resources/server_base.py | 8 | ||||
-rw-r--r-- | heat/tests/openstack/heat/test_deployed_server.py | 7 | ||||
-rw-r--r-- | heat/tests/openstack/nova/test_server.py | 21 |
3 files changed, 27 insertions, 9 deletions
diff --git a/heat/engine/resources/server_base.py b/heat/engine/resources/server_base.py index 364daa54a..983efe298 100644 --- a/heat/engine/resources/server_base.py +++ b/heat/engine/resources/server_base.py @@ -67,6 +67,8 @@ class BaseServer(stack_user.StackUser): occ = meta['os-collect-config'] collectors = list(self.default_collectors) occ['collectors'] = collectors + region_name = (self.context.region_name or + cfg.CONF.region_name_for_services) # set existing values to None to override any boot-time config occ_keys = ('heat', 'zaqar', 'cfn', 'request') @@ -85,7 +87,8 @@ class BaseServer(stack_user.StackUser): 'auth_url': self.context.auth_url, 'project_id': self.stack.stack_user_project_id, 'stack_id': self.stack.identifier().stack_path(), - 'resource_name': self.name}}) + 'resource_name': self.name, + 'region_name': region_name}}) collectors.append('heat') elif self.transport_zaqar_message(props): @@ -95,7 +98,8 @@ class BaseServer(stack_user.StackUser): 'password': self.password, 'auth_url': self.context.auth_url, 'project_id': self.stack.stack_user_project_id, - 'queue_id': queue_id}}) + 'queue_id': queue_id, + 'region_name': region_name}}) collectors.append('zaqar') elif self.transport_poll_server_cfn(props): diff --git a/heat/tests/openstack/heat/test_deployed_server.py b/heat/tests/openstack/heat/test_deployed_server.py index 9ca0813b4..c2a283d43 100644 --- a/heat/tests/openstack/heat/test_deployed_server.py +++ b/heat/tests/openstack/heat/test_deployed_server.py @@ -139,7 +139,8 @@ class DeployedServersTest(common.HeatTestCase): def _setup_test_stack(self, stack_name, test_templ=ds_tmpl): t = template_format.parse(test_templ) tmpl = template.Template(t, env=environment.Environment()) - stack = parser.Stack(utils.dummy_context(), stack_name, tmpl, + stack = parser.Stack(utils.dummy_context(region_name="RegionOne"), + stack_name, tmpl, stack_id=uuidutils.generate_uuid(), stack_user_project_id='8888') return (tmpl, stack) @@ -479,6 +480,7 @@ class DeployedServersTest(common.HeatTestCase): 'auth_url': 'http://server.test:5000/v2.0', 'password': server.password, 'project_id': '8888', + 'region_name': 'RegionOne', 'resource_name': 'server', 'stack_id': 'server_heat_s/%s' % stack.id, 'user_id': '1234' @@ -510,6 +512,7 @@ class DeployedServersTest(common.HeatTestCase): 'auth_url': 'http://server.test:5000/v2.0', 'password': server.password, 'project_id': '8888', + 'region_name': 'RegionOne', 'resource_name': 'server', 'stack_id': 'server_heat_s/%s' % stack.id, 'user_id': '1234' @@ -569,6 +572,7 @@ class DeployedServersTest(common.HeatTestCase): 'password': server.password, 'auth_url': 'http://server.test:5000/v2.0', 'project_id': '8888', + 'region_name': 'RegionOne', 'queue_id': queue_id }, 'collectors': ['zaqar', 'local'] @@ -586,6 +590,7 @@ class DeployedServersTest(common.HeatTestCase): 'password': server.password, 'auth_url': 'http://server.test:5000/v2.0', 'project_id': '8888', + 'region_name': 'RegionOne', 'queue_id': queue_id }, 'collectors': ['zaqar', 'local'], diff --git a/heat/tests/openstack/nova/test_server.py b/heat/tests/openstack/nova/test_server.py index bb4c1e2a2..1fe494f47 100644 --- a/heat/tests/openstack/nova/test_server.py +++ b/heat/tests/openstack/nova/test_server.py @@ -274,7 +274,8 @@ class ServersTest(common.HeatTestCase): env=environment.Environment( {'key_name': 'test'}), files=files) - stack = parser.Stack(utils.dummy_context(), stack_name, templ, + stack = parser.Stack(utils.dummy_context(region_name="RegionOne"), + stack_name, templ, stack_id=uuidutils.generate_uuid(), stack_user_project_id='8888') return templ, stack @@ -891,6 +892,7 @@ class ServersTest(common.HeatTestCase): 'auth_url': 'http://server.test:5000/v2.0', 'password': server.password, 'project_id': '8888', + 'region_name': 'RegionOne', 'resource_name': 'WebServer', 'stack_id': 'software_config_s/%s' % stack.id, 'user_id': '1234' @@ -910,6 +912,7 @@ class ServersTest(common.HeatTestCase): 'auth_url': 'http://server.test:5000/v2.0', 'password': server.password, 'project_id': '8888', + 'region_name': 'RegionOne', 'resource_name': 'WebServer', 'stack_id': 'software_config_s/%s' % stack.id, 'user_id': '1234' @@ -1061,7 +1064,8 @@ class ServersTest(common.HeatTestCase): 'password': server.password, 'auth_url': 'http://server.test:5000/v2.0', 'project_id': '8888', - 'queue_id': queue_id + 'queue_id': queue_id, + 'region_name': 'RegionOne', }, 'collectors': ['ec2', 'zaqar', 'local'] }, @@ -1082,7 +1086,8 @@ class ServersTest(common.HeatTestCase): 'password': server.password, 'auth_url': 'http://server.test:5000/v2.0', 'project_id': '8888', - 'queue_id': mock.ANY + 'queue_id': mock.ANY, + 'region_name': 'RegionOne', }, 'collectors': ['ec2', 'zaqar', 'local'] }, @@ -1102,7 +1107,8 @@ class ServersTest(common.HeatTestCase): 'password': server.password, 'auth_url': 'http://server.test:5000/v2.0', 'project_id': '8888', - 'queue_id': queue_id + 'queue_id': queue_id, + 'region_name': 'RegionOne', }, 'collectors': ['ec2', 'zaqar', 'local'], 'polling_interval': 10 @@ -1768,7 +1774,7 @@ class ServersTest(common.HeatTestCase): 'metadata_url': None, 'path': None, 'secret_access_key': None, - 'stack_name': None + 'stack_name': None, }, 'request': { 'metadata_url': 'the_url', @@ -1789,6 +1795,7 @@ class ServersTest(common.HeatTestCase): 'auth_url': 'http://server.test:5000/v2.0', 'password': password, 'project_id': '8888', + 'region_name': 'RegionOne', 'resource_name': 'WebServer', 'stack_id': 'software_config_s/%s' % stack.id, 'user_id': '1234' @@ -1821,12 +1828,14 @@ class ServersTest(common.HeatTestCase): 'password': password_1, 'auth_url': 'http://server.test:5000/v2.0', 'project_id': '8888', - 'queue_id': server.data().get('metadata_queue_id') + 'queue_id': server.data().get('metadata_queue_id'), + 'region_name': 'RegionOne', }, 'heat': { 'auth_url': None, 'password': None, 'project_id': None, + 'region_name': None, 'resource_name': None, 'stack_id': None, 'user_id': None |