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. +++++++ +++++++ +++++++ +++++++ +++++++ +++++++ +++Net device info+++ +++++++ +++++++ +++++++ +++++++ +++++++ +++++++ +++++++ + ---+--- ----+-- ------- ------- ------- ------- +------ -----+- ------+ ------- ------- ------- ------- ------- ------- ------- + ---+--- ----+-- ------- ------- ------- ------- +------ -----+- ------+ ------- ------- ------- ------- ------- ------- ------- + 3eff:fe1d: aaac/64 | . | link | fa:16:3e:1d:aa:ac | 00-31-36- 3a-33-00- 00-00-00- 00-00-00- 00 | ---+--- ----+-- ------- ------- ------- ------- +------ -----+- ------+ ------- ------- ------- ------- ------- ------- ------- + ------- ------- ------- ------- ------- ------- ------- ---- python3/ dist-packages/ cloudinit/ cmd/main. py", line 647, in status_wrapper python3/ dist-packages/ cloudinit/ cmd/main. py", line 365, in main_init apply_network_ config( bring_up= bool(mode != sources. DSMODE_ LOCAL)) python3/ dist-packages/ cloudinit/ stages. py", line 629, in apply_network_ config networking_ config( ) python3/ dist-packages/ cloudinit/ stages. py", line 616, in _find_networkin g_config self.datasource , 'network_config'): python3/ dist-packages/ cloudinit/ sources/ DataSourceConfi gDrive. py", line 150, in network_config network_ json, known_macs= self.known_ macs) python3/ dist-packages/ cloudinit/ sources/ helpers/ openstack. py", line 638, in convert_net_json interfaces_ by_mac( ) python3/ dist-packages/ cloudinit/ net/__init_ _.py", line 403, in get_interfaces_ by_mac ------- ------- ------- ------- ------- ------- ------- ---- gDrive [net,ver= 2][source= /config- drive]. Up 6.0 seconds
ci-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:
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-
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/
ret = functor(name, args)
File "/usr/lib/
init.
File "/usr/lib/
netcfg, src = self._find_
File "/usr/lib/
if self.datasource and hasattr(
File "/usr/lib/
self.
File "/usr/lib/
known_macs = net.get_
File "/usr/lib/
(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 DataSourceConfi