18:15:36 <mmichelson> #startmeeting ovn_community_development_meeting
18:15:37 <openstack> Meeting started Thu Feb 25 18:15:36 2021 UTC and is due to finish in 60 minutes.  The chair is mmichelson. Information about MeetBot at http://wiki.debian.org/MeetBot.
18:15:39 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
18:15:41 <openstack> The meeting name has been set to 'ovn_community_development_meeting'
18:16:17 <blp> I have a report.
18:16:19 <_lore_> hi all
18:16:23 <blp> _lore_: hi!
18:16:28 <mmichelson> go ahead mr blp
18:16:43 <blp> Thank you Mr. mmichelson
18:16:56 <blp> I pushed the DDlog changes last night.
18:17:07 <mmichelson> heck yeah!
18:17:11 <blp> Now, the hard part: keeping up with ovn feature velocity.
18:17:16 <blp> and performance work.
18:17:24 <blp> I suspect that the performance is, initially, not so good.
18:17:34 <blp> But I also have a lot of confidence that Leonid can help me fix that.
18:17:47 <blp> And ultimately I expect it to scale much better than the C-based northd.
18:18:11 <blp> I have the test script that someone (Numan?) provided. I'll start with that.
18:18:25 <mmichelson> Yeah, I'm in the position where I'm having to re-work a patch in progress to make sure that it is handled in both C and DDLog.
18:18:35 <blp> mmichelson: I am available to help.
18:18:39 <mmichelson> But hey, that's what I signed up for.
18:18:47 <numans> blp, cool.
18:18:52 <mmichelson> blp, The changes I'm making are fairly simple, so hopefully I won't need help.
18:19:04 <blp> I think I need to write up some more tips on DDlog.
18:19:15 <blp> There are some "patterns" or "idioms" that I've learned over time.
18:19:23 <blp> Probably, explaingin them would help others to get a head start.
18:19:32 <mmichelson> blp, definitely!
18:20:57 <blp> That is my report. Any questions?
18:20:57 <blp> I have limited time today (only about 10 minutes of my full attention).
18:20:57 <imaximets> blp, it'll be good to have a GHA job to build and test with ddlog.
18:20:57 <imaximets> at least weekly if it takes too much time
18:20:57 <blp> imaximets: Oh, yes. I'll try to work on that.
18:20:58 <blp> I don't think it should take too much time, although more than currently.
18:21:10 <imaximets> ok.
18:21:26 * imaximets has no idea how much time it takes to compile ddlog and stuff.
18:21:40 <blp> A few more minutes than without it.
18:22:09 <imaximets> ok.  What about the toolchain? Is everything available in usual ubuntu repo?
18:22:15 <numans> It would be good to run for all the commits rather than weekly.
18:22:49 <blp> The toolchain needs:
18:22:57 <blp> - Rust. This should be available in Ubuntu.
18:23:14 <blp> - Differential-datalog. This is probably not available in Ubuntu. It depends on:
18:23:29 <blp> - Haskell (ghc). This is probably available in Ubuntu.
18:23:46 <blp> So, we might have to figure out some things.
18:23:51 <blp> I'll see what I can do.
18:24:17 <blp> It would be good to run for all commits, yes.
18:24:48 <mmichelson> We can retrieve ddlog from source rather than relying on a package.
18:24:56 <imaximets> blp, ok.  thanks.  In a worst case we could build all necessary parts and cache them in GHA, so it will not take much time on a second run.
18:25:07 <imaximets> +1 fro running on every commit
18:25:22 <blp> I didn't know that GHA could cache things. Good to know.
18:25:48 <imaximets> we're caching dpdk, you can use that as example.
18:26:02 <blp> Oh, thanks. Examples are great. I am very good at following patterns.
18:26:37 <blp> The differential-datalog repo does publish binaries for its releases, I think. If they're suitable for our use, that could be a valuable shortcut.
18:26:38 <imaximets> * we're caching dpdk in ovs
18:27:11 <mmichelson> blp, would that save us the haskell dependency?
18:27:15 <numans> blp, I've been using the published binaries. I think its a good idea to use that.
18:27:23 <blp> mmichelson: I think so?
18:28:26 <blp> numans: Thanks.
18:29:00 <blp> I've got to hop on a video call in a minute. I'll try to pay a little attention to this window too.
18:29:02 <mmichelson> OK, thanks for that report blp
18:29:14 <mmichelson> I can go next.
18:29:56 <mmichelson> I've been working on fixing an odd issue that was run into by an openstack customer where they are setting up floating IPs on routers, and the floating IPs are not in the subnet handled by that router.
18:30:16 <mmichelson> I have two patches that I have confirmed works for the setup
18:30:26 <mmichelson> But I have had the worst time trying to write a test for it.
18:31:14 <mmichelson> So I'm going to include DDLog changes and try to get that test written.
18:31:53 <mmichelson> And that's all I have to report.
18:33:03 <imaximets> I have a quick update.  May I go next?
18:34:35 <imaximets> I'll take the silence as "yes". :)
18:34:45 <imaximets> I prepared few fixes for the raft code in ovsdb-server:
18:35:24 <imaximets> 1. to report "disconnected" state instead of "cluster member" for a candidate that is already retrying the election
18:35:29 <blp> imaximets: I am so glad that you and others (such as Han) have been maintaining the raft code. I was worried that it would just rot and die if I didn't keep it up.
18:36:12 <imaximets> 2. to reintroduce inactivity probes for raft connections, to avoid big backlogs and unclear state on dead ones.
18:36:36 <imaximets> blp, no problem. :)
18:36:59 <imaximets> Han reviewed these changes.  I'm going to apply after a bit of more testing.
18:37:37 <imaximets> During the testing I found a memory use-after-free in the ovsdb-cs code caused by the idl split from blp.
18:38:03 <imaximets> Patch is available here:
18:38:04 <blp> imaximets: Does the fix to that require a change in the additional ovsdb-cs user in ovn?
18:38:11 <imaximets> #link http://patchwork.ozlabs.org/project/openvswitch/patch/20210223180014.962594-1-i.maximets@ovn.org/
18:38:41 <imaximets> blp, the problem is internal to ovsdb-cs module.
18:38:54 <blp> imaximets: OK, I didn't read it carefully enough to know. Thanks.
18:40:05 <imaximets> blp, it just returns to the user same request_id object that it uses and frees internally and application might use it later.
18:40:42 <blp> OK.
18:40:42 <imaximets> That's it from me.
18:40:47 <mmichelson> OK thanks imaximets
18:41:07 <mmichelson> Does anyone else want to report anything?
18:41:15 <numans> I can go real quick.
18:41:26 <numans> I did some code reviews.
18:42:04 <numans> I submitted a patch to remove the usage of ct.inv in ovn-northd.  Looks like this will be helpful for HWOL'adble nics.
18:42:17 <numans> I have received some comments from zhouhan.
18:42:55 <numans> I have also worked on refactoring the ofctrl code which I'm planning to submit as RFC.
18:43:34 <numans> Actually I've attempted to rewrite the ofctrl flow table management code.  I think the code in ofctrl has become very complicated over the years.
18:43:50 <numans> Fingers crossed if people find it to be Ok :).
18:43:58 <numans> That's it from me.
18:45:12 <mmichelson> numans, yeah that'll be a fun review :)
18:45:17 <mmichelson> Anyone else?
18:45:21 <imaximets> blp, mmichelson: one last thing is that we'll need to move forward the OVS submodule in OVN repo once ovsdb-cs fix accepted to OVS.
18:45:38 <blp> imaximets: +1
18:45:41 <blp> I have a final comment.
18:46:03 <blp> There is *so* much ddlog code in here, and I'm trying to go through it a little bit at a time
18:46:17 <blp> and organize and refactor and add appropriate comments.
18:46:26 <mmichelson> blp +1
18:46:28 <blp> And I'd love to hear from people who look at it and have a hard time understanding it.
18:46:31 <numans> imaximets +1
18:46:35 <numans> blp +1
18:46:37 <blp> Because then I can focus on those parts.
18:47:00 <blp> Some of the worst parts are around tunnel ID allocation and other kinds of allocation.
18:47:11 <blp> There are some new features coming in ddlog that should make that easier.
18:47:22 <blp> and, I hope, easier to understand also.
18:47:45 <blp> end of comment.
18:47:47 <numans> sounds good. I'll email in case I find something which is hard to understand.
18:49:09 <mmichelson> All righty. I'll talk with y'all later. Have a good weekend!
18:49:17 <mmichelson> #endmeeting