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