I had trouble finding the hosted docs for os-vif, which means others are
likely to too. Use the oslo-style README and refer people to other
resources.
Change-Id: I5d7791c86051c5fef20e3deb8bddc29991dd61e3
The plugin implementations need to be isolated from the
entity that is using os-vif. Plugins should be allowed
to define their own custom config parameters, without
needing the user of os-vif to pass further options into
the os_vif.initialize() method.
This change introduces a CONFIG_OPTS attribute on the
Plugin class. This provides a list of oslo_config
options that are to be used by the plugin. os_vif will
register these options into a group 'os_vif_$PLUGIN'
eg 'os_vif_linux_bridge'.
This gives the plugin impls the ability to have config
options in the main project conf (ie /etc/nova/nova.conf)
without exposing them directly to all of nova's own
config options.
Change-Id: I9634b474cd0d3fda09aef5800020c9415c28e3d8
The current VIF object model is just a direct representation
of the ill-defined nova.network.model.VIF class. Many of the
attributes are only relevant for certain VIF types. Other
attributes are just indirectly representing different plugin
schemes (eg OVS hybrid vs direct should be done as two
plugins, not a boolean on the VIF object).
Some of the attributes are generic metadata related to the
network port that can be associated with multiple VIF types
regardless of how the port is connected to the guest.
This refactors the VIF class so that there is a base class
defining the common data, and then subclasses providing the
VIF type specific data. There are initially 5 core VIF backend
class defined, which are sufficient to cover all the current
usage in the libvirt driver and some usage in other drivers.
It is expected that a couple more VIF types may be added for
vmware/hyper, when those drivers are later converted. The
generic network port profile data is represented by the new
VIFPortProfileBase class and its subclasses.
The various property/methods which were defined are also
removed as most of this is logic that belongs in the
corresponding vif plugin implementation, not on the core
data model.
Change-Id: Id286f85cd5fe7ca80f02d95f6380979a0d920ef6
The from_nova_instance method on the InstanceInfo
class creates a dependancy on the nova object model.
The os_vif library is intended for use by any
compute layer, not just nova, so this method
should live in Nova codebase instead.
Change-Id: I7e23c266b73aecb96beba7be19b8dc36155b9e2e
Initial commit using code imported from
https://github.com/jaypipes/os_vif
This patch also includes the following fixes to make the import pass all
jenkins jobs:
- add doc/source/conf.py and index.rst
- sync with global requirements
Change-Id: Iac6a9d45ea799eaa71f895af115e966c28246a22