[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: generic (cloud) image problems



On Mo., 30. Dez. 2019 at 03:53 Uhr Noah Meyerhans <noahm@debian.org> wrote:

> I agree that current support is not perfect, but I don't think there's
> any reason for our users to feel blocked by this lack of support.
> 100% of expected functionality is available.

I disagree with that. As mentioned several times, this is not about
constructing the /etc/network/interfaces manually but cloud-init (as
provided by the cloud image!) behavior, writing the network
configuration based on supplied configuration data in a generic
format. But the resulting configuration can (in some cases that are
not uncommon*) not be applied, because the presence of those tools is
assumed. There is no workaround available or at least it hasn't been
mentioned (using pre/post command may work when editing the file
manually, but this is not what cloud-init does). I already stated what
happens when supplying a v1 or v2 configuration file to cloud-init
18.3.

I'm not saying that adding bridge-utils and vlan is the *only* option
to solve this problem. I would agree that it would be a better mid- to
long-term option to add a renderer to cloud-init that produces a
network configuration that can be consumed by systemd-networkd. But
afaik** this option currently doesn't exist and even if someone added
it upstream soon it would take a while until it trickles down (current
cloud-init is at 19.4, the version in the Buster cloud-image is 18.3).

So I would like to ask for *some* workaround before it can be done the
"right way", even if that means installing bridge-utils and vlan
packages in the cloud-image.


*You can argue that the combination of bonding, vlan and bridging may
be uncommon *within* a VM. However, it already fails if *one* of the
components is being used. I'm sure you would agree that using *either*
bonding, vlan or bridging is not really uncommon. Especially in the
container world creating bridges or vlans for container networks is
standard practice. Especially for the generic images (that are not
running on the common cloud providers like AWS, GCP and Azure) VLANs
and bridges are a typical interconnect between bare-metal or VPS
systems.

** For Ubuntu a netplan renderer has to be used which requires
a) a v2 config file which cloud-init seems to choke on
b) some modifications to /etc/cloud/cloud.cfg to use a different
network renderer
I'm not sure if the netplan renderer is compatible with Debian's
systemd-networkd



Thanks,
   Christian


Reply to: