[Bug 1013843] Re: resolv.conf empty when doing PXE installations

Thomas Hood 1013843 at bugs.launchpad.net
Tue Jun 19 19:52:18 UTC 2012


>    if [ ! -f /root/etc/resolv.conf ] || [ -z "$(cat /root/etc/resolv.conf)" ]; then
>        if [ -n "${DEVICE}" ] && [ -e /tmp/net-"${DEVICE}".conf ]; then
>            # create a resolv.conf if it is not present
[...]
>            # Deal with resolvconf
>            # Writing to /run instead or /root/run as /sbin/init will move /run
>            # to /root/run a bit later on
>            if [ -x /root/sbin/resolvconf ] && [ -L /root/etc/resolv.conf ]; then
>                mkdir -p /run/resolvconf/interface/
>                resolv=/run/resolvconf/interface/casper
[...]
>            cat > $resolv <<EOF


I have just started learning about casper, ubiquity, and so on and am still highly clueless about them, but reading the code above makes me a bit suspicious.

Clearly casper will fail to cat to /run/resolvconf/interface/casper, the
file that was present in Precise and has gone missing in Quantal, if any
of the quoted "if" lines fails.

The first line looks like an attempt to test for /etc/resolv.conf being
empty in the chroot. Now, when resolvconf is managing resolv.conf, the
file always consists of at least two lines of comments.  Hmm.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to casper in Ubuntu.
https://bugs.launchpad.net/bugs/1013843

Title:
  resolv.conf empty when doing PXE installations

Status in “casper” package in Ubuntu:
  New
Status in “resolvconf” package in Ubuntu:
  New
Status in “ubiquity” package in Ubuntu:
  New

Bug description:
  Quantal daily image as of 20110615.
  resolvconf 1.65ubuntu4.

  In our environment we do network installs via PXE booting. We noticed
  that name resolution wasn't working during the late_command phase
  (e.g. any apt-get install operations in the ubiquity/late_command
  fail).

  PXE passes IP information (including DNS) to the kernel, and in this
  case, the entry in /etc/network/interfaces is:

  auto eth0
  iface eth0 inet manual

  What we found is that, with this configuration, /etc/resolv.conf will
  be unconfigured (even though DHCP *did* send DNS information):

  # 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

  if I change the /etc/network/interfaces entry  to

  auto eth0
  iface eth0 inet dhcp

  then I run:

  sudo ifup --force eth0

  then /etc/resolv.conf is populated correctly and DNS resolution starts
  working.

  This would be a regression from Precise, where the resolv.conf file
  gets correctly populated even if the interface is set as manual.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/casper/+bug/1013843/+subscriptions




More information about the foundations-bugs mailing list