os-vif has been integrated into nova since the newton cycle. With the integration of os-vif, the expectation is that all the old, non-os-vif plugging/unplugging code found in [1] will be replaced by code that harnesses os-vif plugins [2]. This has happened for a few of the VIF types, and newer VIFs are being added in this manner [3]. However, there are quite a few VIFs that are still using the legacy path, and I think it's about time we started moving things forward. Doing so allows us to continue to progress on passing os-vif objects from neutron and remove the large swathes of legacy code still found in nova. I've opened a bug against networking-bigswitch [4] for one of these VIF types, IVS, and I'm thinking I'll do the same for a lot of the other VIF types where I can find definite vendors. Is there anything else we can do though? At some point we're going to have to just start deleting code and I'd like to avoid leaving operators in the lurch. Cheers, Stephen [1] https://github.com/openstack/nova/blob/6205a3f8c/nova/virt/libvirt/vif.py#L 599-L764 [2] https://github.com/openstack/nova/blob/6205a3f8c/nova/network/os_vif_util.p y#L346-L403 [3] https://github.com/Juniper/contrail-nova-vif-driver [4] https://bugs.launchpad.net/networking-bigswitch/+bug/1704129