Repository: libcloud Updated Branches: refs/heads/trunk 52d96c7f5 -> b5902a106
Fix Route53 DNS driver to support domain zone as name Closes #469 Signed-off-by: Tomaz Muraus <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/22df9887 Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/22df9887 Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/22df9887 Branch: refs/heads/trunk Commit: 22df98878716434eb08edd08a007f843fe5cd23b Parents: 52d96c7 Author: VanÄ Levstik <[email protected]> Authored: Mon Feb 23 14:13:32 2015 +0100 Committer: Tomaz Muraus <[email protected]> Committed: Sat Feb 28 22:32:08 2015 +0100 ---------------------------------------------------------------------- libcloud/dns/drivers/route53.py | 8 +++++--- libcloud/test/dns/test_route53.py | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/libcloud/blob/22df9887/libcloud/dns/drivers/route53.py ---------------------------------------------------------------------- diff --git a/libcloud/dns/drivers/route53.py b/libcloud/dns/drivers/route53.py index 5fce731..36e06f7 100644 --- a/libcloud/dns/drivers/route53.py +++ b/libcloud/dns/drivers/route53.py @@ -315,7 +315,7 @@ class Route53DNSDriver(DNSDriver): rrs = ET.SubElement(change, 'ResourceRecordSet') ET.SubElement(rrs, 'Name').text = record.name + '.' + \ - record.zone.domain + record.zone.domain if record.name else record.zone.domain ET.SubElement(rrs, 'Type').text = self.RECORD_TYPE_MAP[record.type] ET.SubElement(rrs, 'TTL').text = str(record.extra.get('ttl', '0')) @@ -334,7 +334,8 @@ class Route53DNSDriver(DNSDriver): ET.SubElement(change, 'Action').text = 'CREATE' rrs = ET.SubElement(change, 'ResourceRecordSet') - ET.SubElement(rrs, 'Name').text = name + '.' + record.zone.domain + ET.SubElement(rrs, 'Name').text = name + '.' + \ + record.zone.domain if name else record.zone.domain ET.SubElement(rrs, 'Type').text = self.RECORD_TYPE_MAP[type] ET.SubElement(rrs, 'TTL').text = str(extra.get('ttl', '0')) @@ -364,7 +365,8 @@ class Route53DNSDriver(DNSDriver): ET.SubElement(change, 'Action').text = action rrs = ET.SubElement(change, 'ResourceRecordSet') - ET.SubElement(rrs, 'Name').text = name + '.' + zone.domain + ET.SubElement(rrs, 'Name').text = name + '.' + \ + zone.domain if name else zone.domain ET.SubElement(rrs, 'Type').text = self.RECORD_TYPE_MAP[type_] ET.SubElement(rrs, 'TTL').text = str(extra.get('ttl', '0')) http://git-wip-us.apache.org/repos/asf/libcloud/blob/22df9887/libcloud/test/dns/test_route53.py ---------------------------------------------------------------------- diff --git a/libcloud/test/dns/test_route53.py b/libcloud/test/dns/test_route53.py index e9a4026..157d469 100644 --- a/libcloud/test/dns/test_route53.py +++ b/libcloud/test/dns/test_route53.py @@ -155,6 +155,20 @@ class Route53Tests(unittest.TestCase): self.assertEqual(record.type, RecordType.A) self.assertEqual(record.data, '127.0.0.1') + def test_create_record_zone_name(self): + zone = self.driver.list_zones()[0] + record = self.driver.create_record( + name='', zone=zone, + type=RecordType.A, data='127.0.0.1', + extra={'ttl': 0} + ) + + self.assertEqual(record.id, 'A:') + self.assertEqual(record.name, '') + self.assertEqual(record.zone, zone) + self.assertEqual(record.type, RecordType.A) + self.assertEqual(record.data, '127.0.0.1') + def test_create_multi_value_record(self): zone = self.driver.list_zones()[0] records = self.driver.ex_create_multi_value_record(
