summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFeilong Wang <flwang@catalyst.net.nz>2018-07-06 06:51:56 +1200
committerRico Lin <rico.lin.guanyu@gmail.com>2018-11-13 11:21:04 +0000
commitf11d2073ef01517a5be2ea96ad40a84bb0c7f525 (patch)
tree918387f082ffe0621f58c00b4df92dabfd08021e
parent7524e615b2b735b26da44a45c356de801eb21bec (diff)
downloadheat-f11d2073ef01517a5be2ea96ad40a84bb0c7f525.tar.gz
Fix multi region issue for software deployment
Except commit Iec6f3606c9fdf8474f393b0990356f34d38bcf75 we still need this one to make sure the region name can be populated as deployment metadata. Task: 22854 Story: 2002781 Depends-On: https://review.openstack.org/#/c/617593 Change-Id: Id87935bdb1484e66f6066361d80e245d08d9ab66 (cherry picked from commit 73d5b2cabe74faa2a55deef48928b1a46658ac21)
-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