diff --git a/boto-2.40.0-multi-vpc-zone.patch b/boto-2.40.0-multi-vpc-zone.patch new file mode 100644 index 0000000..90c9b40 --- /dev/null +++ b/boto-2.40.0-multi-vpc-zone.patch @@ -0,0 +1,72 @@ +Index: boto-2.40.0/boto/route53/connection.py +=================================================================== +--- boto-2.40.0.orig/boto/route53/connection.py ++++ boto-2.40.0/boto/route53/connection.py +@@ -152,8 +152,8 @@ class Route53Connection(AWSAuthConnectio + raise exception.DNSServerError(response.status, + response.reason, + body) +- e = boto.jsonresponse.Element(list_marker='NameServers', +- item_marker=('NameServer',)) ++ e = boto.jsonresponse.Element(list_marker=('NameServers', 'VPCs'), ++ item_marker=('NameServer', 'VPC')) + h = boto.jsonresponse.XmlHandler(e, None) + h.parse(body) + return e +Index: boto-2.40.0/tests/integration/route53/test_zone.py +=================================================================== +--- boto-2.40.0.orig/tests/integration/route53/test_zone.py ++++ boto-2.40.0/tests/integration/route53/test_zone.py +@@ -186,6 +186,12 @@ class TestRoute53PrivateZone(unittest.Te + vpc_id=self.test_vpc.id, + vpc_region='us-east-1') + ++ def test_get_hosted_zone_for_private_zone(self): ++ self.get_hosted_zone = self.route53.get_hosted_zone_by_name(self.base_domain) ++ self.assertEquals(len(self.get_hosted_zone['GetHostedZoneResponse']['VPCs']), 1) ++ self.assertEquals(self.get_hosted_zone['GetHostedZoneResponse']['VPCs'][0]['VPCRegion'], 'us-east-1') ++ self.assertEquals(self.get_hosted_zone['GetHostedZoneResponse']['VPCs'][0]['VPCId'], self.test_vpc.id) ++ + @classmethod + def tearDownClass(self): + if self.zone is not None: +Index: boto-2.40.0/tests/unit/route53/test_connection.py +=================================================================== +--- boto-2.40.0.orig/tests/unit/route53/test_connection.py ++++ boto-2.40.0/tests/unit/route53/test_connection.py +@@ -313,6 +313,16 @@ class TestGetHostedZoneRoute53(AWSMockSe + ns-1000.awsdns-00.co.uk + + ++ ++ ++ eu-west-1 ++ vpc-12345 ++ ++ ++ us-west-1 ++ vpc-78900 ++ ++ + + """ + +@@ -330,6 +340,18 @@ class TestGetHostedZoneRoute53(AWSMockSe + ['DelegationSet']['NameServers'], + ['ns-1000.awsdns-40.org', 'ns-200.awsdns-30.com', + 'ns-900.awsdns-50.net', 'ns-1000.awsdns-00.co.uk']) ++ self.assertEqual(response['GetHostedZoneResponse'] ++ ['VPCs'][0]['VPCRegion'], ++ 'eu-west-1') ++ self.assertEqual(response['GetHostedZoneResponse'] ++ ['VPCs'][0]['VPCId'], ++ 'vpc-12345') ++ self.assertEqual(response['GetHostedZoneResponse'] ++ ['VPCs'][1]['VPCRegion'], ++ 'us-west-1') ++ self.assertEqual(response['GetHostedZoneResponse'] ++ ['VPCs'][1]['VPCId'], ++ 'vpc-78900') + + + @attr(route53=True) diff --git a/python-boto.spec b/python-boto.spec index ba17793..cdc3267 100644 --- a/python-boto.spec +++ b/python-boto.spec @@ -56,6 +56,10 @@ Patch5: boto-2.40.0-aws-exec-read.patch # https://github.com/boto/boto/pull/3131 Patch6: boto-2.40.0-instance-attributes.patch +# Fix multi-VPC hosted zone parsing +# https://github.com/boto/boto/pull/2882 +Patch7: boto-2.40.0-multi-vpc-zone.patch + BuildRequires: python2-devel BuildRequires: python-setuptools BuildRequires: python-six @@ -141,6 +145,7 @@ cloud systems like Eucalyptus, OpenStack and Open Nebula. %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 rm -r boto/vendored @@ -206,6 +211,7 @@ mv $RPM_BUILD_ROOT/%{_bindir} examples - Fixed max_retry_delay config option - Added aws-exec-read to S3's canned ACL list - Added new instance attributes +- Fixed multi-VPC hosted zone parsing * Mon May 23 2016 Jon Ciesla - 2.40.0-1 - 2.40.0.