diff --git a/heat/engine/resources/openstack/heat/deployed_server.py b/heat/engine/resources/openstack/heat/deployed_server.py index c44c03538e..93d509f81d 100644 --- a/heat/engine/resources/openstack/heat/deployed_server.py +++ b/heat/engine/resources/openstack/heat/deployed_server.py @@ -106,6 +106,9 @@ class DeployedServer(server_base.BaseServer): return self.resource_id + def user_data_software_config(self): + return True + def _delete(self): self._delete_queue() self._delete_user() diff --git a/heat/tests/openstack/heat/test_deployed_server.py b/heat/tests/openstack/heat/test_deployed_server.py index 9ce055b09c..58c6251562 100644 --- a/heat/tests/openstack/heat/test_deployed_server.py +++ b/heat/tests/openstack/heat/test_deployed_server.py @@ -238,10 +238,9 @@ class DeployedServersTest(common.HeatTestCase): self.assertFalse(stack.access_allowed('4567', 'wserver')) return stack, server - def test_server_create_software_config_poll_heat(self): + def test_server_software_config_poll_heat(self): stack, server = self._server_create_software_config_poll_heat() - - self.assertEqual({ + md = { 'os-collect-config': { 'heat': { 'auth_url': 'http://server.test:5000/v2.0', @@ -254,7 +253,19 @@ class DeployedServersTest(common.HeatTestCase): 'collectors': ['heat', 'local'] }, 'deployments': [] - }, server.metadata_get()) + } + + self.assertEqual(md, server.metadata_get()) + # update resource.metadata + md1 = {'os-collect-config': {'polling_interval': 10}} + server.stack.t.t['resources']['server']['metadata'] = md1 + resource_defns = server.stack.t.resource_definitions(server.stack) + scheduler.TaskRunner(server.update, resource_defns['server'])() + + occ = md['os-collect-config'] + occ.update(md1['os-collect-config']) + # os-collect-config merged + self.assertEqual(md, server.metadata_get()) def test_server_create_software_config_poll_heat_metadata(self): md = {'os-collect-config': {'polling_interval': 10}}