15:02:13 #startmeeting neutron_upgrades 15:02:13 Meeting started Mon Jun 20 15:02:13 2016 UTC and is due to finish in 60 minutes. The chair is ihrachys. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:02:15 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:02:17 The meeting name has been set to 'neutron_upgrades' 15:02:19 hello everyone! 15:02:19 hi 15:02:30 g'morning yall 15:02:43 * ihrachys waves at rossella_s 15:02:50 hi all! 15:03:01 #link https://wiki.openstack.org/wiki/Meetings/Neutron-Upgrades-Subteam Agenda 15:03:08 #topic Actions from the last meeting 15:03:15 "ihrachys to clean up agenda page" 15:03:37 I think I did it. Left just a stub with no references to patches since gerrit apparently is a better tool to track patches :) 15:03:48 :D 15:03:49 it's now quite bare, but that's ok 15:04:13 "rossella_s to come up with specific list of TODOs for port object" 15:04:31 ihrachys, I put that in the commit message 15:04:36 rossella_s: link? 15:04:52 https://review.openstack.org/#/c/253641/ 15:05:37 mm, great. I will take a look. 15:05:41 ihrachys, tests are currently failing...I don't think it's hard to fix them though...they are failing because something has changed after rebading 15:05:45 *rebasing 15:06:19 rossella_s: unless you get to that till next week, I plan to take it over from you next Mon. does it sound ok? 15:06:51 ihrachys, perfect 15:06:54 * ihrachys will be mostly unavailable this week due to visas and PTOs 15:07:15 ihrachys, this week I will be mostly unavailable too...due to the opnfv summit 15:07:26 rossella_s: have fun :) 15:07:28 "ihrachys to come up with a plan for getting dvr grenade multinode voting" 15:07:41 that did NOT happen, even though I actually started looking at it today. 15:07:57 I hope to come up with some plan, at least in my mind, tomorrow 15:08:13 "ihrachys to send a bi-weekly to openstack-dev@" 15:08:20 that DID happen, though very late 15:08:28 I spotted that I haven't done it today only 15:08:36 #link http://lists.openstack.org/pipermail/openstack-dev/2016-June/097750.html the report 15:08:51 ihrachys, nice :) 15:09:20 thanks 15:09:26 and that's the end of action items 15:09:49 #topic Announcements 15:10:13 I don't have much, except that there will be a mid cycle meetup and some of us may meet there 15:10:22 I actually go there if I get visa in time 15:10:27 anyone else going? 15:10:30 o/ 15:10:44 I will know in a week or two 15:11:12 the same for me. i need to clarify this 15:11:52 cool 15:11:56 #topic Partial Multinode Grenade 15:12:14 as I mentioned, not much happened there because I am a slacker 15:12:32 one thing to note is a governance change that affected *aas assert:supports-rolling-upgrade tagging 15:12:49 #link https://review.openstack.org/#/c/323522/ 15:13:13 the change effectively removed the tag, as long as supports-upgrade tag, from all *aas repos 15:13:22 that's because there are no grenade jobs for those repos whatsoever 15:13:41 but there is no technical change, just a reflection of reality 15:14:02 #topic Object implementation 15:14:38 most of the patches currently in review are mentioned in the email I sent today, so I won't repeat myself 15:14:40 rossella_s, can you take a look at: https://review.openstack.org/#/c/326477/10 DNSNameServer patch 15:14:43 #link http://lists.openstack.org/pipermail/openstack-dev/2016-June/097750.html 15:15:19 I think the most critical bits right now is subnet adoption, that should prove objects are applicable for core resources 15:15:24 korzen, will do but probably tomorrow 15:15:48 apart from that, we obviously want to land smaller objects like DNSNameServer 15:16:13 and another critical direction is port and all related objects (like security groups that slunkad_ is working on) 15:16:27 I think sec groups are ready except a missing unit test for is_default field. 15:16:48 ihrachys: yes I should be able to push that by tomorrow 15:17:07 slunkad_: great. I hope we will land it then and then port object will be mostly unblocked 15:17:15 though there are other tests which are failing too 15:17:17 slunkad_: thanks for pushing it 15:17:29 slunkad_, thanks! 15:17:38 for subnet patch, I have 25 unit tests to be fixed and need to look at functional and API tests 15:18:04 korzen: do you have estimates considering your current load with other tasks? 15:18:47 currently subnet patch is my P1 so I would like to finish this by EOW 15:19:44 oh great. I will get to it with reviews on Monday. 15:20:05 I would need to spin a new patch for create_subnet patch, to see if Subnet object is OK 15:20:23 but I'm working hard to get this done ;) 15:20:55 one general thing to note is: kevinbenton was asking whether we have any devref page that describes all the 'boilerplate' that we have in the base class (fields_no_update, fields_need_translation, db_model, synthetic_fields, ...) for other neutron devs. 15:21:18 ihrachys, it's a good point we should do that 15:21:27 I think we promised to the community before that while we won't follow thru with a spec, we will need to produce some devref docs as part of the effort. 15:21:46 so, we have that action item on the plate. do we have volunteers? :) 15:21:51 I guess that base class has some comments 15:22:13 there is versionedobject dev documentation already, do you mean neutron-specific? 15:22:27 korzen: right. but apparently it's not enough, it would be probably wise to cover base pieces that we consider part of public API for objects to be described in laymen's terms. 15:22:49 johndperkins: yes. we have a lot of things implemented in base neutron class that are not part of the library. 15:23:23 korzen: once we have it in devref, we can actually expand the documentation right away while landing more base class features. 15:23:30 ihrachys: I noticed, like how we don't import all the objects in objects/__init__.py as instructed 15:23:41 but perhaps that was an oversight 15:23:46 johndperkins: yeah, testing interface is also of interest. 15:24:18 so, that's a huge piece to swallow. anyone brave? :) 15:24:26 I can spin a patch 15:24:36 korzen: you win the prize! 15:24:58 if it is not a money or beer I do not want it ;) 15:25:07 #action korzen to spin up a devref patch describing base neutron object class features, testing interface, tips&tricks, etc. 15:25:22 korzen: no, the action item! 15:25:28 :( 15:25:31 :D 15:26:18 action items are adorable also 15:26:23 apart from those things already discussed, I don't have anything for objects. anything of particular interest for the team that I am not aware? 15:27:01 any news from new features adopting OVOs? 15:27:20 I'm working on routers but hitting duplicate errors 15:27:28 I could use some expert eyes 15:27:28 korzen: nope. I've heard from carl_baldwin in the email thread for the prev weekly update, but nothing actionable in gerrit. 15:27:41 johndperkins: link to the patch CI run? 15:27:58 https://review.openstack.org/#/c/307964/ 15:28:22 and low-priority PS on OVO itself: https://review.openstack.org/#/c/329742/ 15:28:24 well like I mentioned earlier even for the sec groups we have a lot of unit tests failing with foreign key contraints...anyone familiar with those? 15:29:13 johndperkins: "ObjectFieldInvalid: Field destination of RouterRoute is not an instance of Field" is that the one? 15:29:20 no, I'm past that 15:29:27 oh sorry I think I am wrong. they just seem to have passed! 15:29:45 It's "Failed to create a duplicate RouterPort..." now 15:30:08 johndperkins, without the logs it's hard to detect the problem 15:30:25 true, I'll push 15:30:25 slunkad_, if foreign keys are missing, you need to create the missing entity that object is referring to, or add mock somewhere 15:30:46 johndperkins, anyway maybe you are using some key that it's the same value for 2 different object? 15:31:00 johndperkins: right. we need CI run with logs to be able to have a meaningful discussion on your latest patch set. 15:31:04 rossella_s: that's what the error suggests but I can't find it 15:31:05 korzen: well it seems to be passing as of now. bull will keep that in mind 15:31:58 johndperkins: ok, keep me posted once we have CI logs and the latest patch on gerrit. ping me in irc, no need to wait for the next meeting or smth. :) 15:32:15 ihrachys: understood 15:32:41 anyone is familiar with TestMl2DbOperationBoundsTenant.test_subnet_list_queries_constant unit tests? in Subnet ovo patch, the test is failing when you call list subnet 2 times, the ;constant; number of queries is raising 15:33:20 korzen: I know the intent of the test, yes 15:33:35 korzen: it validates that the number of sql queries does not raise with the number of resources in the database 15:33:55 and if it does ;) ? 15:33:55 meaning, no code triggers additional fetches apart from the very base model query from common_db_mixin 15:34:15 this is to avoid scaling issues 15:34:23 well if it does, we should think of how to avoid that :) 15:34:29 that what I thought so.. 15:34:29 korzen: link to the code that triggers that? 15:34:53 in ovo? 15:34:57 or in UT? 15:35:26 korzen: in db code I guess. what's the operation that triggers more queries? list_subnets? 15:35:35 yes 15:36:29 http://logs.openstack.org/01/321001/3/check/gate-neutron-python27/b9a1a1c/console.html.gz#_2016-06-17_11_01_26_004840 15:36:32 smth like this 15:39:14 if I understood correctly, the UT is checking if queries are the same if we have 10 vs 20 subnets to list? 15:39:20 oh I think that's because of rbac load you have 15:39:28 korzen: yeah, along those lines 15:39:46 in https://review.openstack.org/#/c/331009/1/neutron/objects/subnet.py, you seem to load rbac .shared field after initial fetch 15:40:47 we need to look at how we currently achieve the constant scaling for sql queries, and model it into the subnet object 15:40:54 korzen: does it ring a bell? 15:41:08 yes, I have changed it to use RBAC https://review.openstack.org/#/c/331009/1/neutron/objects/subnet.py@189 15:41:38 ok, thx ihrachys I will look at it tomorrow 15:41:46 lets continue ;) 15:42:00 korzen: ok, I guess you will need to load under transaction. 15:42:13 hm, or maybe that's not enough. anyway... 15:42:14 let's move on :) 15:42:20 #topic Other patches on review 15:42:43 anything of interest apart from objects? 15:43:19 I bet nope, moving on : 15:43:26 * ihrachys #topic Open discussion 15:43:39 ok, I have one small thing that may be of relevance 15:44:03 ihrachys: note that you haven't changed the topic :) 15:44:13 #topic Open discussion 15:44:18 jlibosva++ 15:44:32 ihrachys, changed a topic in his mind 15:44:38 ;) 15:44:58 in mitaka, neutron and nova try to set mtu on data path devices to network mtu. due to some reasons that I am not going to cover here but that you can read on http://openvswitch.org/pipermail/dev/2016-June/073190.html it may not work in some cases. 15:45:13 but basically, we use ovs in a way that is not supported by ovs folks 15:45:29 and maybe that discussion will trigger bridge remodeling for existing workloads 15:45:57 which... now we get to upgrades part... may trigger questions on how to migrate from existing setup to a better one for existing workload 15:46:29 so... since everyone here should be aware of no-downtime requirement on the data plane, it may be of interest to some of you 15:46:45 there is a link to openstack-dev@ thread in the email too 15:47:00 apart from that, I don't have anything. 15:47:20 anyone has other topics in mind? 15:47:26 will it happen in newton? 15:47:35 korzen: it probably won't. if at all. 15:47:54 korzen: atm it's in early discussion mode, but I wanted to have you aware of that. 15:48:14 I would be more happy to find a solution that would avoid bridge remodeling 15:48:18 for obvious reasons 15:48:32 upgrading the OVS is causing the dataplane downtime as well so... 15:49:46 that's a good point. afaik node are evacuated before upgrading - so you can migrate workloads away, change how bridges are wired and migrate workload back 15:50:18 korzen: that's fair. I guess it means once we require a new ovs version we may use the opportunity to remodel bridges/drop support for old model too. 15:50:43 jlibosva: yeah, but we generally allowed for an in-place upgrade where you just restart the agent and it gracefully keep up maintaining connectivity 15:51:35 we need to see how containers can help with taht 15:51:52 but that affect/relay on deployment model 15:51:53 also this topic is probably relevant for vlan aware vms blueprint 15:52:37 jlibosva: loosely for my taste, at least from upgrades perspective, since they model bridge-per-port for new trunk ports only. so there is no existing workload that would be affected. 15:53:42 or at least it's my limited understanding of what they try to achieve 15:54:03 I imagine it has pretty similar - you basically inject a bridge between integration bridge and an instance's tap 15:55:02 jlibosva: how would per-network bridges interact with that? having another layer in between? so you would have br-int - br- - br-? 15:55:58 ihrachys: no, I meant that migration from current wiring to mtu is similar as migration to vlan-aware vms with respect to not braking data plane 15:56:41 br-int <-> br- is like br-int <-> br- 15:56:43 jlibosva: but for vlan-aware-vms, you don't change the bridge setup for 'usual' ports right? 15:56:55 it applies to new trunk ports only 15:57:00 yep, only for trunk ports 15:57:18 while for the mtu discussion, we talk about disrupting for all existing ports 15:57:50 because those will need to be rewired into per-network bridges without users opting into using new features. 15:59:07 ok, I guess we are running out of time 15:59:13 thanks everyone for joining 15:59:15 keep up the good work 15:59:18 #endmeeting