mirror of
https://github.com/github/octodns.git
synced 2024-05-11 05:55:00 +00:00
Merge branch 'master' into ns1-invalid-dynamic
This commit is contained in:
@@ -41,7 +41,7 @@ Running through the following commands will install the latest release of OctoDN
|
||||
```shell
|
||||
$ mkdir dns
|
||||
$ cd dns
|
||||
$ virtualenv env
|
||||
$ python -m venv env
|
||||
...
|
||||
$ source env/bin/activate
|
||||
$ pip install octodns <provider-specific-requirements>
|
||||
|
||||
@@ -650,14 +650,12 @@ class AzureProvider(BaseProvider):
|
||||
if azrecord.a_records is None:
|
||||
if azrecord.target_resource.id:
|
||||
return self._data_for_dynamic(azrecord)
|
||||
else:
|
||||
# dynamic record alias is broken, return dummy value and apply
|
||||
# will likely overwrite/fix it
|
||||
self.log.warn('_data_for_A: Missing Traffic Manager '
|
||||
'alias for dynamic A record %s, forcing '
|
||||
're-link by setting an invalid value',
|
||||
azrecord.fqdn)
|
||||
return {'values': ['255.255.255.255']}
|
||||
|
||||
# dynamic record alias is broken, return dummy value and apply
|
||||
# will likely overwrite/fix it
|
||||
self.log.warn('_data_for_A: Missing Traffic Manager alias for '
|
||||
'dynamic record %s', azrecord.fqdn)
|
||||
return {'values': []}
|
||||
|
||||
return {'values': [ar.ipv4_address for ar in azrecord.a_records]}
|
||||
|
||||
@@ -665,14 +663,12 @@ class AzureProvider(BaseProvider):
|
||||
if azrecord.aaaa_records is None:
|
||||
if azrecord.target_resource.id:
|
||||
return self._data_for_dynamic(azrecord)
|
||||
else:
|
||||
# dynamic record alias is broken, return dummy value and apply
|
||||
# will likely overwrite/fix it
|
||||
self.log.warn('_data_for_AAAA: Missing Traffic Manager '
|
||||
'alias for dynamic AAAA record %s, forcing '
|
||||
're-link by setting an invalid value',
|
||||
azrecord.fqdn)
|
||||
return {'values': ['::1']}
|
||||
|
||||
# dynamic record alias is broken, return dummy value and apply
|
||||
# will likely overwrite/fix it
|
||||
self.log.warn('_data_for_AAAA: Missing Traffic Manager alias for '
|
||||
'dynamic record %s', azrecord.fqdn)
|
||||
return {'values': []}
|
||||
|
||||
return {'values': [ar.ipv6_address for ar in azrecord.aaaa_records]}
|
||||
|
||||
@@ -692,14 +688,12 @@ class AzureProvider(BaseProvider):
|
||||
if azrecord.cname_record is None:
|
||||
if azrecord.target_resource.id:
|
||||
return self._data_for_dynamic(azrecord)
|
||||
else:
|
||||
# dynamic record alias is broken, return dummy value and apply
|
||||
# will likely overwrite/fix it
|
||||
self.log.warn('_data_for_CNAME: Missing Traffic Manager '
|
||||
'alias for dynamic CNAME record %s, forcing '
|
||||
're-link by setting an invalid value',
|
||||
azrecord.fqdn)
|
||||
return {'value': 'iam.invalid.'}
|
||||
|
||||
# dynamic record alias is broken, return dummy value and apply
|
||||
# will likely overwrite/fix it
|
||||
self.log.warn('_data_for_CNAME: Missing Traffic Manager alias for '
|
||||
'dynamic record %s', azrecord.fqdn)
|
||||
return {'value': None}
|
||||
|
||||
return {'value': _check_endswith_dot(azrecord.cname_record.cname)}
|
||||
|
||||
|
||||
@@ -15,15 +15,18 @@ if [ ! -d "$VENV_NAME" ]; then
|
||||
if [ -z "$VENV_PYTHON" ]; then
|
||||
VENV_PYTHON=$(command -v python3)
|
||||
fi
|
||||
virtualenv --python="$VENV_PYTHON" "$VENV_NAME"
|
||||
"$VENV_PYTHON" -m venv "$VENV_NAME"
|
||||
fi
|
||||
. "$VENV_NAME/bin/activate"
|
||||
|
||||
pip install -U 'pip>=10.0.1'
|
||||
pip install -r requirements.txt
|
||||
# We're in the venv now, so use the first Python in $PATH. In particular, don't
|
||||
# use $VENV_PYTHON - that's the Python that *created* the venv, not the python
|
||||
# *inside* the venv
|
||||
python -m pip install -U 'pip>=10.0.1'
|
||||
python -m pip install -r requirements.txt
|
||||
|
||||
if [ "$ENV" != "production" ]; then
|
||||
pip install -r requirements-dev.txt
|
||||
python -m pip install -r requirements-dev.txt
|
||||
fi
|
||||
|
||||
if [ ! -L ".git/hooks/pre-commit" ]; then
|
||||
|
||||
@@ -8,9 +8,7 @@ script/bootstrap
|
||||
|
||||
echo "## environment & versions ######################################################"
|
||||
python --version
|
||||
pip --version
|
||||
VVER=$(virtualenv --version)
|
||||
echo "virtualenv $VVER"
|
||||
python -m pip --version
|
||||
|
||||
if [ -z "$VENV_NAME" ]; then
|
||||
VENV_NAME="env"
|
||||
|
||||
@@ -1934,8 +1934,8 @@ class TestAzureDnsProvider(TestCase):
|
||||
ttl=60, target_resource=SubResource(id=None))
|
||||
azrecord.name = record.name or '@'
|
||||
azrecord.type = f'Microsoft.Network/dnszones/{record._type}'
|
||||
record2 = provider._populate_record(zone, azrecord)
|
||||
self.assertEqual(record2.values, ['255.255.255.255'])
|
||||
record2 = provider._populate_record(zone, azrecord, lenient=True)
|
||||
self.assertEqual(record2.values, [])
|
||||
|
||||
# test that same record gets populated back from traffic managers
|
||||
tm_list = provider._tm_client.profiles.list_by_resource_group
|
||||
@@ -2016,8 +2016,8 @@ class TestAzureDnsProvider(TestCase):
|
||||
ttl=60, target_resource=SubResource(id=None))
|
||||
azrecord.name = record.name or '@'
|
||||
azrecord.type = f'Microsoft.Network/dnszones/{record._type}'
|
||||
record2 = provider._populate_record(zone, azrecord)
|
||||
self.assertEqual(record2.values, ['::1'])
|
||||
record2 = provider._populate_record(zone, azrecord, lenient=True)
|
||||
self.assertEqual(record2.values, [])
|
||||
|
||||
# test that same record gets populated back from traffic managers
|
||||
tm_list = provider._tm_client.profiles.list_by_resource_group
|
||||
@@ -2259,8 +2259,8 @@ class TestAzureDnsProvider(TestCase):
|
||||
azrecord.name = record1.name or '@'
|
||||
azrecord.type = f'Microsoft.Network/dnszones/{record1._type}'
|
||||
|
||||
record2 = provider._populate_record(zone, azrecord)
|
||||
self.assertEqual(record2.value, 'iam.invalid.')
|
||||
record2 = provider._populate_record(zone, azrecord, lenient=True)
|
||||
self.assertIsNone(record2.value)
|
||||
|
||||
change = Update(record2, record1)
|
||||
provider._apply_Update(change)
|
||||
|
||||
Reference in New Issue
Block a user