Ask is moving to Stack Overflow and! Please use the "opendaylight" tag on either of these sites. This site is now in Read-Only mode


Lithium integration with Openstack Kilo

asked 2015-07-09 06:16:01 -0700

chrisborovas gravatar image

updated 2015-07-09 06:57:23 -0700

Hello everyone,

I want to integrate the Opendaylight Lithium with Openstack Kilo. I followed this

guide to create a infrastructure with 3 nodes ( controller, neutron, compute ).

The Opendaylight controller is placed in a separate VM. Overall 4 VMs.

I managed to integrate the Opendaylight Helium SR3 with the aforementioned OpenStack

following strictly this guide and everything seems to work,

while the VMs were communicating with each other via GRE tunneling.

Everything, except the external network, which is not supported in Helium SR3 as it is referred here.

My questions are:

1) What features should I install to Opendaylight Lithium?

It is said here, that all I need is odl-ovsdb-openstack.

But when I install this feature and after a while be disconnected from karaf, I faced this error:

Exception in thread "FlowCapableInventoryProvider" Child [(urn:opendaylight:inventory?revision=2013-08-19)nodes] is not present in schema tree.
at org.opendaylight.controller.cluster.datastore.LocalTransactionContext.deleteData(
at org.opendaylight.controller.cluster.datastore.TransactionProxy$4.invoke(
at org.opendaylight.controller.cluster.datastore.TransactionContextWrapper.maybeExecuteTransactionOperation(
at org.opendaylight.controller.cluster.datastore.TransactionProxy.delete(
at org.opendaylight.controller.cluster.databroker.DOMBrokerWriteOnlyTransaction.delete(
at org.opendaylight.controller.cluster.databroker.DOMBrokerWriteOnlyTransaction.delete(
at org.opendaylight.openflowplugin.applications.inventory.manager.NodeChangeCommiter$3.applyOperation(
at org.opendaylight.openflowplugin.applications.inventory.manager.FlowCapableInventoryProvider.createCustomizedTransaction(
at org.opendaylight.openflowplugin.applications.inventory.manager.FlowCapableInventoryProvider.submitOperations(

2) When I create ext-net and demo-net, according to the guide, the GRE tunneling is not

created between Network and Compute node.

Thank you in advice for your time! It would be great to have a updated Lithium-Kilo integration guide!

edit retag flag offensive close merge delete

4 answers

Sort by ยป oldest newest most voted

answered 2015-07-10 07:45:25 -0700

Vishal Thapar gravatar image

updated 2015-07-23 00:55:21 -0700

I've done Lithium+Kilo but I used Devstack. In Kilo ODL driver was spun-off into separate project. I believe you will need to install some package for it, I am not familiar with the process for it.

The error you got on shutting down is not a problem. I see that when I exit/logout karaf which shutsdown ODL. Did you mean to shutdown or just disconnect from Karaf console? Note that if you run bin/karaf and then do exit or logout on karaf console it will shutdown karaf and you will run into that error.

edit flag offensive delete publish link more


Thank you Vishal Thapar! I faced this error when I exit or logout on karaf console not when I just disonnect from Karaf console. I will try to integrate Lithium with DevStack Kilo to see the configurations.

chrisborovas ( 2015-07-20 00:05:51 -0700 )edit

In kilo, as part of plugin decomposition, ODL Driver is a separate project I am not sure what the deb package name for this one is as I always use devstack.

Vishal Thapar ( 2015-07-20 00:16:26 -0700 )edit

I have used this plugin. But stil the problem exists..

chrisborovas ( 2015-07-20 00:24:21 -0700 )edit

When you create networks, do you see any errors in neutron server log? Did you try spawning a VM? I think tunnels are not created till a VM is created on that compute node.

Vishal Thapar ( 2015-07-20 01:42:29 -0700 )edit

answered 2015-12-27 21:44:26 -0700

This could help :-)

Thanks, vinoth

edit flag offensive delete publish link more

answered 2015-07-20 05:44:40 -0700

chrisborovas gravatar image

After changing the ip as Nomorekek says in fix 1 the GRE tunneling was created normally.

When I created the internal network and started a instance VM I saw this error in neutron-server logs

2015-07-20 14:38:19.361 6038 WARNING neutron.plugins.ml2.plugin [req-097fe650-29a9-4bbe-88bd-53e27969859b ] In _notify_port_updated(), no bound segment for port 27166b67-7f09-4474-bb37-c0e6ab8666d4 on network 397ad238-a545-49af-b6a9-ea23b4eb56b8

One other question is related to the external network. In Lithium is working properly? Does anyone manage to connect via floating ip to the internet?

Friendly, Christos

edit flag offensive delete publish link more


In our deployment (Lithium + Juno) it wokrs fine. And we have more than 10 days uptime without any problems. I suggest you take a closer look to your neutron and ml2 configuration, though i dont know for sure without checking them.

Nomorekek ( 2015-07-21 05:21:28 -0700 )edit

@Nomorekek can i see what's in your neutron.conf with regards to core_plugin value?

rplanteras ( 2015-09-11 02:33:53 -0700 )edit

answered 2015-07-10 07:14:16 -0700

Nomorekek gravatar image


We have not yet tested OpenStack Kilo integration, but we integrated OpenDaylight Lithium with OpenStack Juno.

The problems we encountered in case they can help you were:

  1. In OpenDaylight there was an issue with Java RMI that needed to change the ip from to in the file etc/
  2. In file /usr/lib/python2.7/dist-packages/neutron/plugins/ml2/drivers/mechanism, that exists in OpenStack nodes, at lines 138-139 there must be a change as in:

In the following days we will do the OpenStack Kilo+OpenDaylight Lithium integration and I will be able to provide more feedback.

If you want provide more extensive logs of karaf.log and neutron server.log and I can take a look.

edit flag offensive delete publish link more


Thank you very much Nomorekek! I changed the ip as you said in fix 1 and the GRE tunneling was created successfully!

chrisborovas ( 2015-07-20 04:45:04 -0700 )edit

I couldn't find how to do the second fix because my host operating system is Ubuntu 14.04 and the /usr/lib/python2.7/dist-packages/neutron/plugins/ml2/drivers/opendaylight/ file doesn't have the self.auth = JsessionId(self.url, self.username, self.password) line or something like that..

chrisborovas ( 2015-07-20 04:46:04 -0700 )edit

No problem Chris :) The path you said is wrong. The file is in /usr/lib/python2.7/dist-packages/neutron/plugins/ml2/drivers/ Check it out, normally it should exist otherwise i dont see how OpenStack is connecting to OpenDaylight. Also we are using 14.04 LTS too.

Nomorekek ( 2015-07-21 05:20:43 -0700 )edit

Probably this is not needed for Kilo, since you say below that you managed to make it work, even if it is only internal.

Nomorekek ( 2015-07-21 05:24:54 -0700 )edit
Login/Signup to Answer

Question Tools



Asked: 2015-07-09 06:16:01 -0700

Seen: 1,362 times

Last updated: Dec 27 '15