Convert Linux Bridge os-vif driver to use native Python bindings

Bug #1677238 reported by Stephen Finucane
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
os-vif
Fix Released
Low
Rodolfo Alonso

Bug Description

The pyroute2 package provides native Python bindings for netlink and Linux network configuration. We should use this instead of calling binaries provided by the iproute2 project (ip-link et al).

Like bug #1666917, this will improve performance, reduce memory footprint and improve security by reducing use of processutils.

Revision history for this message
Stephen Finucane (stephenfinucane) wrote :

Neutron already uses this library [1] so it's likely in g-r.

[1] https://github.com/openstack/neutron/blob/eeeee06b/neutron/privileged/agent/linux/ip_lib.py

Changed in os-vif:
importance: Undecided → Low
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to os-vif (master)

Fix proposed to branch: master
Review: https://review.openstack.org/451433

Changed in os-vif:
assignee: nobody → Stephen Finucane (stephenfinucane)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Fix proposed to branch: master
Review: https://review.openstack.org/484386

Changed in os-vif:
assignee: Stephen Finucane (stephenfinucane) → Rodolfo Alonso (rodolfo-alonso-hernandez)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on os-vif (master)

Change abandoned by Stephen Finucane (<email address hidden>) on branch: master
Review: https://review.openstack.org/451433
Reason: Rodolfo is doing this now

Changed in os-vif:
assignee: Rodolfo Alonso (rodolfo-alonso-hernandez) → Stephen Finucane (stephenfinucane)
Changed in os-vif:
assignee: Stephen Finucane (stephenfinucane) → Rodolfo Alonso (rodolfo-alonso-hernandez)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to os-vif (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/531358

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to os-vif (master)

Reviewed: https://review.openstack.org/484386
Committed: https://git.openstack.org/cgit/openstack/os-vif/commit/?id=dff9093ab682d798e6165840cfae234f2a5372f5
Submitter: Zuul
Branch: master

commit dff9093ab682d798e6165840cfae234f2a5372f5
Author: Rodolfo Alonso Hernandez <email address hidden>
Date: Mon Jul 17 15:27:53 2017 +0100

    Migrate from 'ip' commands to 'pyroute2'

    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 <email address hidden>

    Closes-Bug: #1677238
    Change-Id: I18f7b3424a6c447ee89df1f0326ece75f2333bf2

Changed in os-vif:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/os-vif 1.8.0

This issue was fixed in the openstack/os-vif 1.8.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to os-vif (master)

Reviewed: https://review.openstack.org/531358
Committed: https://git.openstack.org/cgit/openstack/os-vif/commit/?id=4e7ce55d102292215b9dae8deeab90efc96735dd
Submitter: Zuul
Branch: master

commit 4e7ce55d102292215b9dae8deeab90efc96735dd
Author: Stephen Finucane <email address hidden>
Date: Fri Jan 5 10:44:16 2018 +0000

    Configure privsep binary

    This is necessary because we're combining virtualenv's and sudo. sudo
    doesn't passthrough environment variables by default, so we must do so
    manually.

    Change-Id: I8ef15edd1b8adae0ddad84f71379356ead5d4fd1
    Related-bug: #1677238

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.