ovsdbapp

raw JSON →
2.17.0 verified Mon Apr 27 auth: no python

A library for creating OVSDB applications. Current version 2.17.0, released as part of OpenStack zed cycle. Follows OpenStack release cadence (approximately 6 months).

pip install ovsdbapp
error ImportError: cannot import name 'Transaction' from 'ovsdbapp'
cause Wrong import path; Transaction is inside ovsdbapp.api.
fix
Use from ovsdbapp import api and then api.Transaction
error AttributeError: 'NoneType' object has no attribute 'tables'
cause IDL not started before accessing transaction.
fix
Call connection.start() before creating transaction.
breaking Top-level api and schema imports moved to backend.ovs_idl. Importing from ovsdbapp directly may fail.
fix Use from ovsdbapp.backend.ovs_idl import ...
deprecated The ovsdbapp.api module is deprecated; use ovsdbapp.backend.ovs_idl.api instead.
fix Update imports to backend.ovs_idl.api
gotcha Connection.start() must be called before creating a transaction, otherwise IDL is None.
fix Always call connection.start() to initialize the IDL.

Initialize OVSDB connection and transaction.

import os
from ovsdbapp.backend.ovs_idl import connection
from ovsdbapp import api

    remote = os.environ.get('OVSDB_REMOTE', 'tcp:127.0.0.1:6640')
    conn = connection.Connection(remote=remote)
    idl = conn.start()
    txn = api.Transaction(idl)
    # Use txn for operations
    print('OVSDB connection established')