Re: odl-ovsdb-openstack and northbound


Sam Hague
 

yes, Vishal has the reason.

The southbound is kind of quirky in that it includes the library as a private library. This was done initially as a workaround because there was an adsal-based plugin for the library and it was easier to just include the library privately in the southbound itself. So the libary is loaded as part of the southbound, but not the feature itself.

We will likely modify the southbound features to load the odl-ovsdb-libary feature as part of the work to make the library config aware and fully deprecate the adsal-based plugin.

Thanks, Sam

----- Original Message -----
From: "Vishal Thapar" <vishal.thapar@...>
To: "Vikram Darsi" <vikram.darsi@...>, "Sam Hague" <shague@...>
Cc: ovsdb-dev@..., ovsdb-users@...
Sent: Tuesday, July 14, 2015 10:50:45 AM
Subject: RE: [ovsdb-dev] odl-ovsdb-openstack and northbound

Hi Vikram,

Take a look at features.xml for definition of
odl-ovsdb-soutbound-impl-ui:
https://github.com/opendaylight/ovsdb/blob/master/southbound/southbound-features/src/main/features/features.xml
odl-ovsdb-library:
https://github.com/opendaylight/ovsdb/blob/master/features/ovsdb/src/main/features/features.xml

You will notice southbound-impl installs many of the bundles that are part of
ovsdb-library but not ovsdb-library feature itself.

Regards,
Vishal.

-----Original Message-----
From: ovsdb-dev-bounces@...
[mailto:ovsdb-dev-bounces@...] On Behalf Of Vikram Darsi
Sent: 14 July 2015 20:03
To: Sam Hague
Cc: ovsdb-dev@...; ovsdb-users@...
Subject: Re: [ovsdb-dev] odl-ovsdb-openstack and northbound

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:2
23) at
sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at
io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSoc
ketChannel.java:125)
at
io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.j
ava:485)
at
io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChanne
lPipeline.java:1081)
at
io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChan
nelHandlerContext.java:502)
at
io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHan
dlerContext.java:487) at
io.netty.channel.ChannelDuplexHandler.bind(ChannelDuplexHandler.java:3
8) at
io.netty.handler.logging.LoggingHandler.bind(LoggingHandler.java:240)
at
io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChan
nelHandlerContext.java:502)
at
io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHan
dlerContext.java:487)
at
io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.ja
va: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(SingleT
hreadEventExecutor.java:357) at
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
at
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadE
ventExecutor.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 _______________________________________________
ovsdb-dev mailing list
ovsdb-dev@...
https://lists.opendaylight.org/mailman/listinfo/ovsdb-dev

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