Ubuntu cloud images have network information “hard coded” in /etc/network/interfaces (ENI). For cloud images, this configuration has always amounted to “dhcp on eth0”. For MAAS images /etc/network/interfaces is a symlink to /run/network/dynamic-interfaces which is populated from within the initramfs by the cloud-initramfs-dyn-netconf package based on the result of ‘ip=’ parameters on the kernel command line. Both of these networking configurations came from the initial use case for the image type. For cloud-images, this was EC2 and for maas-images, the maas ephemeral environment.
The ‘static’ nature of network configuration in these images makes the difficult to use for anything other than their original use case. It also makes specific images required simply for networking configuration.
Items to be fixed with in cloud-init are:
* remove need for xenial images to have persistent networking disabled
* allow easily disabling of cloud-init
* Defined and sane behavior on re-writing ENI
* Support single and multi-nic network info from by openstack config-drive
* Support dynamic naming of single network device system
* MAAS / iscsi root with ip= but no symlink from ENI to /run/network/dyn-interfaces
* General Cloud-init ‘disable’ kernel command line.
* Cloud-localds support for configuring networking
Ubuntu cloud images have network information “hard coded” in /etc/network/ interfaces (ENI). For cloud images, this configuration has always amounted to “dhcp on eth0”. For MAAS images /etc/network/ interfaces is a symlink to /run/network/ dynamic- interfaces which is populated from within the initramfs by the cloud-initramfs -dyn-netconf package based on the result of ‘ip=’ parameters on the kernel command line. Both of these networking configurations came from the initial use case for the image type. For cloud-images, this was EC2 and for maas-images, the maas ephemeral environment.
The ‘static’ nature of network configuration in these images makes the difficult to use for anything other than their original use case. It also makes specific images required simply for networking configuration.
Items to be fixed with in cloud-init are: dyn-interfaces
* remove need for xenial images to have persistent networking disabled
* allow easily disabling of cloud-init
* Defined and sane behavior on re-writing ENI
* Support single and multi-nic network info from by openstack config-drive
* Support dynamic naming of single network device system
* MAAS / iscsi root with ip= but no symlink from ENI to /run/network/
* General Cloud-init ‘disable’ kernel command line.
* Cloud-localds support for configuring networking