diff options
author | Jenkins <jenkins@review.openstack.org> | 2016-03-03 10:40:19 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2016-03-03 10:40:19 +0000 |
commit | fc6ab013aa532a77d167cb32c25c19f14a8f01cc (patch) | |
tree | 42967639f1f3d589abade43bbb5a8927dab60a64 | |
parent | 7469927ba24b1af388ebbd0440e0d4aec6c86553 (diff) | |
parent | 8d788da2e1b115cfb9c55f007d5392519fb77f5b (diff) | |
download | heat-fc6ab013aa532a77d167cb32c25c19f14a8f01cc.tar.gz |
Merge "Fix property TTL in Designate::Domain" into stable/liberty
-rw-r--r-- | heat/engine/resources/openstack/designate/domain.py | 13 | ||||
-rw-r--r-- | heat/tests/openstack/designate/test_domain.py | 12 |
2 files changed, 16 insertions, 9 deletions
diff --git a/heat/engine/resources/openstack/designate/domain.py b/heat/engine/resources/openstack/designate/domain.py index b1ddf923d..9ecf64128 100644 --- a/heat/engine/resources/openstack/designate/domain.py +++ b/heat/engine/resources/openstack/designate/domain.py @@ -10,6 +10,7 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. +import six from heat.common.i18n import _ from heat.engine import attributes @@ -47,12 +48,12 @@ class DesignateDomain(resource.Resource): required=True, constraints=[constraints.Length(max=255)] ), - # Based on RFC 1035, range for ttl is set to 0 to signed 32 bit number + # Based on RFC 1035, range for ttl is set to 1 to signed 32 bit number TTL: properties.Schema( properties.Schema.INTEGER, _('Time To Live (Seconds).'), update_allowed=True, - constraints=[constraints.Range(min=0, + constraints=[constraints.Range(min=1, max=2147483647)] ), # designate mandates to the max length of 160 for description @@ -82,13 +83,7 @@ class DesignateDomain(resource.Resource): entity = 'domains' def handle_create(self): - args = dict( - name=self.properties[self.NAME], - email=self.properties[self.EMAIL], - description=self.properties[self.DESCRIPTION], - ttl=self.properties[self.TTL] - ) - + args = dict((k, v) for k, v in six.iteritems(self.properties) if v) domain = self.client_plugin().domain_create(**args) self.resource_id_set(domain.id) diff --git a/heat/tests/openstack/designate/test_domain.py b/heat/tests/openstack/designate/test_domain.py index 4d720d38a..dd00e41ff 100644 --- a/heat/tests/openstack/designate/test_domain.py +++ b/heat/tests/openstack/designate/test_domain.py @@ -180,3 +180,15 @@ class DesignateDomainTest(common.HeatTestCase): self.assertEqual(args, self.test_resource._show_resource(), 'Failed to show resource') + + def test_no_ttl(self): + mock_domain_create = self.test_client_plugin.domain_create + mock_resource = self._get_mock_resource() + mock_domain_create.return_value = mock_resource + + self.test_resource.properties.data['ttl'] = None + + self.test_resource.handle_create() + mock_domain_create.assert_called_once_with( + name='test-domain.com', description='Test domain', + email='abc@test-domain.com') |