14:00:31 <lujinluo> #startmeeting neutron_upgrades
14:00:31 <openstack> Meeting started Thu Apr 19 14:00:31 2018 UTC and is due to finish in 60 minutes.  The chair is lujinluo. Information about MeetBot at http://wiki.debian.org/MeetBot.
14:00:32 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
14:00:35 <openstack> The meeting name has been set to 'neutron_upgrades'
14:00:39 <mlavalle> o/
14:00:41 <lujinluo> o/
14:01:11 <ihar> o/
14:01:55 <lujinluo> not sure if ihar gets time to check the comments already
14:02:13 <TuanVu> Hi mlavalle
14:02:16 <TuanVu> Hi Ihar
14:02:17 <mlavalle> admitedly my concern my be unwarranted
14:02:22 <TuanVu> Hi Luo-san
14:02:27 <mlavalle> hey TuanVu
14:02:36 <lujinluo> hey TuanVu !
14:02:58 <ihar> mlavalle: I saw point on more comments needed. agreed.
14:03:06 <lujinluo> but i agree that, we may need more comments to help future readers
14:03:13 <ihar> I won't be able to get to this patch till Monday though so that's a bummer.
14:04:57 <lujinluo> ok, i will try to put some comments but i need your review/double check just in case i misunderstand anything
14:04:57 <ihar> I see there is another comment there not just about comments though
14:05:41 <ihar> mlavalle: I didn't have a chance to think about it. how critical is the weak ref comment? is there a chance for getting this in with the caveat I will follow up on Monday?
14:06:49 <mlavalle> ihar: yeah, as long as we answer to ourselves the question soon and feel comfortable that we are not get in trouble, I am fine
14:07:12 <mlavalle> so maybe let's revise the patch with comments, get it in
14:07:13 <ihar> ok. I will put it in my list to follow up.
14:07:36 <mlavalle> and then work next week on the weakreference concern
14:07:41 <mlavalle> does that work?
14:07:54 <ihar> if lujinluo is able to handle the comments part, sure
14:08:15 <mlavalle> do you want to do that lujinluo?
14:08:34 <lujinluo> i can help with the comments but maybe not weakreference
14:08:58 <mlavalle> I will help. it is a good exercise for you and me lujinluo. We better get very familiar with this piece of coe :-)
14:08:59 <ihar> yeah not weak ref. I will need to take a look into it but seems from the comment it's a legit thing.
14:09:12 <ihar> yes you better are, it's as you said esoteric
14:09:17 <lujinluo> mlavalle: exactly ;)
14:09:56 <mlavalle> cool!
14:10:10 <lujinluo> #actionitem mlavalle and lujinluo help with the comments in auto expire fk patch
14:10:23 <ihar> lujinluo: it's #action btw
14:10:38 <lujinluo> thanks, i was wondering why the magic did not happen
14:10:46 <mlavalle> LOL
14:10:54 <lujinluo> #action mlavalle and lujinluo help with the comments in auto expire fk patch
14:11:51 <lujinluo> ok, anyway.. next one is the auto detect old and new engine facade https://review.openstack.org/#/c/553617/17
14:12:28 <lujinluo> i understand that we need the former patch before get this one in, but it is worth to mention the status
14:12:55 <ihar> yeah, it's good to go, just need to nudge the base one
14:13:11 <lujinluo> \o/
14:13:24 <lujinluo> #topic OVO
14:14:00 <lujinluo> first one is new https://review.openstack.org/#/c/562489/
14:14:15 <ihar> CI so green, I can't stop being amazed
14:14:25 <lujinluo> i think TuanVu is trying to tackle joins here
14:14:34 <TuanVu> yes
14:15:00 <TuanVu> if there's any concern, please feel free to let me know
14:15:00 <lujinluo> wow, yeah, all green. so good for our eyes
14:15:24 <lujinluo> ihar: i actually have a concern of the way we deal with joins
14:15:42 <ihar> ok this patch moved the code but it didn't solve the issue that we pass sqlalchemy queries around
14:15:47 <lujinluo> previously we just moved all the methods to object
14:15:52 <ihar> which should not be the way we interact with ovo objects
14:16:01 <lujinluo> yes, i think eventually we need a way to deal with joins
14:17:04 <lujinluo> i mean, we can rewrite all the joins with get_object and filter in python, but do you prefer if we can have something like join_object()? ihar
14:17:31 <ihar> in this particular case, why not adding a new extra filter called 'service_type' and handle it accordingly in ovo?
14:18:08 <lujinluo> no, i mean. if we do not limit to this particular case
14:18:19 <lujinluo> because most of the remaining work is about joins
14:18:59 <ihar> lujinluo: we already have get_object[s] as a common interface. it would be nice if we can stick to it, just expand it for the Subnet class to support a new extra filter for service_type. Then you could just Subnet.get_objects(context, network_id=nid, service_type=service_type) and not care about implementation complexity
14:20:01 <ihar> in general, I would recommend expanding standard interfaces like get_object[s] to support additional filters (of course it requires some if/else branching in their implementations depending on which filters are passed).
14:20:28 <ihar> we may add custom getters like get_subnets_by_service_type(...) if it seems hard to achieve right now
14:21:03 <ihar> but we should never have any part of sqlalchemy interfaces / types be exposed (so no queries passed around as arguments, or models returned from ovo methods)
14:21:04 <mlavalle> is the corllary that at this point you see the OVO interface as stable and the rest of the work should happen underneath?
14:21:55 <ihar> mlavalle: more or less, I think what we have is a good interface that we should try not to expand with custom methods without clear reason.
14:22:04 <lujinluo> ok, so you would prefer that we manipulate with get_object(s)
14:22:23 <mlavalle> ihar: that's good insight. thanks
14:22:24 <ihar> thing is, if some other plugin wants to use ovo objects and needs to filter by service_type, what should they do?
14:22:51 <ihar> supposedly we are moving base interface into neutron-lib and, as per late boden's patch, provide a registry to get objects from
14:23:02 <mlavalle> yeap
14:23:34 <ihar> but all the external plugins know about objects received from the registry is that they all have standard methods like get_object[s] or update. there is no way for them to learn that there is get_subnets_by_service_type too.
14:24:13 <ihar> if we implement it the right away with standard interfaces, plugins will be able to transparently request the needed filters without caring about db table structures.
14:24:28 <mlavalle> exactly
14:24:36 <lujinluo> yeah, so we have to add extra filters to get_object() not extra methods
14:24:40 <ihar> lujinluo: yes I would prefer get_object[s], and I strongly disagree with passing queries as arguments
14:24:49 <lujinluo> agree
14:25:20 <ihar> lujinluo: yes, that would be ideal. unless of course we have a good reason for a custom method. (like it's too hard to do it; then we may get back to it later)
14:27:00 <ihar> I left a comment along these lines
14:27:18 <lujinluo> i see. i was testing a local patch with 3 tables joins
14:28:01 <TuanVu> thanks for the comment, Ihar
14:28:02 <lujinluo> so with that being said, i should revise corresponding get_object(s)
14:28:12 <ihar> now, I don't disagree that making joins work through standard interfaces is quite an undertaking.
14:28:44 <ihar> but we should try it. maybe once we actually try it, we learn something that would defeat all I just said.
14:28:56 <ihar> but unless we try on a patch or two, we don't know
14:29:03 <lujinluo> got it
14:29:26 <ihar> TuanVu: does it make sense?
14:29:34 <TuanVu> yes, I agree
14:29:54 <mlavalle> in other words, let's force ourselvers to find a good reason to change the current API
14:30:26 <lujinluo> ++
14:31:01 <lujinluo> ok, next one  https://review.openstack.org/#/c/507772/
14:31:58 <ihar> I see rebase helped with InvalidRequestError, that's good.
14:32:06 <ihar> still a failure with query count though.
14:32:07 <TuanVu> as I mentioned on Gerrit, there's still problem with "duplicated queries" for "networksecuritybindings" and "externalnetworks"
14:32:19 <TuanVu> yes
14:33:09 <ihar> I don't have a good answer except that I can look into it on Monday
14:33:24 <TuanVu> thank you in advance, Ihar :)
14:34:19 <lujinluo> i think i have the same issue with port. so i need to double check tmr or later too
14:34:36 <lujinluo> next is segment https://review.openstack.org/#/c/559414/
14:35:27 <hongbin_> o/
14:35:44 <lujinluo> wow, hi hongbin_ i did not expect you would be here
14:35:54 <mlavalle> he is everywhere
14:36:00 <hongbin_> ^^
14:36:01 <lujinluo> LOL
14:36:07 <mlavalle> omnipresent
14:36:19 <ihar> ack, +2
14:36:35 <ihar> man, this green ci is amazing
14:36:43 <lujinluo> but i think we need to wait for the fk patch before +w, right?
14:37:01 <ihar> we can +w whenever we like as long as it's depends-on (which it is)
14:37:10 <ihar> zuul will not merge it until all dependencies are met
14:37:27 <lujinluo> understood!
14:37:54 <lujinluo> next one https://review.openstack.org/#/c/561834/
14:38:23 <lujinluo> i think it needs some more work wrt joins
14:38:35 <TuanVu> yes
14:38:38 <ihar> yes it's the same issues as discussed above
14:38:40 <TuanVu> as above discussion
14:39:17 <lujinluo> ok, the next two patches are mine.. and i apologize for not being able to work on them last week
14:39:57 <lujinluo> i will respin them before our next meeting
14:40:36 <ihar> ok. afair we wanted to base port stuff on mlavalle's multiple port bindings rfe implementation
14:40:58 <mlavalle> yeap
14:41:00 <lujinluo> yes, but it seems mlavalle 's patch is in merge conflict
14:41:04 <ihar> so it requires quite some work I suspect
14:41:10 <mlavalle> lujinluo: I'll fix it
14:41:23 <lujinluo> thanks, i will rebase once it is ready
14:41:29 <mlavalle> :-)
14:41:40 <lujinluo> ok, that's all for ovo
14:41:46 <ihar> mlavalle: please do! that rfe is one of things I promised to get to done before I move to other places. :)
14:41:46 <lujinluo> #topic open discussion
14:42:16 <mlavalle> ihar: thanks. I think we can merge it soon
14:42:18 <lujinluo> ihar: ohh, you just reminded us of some heart-breaking stuff
14:42:47 <lujinluo> tha you are moving to other places ;(
14:42:51 <lujinluo> that*
14:42:58 <ihar> to the topic of open discussion, I have nothing specific to discuss
14:43:17 <mlavalle> I just one to mention one thing
14:43:38 <mlavalle> This past Monday I added a topic to the Neutron weekly meeting on OVO backlog
14:44:09 <lujinluo> thank you!
14:44:15 <mlavalle> I mentioned it during the meeting and I will continue doing so every week
14:44:28 <TuanVu> thank you very much, mlavalle
14:44:29 <mlavalle> so people can see the backlog and help if they have bandwidth
14:44:30 <lujinluo> is it why we are having hongbin_ here ? lol
14:44:50 <hungpv_> 😂
14:44:55 <mlavalle> no, as I said, hongbin_ is omnipresent
14:45:13 <mlavalle> \it doesn't have to do with any of my efforts
14:45:18 <lujinluo> LOL, i see. but this is really appreciated anyway
14:45:23 <TuanVu> yeah
14:45:49 <TuanVu> it would be great if there's more people working on remaining OVO parts
14:46:17 <ihar> yeah btw one thing to mention in this venue
14:46:35 <ihar> I already mentioned it passing above but to make sure everyone is on the same page
14:46:53 <ihar> we merged boden's patch https://review.openstack.org/#/c/553838/ that adds OVO registry
14:47:33 <ihar> tl;dr projects (incl. neutron) will register their objects and then other subprojects will be able to get classes from this registry by name.
14:47:45 <ihar> so we get rid of module import dependency between two
14:48:03 <lujinluo> nice
14:48:28 <ihar> it's new thing, not released yet, but I believe boden will follow up with adoption once it is
14:48:41 <TuanVu> thanks for this info, Ihar
14:49:01 <lujinluo> need to take closer look to follow
14:49:12 <mlavalle> we will release neutron-lib next week
14:49:21 <ihar> this is partially the reason why I am more concerned about custom methods now because we are going big league now, officially exposing ovo as part of neutron interfaces.
14:49:22 <mlavalle> it will be included in that release
14:49:46 <ihar> and plugins may start catching up to this interface more now
14:50:13 <ihar> (so far we had just a bunch that use ovo in any capacity)
14:50:27 <lujinluo> yeah, i will keep that in mind too. need to consider more
14:50:56 <ihar> ok that's all I have
14:51:07 <lujinluo> thanks!
14:51:12 <mlavalle> o/
14:51:22 <lujinluo> dose anyone have anything else?
14:51:30 <TuanVu> thank you, Ihar :)
14:51:34 <lujinluo> if not, we can call it a day!
14:51:52 <ihar> it seems like we can indeed
14:51:53 <hungpv_> Good night you ak
14:51:55 <ihar> o/
14:51:59 <lujinluo> #endmeeting