summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2019-06-07 17:02:15 +0000
committerGerrit Code Review <review@openstack.org>2019-06-07 17:02:15 +0000
commit92e4ea4874f3f34d66115f6978e43cc25164538e (patch)
tree6782835b2648872852eb268b306d105b6a1425f0
parent4aa569e185cad48c72ba59f1f73ab889dc957f44 (diff)
parentf11d2073ef01517a5be2ea96ad40a84bb0c7f525 (diff)
downloadheat-92e4ea4874f3f34d66115f6978e43cc25164538e.tar.gz
Merge "Fix multi region issue for software deployment" into stable/pike
-rw-r--r--heat/engine/resources/server_base.py8
-rw-r--r--heat/tests/openstack/heat/test_deployed_server.py7
-rw-r--r--heat/tests/openstack/nova/test_server.py21
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