[ovs-discuss] Using ovsdb-client transaction capability

Reid Price rprice at nicira.com
Sat Feb 16 02:06:51 UTC 2013


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
>



More information about the discuss mailing list