We are stoked to announce the release of: os_vif 1.12.0: A library for plugging and unplugging virtual interfaces in OpenStack. This release is part of the stein release series. The source is available from: https://git.openstack.org/cgit/openstack/os-vif Download the package from: https://pypi.org/project/os_vif Please report issues through launchpad: https://bugs.launchpad.net/os-vif For more details, please see below. 1.12.0 ^^^^^^ New Features ************ * Added an abstract OVSDB API in "vif_plug_ovs". All calls to OVS database will de done using this unique API. Command line implementation using "ovs-vsctl" was refactored as a backend for this abstract API. A new configuration variable, "ovsdb_interface", is added to select the interface for interacting with the OVS database. Upgrade Notes ************* * Removed IPTools implementation. IPTools driver was implemented to avoid a bug in pyroute2 library, currently solved. This implementation was marked as "deprecated" two releases ago. IP Linux commands now use Pyroute2. (https://docs.pyroute2.org/) Changes in os_vif 1.11.0..1.12.0 -------------------------------- c5fda08 Do not call linux_net.delete_net_dev on Windows 330051a Fix random test_unplug_ovs failures 8606af1 Reflow docs to 79 columns 409455d clean up ip_command interface 512e64d Remove IPTools deprecated implementation 7bfb01b Add abstract OVSDB API e8d102b Add support for Windows network commands d42b7bb add nested DPDK VIF classes for kuryr-kubernetes 3eded6b Fix upper-constraints link in tox file bb1e30c Cleanup zuul config file 198726a add python 3.6 unit test job a42648b switch documentation job to new PTI 95db95f import zuul job settings from project-config 12cea89 Support for OVS DB TCP socket communication. f220616 Update reno for stable/rocky 7e73f50 Add vif_plug_noop to setup.cfg packages Diffstat (except docs and test files) ------------------------------------- .zuul.yaml | 14 +- HACKING.rst | 3 +- lower-constraints.txt | 3 +- os_vif/exception.py | 4 + os_vif/internal/command/ip/__init__.py | 5 + os_vif/internal/command/ip/api.py | 70 +--- os_vif/internal/command/ip/impl_pyroute2.py | 94 ----- os_vif/internal/command/ip/impl_shell.py | 138 -------- os_vif/internal/command/ip/ip_command.py | 69 ++++ os_vif/internal/command/ip/linux/__init__.py | 0 os_vif/internal/command/ip/linux/impl_pyroute2.py | 100 ++++++ os_vif/internal/command/ip/windows/__init__.py | 0 .../internal/command/ip/windows/impl_netifaces.py | 46 +++ os_vif/objects/vif.py | 35 ++ .../internal/command/ip/test_impl_iptools.py | 180 ---------- .../internal/command/ip/test_impl_pyroute2.py | 2 +- .../unit/internal/command/ip/linux/__init__.py | 0 .../command/ip/linux/test_impl_pyroute2.py | 145 ++++++++ .../unit/internal/command/ip/test_impl_pyroute2.py | 145 -------- .../unit/internal/command/ip/windows/__init__.py | 0 .../command/ip/windows/test_impl_netifaces.py | 45 +++ .../add-abstract-ovsdb-api-8f04df58d4ed5b73.yaml | 9 + ...ve_iptools_implementation-2eb866573a680e61.yaml | 8 + releasenotes/source/index.rst | 1 + releasenotes/source/rocky.rst | 6 + requirements.txt | 3 +- setup.cfg | 1 + tox.ini | 4 +- vif_plug_linux_bridge/linux_net.py | 11 +- vif_plug_ovs/constants.py | 1 + vif_plug_ovs/linux_net.py | 124 +------ vif_plug_ovs/ovs.py | 63 ++-- vif_plug_ovs/ovsdb/__init__.py | 0 vif_plug_ovs/ovsdb/api.py | 27 ++ vif_plug_ovs/ovsdb/impl_vsctl.py | 378 +++++++++++++++++++++ vif_plug_ovs/ovsdb/ovsdb_lib.py | 90 +++++ 48 files changed, 1345 insertions(+), 1079 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 6b2af3b..0111051 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13 +13,2 @@ oslo.versionedobjects>=1.28.0 # Apache-2.0 -pyroute2>=0.4.21;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2) +ovsdbapp>=0.12.1 # Apache-2.0 +pyroute2>=0.5.2;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)