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 |
|