diff options
author | Ben Howard <bh@digitalocean.com> | 2017-04-11 10:00:12 -0600 |
---|---|---|
committer | Scott Moser <smoser@brickies.net> | 2017-04-11 16:50:23 -0400 |
commit | 493f6c3e923902d5d4f3d87e1cc4c726ea90ada4 (patch) | |
tree | 4cccc1ee3a35eccc89429583291f0e133e3914df /cloudinit/sources/helpers/digitalocean.py | |
parent | 728b370b68ba8a879ce1653bdf9a572cf007e0d7 (diff) | |
download | vyos-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/sources/helpers/digitalocean.py')
-rw-r--r-- | cloudinit/sources/helpers/digitalocean.py | 18 |
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} |