On Sa., 28. Dez. 2019 at 19:20 Uhr Noah Meyerhans <[email protected]> wrote: > > On Sat, Dec 28, 2019 at 12:23:04PM +0100, Christian Tramnitz wrote: > > There is no workaround for the lack of vlan and bridge-utils though. > > It would be great it we could get those two included into the base > > image. > > Both vlan and bridge-utils are legacy tools that are replaced by ip(8) > on modern GNU/Linux systems. You should use that instead. I do not > believe it would be desirable to include the legacy tools in the default > images. > > If you really aren't willing to use ip(8), then I suggest constructing > your own VM images based on our configuration. This is a fully > supported use case and somethat that we do consider a reasonable option > for people who need customizations on top of what we've build. I > documented the process a while back at > https://noah.meyerhans.us/blog/2017/02/10/using-fai-to-customize-and-build-your-own-cloud-images/ > and since then we've made it easier by eliminating the need to > explicitly call fai-diskimage. If you make you package modifications to > e.g. the package_config/DEBIAN file, then you can build an image using > "make buster-image-generic"
It's not about my willingness to use specific tools, it's about what the image (without additional packages installed) does when using cloud-init. I would consider my use case as category 2 (as per your blog post): I would like to directly launch the debian cloud-image and make use of cloud-init and configuration management and may never log into the system. However, the /etc/network/interfaces.d/50-cloud-init.cfg file *generated by cloud-init* uses a syntax that assumes bridge-utils and vlan are installed (when using a bridge / vlan statement in a v1 network config file). And I'm repeating myself here: the cloud-init generated config isn't even included by /etc/network/interfaces due to the wrong include statement. Maybe I'm missing something here that the network config presented by cloud-init has to look different, but I have not found any hints what the *expected* format for a Debian cloud-image would be. There is also no specific renderer in /etc/cloud/cloud.cfg so I'd assume whatever I pass to cloud-init in a supported format is parsed to an output that is understood by the system. Currently I'm using the nocloud provider with v1 network config. The cloud-image bundled cloud-init version (18.3) produces a file that cannot be used with image-provided packages. I already tried with a v2 network config file (converted with cloud-init's tools/net-convert.py) but that is failing with: cloud-init[297]: 2019-12-29 13:04:21,276 - stages.py[WARNING]: Failed to rename devices: Failed to apply network config names. Found bad network config version: None (and not creating a 50-cloud-init.cfg at all). Also, if you call bridge-utils deprecated, I'd suggest to change the documentation here: https://wiki.debian.org/BridgeNetworkConnections#Installing_the_software BR, Christian
