14:00:10 <ihrachys> #startmeeting neutron_upgrades 14:00:11 <openstack> Meeting started Thu Dec 7 14:00:10 2017 UTC and is due to finish in 60 minutes. The chair is ihrachys. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:00:12 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 14:00:14 <openstack> The meeting name has been set to 'neutron_upgrades' 14:00:21 <lujinluo> o/ 14:00:24 <annp> hi 14:00:40 <TuanVu> Hi Ihar, Luo, An-san 14:00:53 <ihrachys> hi all 14:01:11 <ihrachys> I just woke up so bear with me :) 14:01:12 <ihrachys> #topic Action items from prev meeting 14:01:27 <ihrachys> "ihrachys to categorize remaining models imports" 14:01:36 <ihrachys> I have something here 14:01:43 <ihrachys> I will post to etherpad, sec 14:03:06 <ihrachys> https://etherpad.openstack.org/p/neutron-remaining-ovo 14:03:21 <lujinluo> nice! 14:03:45 <ihrachys> I tried to classify them by type though it's sometimes not easy 14:04:06 <ihrachys> some classifications are not complete / not detailed 14:04:13 <ihrachys> but I think we can work with it and refine later 14:04:41 <lujinluo> yes, seems we still have some work here 14:04:45 <ihrachys> I also posted some simple conversion patches for tests where it seemed easy enough not to take too much time 14:05:28 <TuanVu> thank you, Ihar 14:05:40 <ihrachys> a lot of those occurrences are not hard to convert. some would require additional work in framework (we should get back to thinking about what to do with joins) 14:05:46 <lujinluo> ack. Will try to pick up one or two from next week 14:06:14 <lujinluo> ^ those simple tests 14:06:24 <ihrachys> ok 14:06:36 <ihrachys> we can look at the list later when looking for more work :) 14:06:54 <ihrachys> that's the only explicit action item we had 14:06:58 <ihrachys> #topic OVO patches 14:07:14 <ihrachys> https://review.openstack.org/#/q/status:open+project:openstack/neutron+branch:master+topic:bp/adopt-oslo-versioned-objects-for-db 14:08:01 <ihrachys> I won't go through those patches with +W, they are primitive and already on their way 14:08:14 <ihrachys> I will just need to rebase / shephard them into merge queue 14:08:49 <lujinluo> ok 14:09:04 <ihrachys> I see we landed floating ip conversion here: https://review.openstack.org/396351 14:09:06 <ihrachys> good 14:09:24 <lujinluo> ;) 14:09:53 <ihrachys> it's interesting that https://review.openstack.org/#/c/525254/ could merge with it without any issue, hm 14:10:00 <ihrachys> I expected a conflict / failure to occur 14:10:09 <ihrachys> I guess it worked just fine... 14:10:32 <ihrachys> ok as for other patches... 14:10:40 <ihrachys> https://review.openstack.org/#/c/521797/ "Use Router OVO in external_net_db" 14:11:34 <hungpv> hi 14:12:03 <ihrachys> hm. if I read it correctly, I think the conversion is not reflecting the logic of current code 14:12:18 <ihrachys> see, when .filter() is chain-called on sqlalchemy query, filters are added 14:12:50 <ihrachys> eh, sorry folks I have a small emergency here, I will be back in 3 mins... :) 14:12:59 <TuanVu> no problem 14:13:02 <lujinluo> ok 14:13:03 <hungpv> ok 14:15:04 <ihrachys> ok I am back :) 14:15:38 <lujinluo> exactly 3 min, lol 14:15:48 <ihrachys> so yeah. in case of objects, one would need to pre-populate a filter dict with all parameters, then call get_objects with all of them 14:16:36 <ihrachys> see in old code, line 203, we apply gw_port_id filter; then later in line 232, we apply tenant_id filter 14:16:55 <ihrachys> then finally in line 238 when calling .count, we apply both filters, executing the query 14:18:01 <ihrachys> but I see the patch fails in unit tests 14:18:09 <ihrachys> so I guess it has some coverage, which is good 14:18:48 <ihrachys> hungpv, do you follow what's wrong there? 14:19:08 <hungpv> yes, i see 14:19:10 <ihrachys> ah well, let me leave some comments there and let's follow through them off band 14:19:40 <hungpv> can you give me some similar case, i'm trying to learn from them 14:20:43 <ihrachys> hungpv, yeah looking, sec 14:22:44 <ihrachys> ok I have it 14:22:50 <ihrachys> https://review.openstack.org/#/c/501925/17/neutron/db/l3_agentschedulers_db.py@375 14:23:05 <ihrachys> see how we build up agent_filters dict there 14:23:24 <ihrachys> if active is not None: ... 14:23:38 <ihrachys> so we collect all parameters to search for, then finally call get_objects 14:23:56 <ihrachys> but we don't call get_objects on each step because results don't chain 14:24:43 <ihrachys> gotcha? if you need some more clarification, we may discuss it off band. ping me in irc. 14:25:02 <ihrachys> in neutron channel after the meeting if you need more details 14:25:56 <ihrachys> ok next patch is https://review.openstack.org/#/c/407868/ "Integration of (Distributed) Port Binding OVO" 14:26:21 <hungpv> ok thank 14:26:21 <ihrachys> lujinluo, I finally got to it yesterday and left some comments. I see you are already on them. 14:26:38 <lujinluo> Yes, and I am preparing for a local patch. Need some time to see if any of the changes break anything 14:28:13 <ihrachys> as for model relationship strategy, we may need someone else to assess whether it makes sense to switch from subquery 14:28:24 <ihrachys> we previously switched to it for a reason 14:28:47 <ihrachys> so let's have an updated patch and then reach out with it to Armando / Anna 14:28:56 <ihrachys> and maybe Kevin, if we can catch him :) 14:29:14 <lujinluo> ack! 14:29:22 <lujinluo> will push latest version tmr 14:30:29 <ihrachys> https://review.openstack.org/#/c/507772/ "Use Network OVO in db_base_plugin" 14:30:37 <ihrachys> all red, probably not ready for prime time 14:30:45 <TuanVu> We’re working on this particular test 14:30:54 <TuanVu> neutron.tests.unit.db.test_db_base_plugin_v2.TestNetworksV2. test_update_network_set_not_shared_multi_tenants_returns_409 14:31:07 <TuanVu> there’s problem with _create_port function 14:31:22 <TuanVu> when debugging the code, we compared value of “tenant_id” between branch “master” and this WIP branch. Somehow, with current branch, “tenant_id” is None, this is root cause of the issue. 14:31:47 <TuanVu> And, we haven’t been able to figure out why it is None yet. 14:32:21 <TuanVu> So ... it would be great if we could have some suggestions from you guys. 14:32:43 <ihrachys> create_port? I don't see where you touch it. 14:32:49 <lujinluo> could you push that version to gerrit first? 14:32:57 <lujinluo> the current one is pretty red 14:33:16 <TuanVu> Hi Luo, yes, this is the latest version 14:33:40 <TuanVu> Hi Ihar, let me specify more 14:33:42 <lujinluo> maybe something with csnat port 14:34:02 <lujinluo> i encountered this in port ovo too 14:34:17 <lujinluo> csnat port's tenant_id is intentionally left as None 14:35:13 <TuanVu> https://review.openstack.org/#/c/507772/9/neutron/tests/unit/db/test_db_base_plugin_v2.py 14:35:22 <TuanVu> line 2691 14:35:59 <TuanVu> it's where the issue is raised 14:36:34 <TuanVu> thank you, Luo 14:36:55 <lujinluo> hmm, seems not to relate to csnat port 14:36:56 <ihrachys> so it's create_network then not create_port? 14:37:01 <TuanVu> I'll have a look at port OVO patch 14:37:23 <TuanVu> yes, create_network, Ihar 14:37:25 <ihrachys> there is one failure in unit tests that is more explict about what happens: 14:37:27 <ihrachys> req = self.new_delete_request('networks', net['network']['id']) 14:37:27 <ihrachys> KeyError: 'network' 14:37:36 <ihrachys> which suggests that net is None 14:38:48 <ihrachys> I now recollect that I was planning to look at the patch but forgot about it 14:38:56 <ihrachys> let me try to get to it today 14:40:37 <ihrachys> I think it should be something trivial, like create_network not returning anything. I will check. 14:41:03 <ihrachys> those are all the code that we have up for review in reviewable state 14:41:41 <ihrachys> #topic Planning remaining work 14:41:54 <ihrachys> so, we have the list of remaining places where models are used 14:42:18 <ihrachys> some objects like Router need a more systematic targeting since we haven't landed a patch to switch them to VOO 14:42:20 <ihrachys> *OVO 14:42:39 <ihrachys> but other places just need small refinements - lots of those in test code but some in plugins too 14:43:27 <ihrachys> how do we want to target the list? voluntarily taking entry by entry when we have spare cycles, putting a name in etherpad to claim it's reserved? 14:45:09 <ihrachys> I guess everyone is cool with that approach 14:45:31 <ihrachys> if you have spare cycles and don't know where to start in the list, I am here to help pick the right one for you :) 14:47:25 <ihrachys> #topic Open discussion 14:47:36 <ihrachys> if you have a topic to discuss, it's the time 14:49:04 <ihrachys> ok now I see people split off me :) 14:49:25 <ihrachys> I will wait a bit before closing the meeting in case someone will be back and has a topic to discuss 14:51:59 <ihrachys> ok I guess freenode has a bad day 14:52:15 <ihrachys> I a lonely tea pot in space 14:52:24 <ihrachys> to whoever reads it, thanks 14:52:26 <ihrachys> #endmeeting