14:03:05 #startmeeting neutron_upgrades 14:03:05 Meeting started Thu Jan 18 14:03:05 2018 UTC and is due to finish in 60 minutes. The chair is ihrachys. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:03:06 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 14:03:08 The meeting name has been set to 'neutron_upgrades' 14:03:14 hey! 14:03:36 o/ 14:03:42 Hi 14:03:46 hi Ihar 14:03:49 hi Luo 14:04:27 https://review.openstack.org/#/q/status:open+project:openstack/neutron+branch:master+topic:bp/adopt-oslo-versioned-objects-for-db 14:04:48 before we go through patches on review, I wonder why port binding one - https://review.openstack.org/#/c/407868/ - is still not in 14:05:02 ok now some timeouts in grenade 14:05:11 yeah.. 14:05:15 that's kinda concerning that we can't get it in. is there maybe some bug or smth. 14:05:41 that's what worrying me. maybe i should at lease rebase it? 14:05:53 ah no seems like most latest failures are known. the last timeout on grenade is new to me but it doesn't surprise me. 14:06:15 there is something infra is doing these days that make landing patches impossible. restarting zuul etc. 14:06:23 rebase does nothing 14:06:35 because zuul merges your tree with latest master before testing it out 14:06:44 and if it will fail to merge, it will say so 14:06:53 i see. then maybe recheck again to see if we are blessed this time? 14:07:33 so re: latest grenade failure: 14:07:34 2018-01-18 03:48:28.179626 | primary | 2018-01-18 03:48:28.179 | Running base stack.sh 14:07:34 2018-01-18 06:31:50.469578 | primary | /home/zuul/workspace/devstack-gate/functions.sh: line 976: 9348 Killed timeout -s 9 ${REMAINING_TIME}m bash -c "source $WORKSPACE/devstack-gate/functions.sh && $cmd" 14:07:45 so it started to deploy stack and failed right there 14:07:54 didn't even get to tests or upgrade 14:08:04 so it definitely is not about your patch 14:08:10 because it never rolled in new code 14:08:21 yeah let me recheck 14:08:34 understood. thanks! 14:08:46 but yeah that's sad 14:09:02 anyway. looking at patches up for review now. 14:09:13 https://review.openstack.org/#/c/506037/ "Part II of Integrate Port OVO" 14:09:23 I noticed you respinned it 14:09:30 is it ready for review now? 14:10:14 i just checked the failed tests. they are still related to the transition but review would be helpful atm 14:10:17 there are some failures in api tests, and traces here: http://logs.openstack.org/37/506037/15/check/neutron-tempest-plugin-api/2b646cb/logs/screen-q-svc.txt.gz?level=WARNING 14:10:27 ok I will eye ball it 14:10:48 thanks ;) 14:11:45 then we have https://review.openstack.org/#/c/507772/ "Use Network OVO in db_base_plugin" 14:12:12 The good news is: “All the functional tests have been passed” 14:12:21 We’re working on 12 remaining failed unit tests 14:12:41 yeah, I see you reduced the number of failures a lot! 14:12:50 thank you, Ihar :) 14:13:25 thanks to the great support from you and Slawek 14:14:08 drop me another email or ping me in irc when those are fixed 14:14:53 ok, next is https://review.openstack.org/#/c/521797/ "Use Router OVO in external_net_db" 14:15:15 thank you, sure 14:16:18 Hi Ihar, I restored the previous logic and add a UT for it 14:16:18 I think it was close to completion the last time 14:17:42 I see. maybe you reverted a bit too much. for example, consolidating arguments - projects and new_project - into a single one 14:17:50 I will walk through the patch again today 14:18:36 The problem here that I haven't figured out an effective way to blend them 14:18:59 If possible, please leave some suggestions 14:19:08 hungpv_, isn't just having a single list of all of them and passing it to ~ query operator do the same as we do now? 14:19:55 what query does is first look for objects with project_id not in 'projects' 14:20:08 then it also filters out anything with 'new_project' 14:20:31 I don't get why we can't just filter out projects + new_project in the first step and avoid the second one 14:20:55 ihrachys: AFAIK, projects is db record and new_project is uuid. How we can consolidate them in a list? 14:21:45 no 'projects' are just list or set of strings 14:21:49 (list) 14:22:02 at least if you restore: 14:22:02 tenants_with_entries = [tenants_with_entry[0] 14:22:03 for tenants_with_entry 14:22:03 in tenants_with_entries] 14:22:26 neutron doesn't even have a model for projects in its database 14:23:18 https://review.openstack.org/#/c/521797/23/neutron/db/external_net_db.py 14:23:50 L234 in new code not return that result is not .all() 14:24:06 s/is not/if not 14:24:38 hoangcx_, well, do .all() (that's same as the tenants_with_entries calculation above) 14:26:04 ihrachys: https://review.openstack.org/#/c/521797/23/neutron/objects/router.py 14:26:10 I will have a look. I want to play with the UT you added to see if it triggers all the code we touch. 14:26:30 you mean L221 -L222 need a for loop above? 14:26:45 hoangcx_, no you had it in PS21 14:26:48 https://review.openstack.org/#/c/521797/21..23/neutron/db/external_net_db.py 14:26:55 see to the left, line 236 14:27:14 you were extracting project_id strings from query, then passing them as a list of strings into OVO method 14:27:19 which is the right way to do 14:27:50 ihrachys: yeah 14:28:05 currently you pass a query object there instead, which is not great for isolation of concerns between sqlalchemy and OVO layers. OVO layer shouldn't accept, or return, anything related to SQLAlchemy 14:28:12 you had it correct in PS21 14:28:21 ihrachys: then in OVO method https://review.openstack.org/#/c/521797/23/neutron/objects/router.py 14:28:56 We need check for all item in list of consolidated projects? 14:29:05 then in OVO method, you just do lines 218-222 and you don't need lines 223-225 14:29:11 because new_project is already in projects 14:29:59 the problem here is that how L222 work with that? 14:30:21 what's about 222 14:30:44 it takes a list of project_id strings in and it filters out all db models that have any of those project_ids 14:30:48 ~ means NOT 14:31:22 But in original code it is not a strings 14:31:39 You can set a break point to see that. 14:31:41 So we can keep that query and just add new_project to list of projects? 14:32:18 sure. because it constructs a query in a single place. but you now have two places where queries happen, and we better not pass queries across the boundary 14:32:32 yes, add new_project to the list 14:32:38 you already had it! 14:33:07 in PS21 14:33:20 anyway, I think we should wrap up and move on. I will comment on the patch later. 14:33:35 ++ 14:33:51 ok next is https://review.openstack.org/#/c/530182/ "Use Router OVO in l3_db" 14:34:43 I walked through it yesterday, left some comments, most of them basically are - 'there are more occurrences of using db models in the module, some added as part of this patch, and we should expand the patch to remove them too' 14:35:06 agree 14:35:06 I have also looked this patch today and it seems not ready in general at the moment. 14:35:14 there are also some logical issues there 14:35:18 yeah, it needs more work 14:35:54 The purpose of our work it to convert current direct db query to use OVO. But the patch seems not 14:36:47 it did some progress but left a lot of things intact, so now it passes .db_obj around etc. Which shouldn't happen except in some specific places where we interact with existing extensions / plugins / callbacks 14:37:04 and even that should eventually change 14:37:41 ok moving on 14:37:55 https://review.openstack.org/529551 "Use Router OVO in metering_db" 14:38:14 I see this patch has a long history 14:38:20 we even +W it at some point 14:38:36 This patch just need re-approval 14:39:13 does it depend on some other patch? 14:39:17 Yes, but nothing changed from +W 14:39:27 No, it doesn't 14:39:48 I made a mistake and now it's corrected 14:39:54 ok you just detached it 14:40:03 great 14:40:28 Yes, I think it can be safely merged 14:40:39 ok I pushed it in gate 14:40:41 thanks! 14:41:00 Thank you! 14:41:01 ++ 14:41:04 other patches in review queue seem to be not ready 14:42:27 any other patches to look through? 14:42:38 or topics to discuss? 14:42:50 none from me 14:43:16 No for me 14:43:38 ok good. 14:43:46 we can continue in gerrit 14:43:59 thanks for joining, you can have your 17 minutes back. enjoy the evening! 14:44:07 #endmeeting