[ovs-discuss] brcompatd: "could not find valid configuration to update" error

Ben Pfaff blp at nicira.com
Wed Mar 24 21:44:13 UTC 2010


On Wed, Mar 24, 2010 at 09:27:46PM +0000, Lee, Jeongkeun wrote:
> Today, I downloaded the latest snapshot from git and followed the
> instructions of INSTALL.bridge and INSTALL.Linux to use ovs as a
> replacement of Linux bridge.  OVS version is 0.99.2 and kernel is
> 2.6.26-2-amd64 on Debian lenny 5.03.
> 
> Below are the commands that I ran after 'make install'
> completed. ovsdb-server, ovs-vswitchd, and ovs-brcompatd were called
> in separate shells to see the messages.
> 
> % insmod datapath/linux-2.6/openvswitch_mod.ko
> % insmod datapath/linux-2.6/brcompat_mod.ko
> % ovsdb-tool create /etc/ovs-vswitchd.conf.db vswitchd/vswitch.ovsschema
> % ovsdb-server /etc/ovs-vswitchd.conf.db --remote=punix:/var/run/ovsdb-server
> % ovs-vswitchd -vANY:console:WARN unix:/var/run/ovsdb-server
> % ovs-brcompatd -vANY:console:WARN unix:/var/run/ovsdb-server
> 
> ovsdb-server shows messages saying ovs-vswitchd and ovs-brcompatd are connected 
> and ovs-brcompatd complains 
> 	database does not contain any Open vSwitch configuration
> when it gets started.

Thanks for reporting this problem.

You're right, there's a missing step here.  I'm going to add this
paragraph to INSTALL.Linux:

    Then initialize the database with "ovs-vsctl init".  This is only
    necessary the first time after you create the database with
    ovsdb-tool (but running it at any time is harmless):

          % ovs-vsctl init

after starting ovsdb-server and before starting ovs-vswitchd.
 
> Btw, ovs-vsctl connects to /usr/local/var/run/ovsdb-server by default
> instead of /var/run/ovsdb-server. Either ovs-vsctl or the INSTALL
> instruction needs to be revised to remove the discrepancy.

You are right again, of course.  The documentation is inconsistent here.
It assumes / in some places and /usr/local in others.  I will also push
out this fix:

    diff --git a/INSTALL.Linux b/INSTALL.Linux
    index 31bc3e0..263e261 100644
    --- a/INSTALL.Linux
    +++ b/INSTALL.Linux
    @@ -157,7 +157,7 @@ Prerequisites section, follow the procedure below to build.

     7. Initialize the configuration database using ovsdb-tool, e.g.:

    -      % ovsdb-tool create /etc/ovs-vswitchd.conf.db vswitchd/vswitch.ovsschema
    +      % ovsdb-tool create /usr/local/etc/ovs-vswitchd.conf.db vswitchd/vswitch.ovsschema

     Startup
     =======
    @@ -167,7 +167,7 @@ configuration database, ovsdb-server.  Configure it to use the
     database you created during step 7 of installation, above, and to
     listen on a Unix domain socket, e.g.:

    -      % ovsdb-server /etc/ovs-vswitchd.conf.db --remote=punix:/var/run/ovsdb-server
    +      % ovsdb-server /usr/local/etc/ovs-vswitchd.conf.db --remote=punix:/usr/local/var/run/ovsdb-server

     Then initialize the database with "ovs-vsctl init".  This is only
     necessary the first time after you create the database with
    @@ -178,7 +178,7 @@ ovsdb-tool (but running it at any time is harmless):
     Then start the main Open vSwitch daemon, telling it to connect to the
     same Unix domain socket:

    -      % ovs-vswitchd unix:/var/run/ovsdb-server
    +      % ovs-vswitchd unix:/usr/local/var/run/ovsdb-server

     Now you may use ovs-vsctl to set up bridges and other Open vSwitch
     features.  For example, to create a bridge named br0 and add ports

INSTALL.Linux does explain how to change the default:

   By default all files are installed under /usr/local.  If you want
   to install into, e.g., /usr and /var instead of /usr/local and
   /usr/local/var, add options as shown here:

      % ./configure --prefix=/usr --localstatedir=/var




More information about the discuss mailing list