17:18:14 <numans> #startmeeting ovn_community_development_discussion 17:18:15 <openstack> Meeting started Thu Aug 20 17:18:14 2020 UTC and is due to finish in 60 minutes. The chair is numans. Information about MeetBot at http://wiki.debian.org/MeetBot. 17:18:16 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 17:18:18 <openstack> The meeting name has been set to 'ovn_community_development_discussion' 17:18:26 <numans> Hello everyone 17:19:03 <numans> I can start. 17:19:48 <numans> This week I worked on persisting the conj ids for the conjunction flows 17:19:58 <flaviof> hi all 17:20:01 <numans> I submitted a patch for that. 17:20:34 <numans> I also worked on the expr caching which is on top of the conj id fix. 17:20:43 <numans> It is almost ready. Need to do some testing. 17:21:18 <numans> With the caching I see a good amount of improvement. With around 80k lflows in my local setup, without caching full recompute takes around 5 seconds 17:21:25 <numans> and with the caching it takes around 2 seconds. 17:21:35 <numans> I'll submit the patches soon. 17:21:46 <zhouhan> sounds great! 17:21:50 <numans> #link https://patchwork.ozlabs.org/project/openvswitch/patch/20200820083912.3240721-1-numans@ovn.org/ 17:22:25 <numans> the patches are right now here - 17:22:27 <numans> #link https://github.com/numansiddique/ovn/commits/lflow_cache_improv/v1/p3 17:22:41 <numans> if someone is interested to take a look. 17:22:53 <numans> I think that's it from me for this week. 17:22:57 <zhouhan> numans: I will take a look, maybe next week 17:23:02 <numans> zhouhan, thanks. 17:23:06 <zhouhan> I can go next 17:24:03 <zhouhan> I worked on ovn-controller flow installation incremental processing, and a bug fix for conjunction combined flows 17:24:03 <numans> sure 17:24:37 <zhouhan> The patch series is almost ready: #link https://github.com/hzhou8/ovn/tree/i-p-flow-install 17:25:15 <numans> cool. 17:25:29 <numans> any improvements you noticed in your testing ? 17:25:33 <zhouhan> In scale test it shows around 50% CPU reduce of ovn-controller. While in perf it shows the ~40% of ofctrl_put() is gone 17:25:50 <numans> that's great. 17:25:50 <zhouhan> The scale is 12k lports 17:26:54 <zhouhan> The data structures were changed a lot, for handling the M:N mapping of lflow <-> desired-flows, which solves the conjunction problem :) 17:28:01 <zhouhan> The last piece I am working on is to solve the "delete and add back" problem for incremental flow installation, because that adds a lot of unnecessary OpenFlow messages. 17:28:25 <zhouhan> I will send the patch after this solved (which is a small optimization) 17:28:39 <numans> zhouhan, delete and add back in the ofctrl.c right ? 17:29:03 <numans> or in lflow.c where we remove the desired flows and then add back when handling I-P changes ? 17:29:25 <zhouhan> numans: yes, there are many situations this happens, e.g. when physical_run() is executed, all the "hc_uuid" flows are deleted first and added back every time. 17:29:54 <zhouhan> numans: not in lflow.c, but in physical.c 17:30:08 <numans> zhouhan, ok. 17:30:16 <numans> sounds good. 17:30:22 <zhouhan> I am falling behind the reviews, will catch up. 17:30:31 <zhouhan> That's is from me 17:30:40 <zhouhan> s/is/it 17:30:52 <numans> zhouhan, need your eye on this one from dumitru - https://patchwork.ozlabs.org/project/openvswitch/patch/1597922284-3341-1-git-send-email-dceara@redhat.com/ 17:30:56 <numans> whenever you get some time. 17:31:04 <zhouhan> numans: ack 17:31:05 <numans> I'll take a look next week. 17:31:22 <numans> thanks. 17:31:42 <numans> flaviof, you have anything sir ? 17:31:57 <flaviof> hey! 17:32:04 <numans> hey! 17:32:08 <flaviof> yes, actually... I just wanted to mention about 2 cool OVN developments from the world of Openstack 17:32:21 <flaviof> 1)Lucas Private Chassis changes merging soon! With that, networking-ovn 17:32:30 <flaviof> in neutron uses the Chassis_Private table -- when available -- for coordinating nb_cfg with chassis and northd. Big boost! 17:32:38 <numans> nice 17:32:44 <flaviof> #link https://review.opendev.org/#/c/707626/ Use the Chassis_Private table for agents healthcheck 17:32:44 <flaviof> #link https://github.com/flavio-fernandes/ovn/commit/4adc10f58127e45b5883f2e7cb1c702720b95043 the ovn changes to support it ^^ 17:33:17 <flaviof> 2)Port forwarding feature merged for "V" release. Actually there is just one Gerrit change 17:33:25 <flaviof> left, which has already been reviewed. OVN load balancers are the core functionality for that feature. 17:33:39 <flaviof> #link https://review.opendev.org/#/q/topic:ovn/port_forwarding+(status:open+OR+status:merged) OVN port forwarding 17:33:52 <flaviof> Thank you all for the help with these! And that is all from me. 17:35:41 <numans> because of which for the cluster db, the upgrade_cluster is never called 17:35:49 <numans> flaviof, that's great. Thanks for the update. 17:35:49 <numans> I have one question regarding the run_nb/sb_ovsdb commands in ovn-ctl script. 17:35:49 <numans> Right now these variants "exec" ovsdb-server and run in foreground. 17:36:03 <numans> any comments on how can we address this ? 17:36:15 <numans> zhouhan, ^ if you have any comments. 17:36:43 <zhouhan> numans: I'm not sure what's the issue? 17:37:01 <numans> zhouhan, when the ovn dbs get upgraded 17:37:17 <numans> zhouhan, and when CMS restarts the raft ovsdb cluster 17:37:23 <numans> using ovn_nb_ovsdb and ovn_sb_ovsdb 17:37:35 <numans> the dbs never gets upraded to the latest schema 17:38:05 <numans> unless CMS runs the ovsdb-client convert command itself to upgrade the dbs. 17:38:28 <numans> zhouhan, my question is it better to handle this in the ovn-ctl script ? or let CMS handle it ? 17:38:30 <zhouhan> Oh, I never noticed this problem. Is it a bug? 17:38:52 <numans> zhouhan, you will not see this issue if you ovn-ctl start_northd/start_nb_ovsdb 17:39:06 <numans> zhouhan, you would see only if you use run_nb/sb_ovsdb. 17:39:07 <zhouhan> I remember the ovn-ctl scripts always upgrade DBs (and also makes a backup) 17:39:26 <zhouhan> numans: Oh, I see. 17:39:35 <numans> https://github.com/ovn-org/ovn/blob/master/utilities/ovn-ctl#L299 17:39:48 <numans> this code never gets executed as ovsdb-server is exec'd 17:40:19 <numans> zhouhan, I thought of handling this by running ovsdb-server in background and then call "wait <pid> at the end 17:41:09 <numans> if ovn-ctl can't solve it, CMS scripts needs to handle the db upgrades. 17:42:22 <numans> May be I'll propose a patch to fix it in ovn-ctl and we can discuss it over there. 17:42:41 <zhouhan> numans: run_xxx and start_xxx both calls start_ovsdb__(), why one works and the other doesn't? 17:43:00 <numans> zhouhan, because run_xxx doesn't daemonize ovsdb-server 17:43:19 <zhouhan> numans: yes, a patch would be good. I need more time to understand the details :) 17:43:39 <numans> zhouhan, sure. I'll send a patch. 17:43:41 <numans> Thanks. 17:43:43 <zhouhan> why demonization is impacting the upgrading behavior 17:44:07 <zhouhan> (I will check offline) 17:44:08 <numans> zhouhan, daemonization works fine. 17:44:37 <numans> zhouhan, run_xxx doesn't daemonize and hence ""$@" "$file" at L291 returns only after ovsdb-server exits 17:45:03 <zhouhan> numans: Ah, I see 17:45:23 <numans> actually we use "exec ovsdb-server" so it never returns 17:45:34 <numans> Ok. we can discuss over ML. 17:46:23 <numans> Anyone else ? 17:47:57 <zhouhan> Haven't heard from blp and Leonid for DDLog 17:47:57 <numans> Ok. I think we can end the meeting. 17:48:09 <numans> zhouhan, oops sorry. 17:48:11 <numans> go ahead 17:48:14 <zhouhan> I wonder what's the status 17:48:26 <numans> yeah. Me too. 17:48:32 <flaviof> +1 17:48:40 <zhouhan> Shall we post a thread in ML 17:48:48 <numans> +1 17:48:57 <numans> sounds good to me. 17:49:11 <zhouhan> Ok, I'll send one, and hopefully we can get some plan moving forward 17:50:47 <zhouhan> numans: I think we can end the meeting now :) 17:50:57 <numans> Thanks. 17:50:57 <numans> Bye 17:51:02 <zhouhan> bye 17:51:07 <numans> #endmeeting