On 19 September 2016 at 11:33, Ben Pfaff <b...@ovn.org> wrote: > On Mon, Sep 19, 2016 at 11:18:20AM -0700, Guru Shetty wrote: > > On 19 September 2016 at 11:08, Ben Pfaff <b...@ovn.org> wrote: > > > > > On Sun, Sep 18, 2016 at 11:26:52PM -0700, Gurucharan Shetty wrote: > > > > Without initializing the databases, commands of the form > > > > 'ovn-nbctl --wait=sb ls-add ls0' will simply hang. > > > > > > > > Signed-off-by: Gurucharan Shetty <g...@ovn.org> > > > > > > It's better if the separate initialization step is optional. > > > > We do this everytime for OVS in do_start_ovsdb of utilities/ovs-ctl.in > with: > > ovs_vsctl -- init -- set Open_vSwitch . db-version="$schemaver" > > > > Is there a subtlety here? > > Setting the db-version isn't something that happens automatically, but > the ovs-vsctl "init" command is a no-op, literally an empty function, > because do_vsctl() always does what it would do: > > ovs = ovsrec_open_vswitch_first(idl); > if (!ovs) { > /* XXX add verification that table is empty */ > ovs = ovsrec_open_vswitch_insert(txn); > } > > So the first call to ovs-vsctl, regardless of what command it is, should > initialize the database enough for everything else to work. > > It looks to me like ovn-sbctl and ovn-nbctl are the same way. > > (Don't get me wrong, I think it's better if the databases are > initialized explicitly. But I also think it's nice if stuff doesn't > hang if, for example, a database gets blanked out through data loss or > admin mistake.) > > > > I think > > > that ovn-nbctl and ovn-sbctl should be initializing the databases > > > automatically when any command runs, if they are not already > > > initialized; that's what ovs-vsctl does, at least. Is that missing? > > > > > > > It does initialize when a command is run. But no-one runs ovn-sbctl > > commands right (unless for debugging)?. So any ovn-nbctl command that is > > run with --wait=sb will hang. > > I see. > > I think that we can make ovn-northd do the initialization too. It's > pretty trivial: just create an {NB,SB}_Global record if there's none at > the moment. Then if the databases get cleared, the system recovers. > > So: I think that we should initialize the databases, but I also think > that ovn-northd should be capable of it too. >
I think I understand what you are saying. I sent a v2 based on that. > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev