Merge "Only force DNS handling if there is DNS data"

This commit is contained in:
Zuul 2021-04-27 12:32:10 +00:00 committed by Gerrit Code Review
commit c2e2a920e8
2 changed files with 12 additions and 8 deletions

View File

@ -26,6 +26,7 @@ import subprocess
import sys import sys
import time import time
from glean import install
from glean import systemlock from glean import systemlock
from glean import utils from glean import utils
from glean._vendor import distro from glean._vendor import distro
@ -959,7 +960,10 @@ def write_debian_interfaces(interfaces, sys_interfaces, args):
return files_to_write return files_to_write
def write_dns_info(dns_servers): def write_dns_info(dns_servers, args):
# exit early if there are no DNS servers
if not dns_servers:
return {}
# will fail on non-systemd systems (what we want) # will fail on non-systemd systems (what we want)
# will exit 1 if not enabled (what we want) # will exit 1 if not enabled (what we want)
# will exit 0 if enabled (or indirectly enabled) # will exit 0 if enabled (or indirectly enabled)
@ -994,6 +998,12 @@ def write_dns_info(dns_servers):
resolved_conf_fd.close() resolved_conf_fd.close()
# add the config to files to be written # add the config to files to be written
resolve_confs['/etc/systemd/resolved.conf'] = resolved_conf_output resolve_confs['/etc/systemd/resolved.conf'] = resolved_conf_output
# make sure NetworkManager does not override our configuration
if args.use_nm:
install.install(
'nm-no-resolv-handling.conf',
'/etc/NetworkManager/conf.d/nm-no-resolv-handling.conf',
mode='0644')
return resolve_confs return resolve_confs
@ -1383,7 +1393,7 @@ def write_network_info_from_config_drive(args, meta_data):
dns = {} dns = {}
if not args.skip_dns: if not args.skip_dns:
dns = write_dns_info(get_dns_from_config_drive(network_info)) dns = write_dns_info(get_dns_from_config_drive(network_info), args)
interfaces = get_config_drive_interfaces(network_info) interfaces = get_config_drive_interfaces(network_info)
if 'meta' in meta_data and 'glean_ignore_interfaces' in meta_data['meta']: if 'meta' in meta_data and 'glean_ignore_interfaces' in meta_data['meta']:
# Force DHCP to be used ignoring the interface information. # Force DHCP to be used ignoring the interface information.

View File

@ -152,12 +152,6 @@ def main():
'/etc/udev/rules.d/99-glean.rules', '/etc/udev/rules.d/99-glean.rules',
mode='0644') mode='0644')
if args.use_nm: if args.use_nm:
# glean handles resolv.conf, so this turns off nm touching
# it
install('nm-no-resolv-handling.conf',
'/etc/NetworkManager/conf.d/nm-no-resolv-handling.conf',
mode='0644')
# NetworkManager has a "after" network-pre, and # NetworkManager has a "after" network-pre, and
# glean@<interface> services have a "before". However, if # glean@<interface> services have a "before". However, if
# udev has not yet triggered and started the glean # udev has not yet triggered and started the glean