You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2015/02/28 22:44:13 UTC

[1/4] libcloud git commit: Fix Route53 DNS driver to support domain zone as name

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 <to...@apache.org>


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 <va...@gmail.com>
Authored: Mon Feb 23 14:13:32 2015 +0100
Committer: Tomaz Muraus <to...@apache.org>
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(


[4/4] libcloud git commit: Update changes.

Posted by to...@apache.org.
Update changes.


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/b5902a10
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/b5902a10
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/b5902a10

Branch: refs/heads/trunk
Commit: b5902a106f3089c15fa740cd5e75e591d604611c
Parents: 55ebfd1
Author: Tomaz Muraus <to...@apache.org>
Authored: Sat Feb 28 22:39:31 2015 +0100
Committer: Tomaz Muraus <to...@apache.org>
Committed: Sat Feb 28 22:39:31 2015 +0100

----------------------------------------------------------------------
 CHANGES.rst | 9 +++++++++
 1 file changed, 9 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/b5902a10/CHANGES.rst
----------------------------------------------------------------------
diff --git a/CHANGES.rst b/CHANGES.rst
index 094af05..156abca 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -54,6 +54,15 @@ DNS
   (GITHUB-460)
   [Vanč Levstik]
 
+- Correctly handle MX records priority in the Route53 driver.
+  (GITHUB-469)
+  [Vanč Levstik]
+
+- Allow user to create an A record which points directly to the domain zone
+  name in the Route53 driver.
+  (GITHUB-469)
+  [Vanč Levstik]
+
 Changes with Apache Libcloud 0.17.0
 -----------------------------------
 


[2/4] libcloud git commit: Correctly set MX records priority for Route53

Posted by to...@apache.org.
Correctly set MX records priority for Route53

Closes #469

Signed-off-by: Tomaz Muraus <to...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/23be732d
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/23be732d
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/23be732d

Branch: refs/heads/trunk
Commit: 23be732d7cc9226f8be600702baec50fab7e31a2
Parents: 22df988
Author: Vanč Levstik <va...@gmail.com>
Authored: Mon Feb 23 16:05:12 2015 +0100
Committer: Tomaz Muraus <to...@apache.org>
Committed: Sat Feb 28 22:32:15 2015 +0100

----------------------------------------------------------------------
 libcloud/dns/drivers/route53.py | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/23be732d/libcloud/dns/drivers/route53.py
----------------------------------------------------------------------
diff --git a/libcloud/dns/drivers/route53.py b/libcloud/dns/drivers/route53.py
index 36e06f7..7a3904b 100644
--- a/libcloud/dns/drivers/route53.py
+++ b/libcloud/dns/drivers/route53.py
@@ -372,6 +372,8 @@ class Route53DNSDriver(DNSDriver):
 
             rrecs = ET.SubElement(rrs, 'ResourceRecords')
             rrec = ET.SubElement(rrecs, 'ResourceRecord')
+            if 'priority' in extra:
+                data = '{0} {1}'.format(extra['priority'], data)
             ET.SubElement(rrec, 'Value').text = data
 
         uri = API_ROOT + 'hostedzone/' + zone.id + '/rrset'


[3/4] libcloud git commit: Make code more readable, fix Python version compatibility issue.

Posted by to...@apache.org.
Make code more readable, fix Python version compatibility issue.


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/55ebfd19
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/55ebfd19
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/55ebfd19

Branch: refs/heads/trunk
Commit: 55ebfd199efa3ee19b5ea6a30a67cfc8bce9b76f
Parents: 23be732
Author: Tomaz Muraus <to...@apache.org>
Authored: Sat Feb 28 22:36:00 2015 +0100
Committer: Tomaz Muraus <to...@apache.org>
Committed: Sat Feb 28 22:36:00 2015 +0100

----------------------------------------------------------------------
 libcloud/dns/drivers/route53.py | 29 ++++++++++++++++++++++-------
 1 file changed, 22 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/55ebfd19/libcloud/dns/drivers/route53.py
----------------------------------------------------------------------
diff --git a/libcloud/dns/drivers/route53.py b/libcloud/dns/drivers/route53.py
index 7a3904b..fe27f2e 100644
--- a/libcloud/dns/drivers/route53.py
+++ b/libcloud/dns/drivers/route53.py
@@ -314,8 +314,13 @@ class Route53DNSDriver(DNSDriver):
         ET.SubElement(change, 'Action').text = 'DELETE'
 
         rrs = ET.SubElement(change, 'ResourceRecordSet')
-        ET.SubElement(rrs, 'Name').text = record.name + '.' + \
-            record.zone.domain if record.name else record.zone.domain
+
+        if record.name:
+            record_name = record.name + '.' + record.zone.domain
+        else:
+            record_name = record.zone.domain
+
+        ET.SubElement(rrs, 'Name').text = record_name
         ET.SubElement(rrs, 'Type').text = self.RECORD_TYPE_MAP[record.type]
         ET.SubElement(rrs, 'TTL').text = str(record.extra.get('ttl', '0'))
 
@@ -334,8 +339,13 @@ class Route53DNSDriver(DNSDriver):
         ET.SubElement(change, 'Action').text = 'CREATE'
 
         rrs = ET.SubElement(change, 'ResourceRecordSet')
-        ET.SubElement(rrs, 'Name').text = name + '.' + \
-            record.zone.domain if name else record.zone.domain
+
+        if name:
+            record_name = name + '.' + record.zone.domain
+        else:
+            record_name = record.zone.domain
+
+        ET.SubElement(rrs, 'Name').text = record_name
         ET.SubElement(rrs, 'Type').text = self.RECORD_TYPE_MAP[type]
         ET.SubElement(rrs, 'TTL').text = str(extra.get('ttl', '0'))
 
@@ -365,15 +375,20 @@ class Route53DNSDriver(DNSDriver):
             ET.SubElement(change, 'Action').text = action
 
             rrs = ET.SubElement(change, 'ResourceRecordSet')
-            ET.SubElement(rrs, 'Name').text = name + '.' + \
-                zone.domain if name else zone.domain
+
+            if name:
+                record_name = name + '.' + zone.domain
+            else:
+                record_name = zone.domain
+
+            ET.SubElement(rrs, 'Name').text = record_name
             ET.SubElement(rrs, 'Type').text = self.RECORD_TYPE_MAP[type_]
             ET.SubElement(rrs, 'TTL').text = str(extra.get('ttl', '0'))
 
             rrecs = ET.SubElement(rrs, 'ResourceRecords')
             rrec = ET.SubElement(rrecs, 'ResourceRecord')
             if 'priority' in extra:
-                data = '{0} {1}'.format(extra['priority'], data)
+                data = '%s %s' % (extra['priority'], data)
             ET.SubElement(rrec, 'Value').text = data
 
         uri = API_ROOT + 'hostedzone/' + zone.id + '/rrset'