I've adjusted the description, including SRU template of this bug to better fit what we found out and the solution that was applied.
** Description changed: + === Begin SRU Template === + [Impact] + The systemd networking.service unit will bring down the loopback device (lo) + when it is stopped. This behavior differs from the behavior in other + Ubuntu releases (upstart's networking.conf), where 'lo' is not taken down. + + The problem that was seen was that iscsi root over ipv6 would hang on + shutdown. + + [Test Case] + Test is fairly simple and can be demonstrated in lxc container. + The key is really that the lo device should not have its link set down + after stopping networking.service. So, below: + out=$(ip address show dev lo up); [ -n "$out" ] && echo "$out" || echo empty + + should not show 'empty', but should have LOOPBACK,UP,LOWER in its + output. + + $ release=yakkety; name=y1 + $ lxc launch ubuntu-daily:$release $name + $ sleep 10 + $ lxc exec $name /bin/bash + + ## show only things that are up (note output has LOOPBACK,UP,LOWER_UP) + % ip link show dev lo + 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1 + link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 + + % ip address show dev lo up + 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 + link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 + inet 127.0.0.1/8 scope host lo + valid_lft forever preferred_lft forever + inet6 ::1/128 scope host + valid_lft forever preferred_lft forever + + ## Stop the service and show lo link is down (no 'UP' or 'LOWER_UP'). + % systemctl stop networking.service + % ip link show dev lo + 1: lo: <LOOPBACK> mtu 65536 qdisc noqueue state DOWN mode DEFAULT group default qlen 1 + link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 + % out=$(ip address show dev lo up); [ -n "$out" ] && echo "$out" || echo empty + empty + + ## Now enable proposed, install update, reboot and show. + % rel=$(lsb_release -sc) + % echo "deb http://archive.ubuntu.com/ubuntu $rel-proposed main" | + sudo tee /etc/apt/sources.list.d/proposed.list + % sudo apt update -qy && sudo apt install -qy ifupdown </dev/null + % dpkg-query --show ifupdown + ifupdown 0.8.13ubuntu3 + % sudo reboot + + ## in rebooted system + % ip link show dev lo + 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1 + link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 + % ip address show dev lo up + 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 + link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 + inet 127.0.0.1/8 scope host lo + valid_lft forever preferred_lft forever + inet6 ::1/128 scope host + valid_lft forever preferred_lft forever + % systemctl stop networking.service + % ip link show dev lo + 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1 + link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 + % out=$(ip address show dev lo up); [ -n "$out" ] && echo "$out" || echo empty + 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 + link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 + inet 127.0.0.1/8 scope host lo + valid_lft forever preferred_lft forever + inet6 ::1/128 scope host + valid_lft forever preferred_lft forever + + + [Regression Potential] + Should be pretty low. zesty and yakkety-proposed have this. + Taking down 'lo' is often cause of problems, and never the solution to + problems as far as I'm aware. + + [Other Info] + + === End SRU Template === + With the switch to systemd, all support for iscsi root (and other) filesystems disappeared, since shutdown yanks the rug out from under us. Rather than just relying on /etc/iscsi/iscsi.initramfs (which d-i creates..), the DEV check should be expanded to include iscsi devices, and networking.service ExecStop should honor those checks. Related bugs: - * bug 1229458: grub2 needed changes - * bug 1621615: network not configured when ipv6 netbooted into cloud-init - * bug 1621507: ipv6 network boot does not work - - [Impact] - - With the changes from the above, the iscsi root (at least in the ipv6 - case) gets disconneceted prior to clean shutdown (ifdown downs the - interface), resulting in a failure to enlist, commission, or deploy - cleanly under MAAS. (and a failure to cleanly unmount the root - filesystem when it is over iscsi.) - - [Test Case] - - Given a MAAS 2.0 installation, and the packages in the other bugs, - attempt to enlist, commission, or deploy a host with xenial. - - [Regression potential] - - This restores the pre-xenial behavior of not shutting down the interface - if there are network drives at the time that neworking is stopped - (making it a no-op.) The additional change is to detect "/dev/disk/by- - path/*-iscsi-*" as a network disk, replacing the check for the existence - of /etc/iscsi/iscsi.initramfs, which was only created by debian- - installer (and maas until recently). + * bug 1229458: grub2 needed changes + * bug 1621615: network not configured when ipv6 netbooted into cloud-init + * bug 1621507: ipv6 network boot does not work -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1629972 Title: networking stop incorrectly disconnects from (network) root filesystem To manage notifications about this bug go to: https://bugs.launchpad.net/maas/+bug/1629972/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs