[openstack-dev] [Neutron] initial OVN testing

Salvatore Orlando sorlando at nicira.com
Fri Mar 27 00:22:45 UTC 2015

Thanks for starting this Russell.

Some answers inline.


On 27 March 2015 at 00:54, Russell Bryant <rbryant at redhat.com> wrote:

> Gary and Kyle, I saw in my IRC backlog that you guys were briefly
> talking about testing the Neutron ovn ml2 driver.  I suppose it's time
> to add some more code to the devstack integration to install the current
> ovn branch and set up ovsdb-server to serve up the right database for
> this.  I'll try to work on that tomorrow.  Of course, note that all we
> can set up right now is the northbound database.  None of the code that
> reacts to updates to that database is merged yet.  We can still go ahead
> and test our code and make sure the expected data makes it there, though.

In theory this should be enough!

> Here's some more detail about the pieces ...
> When I was writing ovn-nbctl [1], I was testing using ovs-sandbox.  It's
> a script that sets up a handy development environment for ovs.  It has
> ovn support if you pass the "-o" option [2].  To run it, it would be
> something like ...
>   $ git clone https://github.com/openvswitch/ovs.git
>   $ cd ovs
>   $ git checkout ovn
  $ ./boot.sh
>   $ ./configure
>   $ make
>   $ make SANDBOXFLAGS="-o" sandbox

> From there you can run ovn-nbctl.  Here's a script to demonstrate the
> various commands:
>   https://gist.github.com/russellb/946953e8675063c0c756
> To set this up outside of ovs-sandbox, you need to first create the OVN
> northbound database:
>   $ ovsdb-tool create ovnnb.db ovs-git-tree/ovn/ovn-nb.ovsschema
> Then you need to tell ovsdb-server to use it.  By default ovsdb-server
> will only serve up conf.db.  It can take a list of dbs as positional
> arguments, though.  You can see that's what the ovs-sandbox script is
> doing.
> Do you reckon this steps should be performed by devstack (or to be more
precise the neutron-ovn devstack plugin that we should develop) or shall we
assume OVN is already configured? For me both ways work. However some
developers (like Russell I guess) will be working both on OVN and the
neutron plugin, so maybe I'm not sure having devstack doing the OVN setup
might be helpful for them; on the other hand this might come somewhat handy
for setting up CI jobs.

> So, you can either change the command used to start ovsdb-server on your
> system, or start up another instance of it with its own unix socket and
> tcp port.
> There was also a question on IRC about the format of the database option
> for the ML2 driver.  The value is passed directly to ovn-nbctl.  The
> format is the same as is used for ovs-vsctl (and probably others).

In the ovs-dev mailing list you said (correctly imo) that openstack should
not use nbctl but rather talk directly through ovsdb with the OVN
It seems here you're stating the ML2 driver will pass down the database
connection info to nbctl.
I don't know if that's your intention, but I would rather avoid having
another plugin that uses command line for everything.This would save us the
pain of having to scrape through command output, and more importantly will
avoid the overhead associated with rootwrap (daemonized or not).

> When running in ovs-sandbox, ovn-nbctl's help output shows:
>   --db=DATABASE             connect to DATABASE
>                             (default:
> unix:/home/rbryant/src/ovs/tutorial/sandbox/db.sock)
> and further down, it provides some more detail:
>   Active database connection methods:
>     tcp:IP:PORT             PORT at remote IP
>     ssl:IP:PORT             SSL PORT at remote IP
>     unix:FILE               Unix domain socket named FILE
>   Passive database connection methods:
>     ptcp:PORT[:IP]          listen to TCP PORT on IP
>     pssl:PORT[:IP]          listen for SSL on PORT on IP
>     punix:FILE              listen on Unix domain socket FILE
> [1] http://openvswitch.org/pipermail/dev/2015-March/052757.html
> [2] http://openvswitch.org/pipermail/dev/2015-March/052353.html
> --
> Russell Bryant
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150327/f9b7fe47/attachment.html>

More information about the OpenStack-dev mailing list