diff --git a/heat/engine/resources/openstack/keystone/domain.py b/heat/engine/resources/openstack/keystone/domain.py index a57ae1a2dd..a607ee84dd 100644 --- a/heat/engine/resources/openstack/keystone/domain.py +++ b/heat/engine/resources/openstack/keystone/domain.py @@ -90,6 +90,11 @@ class KeystoneDomain(resource.Resource): enabled=enabled ) + def parse_live_resource_data(self, resource_properties, resource_data): + return {self.NAME: resource_data.get(self.NAME), + self.DESCRIPTION: resource_data.get(self.DESCRIPTION), + self.ENABLED: resource_data.get(self.ENABLED)} + def resource_mapping(): return { diff --git a/heat/tests/openstack/keystone/test_domain.py b/heat/tests/openstack/keystone/test_domain.py index 0c2d456e2e..dd5420c065 100644 --- a/heat/tests/openstack/keystone/test_domain.py +++ b/heat/tests/openstack/keystone/test_domain.py @@ -114,3 +114,16 @@ class KeystoneDomainTest(common.HeatTestCase): enabled=prop_diff[domain.KeystoneDomain.ENABLED], name='test_domain_2' ) + + def test_get_live_state(self): + sample_domain = { + domain.KeystoneDomain.NAME: 'test', + domain.KeystoneDomain.ENABLED: True, + domain.KeystoneDomain.DESCRIPTION: 'test domain' + } + d = mock.Mock() + d.to_dict.return_value = sample_domain + self.domains.get.return_value = d + + reality = self.test_domain.get_live_state(self.test_domain.properties) + self.assertEqual(sample_domain, reality)