Comment 8 for bug 1771885

Revision history for this message
John A Meinel (jameinel) wrote : Re: bionic: lxd containers missing search domain in systemd-resolve configuration

Can you include the output of /etc/netplan/*.yaml ?

A possibility is that we're still running into some sort of missing information and we did try to set the value, but we're overriding it:
        if !haveNameservers || !haveSearchDomains {
                logger.Warningf("incomplete DNS config found, discovering host's DNS config")
                dnsConfig, err := findDNSServerConfig()
                if err != nil {
                        return nil, errors.Trace(err)
                }

                // Since the result is sorted, the first entry is the primary NIC. Also,
                // results always contains at least one element.
                results[0].DNSServers = dnsConfig.Nameservers
                results[0].DNSSearchDomains = dnsConfig.SearchDomains
                logger.Debugf(
                        "setting DNS servers %+v and domains %+v on container interface %q",
                        results[0].DNSServers, results[0].DNSSearchDomains, results[0].InterfaceName,
                )
        }

If you try:
"juju debug-log --replay --include-module juju.provisioner"
"juju debug-log -m controller --replay --include-module juju.provisioner"

Do you see the line about 'incomplete DNS config found' ?

Can you also confirm what is on the host machine's /etc/resolve.conf? I would expect nameserver 127.0.0.53, but I'm not sure if systemd-resolved includes search path there, or only in its hidden reserved resolve information.