neutron/neutron/plugins/ml2/drivers
Mohammad Banikazemi 2ee08c3464 Move postcommit ops out of transaction for bulk
Currently, the bulk create operations in ML2 are executed in
a transaction. This means all precommit and postcommit operations
for such operations are in a transaction. Postcommit operations
are expected to be executed outside of transactions as they may
communicate with a backend and introduce substantial delays. This
fix removes the postcommit operations from the transaction for
bulk create network/subnet/port operations.

Change-Id: I9a9683058088e50d9443040223232bf5e1396ccf
Closes-Bug: #1193861
2015-01-07 13:03:13 -05:00
..
arista Use comments rather than no-op string statements 2014-12-09 08:40:32 +11:00
brocade Migrate to oslo.i18n 2014-11-26 22:19:24 +01:00
cisco Enable pylint checks for "anomalous" string escapes 2014-12-23 14:53:02 +11:00
freescale Use comments rather than no-op string statements 2014-12-09 08:40:32 +11:00
l2pop Merge "Migrate to oslo.i18n" 2014-11-28 12:14:32 +00:00
mech_bigswitch Move postcommit ops out of transaction for bulk 2015-01-07 13:03:13 -05:00
mech_nuage Migrate to oslo.i18n 2014-11-26 22:19:24 +01:00
mech_sriov Add support for flat networks in SRIOV Mechanism Driver 2014-12-30 09:57:19 +02:00
mlnx Update i18n translation for ML2 plugin log msg's 2014-11-24 04:33:03 +00:00
README.odl Add OpenDaylight ML2 MechanismDriver 2014-03-05 14:04:39 +00:00
__init__.py Empty files should not contain copyright or license 2014-10-20 00:50:32 +00:00
helpers.py Migrate to oslo.i18n 2014-11-26 22:19:24 +01:00
mech_agent.py Migrate to oslo.i18n 2014-11-26 22:19:24 +01:00
mech_hyperv.py Update i18n translation for ML2 plugin log msg's 2014-11-24 04:33:03 +00:00
mech_linuxbridge.py Update i18n translation for ML2 plugin log msg's 2014-11-24 04:33:03 +00:00
mech_ofagent.py ofagent: Remove obsolete bridge_mappings (plugin side) 2014-11-20 09:48:00 +09:00
mech_openvswitch.py Update i18n translation for ML2 plugin log msg's 2014-11-24 04:33:03 +00:00
mechanism_ncs.py switch to oslo.serialization 2014-11-14 09:28:12 +00:00
mechanism_odl.py Migrate to oslo.utils 2014-11-26 10:31:03 +01:00
type_flat.py Migrate to oslo.i18n 2014-11-26 22:19:24 +01:00
type_gre.py Migrate to oslo.i18n 2014-11-26 22:19:24 +01:00
type_local.py Migrate to oslo.i18n 2014-11-26 22:19:24 +01:00
type_tunnel.py Drop RpcProxy usage from ml2 AgentNotifierApi 2014-12-01 18:42:30 +00:00
type_vlan.py Migrate to oslo.i18n 2014-11-26 22:19:24 +01:00
type_vxlan.py Migrate to oslo.i18n 2014-11-26 22:19:24 +01:00

README.odl

OpenDaylight ML2 MechanismDriver
================================
OpenDaylight is an Open Source SDN Controller developed by a plethora of
companies and hosted by the Linux Foundation. The OpenDaylight website
contains more information on the capabilities OpenDaylight provides:

    http://www.opendaylight.org

Theory of operation
===================
The OpenStack Neutron integration with OpenDaylight consists of the ML2
MechanismDriver which acts as a REST proxy and passess all Neutron API
calls into OpenDaylight. OpenDaylight contains a NB REST service (called
the NeutronAPIService) which caches data from these proxied API calls and
makes it available to other services inside of OpenDaylight. One current
user of the SB side of the NeutronAPIService is the OVSDB code in
OpenDaylight. OVSDB uses the neutron information to isolate tenant networks
using GRE or VXLAN tunnels.

How to use the OpenDaylight ML2 MechanismDriver
===============================================
To use the ML2 MechanismDriver, you need to ensure you have it configured
as one of the "mechanism_drivers" in ML2:

    mechanism_drivers=opendaylight

The next step is to setup the "[ml2_odl]" section in either the ml2_conf.ini
file or in a separate ml2_conf_odl.ini file. An example is shown below:

    [ml2_odl]
    password = admin
    username = admin
    url = http://192.168.100.1:8080/controller/nb/v2/neutron

When starting OpenDaylight, ensure you have the SimpleForwarding application
disabled or remove the .jar file from the plugins directory. Also ensure you
start OpenDaylight before you start OpenStack Neutron.

There is devstack support for this which will automatically pull down OpenDaylight
and start it as part of devstack as well. The patch for this will likely merge
around the same time as this patch merges.