mirror of
https://github.com/github/octodns.git
synced 2024-05-11 05:55:00 +00:00
Merge remote-tracking branch 'origin/master' into configurable-geo-healthcheck
This commit is contained in:
@@ -1,3 +1,18 @@
|
||||
## v0.9.0 - 2018-03-26 - Way too long since we last met
|
||||
|
||||
* Way way way too much to list out here, shouldn't have waited so long
|
||||
* Initial NS1 geo support
|
||||
* Major reworking of `CloudflareProvider`'s update process, was only partially
|
||||
functional before, also ignore proxied records
|
||||
* Fixes and improvements to better support non-ascii records and zones
|
||||
* Plans indicate when Zones are going to be created
|
||||
* Fix for `GoogleCloudProvider` handling of ; escapes
|
||||
* Skip Alias recordsets for Route53 (unsupported concept/type)
|
||||
* Make sure that Record geo values are sorted to prevent false diffs that can
|
||||
never be fixed
|
||||
* `DynProvider` fix to safely roll rulesets, things could end up on rules
|
||||
without a pool and/or hitting the default rule previously.
|
||||
|
||||
## v0.8.8 - 2017-10-24 - Google Cloud DNS, Large TXT Record support
|
||||
|
||||
* Added support for "chunking" TXT records where individual values were larger
|
||||
|
||||
+1
-1
@@ -3,4 +3,4 @@
|
||||
from __future__ import absolute_import, division, print_function, \
|
||||
unicode_literals
|
||||
|
||||
__VERSION__ = '0.8.8'
|
||||
__VERSION__ = '0.9.0'
|
||||
|
||||
+20
-2
@@ -657,6 +657,12 @@ class DynProvider(BaseProvider):
|
||||
for ruleset in existing_rulesets:
|
||||
for pool in ruleset.response_pools:
|
||||
pools[pool.response_pool_id] = pool
|
||||
# Reverse sort the existing_rulesets by _ordering so that we'll remove
|
||||
# them in that order later, this will ensure that we remove the old
|
||||
# default before any of the old geo rules preventing it from catching
|
||||
# everything.
|
||||
existing_rulesets.sort(key=lambda r: r._ordering, reverse=True)
|
||||
|
||||
# Now we need to find any pools that aren't referenced by rules
|
||||
for pool in td.all_response_pools:
|
||||
rpid = pool.response_pool_id
|
||||
@@ -669,10 +675,22 @@ class DynProvider(BaseProvider):
|
||||
|
||||
# Rulesets
|
||||
|
||||
# We need to make sure and insert the new rules after any existing
|
||||
# rules so they won't take effect before we've had a chance to add
|
||||
# response pools to them. I've tried both publish=False (which is
|
||||
# completely broken in the client) and creating the rulesets with
|
||||
# response_pool_ids neither of which appear to work from the client
|
||||
# library. If there are no existing rulesets fallback to 0
|
||||
insert_at = max([
|
||||
int(r._ordering)
|
||||
for r in existing_rulesets
|
||||
] + [-1]) + 1
|
||||
self.log.debug('_mod_rulesets: insert_at=%d', insert_at)
|
||||
|
||||
# add the default
|
||||
label = 'default:{}'.format(uuid4().hex)
|
||||
ruleset = DSFRuleset(label, 'always', [])
|
||||
ruleset.create(td, index=0)
|
||||
ruleset.create(td, index=insert_at)
|
||||
pool = self._find_or_create_pool(td, pools, 'default', new._type,
|
||||
new.values)
|
||||
# There's no way in the client lib to create a ruleset with an existing
|
||||
@@ -705,7 +723,7 @@ class DynProvider(BaseProvider):
|
||||
'geoip': criteria
|
||||
})
|
||||
# Something you have to call create others the constructor does it
|
||||
ruleset.create(td, index=0)
|
||||
ruleset.create(td, index=insert_at)
|
||||
|
||||
first = geo.values[0]
|
||||
pool = self._find_or_create_pool(td, pools, first, new._type,
|
||||
|
||||
+2
-1
@@ -10,5 +10,6 @@ VERSION=$(grep __VERSION__ $ROOT/octodns/__init__.py | sed -e "s/.* = '//" -e "s
|
||||
git tag -s v$VERSION -m "Release $VERSION"
|
||||
git push origin v$VERSION
|
||||
echo "Tagged and pushed v$VERSION"
|
||||
python setup.py sdist upload
|
||||
python setup.py sdist
|
||||
twine upload dist/*$VERSION.tar.gz
|
||||
echo "Uploaded $VERSION"
|
||||
|
||||
@@ -58,6 +58,7 @@ dev =
|
||||
ovh>=0.4.7
|
||||
s3transfer>=0.1.10
|
||||
six>=1.10.0
|
||||
twine>=1.11.0
|
||||
test =
|
||||
coverage
|
||||
mock
|
||||
|
||||
@@ -1368,11 +1368,11 @@ class TestDynProviderGeo(TestCase):
|
||||
change = Create(self.geo_record)
|
||||
provider._mod_rulesets(td_mock, change)
|
||||
ruleset_create_mock.assert_has_calls((
|
||||
call(td_mock, index=0),
|
||||
call(td_mock, index=0),
|
||||
call(td_mock, index=0),
|
||||
call(td_mock, index=0),
|
||||
call(td_mock, index=0),
|
||||
call(td_mock, index=2),
|
||||
call(td_mock, index=2),
|
||||
call(td_mock, index=2),
|
||||
call(td_mock, index=2),
|
||||
call(td_mock, index=2),
|
||||
))
|
||||
add_response_pool_mock.assert_has_calls((
|
||||
# default
|
||||
|
||||
Reference in New Issue
Block a user