yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #54281
[Bug 1577982] Re: ConfigDrive: cloud-init fails to configure network from network_data.json
Hi,
This bug was fixed in cloud-init at revision 1225 and was sru'd to xenial under bug 1595302, but unfortunately not even marked in that bug.
So anything newer than 0.7.7~bzr1245-0ubuntu1~16.04.1 in xenial should
have the fix.
** Changed in: cloud-init (Ubuntu Xenial)
Status: Confirmed => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1577982
Title:
ConfigDrive: cloud-init fails to configure network from
network_data.json
Status in cloud-init:
Fix Committed
Status in cloud-init package in Ubuntu:
Fix Released
Status in cloud-init source package in Xenial:
Fix Released
Bug description:
When running Ubuntu 16.04 on OpenStack, cloud-init fails to properly
configure the network from network_data.json found in ConfigDrive.
When instance boots, network is configured fine until next reboot
where it falls back to dhcp.
The /etc/network/interfaces.d/50-cloud-init.cfg file has the following
content when instance is initially booted, this could explain why dhcp
is used on second boot:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
When debugging, if this line in stages.py [1] is commented, we can see
that cloud-init initially copy the /etc/network/interfaces file found
in the configdrive (the network template injected by Nova) and isn't
using the network config found in network_data.json. But later it
falls back to "dhcp" and rewrites yet again the network config.
I also found that within self._find_networking_config(), it looks like
no datasource is found at this point. This could be because cloud-init
is still in "local" dsmode and then refuses to use the network config
found in the ConfigDrive. (triggering the "dhcp" fallback logic)
Manually forcing "net" dsmode makes cloud-init configure
/etc/network/interfaces.d/50-cloud-init.cfg properly with network
config found in the ConfigDrive. However no gateway is configured and
so, instance doesn't respond to ping or SSH.
At that point, I'm not sure what's going on and how I can debug
further.
Notes:
* The image used for testing uses "net.ifnames=0". Removing this config makes things much worst. (no ping at all on first boot)
* Logs, configs and configdrive can be found attached to this bug report.
[1] http://bazaar.launchpad.net/~cloud-init-dev/cloud-
init/trunk/view/head:/cloudinit/stages.py#L604
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1577982/+subscriptions
References