summaryrefslogtreecommitdiff
path: root/cloudinit
diff options
context:
space:
mode:
authorBen Howard <bh@digitalocean.com>2017-04-11 10:00:12 -0600
committerScott Moser <smoser@brickies.net>2017-04-11 16:50:23 -0400
commit493f6c3e923902d5d4f3d87e1cc4c726ea90ada4 (patch)
tree4cccc1ee3a35eccc89429583291f0e133e3914df /cloudinit
parent728b370b68ba8a879ce1653bdf9a572cf007e0d7 (diff)
downloadvyos-cloud-init-493f6c3e923902d5d4f3d87e1cc4c726ea90ada4.tar.gz
vyos-cloud-init-493f6c3e923902d5d4f3d87e1cc4c726ea90ada4.zip
DigitalOcean: bind resolvers to loopback interface.
This change makes the DigitalOcean datasource consistent with OpenStack and Joyent by binding the resolver addresses to the loopback interface. This _is_ a work-around to bug 1675571. Part of bug 1676908.
Diffstat (limited to 'cloudinit')
-rw-r--r--cloudinit/sources/helpers/digitalocean.py18
1 files changed, 7 insertions, 11 deletions
diff --git a/cloudinit/sources/helpers/digitalocean.py b/cloudinit/sources/helpers/digitalocean.py
index 72f7bde4..6423c8ef 100644
--- a/cloudinit/sources/helpers/digitalocean.py
+++ b/cloudinit/sources/helpers/digitalocean.py
@@ -107,15 +107,12 @@ def convert_network_configuration(config, dns_servers):
}
"""
- def _get_subnet_part(pcfg, nameservers=None):
+ def _get_subnet_part(pcfg):
subpart = {'type': 'static',
'control': 'auto',
'address': pcfg.get('ip_address'),
'gateway': pcfg.get('gateway')}
- if nameservers:
- subpart['dns_nameservers'] = nameservers
-
if ":" in pcfg.get('ip_address'):
subpart['address'] = "{0}/{1}".format(pcfg.get('ip_address'),
pcfg.get('cidr'))
@@ -157,13 +154,8 @@ def convert_network_configuration(config, dns_servers):
continue
sub_part = _get_subnet_part(raw_subnet)
- if nic_type == 'public' and 'anchor' not in netdef:
- # add DNS resolvers to the public interfaces only
- sub_part = _get_subnet_part(raw_subnet, dns_servers)
- else:
- # remove the gateway any non-public interfaces
- if 'gateway' in sub_part:
- del sub_part['gateway']
+ if netdef in ('private', 'anchor_ipv4', 'anchor_ipv6'):
+ del sub_part['gateway']
subnets.append(sub_part)
@@ -171,6 +163,10 @@ def convert_network_configuration(config, dns_servers):
nic_configs.append(ncfg)
LOG.debug("nic '%s' configuration: %s", if_name, ncfg)
+ if dns_servers:
+ LOG.debug("added dns servers: %s", dns_servers)
+ nic_configs.append({'type': 'nameserver', 'address': dns_servers})
+
return {'version': 1, 'config': nic_configs}