This fixes the following problems with current requirements and test
requirements.
- netaddr is not used
- oslo.serialization and oslo.utils are imported but are not listed in
requirements.
This also fixes the workaround for python 2 from setup.py because
python 2 support was removed some time ago.
In addition, the described behavior of pip was already fixed in
recent versions.
Change-Id: I63a56adf73c221c8f5f725c2689ddf953f90c654
Now that we no longer support py27, we can remove six.
Change-Id: Ie3ff2b7f5e8a5ff1357d6147ab1eb481f562aba3
Signed-off-by: Takashi Natsume <takanattie@gmail.com>
TC Offload capabilities have been present in Linux Kernel 4.13 for
hardware offloads. Currently OVS supports offloads (for OVS 2.8 and later)
with similar efforts planned for vrouter (OpenContrail and Tungsten
Fabric).
The existing method in os-vif is to pass the metadata required for
plugging via a VIFPortProfileOVSRepresentor port profile object. This is
used by the 'ovs' reference plugin and the external 'agilio_ovs' plugin.
With 'vrouter' being the third user of such metadata, it would be more
elegant to clean up this interface by using a composition pattern rather
than an inheritance based pattern.
Change-Id: I401ee6370dad68e62bc2d089e786a840d91d0267
Needed-By: I327894839a892a976cf314d4292b22ce247b0afa
Signed-off-by: Jan Gutter <jan.gutter@netronome.com>
blueprint: generic-os-vif-offloads
IPTools driver [1] was implemented to avoid a bug in pyroute2 library,
currently solved. This implementation was marked as "deprecated" two
releases ago.
[1] 570c05266f
Change-Id: I16b180a298e104f393b5f665409cdf4ba5bff203
Closes-Bug: #1794524
Abstract all existing 'ovs-vsctl' calls to an abstract OVSDB API.
This will allow the future addition of a native OVSDB protocol
implementation of the API without breaking backwards compatibility.
Partial-Bug: #1666917
Change-Id: I9ec36be390d713a928a673191008612f3fddad8f
This patch migrates the use of command line 'ip' commands
to pyroute2 library. A new class, 'IpCommand', is created
to wrap the use of the library, implementing the functionalities
needed in this project.
The new wrapper class is defined in 'os_vif' and is used in
'vif_plug_linux_bridge' and 'vif_plug_ovs'.
This patch also adds functional tests in 'os_vif'. The aim
of these functional tests is to check 'pyroute2' implementation
works correctly, by creating, modifying and deleting network
interfaces. 'ip' commands are used to execute additional actions,
not relying on the tested library to check its own results.
Co-Authored-By: Stephen Finucane <stephenfin@redhat.com>
Closes-Bug: #1677238
Change-Id: I18f7b3424a6c447ee89df1f0326ece75f2333bf2
Instead of relying on root wrap, convert the Linux bridge
network and iptables code to use the privsep module to
run privileged actions.
Change-Id: Ief902f63c49e4529bae43c619c1284fe51c90a90
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
When plugging / unplugging vifs we should not be assuming that
the plugin will be running external commands - it could easily
be calling other python libraries to do its work. Thus we
should not catch ProcessExecutionError as a special case, but
instead handle any type of exception
Change-Id: Ic03279f6bb6de4bd72dfee7c117cf8502decfec5
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