group.of.nepali.translators team mailing list archive
-
group.of.nepali.translators team
-
Mailing list archive
-
Message #18738
[Bug 1711760] Re: [2.3] resolv.conf is not set (during commissioning or testing)
I updated some state on the tasks. As justification, this fix is in
resolvconf, so I dropped cloud-init. I had added it thinking it might
need integration, but it did not. Also marked the 'ubuntu' task as
"won't fix". The problem did not currently exist in Artful, and the
solution provided in resolvconf is not relevant there as resolvconf is
not used in Artful.
** No longer affects: cloud-init (Ubuntu)
** No longer affects: cloud-init (Ubuntu Xenial)
** Changed in: resolvconf (Ubuntu Xenial)
Status: New => Confirmed
** Changed in: resolvconf (Ubuntu)
Status: In Progress => Won't Fix
** Changed in: resolvconf (Ubuntu Xenial)
Importance: Undecided => Medium
--
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1711760
Title:
[2.3] resolv.conf is not set (during commissioning or testing)
Status in MAAS:
Fix Committed
Status in resolvconf package in Ubuntu:
Won't Fix
Status in resolvconf source package in Xenial:
Confirmed
Bug description:
=== Begin SRU Template ===
[Impact]
Without this fix applied, dns settings provided to the dhcp response
in the initramfs are not reflected in the "real root".
Thus dns resolution does not work. Of most interest was the MAAS use
case of the 'root=http://<>/squashfs' use case. MAAS 2.3 uses this for
the installation environment and also the rescue environment.
[Test Case]
There are two tests for this.
a.) local/non-MAAS test
Download the test case attached.
Run it and follow the instructions.
Login to the guest (ubuntu:password), and inspect /etc/resolv.conf
without the fix there would be no data in /etc/resolv.conf. With the
fix you should see 'nameserver 10.0.2.2' and 'search mydomain.com bar.com'
b.) MAAS test.
For the full maas test, you need to build a image stream for maas
with the fix included in the squashfs image and then import that
stream to maas and use the rescue environment and verify dns.
This process is beyond the scope of the SRU template, but is
described partially in
http://bazaar.launchpad.net/~maas-images-maintainers/maas-images/maas-ephemerals/view/head:/README
[Regression Potential]
Regression potential should be very low. There are gates in the code
to make sure that this code is inactive other than when it is explicitly
enabled.
net-interface-handler will exit without doing anything unless:
a.) there exist files /run/net-$INTERFACE.conf or /run/net6-$INTERFACE.conf
and these files have non-empty values for a variable mentioned above.
(These files are written by the initramfs code when 'ip=' is seen).
b.) this is not a container.
c.) there is no OPENISCSI_MARKER file (/run/initramfs/open-iscsi.interface)
if open-iscsi has written this file due to open-iscsi root, then it
will handle this functionality. resolvconf will get out of the way.
d.) /proc/cmdline contains cloud-config-url=* or 'rc-initrd-dns'
This lowers the scope of changes in runtime to cases with where either the
new flag is seen or cloud-config-url is passed. The MAAS use case will
contain this flag.
[Other Info]
=== End SRU Template ===
Using MAAS 2.3, during commissioning (and likely in the rest of the
ephemeral environment) we have noticed that resolv.conf is not set
with the DNS server.
That said, during the commissioning process, MAAS does not send any
metadata to cloud-init to configure the network, rather, we expect the
image to boot from the network via DHCP. So, cloud-init writes:
ubuntu@manual:~$ cat /etc/network/interfaces.d/50-cloud-init.cfg
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
auto lo
iface lo inet loopback
# control-manual ens3
iface ens3 inet dhcp
broadcast 192.168.122.255
dns-nameservers 192.168.122.2
gateway 192.168.122.1
netmask 255.255.255.0
Which correctly includes the DNS server. However:
ubuntu@manual:~$ ping google.com
ping: unknown host google.com
If restart the interfacE:
ubuntu@manual:~$ sudo ifdown ens3 && sudo ifup ens3
ifdown: interface ens3 not configured
Internet Systems Consortium DHCP Client 4.3.3
Copyright 2004-2015 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/ens3/52:54:00:ea:57:31
Sending on LPF/ens3/52:54:00:ea:57:31
Sending on Socket/fallback
DHCPDISCOVER on ens3 to 255.255.255.255 port 67 interval 3 (xid=0x14eb0354)
DHCPDISCOVER on ens3 to 255.255.255.255 port 67 interval 4 (xid=0x14eb0354)
DHCPREQUEST of 192.168.122.195 on ens3 to 255.255.255.255 port 67 (xid=0x5403eb14)
DHCPOFFER of 192.168.122.195 from 192.168.122.2
DHCPACK of 192.168.122.195 from 192.168.122.2
Restarting ntp (via systemctl): ntp.service.
bound to 192.168.122.195 -- renewal in 290 seconds.
ubuntu@manual:~$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.122.2
search maas
ubuntu@manual:~$ ping google.com
PING google.com (216.58.192.46) 56(84) bytes of data.
64 bytes from mia07s46-in-f14.1e100.net (216.58.192.46): icmp_seq=1 ttl=52 time=7.47 ms
^C
--- google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 7.472/7.472/7.472/0.000 ms
As such, this either seems like a bug in Ubuntu, or caused by cloud-
init when writing e/n/i.d/50-cloud-init.cfg
ubuntu@manual:~$ dpkg -l | grep cloud-init
ii cloud-init 0.7.9-153-g16a7302f-0ubuntu1~16.04.2 all Init scripts for cloud instances
ii cloud-initramfs-copymods 0.27ubuntu1.4 all copy initramfs modules into root filesystem for later use
ii cloud-initramfs-dyn-netconf 0.27ubuntu1.4 all write a network interface file in /run for BOOTIF
ubuntu@manual:~$ uname -a
Linux manual 4.4.0-92-generic #115-Ubuntu SMP Thu Aug 10 09:04:33 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
ubuntu@manual:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
ubuntu@manual:~$ pastebinit /var/log/cloud-init.log
http://paste.ubuntu.com/25342738/
ubuntu@manual:~$ pastebinit /var/log/cloud-init-output.log
http://paste.ubuntu.com/25342740/
Related bugs:
* bug 1714308: dns does not work in initramfs after configure_networking
* bug 1713803: replacement of resolvconf with systemd needs integration
To manage notifications about this bug go to:
https://bugs.launchpad.net/maas/+bug/1711760/+subscriptions