Activity log for bug #1806777

Date Who What changed Old value New value Message
2018-12-04 22:40:17 Dan Streetman bug added bug
2018-12-04 22:41:12 Dan Streetman bug task added cloud-init (Ubuntu)
2018-12-04 22:41:22 Dan Streetman cloud-init: status New Invalid
2018-12-04 22:41:32 Dan Streetman nominated for series Ubuntu Bionic
2018-12-04 22:41:32 Dan Streetman bug task added cloud-init (Ubuntu Bionic)
2018-12-04 22:41:32 Dan Streetman nominated for series Ubuntu Xenial
2018-12-04 22:41:32 Dan Streetman bug task added cloud-init (Ubuntu Xenial)
2018-12-04 22:41:32 Dan Streetman nominated for series Ubuntu Trusty
2018-12-04 22:41:32 Dan Streetman bug task added cloud-init (Ubuntu Trusty)
2018-12-04 22:41:40 Dan Streetman cloud-init (Ubuntu Trusty): status New Invalid
2018-12-04 22:41:43 Dan Streetman cloud-init (Ubuntu Bionic): status New Invalid
2018-12-04 22:41:46 Dan Streetman cloud-init (Ubuntu Xenial): status New In Progress
2018-12-04 22:41:49 Dan Streetman cloud-init (Ubuntu Xenial): assignee Dan Streetman (ddstreet)
2018-12-04 22:41:53 Dan Streetman cloud-init (Ubuntu): status New Invalid
2018-12-04 22:45:21 Dan Streetman cloud-init (Ubuntu Xenial): importance Undecided Medium
2018-12-05 13:54:23 Felipe Reyes bug added subscriber Felipe Reyes
2018-12-05 13:57:11 Dan Streetman tags sts
2018-12-05 16:30:38 Dan Streetman bug task added open-iscsi (Ubuntu)
2018-12-05 16:30:50 Dan Streetman open-iscsi (Ubuntu Xenial): status New In Progress
2018-12-05 16:30:54 Dan Streetman open-iscsi (Ubuntu Xenial): assignee Dan Streetman (ddstreet)
2018-12-05 17:50:21 Dan Streetman cloud-init (Ubuntu Xenial): status In Progress Invalid
2018-12-05 17:50:25 Dan Streetman cloud-init (Ubuntu Xenial): assignee Dan Streetman (ddstreet)
2018-12-05 17:51:17 Dan Streetman nominated for series Ubuntu Cosmic
2018-12-05 17:51:17 Dan Streetman bug task added open-iscsi (Ubuntu Cosmic)
2018-12-05 17:51:17 Dan Streetman bug task added cloud-init (Ubuntu Cosmic)
2018-12-05 17:51:17 Dan Streetman nominated for series Ubuntu Disco
2018-12-05 17:51:17 Dan Streetman bug task added open-iscsi (Ubuntu Disco)
2018-12-05 17:51:17 Dan Streetman bug task added cloud-init (Ubuntu Disco)
2018-12-05 17:51:34 Dan Streetman open-iscsi (Ubuntu Bionic): importance Undecided Medium
2018-12-05 17:51:34 Dan Streetman open-iscsi (Ubuntu Bionic): status New In Progress
2018-12-05 17:51:34 Dan Streetman open-iscsi (Ubuntu Bionic): assignee Dan Streetman (ddstreet)
2018-12-05 17:51:45 Dan Streetman open-iscsi (Ubuntu Cosmic): importance Undecided Medium
2018-12-05 17:51:45 Dan Streetman open-iscsi (Ubuntu Cosmic): status New In Progress
2018-12-05 17:51:45 Dan Streetman open-iscsi (Ubuntu Cosmic): assignee Dan Streetman (ddstreet)
2018-12-05 17:51:57 Dan Streetman open-iscsi (Ubuntu Disco): importance Undecided Medium
2018-12-05 17:51:57 Dan Streetman open-iscsi (Ubuntu Disco): status New In Progress
2018-12-05 17:51:57 Dan Streetman open-iscsi (Ubuntu Disco): assignee Dan Streetman (ddstreet)
2018-12-05 17:52:06 Dan Streetman open-iscsi (Ubuntu Xenial): importance Undecided Medium
2018-12-05 18:09:20 Dan Streetman description [impact] in bug 1752391, cloud-init was updated to check if the initramfs has specific iscsi root device config (e.g. static initramfs config, or ibft), and if so then set up the interface in e/n/i but do not mark it as 'auto'. This prevents ifupdown from actually running dhclient for the interface; the reason for the change in that bug was to prevent a hang at shutdown, as taking down the interface removes access to the iscsi root disk (thus hanging the system). However, iBFT has no mechanism in its spec to provide the DNS search domain, so while the interface ip address/netmask and gateway is correctly set up when the system finishes booting, it does not contain any search domain in /etc/resolv.conf. There is no way to get this information except from an actual dhcp query/response. In the initramfs, if open-iscsi does not detect ibft (or have static config built-in) then it will not create a /run/net-IFACE.conf file; if it does find ibft (or have static config) it will create a /run/net-IFACE.conf file with the config data that it has (e.g. with ibft, all the interface configuration that ibft is able and configured to provide). After this (setting up the interface and mounting the root dev), ipconfig runs and checks for the existence of /run/net-IFACE.conf file. If it does NOT exist, then ipconfig creates it containing the result of the dhcp lease response that ipconfig received - which includes the dns search domain. However, if there is already a /run/net-IFACE.conf file, ipconfig does NOT update it. So, the file created by open-iscsi remains, without any dns search domain. Once the system boots, resolvconf checks for existance of the /etc/net-IFACE.conf file, and if found it transfers some of the data into /etc/resolv.conf (e.g. the dns search domain). Since it does not contain any dns search domain, the /etc/resolv.conf file does not contain it either. If the system is configured to start dhclient for the interface, then dhclient receives and sets up the system resolv.conf to use the dns search domain correctly. For trusty: cloud-init is very different and sets up the running system ifupdown to start dhclient for the root device interface. The dns search domain is therefore configured by dhclient in the runtime system. For xenial: cloud-init sets up the iscsi root device's interface with a e/n/i configuration for dhcp, but leaves its 'auto' line commented out, e.g.: # control-manual ens3f0 iface ens3f0 inet dhcp dns-nameservers 169.254.169.254 gateway 10.0.0.1 this results in no dns search domain for the system. For bionic and later: cloud-init sets up netplan instead of ifupdown; netplan has no such 'auto' mechanism, but it creates systemd-networkd .network file with the "CriticalConnection" parameter set to true, which prevents systemd-networkd from ever taking the interface down, which avoids the hang on shutdown (or any other time dhcp fails/stops for the interface). [test case] start a xenial system that uses ibft and check /etc/resolv.conf; there will be no dns search domain. [regression potential] depending on the specific fix, this has the potential to cause the interface to be taken down which would then hang the system (due to root device being iscsi). [other info] this appears to have been introduced by bug 1752391. This bug may possibly also exist if the "ip=" parameter is used, which also triggers the cloud-init code that sets the runtime interface to 'manual' instead of 'auto', though I have not specifically tested that. [impact] in bug 1752391, cloud-init was updated to check if the initramfs has specific iscsi root device config (e.g. static initramfs config, or ibft), and if so then set up the interface in e/n/i but do not mark it as 'auto'. This prevents ifupdown from actually running dhclient for the interface; the reason for the change in that bug was to prevent a hang at shutdown, as taking down the interface removes access to the iscsi root disk (thus hanging the system). However, iBFT has no mechanism in its spec to provide the DNS search domain, so while the interface ip address/netmask and gateway is correctly set up when the system finishes booting, it does not contain any search domain in /etc/resolv.conf. There is no way to get this information except from an actual dhcp query/response. In the initramfs, if open-iscsi does not detect ibft (or have static config built-in) then it will not create a /run/net-IFACE.conf file; if it does find ibft (or have static config) it will create a /run/net-IFACE.conf file with the config data that it has (e.g. with ibft, all the interface configuration that ibft is able and configured to provide). After this (setting up the interface and mounting the root dev), ipconfig runs and checks for the existence of /run/net-IFACE.conf file. If it does NOT exist, then ipconfig creates it containing the result of the dhcp lease response that ipconfig received - which includes the dns search domain. However, if there is already a /run/net-IFACE.conf file, ipconfig does NOT update it. So, the file created by open-iscsi remains, without any dns search domain. Once the system boots, resolvconf checks for existance of the /etc/net-IFACE.conf file, and if found it transfers some of the data into /etc/resolv.conf (e.g. the dns search domain). Since it does not contain any dns search domain, the /etc/resolv.conf file does not contain it either. If the system is configured to start dhclient for the interface, then dhclient receives and sets up the system resolv.conf to use the dns search domain correctly. For trusty: cloud-init is very different and sets up the running system ifupdown to start dhclient for the root device interface. The dns search domain is therefore configured by dhclient in the runtime system. For xenial: cloud-init sets up the iscsi root device's interface with a e/n/i configuration for dhcp, but leaves its 'auto' line commented out, e.g.: # control-manual ens3f0 iface ens3f0 inet dhcp     dns-nameservers 169.254.169.254     gateway 10.0.0.1 this results in no dns search domain for the system. For bionic and later: cloud-init sets up netplan instead of ifupdown; netplan has no such 'auto' mechanism. The initramfs-tools scripts create a /run/netplan/$DEVICE.yaml file which (when ibft uses dhcp) contains the 'critical' parameter, causing netplan to create a systemd-networkd .network file with the "CriticalConnection" parameter set to true, which prevents systemd-networkd from ever taking the interface down, which avoids the hang on shutdown (or any other time dhcp fails/stops for the interface). However, it is still possible to remove netplan and install ifupdown in bionic (and later), and when that is done this bug exists, so it should be fixed in those releases also. [test case] start a xenial system that uses ibft and check /etc/resolv.conf; there will be no dns search domain. for bionic or later, start a system that uses ibft, then install ifupdown and resolvconf and remove netplan.io. When the system is rebooted, the /etc/resolv.conf will not have any dns search domain. [regression potential] as this slightly changes when/how open-iscsi creates a /run/net-$DEVICE.conf file, this has the potential to boot a system with wrong or even no network configuration, when the system configures an iscsi device at boot, e.g. with iBFT. However, the patch does perform a 'fallback' which should prevent such failure when iBFT does work but ipconfig does not. [other info] this appears to have been introduced by bug 1752391. This bug may possibly also exist if the "ip=" parameter is used, which also triggers the cloud-init code that sets the runtime interface to 'manual' instead of 'auto', though I have not specifically tested that. Trusty may need to be updated to handle bug 1752391's problem, which would then mean trusty would also need this fix. Bionic and later do not have this problem with netplan, which is their default, but as noted above if an end-user replaces netplan with ifupdown, this problem still exists. Bug 1752391 might not be fixed for bionic and later for systems with static iBFT (i.e. not DHCP iBFT) becuase the 'critical' param is only added if DHCP is used (for ipv4 or ipv6).
2018-12-05 18:09:46 Dan Streetman cloud-init (Ubuntu Cosmic): status New Invalid
2018-12-05 18:09:57 Dan Streetman cloud-init (Ubuntu Xenial): importance Medium Undecided
2018-12-05 18:42:36 Dan Streetman open-iscsi (Ubuntu Trusty): status New Invalid
2018-12-05 18:45:58 Dan Streetman description [impact] in bug 1752391, cloud-init was updated to check if the initramfs has specific iscsi root device config (e.g. static initramfs config, or ibft), and if so then set up the interface in e/n/i but do not mark it as 'auto'. This prevents ifupdown from actually running dhclient for the interface; the reason for the change in that bug was to prevent a hang at shutdown, as taking down the interface removes access to the iscsi root disk (thus hanging the system). However, iBFT has no mechanism in its spec to provide the DNS search domain, so while the interface ip address/netmask and gateway is correctly set up when the system finishes booting, it does not contain any search domain in /etc/resolv.conf. There is no way to get this information except from an actual dhcp query/response. In the initramfs, if open-iscsi does not detect ibft (or have static config built-in) then it will not create a /run/net-IFACE.conf file; if it does find ibft (or have static config) it will create a /run/net-IFACE.conf file with the config data that it has (e.g. with ibft, all the interface configuration that ibft is able and configured to provide). After this (setting up the interface and mounting the root dev), ipconfig runs and checks for the existence of /run/net-IFACE.conf file. If it does NOT exist, then ipconfig creates it containing the result of the dhcp lease response that ipconfig received - which includes the dns search domain. However, if there is already a /run/net-IFACE.conf file, ipconfig does NOT update it. So, the file created by open-iscsi remains, without any dns search domain. Once the system boots, resolvconf checks for existance of the /etc/net-IFACE.conf file, and if found it transfers some of the data into /etc/resolv.conf (e.g. the dns search domain). Since it does not contain any dns search domain, the /etc/resolv.conf file does not contain it either. If the system is configured to start dhclient for the interface, then dhclient receives and sets up the system resolv.conf to use the dns search domain correctly. For trusty: cloud-init is very different and sets up the running system ifupdown to start dhclient for the root device interface. The dns search domain is therefore configured by dhclient in the runtime system. For xenial: cloud-init sets up the iscsi root device's interface with a e/n/i configuration for dhcp, but leaves its 'auto' line commented out, e.g.: # control-manual ens3f0 iface ens3f0 inet dhcp     dns-nameservers 169.254.169.254     gateway 10.0.0.1 this results in no dns search domain for the system. For bionic and later: cloud-init sets up netplan instead of ifupdown; netplan has no such 'auto' mechanism. The initramfs-tools scripts create a /run/netplan/$DEVICE.yaml file which (when ibft uses dhcp) contains the 'critical' parameter, causing netplan to create a systemd-networkd .network file with the "CriticalConnection" parameter set to true, which prevents systemd-networkd from ever taking the interface down, which avoids the hang on shutdown (or any other time dhcp fails/stops for the interface). However, it is still possible to remove netplan and install ifupdown in bionic (and later), and when that is done this bug exists, so it should be fixed in those releases also. [test case] start a xenial system that uses ibft and check /etc/resolv.conf; there will be no dns search domain. for bionic or later, start a system that uses ibft, then install ifupdown and resolvconf and remove netplan.io. When the system is rebooted, the /etc/resolv.conf will not have any dns search domain. [regression potential] as this slightly changes when/how open-iscsi creates a /run/net-$DEVICE.conf file, this has the potential to boot a system with wrong or even no network configuration, when the system configures an iscsi device at boot, e.g. with iBFT. However, the patch does perform a 'fallback' which should prevent such failure when iBFT does work but ipconfig does not. [other info] this appears to have been introduced by bug 1752391. This bug may possibly also exist if the "ip=" parameter is used, which also triggers the cloud-init code that sets the runtime interface to 'manual' instead of 'auto', though I have not specifically tested that. Trusty may need to be updated to handle bug 1752391's problem, which would then mean trusty would also need this fix. Bionic and later do not have this problem with netplan, which is their default, but as noted above if an end-user replaces netplan with ifupdown, this problem still exists. Bug 1752391 might not be fixed for bionic and later for systems with static iBFT (i.e. not DHCP iBFT) becuase the 'critical' param is only added if DHCP is used (for ipv4 or ipv6). [impact] in bug 1752391, cloud-init was updated to check if the initramfs has specific iscsi root device config (e.g. static initramfs config, or ibft), and if so then set up the interface in e/n/i but do not mark it as 'auto'. This prevents ifupdown from actually running dhclient for the interface; the reason for the change in that bug was to prevent a hang at shutdown, as taking down the interface removes access to the iscsi root disk (thus hanging the system). However, iBFT has no mechanism in its spec to provide the DNS search domain, so while the interface ip address/netmask and gateway is correctly set up when the system finishes booting, it does not contain any search domain in /etc/resolv.conf. There is no way to get this information except from an actual dhcp query/response. In the initramfs, if open-iscsi does not detect ibft (or have static config built-in) then it will not create a /run/net-IFACE.conf file; if it does find ibft (or have static config) it will create a /run/net-IFACE.conf file with the config data that it has (e.g. with ibft, all the interface configuration that ibft is able and configured to provide). After this (setting up the interface and mounting the root dev), ipconfig runs and checks for the existence of /run/net-IFACE.conf file. If it does NOT exist, then ipconfig creates it containing the result of the dhcp lease response that ipconfig received - which includes the dns search domain. However, if there is already a /run/net-IFACE.conf file, ipconfig does NOT update it. So, the file created by open-iscsi remains, without any dns search domain. Once the system boots, resolvconf checks for existance of the /etc/net-IFACE.conf file, and if found it transfers some of the data into /etc/resolv.conf (e.g. the dns search domain). Since it does not contain any dns search domain, the /etc/resolv.conf file does not contain it either. If the system is configured to start dhclient for the interface, then dhclient receives and sets up the system resolv.conf to use the dns search domain correctly. For trusty: cloud-init is very different and sets up the running system ifupdown to start dhclient for the root device interface. The dns search domain is therefore configured by dhclient in the runtime system. For xenial: cloud-init sets up the iscsi root device's interface with a e/n/i configuration for dhcp, but leaves its 'auto' line commented out, e.g.: # control-manual ens3f0 iface ens3f0 inet dhcp     dns-nameservers 169.254.169.254     gateway 10.0.0.1 this results in no dns search domain for the system. (note: as mentioned above, it does this due to bug 1752391). For bionic and later: cloud-init sets up netplan instead of ifupdown; netplan has no such 'auto' mechanism. The initramfs-tools scripts create a /run/netplan/$DEVICE.yaml file which (when ibft uses dhcp) contains the 'critical' parameter, causing netplan to create a systemd-networkd .network file with the "CriticalConnection" parameter set to true, which prevents systemd-networkd from ever taking the interface down, which avoids the hang on shutdown (or any other time dhcp fails/stops for the interface). However, it is still possible to remove netplan and install ifupdown in bionic (and later), and when that is done this bug exists, so it should be fixed in those releases also. [test case] start a xenial system that uses ibft and check /etc/resolv.conf; there will be no dns search domain. for bionic or later, start a system that uses ibft, then install ifupdown and resolvconf and remove netplan.io. When the system is rebooted, the /etc/resolv.conf will not have any dns search domain. [regression potential] as this slightly changes when/how open-iscsi creates a /run/net-$DEVICE.conf file, this has the potential to boot a system with wrong or even no network configuration, when the system configures an iscsi device at boot, e.g. with iBFT. However, the patch does perform a 'fallback' which should prevent such failure when iBFT does work but ipconfig does not. [other info] this appears to have been introduced by bug 1752391. This bug may possibly also exist if the "ip=" parameter is used, which also triggers the cloud-init code that sets the runtime interface to 'manual' instead of 'auto', though I have not specifically tested that. Trusty's open-iscsi does *not* create a /run/net-$DEVICE.conf file, so the initramfs there will always run ipconfig to gather dhcp data and save that; so this bug should not affect trusty. Bionic and later do not have this problem with netplan, which is their default, but as noted above if an end-user replaces netplan with ifupdown, this problem still exists. Side note: bug 1752391 might not be fixed for bionic and later for systems with static iBFT (i.e. not DHCP iBFT) becuase the 'critical' param is only added if DHCP is used (for ipv4 or ipv6).
2018-12-05 19:41:40 Launchpad Janitor merge proposal linked https://code.launchpad.net/~ddstreet/ubuntu/+source/open-iscsi/+git/open-iscsi/+merge/360146
2018-12-05 20:48:43 Dan Streetman bug watch added https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=915669
2018-12-05 20:48:43 Dan Streetman bug task added cloud-init (Debian)
2018-12-05 20:49:10 Dan Streetman bug task added open-iscsi (Debian)
2018-12-05 20:49:35 Dan Streetman bug task deleted cloud-init (Debian)
2018-12-05 23:27:45 Bug Watch Updater open-iscsi (Debian): status Unknown New
2018-12-08 21:05:17 Launchpad Janitor open-iscsi (Ubuntu Disco): status In Progress Fix Released
2018-12-11 18:37:51 Brian Murray open-iscsi (Ubuntu Cosmic): status In Progress Fix Committed
2018-12-11 18:37:53 Brian Murray bug added subscriber Ubuntu Stable Release Updates Team
2018-12-11 18:37:56 Brian Murray bug added subscriber SRU Verification
2018-12-11 18:37:59 Brian Murray tags sts sts verification-needed verification-needed-cosmic
2018-12-11 18:56:35 Brian Murray open-iscsi (Ubuntu Bionic): status In Progress Fix Committed
2018-12-11 18:56:42 Brian Murray tags sts verification-needed verification-needed-cosmic sts verification-needed verification-needed-bionic verification-needed-cosmic
2018-12-11 20:10:33 Brian Murray open-iscsi (Ubuntu Xenial): status In Progress Fix Committed
2018-12-11 20:10:42 Brian Murray tags sts verification-needed verification-needed-bionic verification-needed-cosmic sts verification-needed verification-needed-bionic verification-needed-cosmic verification-needed-xenial
2018-12-12 14:47:17 Dan Streetman tags sts verification-needed verification-needed-bionic verification-needed-cosmic verification-needed-xenial sts verification-done-xenial verification-needed verification-needed-bionic verification-needed-cosmic
2018-12-12 15:02:49 Dan Streetman tags sts verification-done-xenial verification-needed verification-needed-bionic verification-needed-cosmic sts verification-done-bionic verification-done-xenial verification-needed verification-needed-cosmic
2018-12-12 16:49:20 Dan Streetman tags sts verification-done-bionic verification-done-xenial verification-needed verification-needed-cosmic sts verification-done verification-done-bionic verification-done-cosmic verification-done-xenial
2018-12-12 20:07:50 Brian Murray tags sts verification-done verification-done-bionic verification-done-cosmic verification-done-xenial sts verification-done-bionic verification-done-xenial verification-needed verification-needed-cosmic
2018-12-12 20:12:49 Brian Murray tags sts verification-done-bionic verification-done-xenial verification-needed verification-needed-cosmic sts verification-done-xenial verification-needed verification-needed-bionic verification-needed-cosmic
2018-12-12 20:28:53 Steve Langasek tags sts verification-done-xenial verification-needed verification-needed-bionic verification-needed-cosmic sts verification-done verification-done-bionic verification-done-cosmic verification-done-xenial
2018-12-19 16:31:24 Launchpad Janitor open-iscsi (Ubuntu Xenial): status Fix Committed Fix Released
2018-12-19 16:31:28 Brian Murray removed subscriber Ubuntu Stable Release Updates Team
2018-12-19 16:31:41 Launchpad Janitor open-iscsi (Ubuntu Bionic): status Fix Committed Fix Released
2018-12-19 16:32:34 Launchpad Janitor open-iscsi (Ubuntu Cosmic): status Fix Committed Fix Released
2023-05-11 17:37:37 James Falcon bug watch added https://github.com/canonical/cloud-init/issues/3294
2023-05-17 12:47:21 Dan Streetman removed subscriber Dan Streetman