diff --git a/octodns/provider/cloudflare.py b/octodns/provider/cloudflare.py index 3d47629..8df146d 100644 --- a/octodns/provider/cloudflare.py +++ b/octodns/provider/cloudflare.py @@ -56,7 +56,7 @@ class CloudflareProvider(BaseProvider): self.log = getLogger('CloudflareProvider[{}]'.format(id)) self.log.debug('__init__: id=%s, email=%s, token=***, cdn=%s', id, email, cdn) - super(CloudflareProvider, self).__init__(id, cdn, *args, **kwargs) + super(CloudflareProvider, self).__init__(id, *args, **kwargs) sess = Session() sess.headers.update({ diff --git a/octodns/provider/googlecloud.py b/octodns/provider/googlecloud.py index 5ea43ac..c2cb30f 100644 --- a/octodns/provider/googlecloud.py +++ b/octodns/provider/googlecloud.py @@ -128,9 +128,10 @@ class GoogleCloudProvider(BaseProvider): :type return: new google.cloud.dns.ManagedZone """ # Zone name must begin with a letter, end with a letter or digit, - # and only contain lowercase letters, digits or dashes - zone_name = '{}-{}'.format( - dns_name[:-1].replace('.', '-'), uuid4().hex) + # and only contain lowercase letters, digits or dashes, + # and be 63 characters or less + zone_name = 'zone-{}-{}'.format( + dns_name.replace('.', '-'), uuid4().hex)[:63] gcloud_zone = self.gcloud_client.zone( name=zone_name, diff --git a/octodns/provider/ns1.py b/octodns/provider/ns1.py index 5ea68b6..80797d8 100644 --- a/octodns/provider/ns1.py +++ b/octodns/provider/ns1.py @@ -233,11 +233,10 @@ class Ns1Provider(BaseProvider): }, ) params['filters'] = [] - if len(params['answers']) > 1: + if has_country: params['filters'].append( {"filter": "shuffle", "config": {}} ) - if has_country: params['filters'].append( {"filter": "geotarget_country", "config": {}} ) diff --git a/tests/test_octodns_provider_googlecloud.py b/tests/test_octodns_provider_googlecloud.py index 79fda7f..3ad87cb 100644 --- a/tests/test_octodns_provider_googlecloud.py +++ b/tests/test_octodns_provider_googlecloud.py @@ -428,6 +428,21 @@ class TestGoogleCloudProvider(TestCase): mock_zone.create.assert_called() provider.gcloud_client.zone.assert_called() + def test__create_zone_ip6_arpa(self): + def _create_dummy_zone(name, dns_name): + return DummyGoogleCloudZone(name=name, dns_name=dns_name) + + provider = self._get_provider() + + provider.gcloud_client = Mock() + provider.gcloud_client.zone = Mock(side_effect=_create_dummy_zone) + + mock_zone = \ + provider._create_gcloud_zone('0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa') + + self.assertRegexpMatches(mock_zone.name, '^[a-z][a-z0-9-]*[a-z0-9]$') + self.assertEqual(len(mock_zone.name), 63) + def test_semicolon_fixup(self): provider = self._get_provider() @@ -436,4 +451,4 @@ class TestGoogleCloudProvider(TestCase): }, provider._data_for_TXT( DummyResourceRecordSet( 'unit.tests.', 'TXT', 0, ['abcd; ef;g', 'hij\\; klm\\;n']) - )) + )) \ No newline at end of file