Re: api call flow

Madhu Venugopal

Hi Hugo,

Since OpenDaylight has atleast 3 Neutron based south-bounds (OVSDB, OpenDove & VTN), we centralized the Neutron NB-API
on the controller project. And each of the above 3 south-bound plugin provides common services for handling Network, Subnet and Port events.
You can see all of these under the controller projects :
-> networkconfig.neutron
-> networkconfig.neutron.implementation
-> networkconfig.neutron.northbound

On the OVSDB side, Please take a look @
-> ovsdb.neutron

- NetworkHandler (handles Network creation events)
- PortHandler (VM / Port creation events).

Now, which hypervisors are part of the tenant network is something that can derive out of the above 2 events and the
centralized cache maintained in the networkconfig.neutron plugin.

BTW, I dont like to maintain caches in OVSDB unless it is strictly necessary (fearing the caches going out-of-sync and chasing those problems are nightmare).
So, I depend on events and dont mind CPU cycles to form the picture every time an event happens.
So, we dont have a DB, that will give the info on all the hypervisors that are part of a tenant network.
All you get is all the Ports belong to a Network. From the Neutron Port and the OVSDB Port database, we can derive the
exact set of hypervisors / nodes that make a given tenant network.


On 11/27/13, 6:08 AM, Hugo Trippaers wrote:
Hey guys,

Do we have a document describing the call flow between Neutron and ODL? Would like to use that as a basis to put the same functionality in CloudStack.

I’ve already got some of the skeleton work done for the plugin, but need to start filling in the blanks.

The main thing that i can’t seem to figure out is how neutron tells ODL which hypervisors are part of that tenants network and how neutron creates the OVS nodes.


ovsdb-dev mailing list

Join { to automatically receive all group messages.