Re: odl-ovsdb-openstack and northbound


Vikram
 

Hi Sam

Thanks for the detailed flow

I have question here, when odl-ovsdb-soutbound-impl-ui is installed, the library is loaded. I inferred this as the port 6640 is opened up by odl process

but, when I grep for odl-ovsdb-library in feature:list, it is still shown as not installed which leads to some confusion. I feel the library should have been specified as a dependency in feature xml file for southbound-impl, this way karaf will mark it as installed after it is loaded.


Thanks
Vikram







________________________________________
From: Sam Hague [shague@...]
Sent: 14 July 2015 16:00:33
To: Vikram Darsi
Cc: ovsdb-dev@...; ovsdb-users@...
Subject: Re: [ovsdb-dev] odl-ovsdb-openstack and northbound

Vikram,

inline...

Thanks, Sam

----- Original Message -----
From: "Vikram Darsi" <vikram.darsi@...>
To: ovsdb-dev@..., ovsdb-users@...
Sent: Tuesday, July 14, 2015 5:55:08 AM
Subject: [ovsdb-dev] odl-ovsdb-openstack and northbound

Hi

As mentioned in the README file in ovsdb.git repo, I tried installing the
below features in the lithium distribution and see some exceptions on the
console
These are old instructions. The only feature needed now is the odl-ovsdb-openstack feature.

opendaylight-user@root>feature:install odl-ovsdb-openstack
odl-ovsdb-northbound
Refreshing bundles com.google.guava (64),
org.eclipse.jetty.aggregate.jetty-all-server (197), io.netty.common (119),
com.sun.jersey.core (224), com.sun.jersey.servlet (223), org.jboss.netty
(178), org.apache.sshd.core (142), org.eclipse.persistence.core (137),
com.sun.jersey.jersey-server (225), org.eclipse.persistence.moxy (138),
org.ops4j.pax.web.pax-web-runtime (205), org.apache.aries.util (9),
org.ops4j.pax.web.pax-web-jetty (206)
GossipRouter started at Tue Jul 14 02:36:28 PDT 2015
Listening on port 12001 bound on address 0.0.0.0/0.0.0.0
Backlog is 1000, linger timeout is 2000, and read timeout is 0
Exception in thread "Thread-103" java.net.BindException: Address already in
use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:437)
at sun.nio.ch.Net.bind(Net.java:429)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at
io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:125)
at
io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:485)
at
io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1081)
at
io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:502)
at
io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:487)
at io.netty.channel.ChannelDuplexHandler.bind(ChannelDuplexHandler.java:38)
at io.netty.handler.logging.LoggingHandler.bind(LoggingHandler.java:240)
at
io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:502)
at
io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:487)
at
io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:904)
at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:198)
at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:348)
at
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:357)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
at
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)
at
io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
at java.lang.Thread.run(Thread.java:745)


As a POC, we wanted to create VXLAN /GRE tunnels between two OVS using
RESTCONF interface, is this possible just by installing
odl-ovsdb-southbound-impl-ui and odl-ovsdb-library ?
You only need the odl-ovsdb-southbound-ui feature to build the tunnels via the restconf. This feature loads the library. Loading the odl-ovsdb-library manually will cause issues because it loads the library a second time.

This feature will only provide ability to use the ovsdb to add the bridges and ports for making the tunnel. It will not push flows to use the tunnel. You would need to manually push flows via restconf or use the odl-ovsdb-openstack feature which will add the flows if given neutron events.

Also, please explain the difference between these two packages

org.opendaylight.ovsdb.southbound.transactions.md
convert ovsdb events into mdsal datastore
org.opendaylight.ovsdb.southbound.ovsdb.transact
read mdsal datastore and send ovsdb events

The desired parts of the OVSDB OpenvSwitch schema are modeled via the ovsdb.yang file. Just the pieces to create and connect to OVSDB nodes and then to create tunnels by adding bridges and ports. As ovsdb protocol events are received they are translated to the model and written to mdsal datastore via the transactions.md. This would happen anytime you edit the ovsdb node for example as part of an ovs-vsctl command. In the other direction if you want to modify the ovsdb node via ODL, say the restconf interface, then that eventually gets written to mdsal datastore and then the ovsdb.transact path would convert that ovsdb protocol commands to send to the ovsdb nodes.


Are all REST interfaces available in RESTCONF as well?
REST is a different path. You would need to load the corresponding REST feature to get what you want. Like if you want the neutron REST you would install the odl-neutron-service.



Thanks
Vikram



This email and attachments may contain privileged or confidential information
intended only for the addressee(s) indicated. The sender does not waive any
of its rights, privileges or protections respecting this information. If you
are not the named addressee, an employee, or agent responsible for sending
this message to the named addressee (or this message was received by
mistake), you are not authorized to read, print, retain, copy or disseminate
this message or any part of it. If received in error, please notify us
immediately by e-mail, discard any paper copies and delete all electronic
files of the email.

Computer viruses can be transmitted via email. The recipient should check
this email and any attachments for viruses. Email transmission cannot be
guaranteed to be secured or error-free as information could be intercepted,
corrupted, lost, destroyed, arrive late or incomplete, or contain viruses.
The sender accepts no liability for any damage caused by any transmitted
viruses or errors or omissions in the contents of this message.

Overture Networks, Inc. 637 Davis Drive, Morrisville, NC USA 27560
www.overturenetworks.com

_______________________________________________
ovsdb-dev mailing list
ovsdb-dev@...
https://lists.opendaylight.org/mailman/listinfo/ovsdb-dev

This email and attachments may contain privileged or confidential information intended only for the addressee(s) indicated. The sender does not waive any of its rights, privileges or protections respecting this information. If you are not the named addressee, an employee, or agent responsible for sending this message to the named addressee (or this message was received by mistake), you are not authorized to read, print, retain, copy or disseminate this message or any part of it. If received in error, please notify us immediately by e-mail, discard any paper copies and delete all electronic files of the email.

Computer viruses can be transmitted via email. The recipient should check this email and any attachments for viruses. Email transmission cannot be guaranteed to be secured or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender accepts no liability for any damage caused by any transmitted viruses or errors or omissions in the contents of this message.

Overture Networks, Inc. 637 Davis Drive, Morrisville, NC USA 27560 www.overturenetworks.com

Join z.archive.ovsdb-dev@lists.opendaylight.org to automatically receive all group messages.