If that thing will have worked, I'll owe you a beer. Every time I debug OVS-neutron issues I want to cry. All that constant 'exec ovs-vsctl' stuff driving me mad because of the underengineering and overall inefficiency.

I will definitively try it on 'reallife lab installation' with few compute hosts.

On 03/27/2015 01:54 AM, Russell Bryant 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.

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.

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).

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



__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to