Convert OVS os-vif driver to use native Python bindings

Bug #1666917 reported by sean mooney
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
os-vif
Fix Released
Low
sean mooney

Bug Description

Today os-vif uses ovs-vsctl via processutils. This spawns a new shell for every invocation and repeatedly dumps the ovsdb into memory which is both inefficient and slow. OVS has native Python binding for configuring the ovsdb which would allow us to avoid these issues.

The OVS plugin should be rewritten to leverage the native python bindings
to improve performance, reduce memory footprint and improve security by reducing use of processutils.

Tags: rfe
Changed in os-vif:
importance: Undecided → Low
Revision history for this message
sean mooney (sean-k-mooney) wrote :

investigate using new ovsdbapp lib for this as neutron will be moving to it in the future
https://github.com/openstack/ovsdbapp/

summary: - convert ovs os-vif driver to use nativ python bindings
+ convert ovs os-vif driver to use native Python bindings
summary: - convert ovs os-vif driver to use native Python bindings
+ Convert ovs os-vif driver to use native Python bindings
description: updated
summary: - Convert ovs os-vif driver to use native Python bindings
+ Convert OVS os-vif driver to use native Python bindings
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/476612

Changed in os-vif:
assignee: sean mooney (sean-k-mooney) → Rodolfo Alonso (rodolfo-alonso-hernandez)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

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

Pranab (pranabjb)
Changed in os-vif:
assignee: Rodolfo Alonso (rodolfo-alonso-hernandez) → Pranab (pranabjb)
Changed in os-vif:
assignee: Pranab (pranabjb) → Rodolfo Alonso (rodolfo-alonso-hernandez)
Changed in os-vif:
assignee: Rodolfo Alonso (rodolfo-alonso-hernandez) → Pranab (pranabjb)
Changed in os-vif:
assignee: Pranab (pranabjb) → Rodolfo Alonso (rodolfo-alonso-hernandez)
Changed in os-vif:
assignee: Rodolfo Alonso (rodolfo-alonso-hernandez) → sean mooney (sean-k-mooney)
Changed in os-vif:
assignee: sean mooney (sean-k-mooney) → Rodolfo Alonso (rodolfo-alonso-hernandez)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to os-vif (master)

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

commit 7bfb01bcb151087d70df115ba01f789a8a7f161f
Author: Rodolfo Alonso Hernandez <“<email address hidden>”>
Date: Thu Sep 20 16:22:00 2018 +0100

    Add abstract OVSDB API

    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

Changed in os-vif:
assignee: Rodolfo Alonso (rodolfo-alonso-hernandez) → sean mooney (sean-k-mooney)
Changed in os-vif:
assignee: sean mooney (sean-k-mooney) → Rodolfo Alonso (rodolfo-alonso-hernandez)
Changed in os-vif:
assignee: Rodolfo Alonso (rodolfo-alonso-hernandez) → sean mooney (sean-k-mooney)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

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

commit 1546d349b1656bc98286af47f1e2748b76743abc
Author: Rodolfo Alonso Hernandez <email address hidden>
Date: Fri Sep 21 10:00:35 2018 +0100

    Add native implementation OVSDB API

    Added native implementation OVSDB API. Both APIs may be enabled
    via configuration file. The default one is the CLI vsctl.

    A new configuration variable, ``ovsdb_connection``, is added to
    define the connection string for the OVSDB backend.

    Added functional tests to vif_plug_ovs. This commit also includes
    the base functions to execute functional tests and a set of them
    to test the OVSDB APIs: native and ovs-vsctl.

    Closes-Bug: #1666917
    Change-Id: I86fbf8c67572e51889eb091d7bff7f9350b52481

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.15.0

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

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.