Activity log for bug #1692028

Date Who What changed Old value New value Message
2017-05-19 13:45:41 James Page bug added bug
2017-05-19 17:15:04 Launchpad Janitor merge proposal linked https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/324332
2017-05-22 14:38:35 Scott Moser attachment added stuff collected from instance james gave me access to https://bugs.launchpad.net/cloud-init/+bug/1692028/+attachment/4881429/+files/stuff.txt
2017-05-22 14:49:46 Scott Moser description Whilst testing the changes for nova-lxd to resolve issues with use of config-drive, I tripped over this issue; specifically the networking on a config-drive configured LXD instance never starts due to a duplicate MAC address on the lo and greptap0 devices. Cloud-init v. 0.7.9 running 'init' at Fri, 19 May 2017 13:41:00 +0000. Up 2.0 seconds. ci-info: ++++++++++++++++++++++++++++++++++++++++++++++++++++Net device info+++++++++++++++++++++++++++++++++++++++++++++++++++++ ci-info: +---------+-------+------------------------------+-----------+-------+-------------------------------------------------+ ci-info: | Device | Up | Address | Mask | Scope | Hw-Address | ci-info: +---------+-------+------------------------------+-----------+-------+-------------------------------------------------+ ci-info: | gretap0 | False | . | . | . | 00:00:00:00:00:00 | ci-info: | eth0 | True | . | . | . | fa:16:3e:1d:aa:ac | ci-info: | eth0 | True | fe80::f816:3eff:fe1d:aaac/64 | . | link | fa:16:3e:1d:aa:ac | ci-info: | lo | True | 127.0.0.1 | 255.0.0.0 | . | . | ci-info: | lo | True | ::1/128 | . | host | . | ci-info: | gre0 | False | . | . | . | 00-00-00-00-31-36-3a-33-00-00-00-00-00-00-00-00 | ci-info: +---------+-------+------------------------------+-----------+-------+-------------------------------------------------+ 2017-05-19 13:41:01,017 - util.py[WARNING]: failed stage init failed run of stage init ------------------------------------------------------------ Traceback (most recent call last): File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 647, in status_wrapper ret = functor(name, args) File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 365, in main_init init.apply_network_config(bring_up=bool(mode != sources.DSMODE_LOCAL)) File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 629, in apply_network_config netcfg, src = self._find_networking_config() File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 616, in _find_networking_config if self.datasource and hasattr(self.datasource, 'network_config'): File "/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceConfigDrive.py", line 150, in network_config self.network_json, known_macs=self.known_macs) File "/usr/lib/python3/dist-packages/cloudinit/sources/helpers/openstack.py", line 638, in convert_net_json known_macs = net.get_interfaces_by_mac() File "/usr/lib/python3/dist-packages/cloudinit/net/__init__.py", line 403, in get_interfaces_by_mac (name, ret[mac], mac)) RuntimeError: duplicate mac found! both 'gretap0' and 'lo' have mac '00:00:00:00:00:00' ------------------------------------------------------------ Cloud-init v. 0.7.9 running 'modules:config' at Fri, 19 May 2017 13:41:02 +0000. Up 4.0 seconds. Cloud-init v. 0.7.9 running 'modules:final' at Fri, 19 May 2017 13:41:04 +0000. Up 6.0 seconds. Cloud-init v. 0.7.9 finished at Fri, 19 May 2017 13:41:04 +0000. Datasource DataSourceConfigDrive [net,ver=2][source=/config-drive]. Up 6.0 seconds Whilst testing the changes for nova-lxd to resolve issues with use of config-drive, I tripped over this issue; specifically the networking on a config-drive configured LXD instance never starts due to a duplicate MAC address on the lo and greptap0 devices. Cloud-init v. 0.7.9 running 'init' at Fri, 19 May 2017 13:41:00 +0000. Up 2.0 seconds. ci-info: ++++++++++++++++++++++++++++++++++++++++++++++++++++Net device info+++++++++++++++++++++++++++++++++++++++++++++++++++++ ci-info: +---------+-------+------------------------------+-----------+-------+-------------------------------------------------+ ci-info: | Device | Up | Address | Mask | Scope | Hw-Address | ci-info: +---------+-------+------------------------------+-----------+-------+-------------------------------------------------+ ci-info: | gretap0 | False | . | . | . | 00:00:00:00:00:00 | ci-info: | eth0 | True | . | . | . | fa:16:3e:1d:aa:ac | ci-info: | eth0 | True | fe80::f816:3eff:fe1d:aaac/64 | . | link | fa:16:3e:1d:aa:ac | ci-info: | lo | True | 127.0.0.1 | 255.0.0.0 | . | . | ci-info: | lo | True | ::1/128 | . | host | . | ci-info: | gre0 | False | . | . | . | 00-00-00-00-31-36-3a-33-00-00-00-00-00-00-00-00 | ci-info: +---------+-------+------------------------------+-----------+-------+-------------------------------------------------+ 2017-05-19 13:41:01,017 - util.py[WARNING]: failed stage init failed run of stage init ------------------------------------------------------------ Traceback (most recent call last):   File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 647, in status_wrapper     ret = functor(name, args)   File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 365, in main_init     init.apply_network_config(bring_up=bool(mode != sources.DSMODE_LOCAL))   File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 629, in apply_network_config     netcfg, src = self._find_networking_config()   File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 616, in _find_networking_config     if self.datasource and hasattr(self.datasource, 'network_config'):   File "/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceConfigDrive.py", line 150, in network_config     self.network_json, known_macs=self.known_macs)   File "/usr/lib/python3/dist-packages/cloudinit/sources/helpers/openstack.py", line 638, in convert_net_json     known_macs = net.get_interfaces_by_mac()   File "/usr/lib/python3/dist-packages/cloudinit/net/__init__.py", line 403, in get_interfaces_by_mac     (name, ret[mac], mac)) RuntimeError: duplicate mac found! both 'gretap0' and 'lo' have mac '00:00:00:00:00:00' ------------------------------------------------------------ Cloud-init v. 0.7.9 running 'modules:config' at Fri, 19 May 2017 13:41:02 +0000. Up 4.0 seconds. Cloud-init v. 0.7.9 running 'modules:final' at Fri, 19 May 2017 13:41:04 +0000. Up 6.0 seconds. Cloud-init v. 0.7.9 finished at Fri, 19 May 2017 13:41:04 +0000. Datasource DataSourceConfigDrive [net,ver=2][source=/config-drive]. Up 6.0 seconds Related bugs: * bug 1692545: guests have unexpected network devices gretap0 and gre0
2017-05-22 16:02:04 Scott Moser cloud-init: status New Confirmed
2017-05-22 16:02:07 Scott Moser cloud-init: importance Undecided Medium
2017-05-25 16:52:32 Scott Moser cloud-init: status Confirmed Fix Committed
2017-05-25 16:52:37 Scott Moser bug task added cloud-init (Ubuntu)
2017-05-25 16:52:50 Scott Moser nominated for series Ubuntu Zesty
2017-05-25 16:52:50 Scott Moser bug task added cloud-init (Ubuntu Zesty)
2017-05-25 16:52:50 Scott Moser nominated for series Ubuntu Xenial
2017-05-25 16:52:50 Scott Moser bug task added cloud-init (Ubuntu Xenial)
2017-05-25 16:52:50 Scott Moser nominated for series Ubuntu Artful
2017-05-25 16:52:50 Scott Moser bug task added cloud-init (Ubuntu Artful)
2017-05-25 16:52:50 Scott Moser nominated for series Ubuntu Yakkety
2017-05-25 16:52:50 Scott Moser bug task added cloud-init (Ubuntu Yakkety)
2017-05-25 16:52:55 Scott Moser cloud-init (Ubuntu Xenial): status New Confirmed
2017-05-25 16:52:59 Scott Moser cloud-init (Ubuntu Yakkety): status New Confirmed
2017-05-25 16:53:02 Scott Moser cloud-init (Ubuntu Zesty): status New Confirmed
2017-05-25 16:53:05 Scott Moser cloud-init (Ubuntu Artful): status New Confirmed
2017-05-26 20:27:30 Scott Moser cloud-init (Ubuntu Xenial): importance Undecided Medium
2017-05-26 20:27:33 Scott Moser cloud-init (Ubuntu Yakkety): importance Undecided Medium
2017-05-26 20:27:35 Scott Moser cloud-init (Ubuntu Zesty): importance Undecided Medium
2017-05-26 20:27:37 Scott Moser cloud-init (Ubuntu Artful): importance Undecided Medium
2017-06-02 17:35:45 Scott Moser description Whilst testing the changes for nova-lxd to resolve issues with use of config-drive, I tripped over this issue; specifically the networking on a config-drive configured LXD instance never starts due to a duplicate MAC address on the lo and greptap0 devices. Cloud-init v. 0.7.9 running 'init' at Fri, 19 May 2017 13:41:00 +0000. Up 2.0 seconds. ci-info: ++++++++++++++++++++++++++++++++++++++++++++++++++++Net device info+++++++++++++++++++++++++++++++++++++++++++++++++++++ ci-info: +---------+-------+------------------------------+-----------+-------+-------------------------------------------------+ ci-info: | Device | Up | Address | Mask | Scope | Hw-Address | ci-info: +---------+-------+------------------------------+-----------+-------+-------------------------------------------------+ ci-info: | gretap0 | False | . | . | . | 00:00:00:00:00:00 | ci-info: | eth0 | True | . | . | . | fa:16:3e:1d:aa:ac | ci-info: | eth0 | True | fe80::f816:3eff:fe1d:aaac/64 | . | link | fa:16:3e:1d:aa:ac | ci-info: | lo | True | 127.0.0.1 | 255.0.0.0 | . | . | ci-info: | lo | True | ::1/128 | . | host | . | ci-info: | gre0 | False | . | . | . | 00-00-00-00-31-36-3a-33-00-00-00-00-00-00-00-00 | ci-info: +---------+-------+------------------------------+-----------+-------+-------------------------------------------------+ 2017-05-19 13:41:01,017 - util.py[WARNING]: failed stage init failed run of stage init ------------------------------------------------------------ Traceback (most recent call last):   File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 647, in status_wrapper     ret = functor(name, args)   File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 365, in main_init     init.apply_network_config(bring_up=bool(mode != sources.DSMODE_LOCAL))   File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 629, in apply_network_config     netcfg, src = self._find_networking_config()   File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 616, in _find_networking_config     if self.datasource and hasattr(self.datasource, 'network_config'):   File "/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceConfigDrive.py", line 150, in network_config     self.network_json, known_macs=self.known_macs)   File "/usr/lib/python3/dist-packages/cloudinit/sources/helpers/openstack.py", line 638, in convert_net_json     known_macs = net.get_interfaces_by_mac()   File "/usr/lib/python3/dist-packages/cloudinit/net/__init__.py", line 403, in get_interfaces_by_mac     (name, ret[mac], mac)) RuntimeError: duplicate mac found! both 'gretap0' and 'lo' have mac '00:00:00:00:00:00' ------------------------------------------------------------ Cloud-init v. 0.7.9 running 'modules:config' at Fri, 19 May 2017 13:41:02 +0000. Up 4.0 seconds. Cloud-init v. 0.7.9 running 'modules:final' at Fri, 19 May 2017 13:41:04 +0000. Up 6.0 seconds. Cloud-init v. 0.7.9 finished at Fri, 19 May 2017 13:41:04 +0000. Datasource DataSourceConfigDrive [net,ver=2][source=/config-drive]. Up 6.0 seconds Related bugs: * bug 1692545: guests have unexpected network devices gretap0 and gre0 === Begin SRU Template === [Impact] When the 'ip_gre' module is loaded, the kernel creates two network devices 'gre0' and 'gretap0' that appear in all network namespaces. (For example, if you create an lxd container, and then load the ip_gre module from outside the container, the container will see 2 new network devices). The hardware address of these devices is 00:00:00:00:00 as seen below. # ( cd /sys/class/net/ && grep . gre*/address ) gre0/address:00:00:00:00 gretap0/address:00:00:00:00:00:00 This "duplicate" mac address caused cloud-init to raise a RuntimeError. The overall impact is that cloudinit's network rendering code will not work if the ip_gre module is loaded on the system. That will happen in some nova-lxd environments, but also anywhere where a user has loaded that module and is running lxc. [Test Case] 1.) load a module on your host sudo modprobe ip_gre 2.) Launch an instance in lxd. $ rel=xenial $ name=x1 $ lxc launch ubuntu-daily:$rel $name 3.) see the stack trace by running 'get_interfaces_by_mac()' in the guest. $ lxc exec $name -- \ python3 -c 'from cloudinit import net; print(net.get_interfaces_by_mac())' 4.) upgrade instance to proposed cloud-init $ lxc exec $name -- sh -c ' mirror=http://archive.ubuntu.com/ubuntu echo deb $mirror $(lsb_release -sc)-proposed main | tee /etc/apt/sources.list.d/proposed.list apt-get update -q apt-get install -qy cloud-init' $ lxc exec $name -- dpkg-query --show cloud-init 5.) see that get_interfaces_by_mac() no longer stack traces. $ lxc exec $name -- \ python3 -c 'from cloudinit import net; print(net.get_interfaces_by_mac())' A more complete test case is to load an image into nova-lxd with gre tunneling loaded on the host, but that is much more involved setup. [Regression Potential] Regression potential should be pretty low. We are simply ignoring network interfaces not named 'lo' that have a mac address of '00:00:00:00:00' [Other Info] Upstream commit at https://git.launchpad.net/cloud-init/commit/?id=2c0655feb9 === End SRU Template === Whilst testing the changes for nova-lxd to resolve issues with use of config-drive, I tripped over this issue; specifically the networking on a config-drive configured LXD instance never starts due to a duplicate MAC address on the lo and greptap0 devices. Cloud-init v. 0.7.9 running 'init' at Fri, 19 May 2017 13:41:00 +0000. Up 2.0 seconds. ci-info: ++++++++++++++++++++++++++++++++++++++++++++++++++++Net device info+++++++++++++++++++++++++++++++++++++++++++++++++++++ ci-info: +---------+-------+------------------------------+-----------+-------+-------------------------------------------------+ ci-info: | Device | Up | Address | Mask | Scope | Hw-Address | ci-info: +---------+-------+------------------------------+-----------+-------+-------------------------------------------------+ ci-info: | gretap0 | False | . | . | . | 00:00:00:00:00:00 | ci-info: | eth0 | True | . | . | . | fa:16:3e:1d:aa:ac | ci-info: | eth0 | True | fe80::f816:3eff:fe1d:aaac/64 | . | link | fa:16:3e:1d:aa:ac | ci-info: | lo | True | 127.0.0.1 | 255.0.0.0 | . | . | ci-info: | lo | True | ::1/128 | . | host | . | ci-info: | gre0 | False | . | . | . | 00-00-00-00-31-36-3a-33-00-00-00-00-00-00-00-00 | ci-info: +---------+-------+------------------------------+-----------+-------+-------------------------------------------------+ 2017-05-19 13:41:01,017 - util.py[WARNING]: failed stage init failed run of stage init ------------------------------------------------------------ Traceback (most recent call last):   File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 647, in status_wrapper     ret = functor(name, args)   File "/usr/lib/python3/dist-packages/cloudinit/cmd/main.py", line 365, in main_init     init.apply_network_config(bring_up=bool(mode != sources.DSMODE_LOCAL))   File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 629, in apply_network_config     netcfg, src = self._find_networking_config()   File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 616, in _find_networking_config     if self.datasource and hasattr(self.datasource, 'network_config'):   File "/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceConfigDrive.py", line 150, in network_config     self.network_json, known_macs=self.known_macs)   File "/usr/lib/python3/dist-packages/cloudinit/sources/helpers/openstack.py", line 638, in convert_net_json     known_macs = net.get_interfaces_by_mac()   File "/usr/lib/python3/dist-packages/cloudinit/net/__init__.py", line 403, in get_interfaces_by_mac     (name, ret[mac], mac)) RuntimeError: duplicate mac found! both 'gretap0' and 'lo' have mac '00:00:00:00:00:00' ------------------------------------------------------------ Cloud-init v. 0.7.9 running 'modules:config' at Fri, 19 May 2017 13:41:02 +0000. Up 4.0 seconds. Cloud-init v. 0.7.9 running 'modules:final' at Fri, 19 May 2017 13:41:04 +0000. Up 6.0 seconds. Cloud-init v. 0.7.9 finished at Fri, 19 May 2017 13:41:04 +0000. Datasource DataSourceConfigDrive [net,ver=2][source=/config-drive]. Up 6.0 seconds Related bugs:  * bug 1692545: guests have unexpected network devices gretap0 and gre0
2017-06-13 18:08:36 Brian Murray cloud-init (Ubuntu Zesty): status Confirmed Fix Committed
2017-06-13 18:08:38 Brian Murray bug added subscriber Ubuntu Stable Release Updates Team
2017-06-13 18:08:43 Brian Murray bug added subscriber SRU Verification
2017-06-13 18:08:50 Brian Murray tags verification-needed
2017-06-13 18:49:32 Brian Murray cloud-init (Ubuntu Artful): status Confirmed Fix Released
2017-06-13 18:55:48 Brian Murray cloud-init (Ubuntu Yakkety): status Confirmed Fix Committed
2017-06-13 19:09:19 Brian Murray cloud-init (Ubuntu Xenial): status Confirmed Fix Committed
2017-06-15 21:16:16 Chad Smith tags verification-needed verification-done-xenial verification-done-yakkety verification-done-zesty
2017-06-27 15:51:34 Launchpad Janitor cloud-init (Ubuntu Zesty): status Fix Committed Fix Released
2017-06-27 15:52:52 Steve Langasek removed subscriber Ubuntu Stable Release Updates Team
2017-06-27 15:54:02 Launchpad Janitor cloud-init (Ubuntu Yakkety): status Fix Committed Fix Released
2017-06-27 15:54:45 Launchpad Janitor cloud-init (Ubuntu Xenial): status Fix Committed Fix Released
2017-09-23 02:32:58 Scott Moser cloud-init: status Fix Committed Fix Released
2023-05-11 01:54:26 James Falcon bug watch added https://github.com/canonical/cloud-init/issues/2896