15:00:43 #startmeeting neutron_upgrades 15:00:44 Meeting started Mon Nov 7 15:00:43 2016 UTC and is due to finish in 60 minutes. The chair is ihrachys. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:00:45 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:00:48 The meeting name has been set to 'neutron_upgrades' 15:00:56 o/ 15:01:08 hello 15:01:12 hey! 15:01:13 hi 15:01:16 Hi 15:01:19 I hope I haven't messed with a timezone? :) 15:01:37 I have the same one 15:01:41 apparently not since you are all here ;) 15:02:08 friendly ping to jschwarz rossella_s 15:02:17 #link https://wiki.openstack.org/wiki/Meetings/Neutron-Upgrades-Subteam 15:02:21 o/ 15:02:22 o/ 15:02:50 * ihrachys waves at jaypipes and johndperkins 15:02:52 shitbuckets, I've been caught by daylight savings... 15:02:56 haha! 15:02:57 hi ihrachys 15:03:06 timezones suck 15:03:13 utc for everyone 15:03:22 #topic Announcements 15:04:21 as you all are probably aware, we had a lively lovely summit two weeks ago. there will be a separate section for the report later in the meeting. 15:04:48 we approach Ocata-1 in a week or two 15:04:49 #link https://releases.openstack.org/ocata/schedule.html 15:04:57 not that it usually means much... :) 15:05:19 #topic Barcelona Summit 15:06:05 we had an interesting discussion on neutron-server next steps that significantly touched upgrades 15:06:16 the etherpad of the design session is... 15:06:18 #link https://etherpad.openstack.org/p/ocata-neutron-server-next 15:06:42 I expanded on it somewhat with a report in openstack-dev@ 15:06:44 #link http://lists.openstack.org/pipermail/openstack-dev/2016-November/106684.html 15:07:16 for our matters, the following is important 15:07:29 1. we agreed that in Ocata we forbid contract migrations 15:07:42 #action ihrachys to send a patch forbidding contract migrations 15:08:47 2. the first candidate for in-runtime data migration using OVOs in tree will be the new port bindings rework by andreas_s needed for nova-neutron integration of live migration procedures 15:08:54 ihrachys: when was the last time that someone submitted a contract patch? 15:08:56 there is a spec by Andreas at: 15:08:57 #link https://review.openstack.org/#/c/309416/ 15:09:14 it would be wise to review that proposal in scope of OVO application 15:09:23 electrocucaracha: Newton? 15:10:12 ihrachys: nevermind, I can check the history 15:10:53 there was a cross-project (ops) session on upgrades tags and next steps 15:11:10 #link https://etherpad.openstack.org/p/ocata-xp-upgrades 15:11:26 there, several things are worth mentioning 15:11:42 first, ops propose defining new upgrades related tags for projects 15:11:53 basically, multiple levels of upgrades scenario support 15:12:35 starting from two existing ones (supports-upgrades and supports-rolling-upgrades) and going further to no-api-downtime tag, and no-api-impact one 15:12:49 for our case, the most interesting is the no-api-downtime one for now 15:13:12 the tag requires both technical possibility of upgrading API endpoints without downtime 15:13:19 as well as CI coverage for that 15:13:38 sadly, there was not much time on the session to discuss about specific gating strategy for thta 15:13:56 but the main point is: other projects are also looking at gating for that (nova, glance, cinder, ...) 15:14:07 so we may need to join efforts 15:15:35 so, to wrap up, things we are to deliver this cycle are: 1. forbidden contractions (easy) 2. live data migration for whatever features are in the review pipeline (not much since Ocata is short and tight) 15:15:53 then there is 3. CI coverage for no-api-downtime 15:16:09 of course, there is still 4. ongoing switch to OVOs 15:16:22 that one is last but not least, of course 15:16:47 are folks still with me? :) 15:16:52 yeap 15:16:52 ihrachys: what about priorities? 15:17:10 * jschwarz waves at ihrachys 15:17:18 electrocucaracha: priorities for what exactly? 15:17:31 if you mean if OVO and related work gets a priority for Ocata, yes, it does 15:17:43 ihrachys: number 2 and 3? 15:18:00 as well as a handful of other features that were mostly on track in Newton already. 15:18:01 ihrachys: it's important but, it's for next release? 15:18:16 electrocucaracha: I think 2. is definitely a high priority if there is work to do 15:18:30 electrocucaracha: no, we definitely deliver 2. in Ocata. 15:18:57 CI coverage... depending on how close we are (the setup may be not easy to achieve), so it may spill over into Pike 15:19:24 I guess that CI is cross project activity 15:19:33 we need to setup the devstack-gate 15:19:39 and neutron do not own it 15:20:20 to set an order, that would be 1. forbid contractions 2. OVO transition and support for features in the pipeline 3/4. other OVO work. 3/4. CI coverage for no-api-downtime (depending on cross-project progress) 15:20:34 right, it's cross project 15:20:49 (which does not mean we can't make a tangible contribution to make it happen) 15:21:04 it is definitely not in our full control 15:21:15 ihrachys: got it, thanks 15:21:17 so we will probably be lead in a way 15:23:03 to close the topic of summit, there was a session from korzen on live data upgrades technics 15:23:06 but I struggle to find it 15:23:12 korzen: have a link? 15:24:00 ihrachys, This https://www.youtube.com/watch?v=juunf0u4cyo 15:24:07 sshank: thanks! 15:24:34 full disclosure: I haven't personally had a chance to watch it just yet, but I trust it's good sauce ;) 15:24:55 sshank, thanks, I was looking to it ;) 15:25:09 anything more to update on the summit? any questions from those not lucky enough to join it? 15:26:20 ok let's move on then :) 15:26:27 #topic Partial Multinode Grenade 15:26:47 I know some folks were playing with grenade locally the previous weeks. 15:27:16 I also think that jschwarz once told me he will have some cycles to make progress on linuxbridge multinode grenade job 15:27:26 any news on any of those? 15:27:41 ihrachys, not yet 15:27:55 sadly my last few weeks were spend on travelling and Israeli Holidays 15:28:08 I'm gonna try and dedicate some cycles for this in the coming weeks 15:28:35 OSIC folks playing with grenade, anything to share? questions? concerns? results? :) 15:28:41 ihrachys: in my case, I couldn't find an issue to analyze and also I was traveling 15:28:57 jschwarz: you know I won't leave you free anymore ;) 15:29:12 ihrachys, I'm counting on it ;) 15:30:15 electrocucaracha: ok. I assume you were trying to set it locally? 15:30:45 maybe it's an easier path for the start to just analyze logs from the gate. at least to classify what fails. 15:31:31 ihrachys: but that was my point I could find a failure gate 15:31:49 ihrachys: anyway, we can address that offline 15:31:58 electrocucaracha: you would need to 'check experimental' for that. 15:32:03 electrocucaracha: sure let's take it offline 15:32:25 #topic Object implementation 15:32:29 #link https://review.openstack.org/#/q/status:open+project:openstack/neutron+branch:master+topic:bp/adopt-oslo-versioned-objects-for-db 15:33:00 there is a lot of stuff in the queue, thanks for folks producing the patches 15:33:16 I should be back on track with reviews this week 15:33:29 me too 15:33:30 ihrachys: korzen: Could you take a look at this patch https://review.openstack.org/#/c/370452/? 15:33:59 also, armax and I think Kevin told me they will help with those patches. but I believe they will need a first vote from me or someone more involved in the effort, so the ball is in our park. 15:34:41 ihrachys: korzen: getting this error http://paste.openstack.org/show/588264/ 15:34:41 ndahiwade: looking. seems like failing in CI with legit failures? 15:35:07 It's here https://github.com/openstack/neutron/blob/master/neutron/tests/unit/objects/test_base.py#L1338 15:35:31 The assertfalse doesn't expect the synthetic field to be loaded? 15:36:22 ndahiwade: I believe the check assumes that the parent object does have an empty synthetic field 15:36:30 meaning, no actual child is created 15:36:50 then the test case goes and creates a child, and does some more checks on the field 15:37:09 so the initial state of the test case should be an empty synthetic field, and it's apparently not the case 15:37:40 I remember working on it some weeks ago 15:38:05 I also see some irrelevant (reverting?) changes in https://review.openstack.org/#/c/370452/22/neutron/tests/unit/objects/test_base.py 15:38:08 but I could not remember in that moment what was the issue here 15:39:28 ihrachys: thanks, do I need to tweak the UT to make it pass? 15:39:44 ndahiwade: I don't think you should change the test case failing 15:39:45 or any other approach? 15:39:56 ndahiwade: but you also touch some other test cases. I don't think that's what you want?.. 15:40:35 and in other files too 15:40:51 I think there is some issue with the rebase for the patch that you have 15:41:10 ihrachys: yes I don't need those...may be it's the rebase..yes 15:41:22 from what I remember, the synthetic field can be empty but this UT is not taking it into account. I had to created some special filtering and exception mechanism in UT to make it pass, covering for specific scenario 15:41:46 korzen: Do you have a patch I could refer to? 15:41:53 korzen: ndahiwade: I think it's line 42 in https://review.openstack.org/#/c/370452/22/neutron/tests/unit/objects/test_network.py 15:41:59 see that you create an agent there 15:42:01 unfortunately not :( 15:42:19 so the initial state of the test case will be - the object having a non-empty field for the agent 15:42:36 the test case is apparently not ready for that 15:42:51 netsplit just happened or what?.. 15:42:57 I see folks dropped from the channel 15:43:14 maybe 15:43:51 ihrachys:should I create the test_agent outside the loop? I have composite primary key...so need to create both 15:44:00 I think that's a test only issue that ndahiwade sees. it may actually require the test case to be tweaked somehow to allow for existing childen. 15:44:26 that said, I am not sure exposing the agent as an object field is a good idea itself; we may need to take it to gerrit. 15:44:42 ndahiwade: yeah, I understand that you need an agent to pass db constraints. 15:44:45 ndahiwade, I will take a look tomorrow 15:45:04 ndahiwade: would it work if you just convert the agent field into a single UUID field agent_id? 15:45:04 ihrachys: koraen: Sure Thanks:) 15:45:12 *korzen 15:45:41 I integration needs a synthetic field 15:45:55 It expects the entire object to be loaded 15:47:07 ndahiwade: where exactly is it? 15:47:30 oh that query builder in get_dhcp_agents_hosting_networks? 15:47:36 https://review.openstack.org/#/c/370452/22/neutron/db/agentschedulers_db.py 15:48:19 anyhoo, we would need to dive into the review on gerrit to have a deep discussion 15:48:30 thanks for bringing that up! 15:48:38 ihrachys: https://github.com/openstack/neutron/blob/master/neutron/db/agentschedulers_db.py#L462-L465 15:49:03 ack 15:49:22 ihrachys: Sure thanks 15:49:30 #topic Other patches on review 15:49:54 the spec for no-api-downtime upgrades is still on review: https://review.openstack.org/386685 15:49:59 I wanted to bring up the standard attr id 15:50:33 korzen: let's do in open discussion 15:50:43 ok 15:51:10 folks who have not yet reviewed the spec, please do 15:51:52 I am not aware of any more upgrades patches that could hit us 15:52:01 so let's go straight to korzen's stuff 15:52:05 #topic Open Discussion 15:52:13 korzen: your floor 15:52:24 so I have discussed using the standard-attr-id with someone 15:53:00 the case is: in some usage scenarios, we need to access the standard-attr-id 15:53:22 but we do not have StandardAttr OVO 15:53:39 we use the declarative way of adding the field 15:53:45 fields 15:54:08 we can in theory have a detached (not linked to other objects) OVO for that 15:54:11 would it work? 15:54:47 so the point is: should we add it to standard-attr-id to every resource that is using it? 15:55:06 it would require to update the versions of all objects 15:55:21 currently it is used for port I guesss 15:55:47 I don't think. can't we have a detached OVO for that that will receive the ID of the object that it belongs to? 15:56:04 or you think more of loading it optimally from db_obj? 15:56:39 we could prolly have a method that would return a StandardAttrObject by extracting it from db_obj 15:56:44 Iguess that the detached OVo would be goof 15:56:47 good* 15:57:31 ihrachys, As an example, https://review.openstack.org/#/c/361303/22/neutron/db/provisioning_blocks.py@174 Ports model has the Standard attr Id but object doesn't. So to have this detached OVO, stand attr OVO is needed? 15:58:10 sshank, thanks, that was the case 15:58:58 * electrocucaracha is back 15:59:11 oh I think I get what you mean. you want to get_objects(standard_attr_id=...) 15:59:24 it would work I believe if we would pass thru the filter 15:59:46 or is there anything more? 15:59:58 ihrachys, it is rather returning the id 16:00:06 not knowing it ahead 16:00:36 ok, we may need a simple OVO or even just a method returning the ID 16:00:38 anyhow, we are tight on time, so let's proceed on the gerrit 16:00:44 thanks everyone for joining! 16:00:45 ok 16:00:46 #endmeeting