In response to the proposal to add a VIF plugin script to the VIF port binding data, I have put up a counter proposal which takes things a bit further and in slightly different direction, with a strong focus on object modelling.
Superficially inspired by os-brick, I'm suggesting, we put create a os-vif library that uses oslo.versionedobject to define a clear set of VIF types and associated metadata fields that can be shared by both Neutron and Nova. This would also define a plugin class contract that Neutron mechanism vendors would impl to provide custom plug/unplug actions to run on the compute nodes: https://review.openstack.org/#/c/193668/ This proposal is describing an architecture with the following high level characteristics & split of responsibilities - Definition of VIF types and associated config metadata. * Owned jointly by Nova and Neutron core teams * Code shared in os-vif library * Ensures core teams have 100% control over data on the REST API - Setup of compute host OS networking stack * Owned by Neutron mechanism vendor team * Code distributed by mechanism vendor * Allows vendors to innovate without bottleneck on Nova developers in common case. * In the, uncommon, event a new VIF type was required, this would still require os-vif modification with Nova & Neutron core team signoff. - Configuration of guest virtual machine VIFs ie libvirt XML * Owned by Nova virt driver team * Code distributed as part of Nova virt / VIF driver * Ensures hypervisor driver retains full control over how the guest instances are configured I've filed the spec against nova, but obviously we need review and buy in from both Nova and Neutron core teams that this is workable, as it impacts both projects. I didn't want to file a separate Neutron spec, as that would split the discussion across two places. Indeed, rather than replying to this mail, it'd be preferrable if people commented on the spec https://review.openstack.org/#/c/193668/ Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev