Well, the main missing feature for me in netplan is lack of the infiniband support overall, even for ipoib, which is kind of frustrating.
 
In OSA we're relying on systemd-networkd to reproduce network configuration [1] in CI and it works including CentOS 8 without issues by far. But again, we're running pretty specific set of configs there, and outside of the CI we're leaving up to the deployer to decide what tool they prefer for network configuration. And I believe that they use all of the mentioned options just based on their personal preferences. We also have ansible role for systemd_networkd, that can be totally used outside of the OSA: https://opendev.org/openstack/ansible-role-systemd_networkd
 
[1] https://opendev.org/openstack/openstack-ansible/src/branch/master/tests/roles/bootstrap-host/tasks/prepare_networking.yml#L37-L161
 
12.02.2021, 14:26, "Mark Goddard" <mark@stackhpc.com>:

Hi,

We're working on adding Ubuntu support to Kayobe, and are at the stage
of deciding on which tool to use for host network configuration. The
Ansible role we use supports /etc/network/interfaces, but we're
thinking it might be sensible to choose something more modern before
we get locked in. There are 3 reasonable options, as far as we can
tell:

* netplan: installed by default on 20.04 server images. Seems like a
fairly simple solution, but I have read some reports of missing
features.

* systemd-networkd: the default renderer for netplan. Standard systemd
style interface. We might get around the missing features by using
this directly.

* NetworkManager: the default on Ubuntu desktop, but have heard it can
be a bit heavy and does too much without being asked to. I've also
heard that more recent versions are improved. The main reason we would
go this route would be for consistency with CentOS/RHEL.

Any feedback of experience with these and their suitability for use in
OpenStack cloud infrastructure would be appreciated.

Thanks,
Mark
 

 
 
-- 
Kind Regards,
Dmitriy Rabotyagov