← Back to team overview

touch-packages team mailing list archive

[Bug 1432829] Re: resolvconf not updated correctly for interfaces configured in initramfs

 

-- adt --
  Note, my adt runs so far have failed each time (and after 30+ minutes)
  The last last failure due to guest running out of space, so changed to 20G
  (default 4)

  # per http://packaging.ubuntu.com/html/auto-pkg-test.html#executing-the-test
  sudo addgroup kvm
  sudo adduser $(id --user --name) kvm
  sudo apt-get install -qy autopkgtest qemu-system qemu-utils python-distro-info genisoimage

  adt-buildvm-ubuntu-cloud -v --disk-size 20G --release=vivid
  adt-run systemd_219-4ubuntu7~ppa2.dsc --- qemu ~/adt-vivid-amd64-cloud.img
  time adt-run --output-dir=test-output.d \
     --summary=test-output.d/sm-summary.log \
      --debug systemd_219-4ubuntu7~ppa2.dsc --- \
      qemu --cpus=4 --ram-size=8192 \
      ~/adt-vivid-amd64-cloud.img 2>&1 | tee run.log

-- physical server system booted (cloud-init installed) --
  system has 2 nics, both could dhcp. only one configured to auto.
  system booted fine.
  both 'systemctl status ifup@eth0' and 'ifup@eth1' show 'success'

  EN had:
     auto eth0
     iface eth0 inet dhcp
     iface eth1 inet dhcp

-- cloud image on openstack --
  - boot system, rm -Rf /var/lib/cloud /var/log/cloud*,
    apt-add-repository ppa:smoser -y && apt-get update && apt-get dist-upgrade
    sudo reboot
    system booted fine
    systemctl status ifup@eth0
  

-- laptop booting test --
- boot system with eth0 connected, but not listed in /etc/network/interfaces
  - [P] network-manager should bring up network interface on login
  - [P] ifup@eth0 service should succeed but do nothing

  $ systemctl status ifup@eth0
  ● ifup@eth0.service - ifup for eth0
     Loaded: loaded (/lib/systemd/system/ifup@.service; static; vendor preset: enabled)
     Active: active (exited) since Thu 2015-03-19 09:41:21 EDT; 3min 26s ago
    Process: 557 ExecStart=/lib/systemd/systemd-ifupdown-helper start %I (code=exited, status=0/SUCCESS)
   Main PID: 557 (code=exited, status=0/SUCCESS)
     CGroup: /system.slice/system-ifup.slice/ifup@eth0.service

  Mar 19 09:41:21 brickies systemd[1]: Starting ifup for eth0...
  Mar 19 09:41:21 brickies systemd[1]: Started ifup for eth0.

- boot system with 'iface eth0 inet dhcp' in ENI but not auto
  - [P] service should show success but no network brought up
  - [P] network-manager should not bring up network:
  
  $ systemctl status ifup@eth0
  ● ifup@eth0.service - ifup for eth0
     Loaded: loaded (/lib/systemd/system/ifup@.service; static; vendor preset: enabled)
     Active: active (exited) since Thu 2015-03-19 10:01:16 EDT; 1min 6s ago
    Process: 531 ExecStart=/lib/systemd/systemd-ifupdown-helper start %I (code=exited, status=0/SUCCESS)
   Main PID: 531 (code=exited, status=0/SUCCESS)
     CGroup: /system.slice/system-ifup.slice/ifup@eth0.service

  Mar 19 10:01:16 brickies systemd[1]: Starting ifup for eth0...
  Mar 19 10:01:16 brickies systemd[1]: Started ifup for eth0.

- boot system with 'iface eth0 inet dhcp' in ENI + 'auto eth0'
  - [P] service should show success and network brought up
  - [P] network-manager should not bring up network:
  
  $ systemctl status ifup@eth0
  ● ifup@eth0.service - ifup for eth0
     Loaded: loaded (/lib/systemd/system/ifup@.service; static; vendor preset: enabled)
     Active: active (exited) since Thu 2015-03-19 10:04:06 EDT; 55s ago
    Process: 555 ExecStart=/lib/systemd/systemd-ifupdown-helper start %I (code=exited, status=0/SUCCESS)
   Main PID: 555 (code=exited, status=0/SUCCESS)
     CGroup: /system.slice/system-ifup.slice/ifup@eth0.service
             └─1059 dhclient -1 -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0

  Mar 19 10:04:06 brickies systemd-ifupdown-helper[555]: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 12 (xid=0x53375ff7)
  Mar 19 10:04:06 brickies dhclient[616]: DHCPREQUEST of 192.168.1.102 on eth0 to 255.255.255.255 port 67 (xid=0x53375ff7)
  Mar 19 10:04:06 brickies dhclient[616]: DHCPOFFER of 192.168.1.102 from 192.168.1.1
  Mar 19 10:04:06 brickies systemd-ifupdown-helper[555]: DHCPREQUEST of 192.168.1.102 on eth0 to 255.255.255.255 port 67 (xid=0x53375ff7)
  Mar 19 10:04:06 brickies systemd-ifupdown-helper[555]: DHCPOFFER of 192.168.1.102 from 192.168.1.1
  Mar 19 10:04:06 brickies dhclient[616]: DHCPACK of 192.168.1.102 from 192.168.1.1
  Mar 19 10:04:06 brickies systemd-ifupdown-helper[555]: DHCPACK of 192.168.1.102 from 192.168.1.1
  Mar 19 10:04:06 brickies dhclient[616]: bound to 192.168.1.102 -- renewal in 2147483648 seconds.
  Mar 19 10:04:06 brickies systemd-ifupdown-helper[555]: bound to 192.168.1.102 -- renewal in 2147483648 seconds.
  Mar 19 10:04:06 brickies systemd[1]: Started ifup for eth0.

