OVSDB application library
Go to file
Daniel Alvarez ab6e1fee0c Improve DbListCommand operation from O(n^2) to O(n)
Right now the DbListCommand retrieves the uuid's of all the elements
passed in as argument. This is an O(n^2) operation so when the number
of elements in a grows it's likely that we get Timeout Exceptions.

Instead of doing this, whenever possible, we'll retrieve all the
elements (from the in-memory replica) and only fetch those who were
passed as arguments avoiding the O(n^2) operation.

NOTE: this cherry pick conflicted because in stable/pike, the commands.py
file was in different location.

Closes-Bug: #1769897
(cherry picked from fd64d41ea6)
Signed-off-by: Daniel Alvarez <dalvarez@redhat.com>

Change-Id: Iacded885bb852315263ee926b9af5a1c3dc0dbba
2018-05-11 10:18:04 +02:00
doc/source Add cookiecutter output 2017-02-24 15:02:19 -05:00
ovsdbapp Improve DbListCommand operation from O(n^2) to O(n) 2018-05-11 10:18:04 +02:00
releasenotes Fix all broken jobs 2017-03-23 08:52:07 +00:00
tools Use neutron-lib's tox_install.sh 2017-04-19 12:09:17 -05:00
.gitignore Ignore .testrepository and editor(s) files 2017-04-21 10:09:30 +01:00
.gitreview Update .gitreview for stable/pike 2017-07-28 21:06:05 +00:00
.testr.conf Fix pep8/cookiecutter test running 2017-02-24 15:32:17 -05:00
CONTRIBUTING.rst Add cookiecutter output 2017-02-24 15:02:19 -05:00
HACKING.rst Add cookiecutter output 2017-02-24 15:02:19 -05:00
LICENSE Add cookiecutter output 2017-02-24 15:02:19 -05:00
MANIFEST.in Add cookiecutter output 2017-02-24 15:02:19 -05:00
README.rst Add a description to README.rst 2017-04-21 16:20:55 -05:00
babel.cfg Add cookiecutter output 2017-02-24 15:02:19 -05:00
bindep.txt Fix all broken jobs 2017-03-23 08:52:07 +00:00
requirements.txt Allow choosing vlog levels to patch and restoring the vlog 2017-05-03 12:31:52 -05:00
setup.cfg Add cookiecutter output 2017-02-24 15:02:19 -05:00
setup.py Updated from global requirements 2017-03-15 04:26:57 +00:00
test-requirements.txt Updated from global requirements 2017-08-11 19:04:40 +00:00
tox.ini Update UPPER_CONSTRAINTS_FILE for stable/pike 2017-07-28 21:06:06 +00:00

README.rst

ovsdbapp

A library for creating OVSDB applications

The ovdsbapp library is useful for creating applications that communicate via Open_vSwitch's OVSDB protocol (https://tools.ietf.org/html/rfc7047). It wraps the Python 'ovs' and adds an event loop and friendly transactions.

Features

  • An thread-based event loop for using ovs.db.Idl
  • Transaction support
  • Native OVSDB communication