This group is locked. No changes can be made to the group while it is locked.
Re: [Need Help] Arbitrary connection port is part of the node-id
Sharon Aicler
I'm guessing we need the uuid of the OVS to start and create the Operational State.
________________________________________ From: ovsdb-dev-bounces@... [ovsdb-dev-bounces@...] on behalf of Edward Warnicke [hagbard@...] Sent: Wednesday, April 22, 2015 2:58 PM To: Prateek Garg (prategar) Cc: ovsdb-dev@... Subject: Re: [ovsdb-dev] [Need Help] Arbitrary connection port is part of the node-id Prateek, Why are you doing a select? (curious) :) Ed On Wed, Apr 22, 2015 at 2:54 PM, Prateek Garg (prategar) <prategar@...<mailto:prategar@...>> wrote: Hi, While implementing this use case I need some help using the select operation of ovsdb library. I am trying to read the Open_vSwitch table to get the data in external-ids. I am doing the following: OpenVSwitch ovs = TyperUtils.getTypedRowWrapper(dbSchema, OpenVSwitch.class); transaction.add(op.select(ovs.getSchema())); ListenableFuture<List<OperationResult>> results = transaction.execute(); List<OperationResult> resultList = results.get(); I am getting resultList as: [OperationResult [count=0, uuid=null, rows=[Row [columns={}]], error=null, details=null]] Query sent to Ovs db is: ovsdb-client transact '["Open_vSwitch",{"op":"select", "table":"Open_vSwitch", "columns":[],"where": []}]' However, I want to send: ovsdb-client transact '["Open_vSwitch",{"op":"select", "table":"Open_vSwitch", "columns":["external_ids"],"where": []}]' It would be very helpful if someone could provide pointers on how to set column in select operation. Regards Prateek From: Edward Warnicke <hagbard@...<mailto:hagbard@...>> Date: Tuesday, April 21, 2015 at 1:18 PM To: Prateek Garg <prategar@...<mailto:prategar@...>> Cc: "ffernand@...<mailto:ffernand@...>" <ffernand@...<mailto:ffernand@...>>, "ovsdb-dev@...<mailto:ovsdb-dev@...>" <ovsdb-dev@...<mailto:ovsdb-dev@...>> Subject: Re: [ovsdb-dev] Arbitrary connection port is part of the node-id The config/operational synch is best handled a little differently. When you try to config an ovsdb-node to connect... you don't *really* know the systemid... just the IP:port. The way we solved this for bridges, and the way I'd advocate solving it here is: 1) If you are configing a ovsdb-node, write its iid to the external-ids of the openvswitch table 2) When you get an openvswitch table, if it has an iid in its external-ids, use that in the operational data store as its iid 3) If you don't get an iid in its external-ids... use some reasonable heuristic to contruct one. For #3... I don't currently see a reason *not* to use systemid presuming its guaranteed unique and we contruct some kind of reasonable Uri from it. Ed On Tue, Apr 21, 2015 at 1:09 PM, Prateek Garg (prategar) <prategar@...<mailto:prategar@...>> wrote: Hi, In my opinion, the we can replace the node-id of the ovsdb node in md-sal to contain system_id from external properties. This would make sure that the config and operation store are in synch in case the controller reconnects to the same ovs in tcp mode. I’ll make these changes, update postman collection and submit for approval. Regards Prateek ---------------------------------------------------------------------- Date: Mon, 20 Apr 2015 21:28:28 -0700 From: Edward Warnicke <hagbard@...<mailto:hagbard@...>> To: Flavio Fernandes <ffernand@...<mailto:ffernand@...>> Cc: "ovsdb-dev@...<mailto:ovsdb-dev@...>" <ovsdb-dev@...<mailto:ovsdb-dev@...>> Subject: Re: [ovsdb-dev] Arbitrary connection port is part of the node-id Message-ID: <CAFVSqg0kmBcNkGZ50vN-a0TgKswJeRNHVR-1PVvW40ukZuMtYw@...<mailto:CAFVSqg0kmBcNkGZ50vN-a0TgKswJeRNHVR-1PVvW40ukZuMtYw@...>> Content-Type: text/plain; charset="utf-8" Make sure we build in the same mechanism of storing iids in external_ids that we use for bridges so that if someone configures a connection as an ovsdb-node, it comes *back* in operational store with the same iid... Ed On Mon, Apr 20, 2015 at 8:12 PM, Flavio Fernandes <ffernand@...<mailto:ffernand@...>> wrote: On Apr 20, 2015, at 7:12 PM, Sharon Aicler (saichler) <saichler@...<mailto:saichler@...>> wrote: automatically set by the OVS so we can use it out of the box to identify an OVS instance. To see the external ID you can invoke the following cli: ok! ? flavio Thanks,ovsdb-dev-bounces@...<mailto:ovsdb-dev-bounces@...>] on behalf of Sharon Aicler (saichler) Sent: Monday, April 20, 2015 3:41 PMchoose the same arbitrary port...:o) In any case, we can't have the ID of an element arbitrary change all thetime...As a quick and dirty fix, i would drop the port (and the "behind a NAT" scenario) so ovsdb id's would be predictable and not change per connection (it can even change in run-time if there was some network connectivity issue)... each of the managed instances, if one does not exist...a quick googling i found the following cli method: saichler@...<mailto:saichler@...>> wrote: the containers. Then, fromyes and no. ;) I?m used to see docker behind nat on the vm that hosts 'outside' the vm, various ovs instances reached using the same ip, butdifferent ports. Like this: node-id saichler@...<mailto:saichler@...>> wrote:On Apr 16, 2015, at 6:53 PM, Sharon Aicler (saichler) < outgoing connection instance and looks something like the following: and the connection goes down due to some reason, the node-id will changeovsdb://10.156.48.239:39490/bridge/br-ex<http://10.156.48.239:39490/bridge/br-ex> each time the connection is lost or I restart ODL/OVSDB. run two instances of OVS in the same VM?Any reason for this? can't we just use the ip? i don't think you can mostly in a docker environment.Hi Sharon, method) the port is not predictable. When ODL connects to solution to this problem should ideally work on bothan OVS (passive mode), ODL will need to know that port, tho; so the _______________________________________________scenarios._______________________________________________ ovsdb-dev mailing list ovsdb-dev@...<mailto:ovsdb-dev@...> https://lists.opendaylight.org/mailman/listinfo/ovsdb-dev -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.opendaylight.org/pipermail/ovsdb-dev/attachments/20150420/0ac78b3d/attachment-0001.html> |