[ovs-discuss] Using ovsdb-client transaction capability

Jereme Lamps lamps1 at illinois.edu
Tue Feb 19 15:30:11 UTC 2013


Okay. So I developed a program that uses obsdb-client to send json commands
to the server. It works fine, but then occasionally when I am trying to
send a command it returns :

{"details":"\"wait\" timed out","error":"timed out"}, and then no commands
will work with the server until I reset it.

Any ideas?

Thank you in advance for your time.
On Sat, Feb 16, 2013 at 9:46 AM, Jereme Lamps <lamps1 at illinois.edu> wrote:

> Hell yeah! Surrounding the json commands with single-quotes did the trick!
> Thanks so much!!
>
>
> On Fri, Feb 15, 2013 at 8:06 PM, Reid Price <rprice at nicira.com> wrote:
>
>> So how did you come up with this transaction?
>>
>> One thing you might want to note
>>
>>   echo [What-You-Have-Below]
>>
>> hangs for me in bash (can't ctrl-C, etc).  Try escaping things
>> properly (add single-quotes perhaps), otherwise you are killing your
>> machine with an absurd shell expansion.
>>
>> For example:
>>
>>   $ echo {1,2}{3,4}
>>   13 14 23 24
>>
>> Taking the first half (625 chars) of your 1225 character expression
>> gives me 56k characters, the full one is much worse.
>>
>> $ echo
>> ["Open_vSwitch",{"rows":[{"bridges":["set",[]]}],"until":"==","where":[["_uuid","==",["uuid","7b733b72-17f7-41c7-9f0a-641686db2dcd"]]],"timeout":0,"op":"wait","table":"Open_vSwitch","columns":["bridges"]},{"uuid-name":"row095f7ccc_ccb9_4c1e_94e8_b304deb6986f","op":"insert","table":"Port","row":{"interfaces":["named-uuid","row3886989c_5708_4eac_bfcb_329b2d5da01c"],"name":"br0"}},{"uuid-name":"row3886989c_5708_4eac_bfcb_329b2d5da01c","op":"insert","table":"Interface","row":{"name":"br0","type":"internal"}},{"uuid-name":"rowcd9eb1b9_090f_4a0e_bd08_bc57ade47441","op":"insert","table":"Bridge","row":{"name":"br0","ports":
>> | wc
>>       1     330   56352
>> $ echo
>> '["Open_vSwitch",{"rows":[{"bridges":["set",[]]}],"until":"==","where":[["_uuid","==",["uuid","7b733b72-17f7-41c7-9f0a-641686db2dcd"]]],"timeout":0,"op":"wait","table":"Open_vSwitch","columns":["bridges"]},{"uuid-name":"row095f7ccc_ccb9_4c1e_94e8_b304deb6986f","op":"insert","table":"Port","row":{"interfaces":["named-uuid","row3886989c_5708_4eac_bfcb_329b2d5da01c"],"name":"br0"}},{"uuid-name":"row3886989c_5708_4eac_bfcb_329b2d5da01c","op":"insert","table":"Interface","row":{"name":"br0","type":"internal"}},{"uuid-name":"rowcd9eb1b9_090f_4a0e_bd08_bc57ade47441","op":"insert","table":"Bridge","row":{"name":"br0","ports":'
>> | wc
>>       1       1     625
>>
>> Hope this helps =)
>>
>>   -Reid
>>
>> On Fri, Feb 15, 2013 at 5:14 PM, Jereme Lamps <lamps1 at illinois.edu>
>> wrote:
>> > sudo strace ovsdb-client -v transact
>> >
>> ["Open_vSwitch",{"rows":[{"bridges":["set",[]]}],"until":"==","where":[["_uuid","==",["uuid","7b733b72-17f7-41c7-9f0a-641686db2dcd"]]],"timeout":0,"op":"wait","table":"Open_vSwitch","columns":["bridges"]},{"uuid-name":"row095f7ccc_ccb9_4c1e_94e8_b304deb6986f","op":"insert","table":"Port","row":{"interfaces":["named-uuid","row3886989c_5708_4eac_bfcb_329b2d5da01c"],"name":"br0"}},{"uuid-name":"row3886989c_5708_4eac_bfcb_329b2d5da01c","op":"insert","table":"Interface","row":{"name":"br0","type":"internal"}},{"uuid-name":"rowcd9eb1b9_090f_4a0e_bd08_bc57ade47441","op":"insert","table":"Bridge","row":{"name":"br0","ports":["named-uuid","row095f7ccc_ccb9_4c1e_94e8_b304deb6986f"]}},{"where":[["_uuid","==",["uuid","7b733b72-17f7-41c7-9f0a-641686db2dcd"]]],"op":"update","table":"Open_vSwitch","row":{"bridges":["named-uuid","rowcd9eb1b9_090f_4a0e_bd08_bc57ade47441"]}},{"mutations":[["next_cfg","+=",1]],"where":[["_uuid","==",["uuid","7b733b72-17f7-41c7-9f0a-641686db2dcd"]]],"op":"mutate","table":"Open_vSwitch"},{"where":[["_uuid","==",["uuid","7b733b72-17f7-41c7-9f0a-641686db2dcd"]]],"op":"select","table":"Open_vSwitch","columns":["next_cfg"]},{"comment":"ovs-vsctl:
>> > ovs-vsctl --verbose add-br br0","op":"comment"}]
>> >
>> > is just freezing. No output whatsoever. Is there a basic transact json
>> > command I can do that will alter the database ?
>> >
>> >
>> > On Fri, Feb 15, 2013 at 7:10 PM, Ben Pfaff <blp at nicira.com> wrote:
>> >>
>> >> You're definitely doing something wrong.  Even "strace true" prints
>> >> tons of output.
>> >>
>> >> On Fri, Feb 15, 2013 at 07:00:27PM -0600, Jereme Lamps wrote:
>> >> > Running strace over the command does not output anything either :(
>> >> >
>> >> > On Fri, Feb 15, 2013 at 6:40 PM, Ben Pfaff <blp at nicira.com> wrote:
>> >> >
>> >> > > Maybe it's trying to connect to a database socket that isn't there?
>> >> > > Try "strace".
>> >> > >
>> >> > > On Fri, Feb 15, 2013 at 06:37:58PM -0600, Jereme Lamps wrote:
>> >> > > > Dang. I tried it on my setup at home and its the same thing. It
>> >> > > > freezes
>> >> > > > when I run
>> >> > > > 'sudo ovsdb-client -v transact [...]'
>> >> > > > It appears that the json is never even being sent, because I have
>> >> > > > the
>> >> > > > server on verbose, and /var/log/syslog is not reporting receiving
>> >> > > anything
>> >> > > > except for its' timed wakeups.
>> >> > > >
>> >> > > > On Fri, Feb 15, 2013 at 5:09 PM, Ben Pfaff <blp at nicira.com>
>> wrote:
>> >> > > >
>> >> > > > > That doesn't make any sense to me.  Sorry, I don't know what to
>> >> > > > > tell
>> >> > > > > you.
>> >> > > > >
>> >> > > > > On Fri, Feb 15, 2013 at 04:03:17PM -0700, Jereme Lamps wrote:
>> >> > > > > > And -v did not output anything.
>> >> > > > > >
>> >> > > > > > On Fri, Feb 15, 2013 at 4:01 PM, Jereme Lamps
>> >> > > > > > <lamps1 at illinois.edu>
>> >> > > > > wrote:
>> >> > > > > >
>> >> > > > > > > Okay, I ran sudo ovsdb-client -v transact [...]
>> >> > > > > > > and it is not hanging now, but after if completes I run
>> >> > > > > > > sudo ovsdb-client dump
>> >> > > > > > > and nothing is changed, all the tables are still empty...
>> >> > > > > > >
>> >> > > > > > >
>> >> > > > > > > On Fri, Feb 15, 2013 at 3:53 PM, Ben Pfaff <blp at nicira.com
>> >
>> >> > > > > > > wrote:
>> >> > > > > > >
>> >> > > > > > >> On Fri, Feb 15, 2013 at 03:49:19PM -0700, Jereme Lamps
>> wrote:
>> >> > > > > > >> > You can see the transact request that is sent. When I
>> try
>> >> > > > > > >> > to
>> >> > > run:
>> >> > > > > > >> > sudo ovsdb-client transact [...]
>> >> > > > > > >> > It just hangs.
>> >> > > > > > >>
>> >> > > > > > >> If you use -v, what do you see?
>> >> > > > > > >>
>> >> > > > > > >> > Would I need to generate my own uuid somehow?
>> >> > > > > > >>
>> >> > > > > > >> No.
>> >> > > > > > >>
>> >> > > > > > >> > Also, do i need to append ',id=some_number' to the end
>> of
>> >> > > > > > >> > the
>> >> > > > > > >> > command?
>> >> > > > > > >>
>> >> > > > > > >> No.
>> >> > > > > > >>
>> >> > > > > > >
>> >> > > > > > >
>> >> > > > >
>> >> > >
>> >
>> >
>> >
>> > _______________________________________________
>> > discuss mailing list
>> > discuss at openvswitch.org
>> > http://openvswitch.org/mailman/listinfo/discuss
>> >
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20130219/0add954c/attachment.html>


More information about the discuss mailing list