summaryrefslogtreecommitdiff
path: root/heat
diff options
context:
space:
mode:
authorPeter Razumovsky <prazumovsky@mirantis.com>2015-12-07 18:41:24 +0300
committerPeter Razumovsky <prazumovsky@mirantis.com>2016-04-13 14:13:11 +0000
commit36eeff19b8cef575c30841b63615b2c2fd0bcb8f (patch)
treeea471e1a3f0762ea6930a3f4c13a1e63f867e7db /heat
parent27a1887bc8f5936e906cc0d574052d70f903c1dd (diff)
downloadheat-36eeff19b8cef575c30841b63615b2c2fd0bcb8f.tar.gz
Designate::Domain observe reality implementation
Override parse_live_resource_data method for Designate::Domain resource to update resource plugin with it's live state. implements bp get-reality-for-resources Change-Id: I062fae95a398a816e892b3b98fb6eedbdedc6de4
Diffstat (limited to 'heat')
-rw-r--r--heat/engine/resources/openstack/designate/domain.py8
-rw-r--r--heat/tests/openstack/designate/test_domain.py30
2 files changed, 38 insertions, 0 deletions
diff --git a/heat/engine/resources/openstack/designate/domain.py b/heat/engine/resources/openstack/designate/domain.py
index 9bafa0745..128cf32e7 100644
--- a/heat/engine/resources/openstack/designate/domain.py
+++ b/heat/engine/resources/openstack/designate/domain.py
@@ -118,6 +118,14 @@ class DesignateDomain(resource.Resource):
def _show_resource(self):
return dict(self.client().domains.get(self.resource_id).items())
+ def parse_live_resource_data(self, resource_properties, resource_data):
+ domain_reality = {}
+
+ for key in self.PROPERTIES:
+ domain_reality.update({key: resource_data.get(key)})
+
+ return domain_reality
+
def resource_mapping():
return {
diff --git a/heat/tests/openstack/designate/test_domain.py b/heat/tests/openstack/designate/test_domain.py
index 2b9e37cf1..4500c4618 100644
--- a/heat/tests/openstack/designate/test_domain.py
+++ b/heat/tests/openstack/designate/test_domain.py
@@ -186,3 +186,33 @@ class DesignateDomainTest(common.HeatTestCase):
mock_domain_create.assert_called_once_with(
name='test-domain.com', description='Test domain',
email='abc@test-domain.com')
+
+ def test_domain_get_live_state(self):
+ return_domain = {
+ 'name': 'test-domain.com',
+ 'description': 'Test domain',
+ 'ttl': 3600,
+ 'email': 'abc@test-domain.com'
+ }
+ self.test_client.domains.get.return_value = return_domain
+ self.test_resource.resource_id = '1234'
+
+ reality = self.test_resource.get_live_state(
+ self.test_resource.properties)
+
+ self.assertEqual(return_domain, reality)
+
+ def test_domain_get_live_state_ttl_equals_zero(self):
+ return_domain = {
+ 'name': 'test-domain.com',
+ 'description': 'Test domain',
+ 'ttl': 0,
+ 'email': 'abc@test-domain.com'
+ }
+ self.test_client.domains.get.return_value = return_domain
+ self.test_resource.resource_id = '1234'
+
+ reality = self.test_resource.get_live_state(
+ self.test_resource.properties)
+
+ self.assertEqual(return_domain, reality)