- boot system with 'iface eth0 inet dchp' in ENI + auto + unplugged-network
  - [P] service should fail, boot should be slow
        uptime on login was in the ~300 second realm (359.19 recorded)
  - [P] network-manager should not bring up network
  
  Note: i did have a default bad route after bringing up network manager connection to wifi.
  I do not believe this was related to systemd changes but more likely a result of lxc
  or some other software trying to bring up a default route (lxc is installed and lxcbr0 up).

  $ pastebinit /var/log/kern.log
    http://paste.ubuntu.com/10627794/
  $ systemctl status ifup@eth0
  ● ifup@eth0.service - ifup for eth0
     Loaded: loaded (/lib/systemd/system/ifup@.service; static; vendor preset: enabled)
     Active: active (exited) since Thu 2015-03-19 10:12:40 EDT; 1min 26s ago
    Process: 530 ExecStart=/lib/systemd/systemd-ifupdown-helper start %I (code=exited, status=0/SUCCESS)
   Main PID: 530 (code=exited, status=0/SUCCESS)
     CGroup: /system.slice/system-ifup.slice/ifup@eth0.service
             ├─1012 avahi-autoipd: [eth0] bound 169.254.9.16
             ├─1013 avahi-autoipd: [eth0] callout dispatche
             └─1020 dhclient -1 -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0

  Mar 19 10:12:30 brickies avahi-autoipd(eth0)[1012]: Found user 'avahi-autoipd' (UID 111) and group 'avahi-autoipd' (GID 123).
  Mar 19 10:12:30 brickies avahi-autoipd(eth0)[1012]: Successfully called chroot().
  Mar 19 10:12:30 brickies avahi-autoipd(eth0)[1012]: Successfully dropped root privileges.
  Mar 19 10:12:30 brickies avahi-autoipd(eth0)[1012]: Starting with address 169.254.9.165
  Mar 19 10:12:36 brickies avahi-autoipd(eth0)[1012]: Callout BIND, address 169.254.9.165 on interface eth0
  Mar 19 10:12:40 brickies avahi-autoipd(eth0)[1012]: Successfully claimed IP address 169.254.9.165
  Mar 19 10:12:40 brickies systemd[1]: Started ifup for eth0.
  Mar 19 10:12:40 brickies ntpdate[1203]: Can't find host 0.ubuntu.pool.ntp.org: Name or service not known (-2)
  Mar 19 10:12:40 brickies ntpdate[1203]: Can't find host 1.ubuntu.pool.ntp.org: Name or service not known (-2)
  Mar 19 10:12:40 brickies ntpdate[1203]: Can't find host 2.ubuntu.pool.ntp.org: Name or service not known (-2)

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1432829

Title:
  resolvconf not updated correctly for interfaces configured in
  initramfs

Status in systemd package in Ubuntu:
  Confirmed

Bug description:
  maas images utilize cloud-initramfs-dyn-netconf . The way this works is basically:
   * /etc/network/interfaces in image is a link to ../../run/network/dynamic-interfaces
   * kernel command line 'ip=' convince the initramfs to bring up networking using 'ipconfig'
     example: ip=::::maas-enlist:BOOTIF
   * ipconfig writes files in /run/net-*.conf for each interface it configures.
   * cloud-initramfs-dyn-netconf module writes /run/network/dyanmic-interfaces based on /run/net-*.conf files that 'ipconfig' creates.

  end result is that after the move to real root,
  /etc/network/interfaces should be a symlink to /run/ that ends up
  having something like this:

   | ## This file is generated by cloud-initramfs-dyn-netconf
   | auto lo
   | iface lo inet loopback
   | manual eth0
   | iface eth0 inet dhcp
   | dns-nameservers 192.168.64.3
   | dns-search maas

  resolvconf seems not to be working as well as it should be.  In vivid
  (now using systemd), I have only the resolvconf header in the file.

   in all other supported ubuntu releases, doing the above results in functional resolv.conf via resolv.conf. Seen here from trusty:
   | # 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.64.3

  Related Bugs:
   *  bug 1432821: something deleting /run/network after during boot

  ProblemType: Bug
  DistroRelease: Ubuntu 14.04
  Package: resolvconf 1.69ubuntu1.1
  ProcVersionSignature: Ubuntu 3.19.0-9.9-generic 3.19.1
  Uname: Linux 3.19.0-9-generic x86_64
  ApportVersion: 2.14.1-0ubuntu3.7
  Architecture: amd64
  Date: Mon Mar 16 20:42:24 2015
  PackageArchitecture: all
  ProcEnviron:
   TERM=vt102
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  SourcePackage: resolvconf
  UpgradeStatus: No upgrade log present (probably fresh install)

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


References