cloud-initramfs-dyn-netconf should work without /etc/network/interfaces symlink
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cloud-init (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Xenial |
Fix Released
|
Medium
|
Unassigned |
Bug Description
See [1] for doc on cloud-initramfs
cloud-initramfs
The goal is to have the user's provided 'ip=' kernel parameters be "sticky" and not have the network interface get bounced by normal post-initramfs networking bringup. Essentially kernel command line should override /etc/network/
As it is right now, we have to have ln -sf /etc/network/
That means:
a.) if you've not done this, dyn-netconf isn't much use
b.) if you *have* done this, but not provided ip= then you'll get you'll get no network configuration.
In xenial, the one necessary change from a cloud image to maas image is this symlink, so that the image can work well with networking information being provided on the kernel command line via network boot.
Changed in cloud-initramfs-tools (Ubuntu): | |
status: | New → Confirmed |
importance: | Undecided → High |
description: | updated |
The fix that went in to xenial for this (and present in current yakkety and trunk cloud-init) is for cloud-init to read its networking configuration effectively from the kernel command line.
If cloud-init sees network-config= or ip= on the kernel command line, then it will parse the /run/net-*.conf files that are written by the ipconfig in the initramfs and use them as a source of networking information. The kernel's command line overrides a datasource or builtin configuration, so the end result is that the 'ip=' declares the system's network configuration.