16:00:13 #startmeeting cinder-nova-api-changes 16:00:17 Meeting started Thu Apr 13 16:00:13 2017 UTC and is due to finish in 60 minutes. The chair is ildikov. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:00:19 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:00:21 The meeting name has been set to 'cinder_nova_api_changes' 16:00:39 DuncanT ameade cFouts johnthetubaguy jaypipes takashin alaski e0ne jgriffith tbarron andrearosa hemna erlon mriedem gouthamr ebalduf patrickeast smcginnis diablo_rojo gsilvis xyang1 raj_singh lyarwood breitz jungleboyj 16:00:49 o/ 16:00:50 ./ 16:00:53 o/ 16:01:02 o/ 16:01:08 o/ 16:02:08 hi all 16:02:22 let me check whether we have anyone for today from Nova 16:02:37 * johnthetubaguy lurks 16:02:45 so its spec freeze day today 16:03:03 o/ 16:03:08 johnthetubaguy: ah, I see, I knew there was something :) 16:03:12 o/ 16:03:49 I have only a few items for today 16:04:17 johnthetubaguy: I uploaded a new version of check detach with an updated commit message 16:05:02 I believe that's where we got last week with that discussion 16:05:13 I tried to add more info about the change 16:05:57 I also started to look into the detach patch 16:06:22 as it's an older one we need to look into cases like swap and post migrate 16:06:54 I thought to move those changes to a follow up patch and have those changes included in the first one that are ready to merge 16:07:11 mriedem: johnthetubaguy: lyarwood: would that make sense? ^ 16:07:16 i think we said we'd handle the different operations in different patches 16:07:27 since none of it turns on until we do attach with new flow at the end 16:07:40 so let's just handle normal volume detach in that change 16:08:15 ok, sounds good, I will separate those then 16:08:24 agreed, this should also help spread the load here a little, I wasn't sure who was working on this detach change tbh 16:09:16 i would definitely move this pattern into a private method in the compute manager 16:09:18 if bdm.is_volume: 16:09:18 lyarwood: we try to work together with John (Griffith) except when we get overloaded at the same time... 16:09:18 if not bdm.attachment_id: 16:09:20 else: 16:09:28 self.volume_api.attachment_update 16:09:30 or whatever 16:09:34 that's duplicated everywhere 16:09:40 let's do that in a single private method 16:09:47 lyarwood: as these changes can be independent it's easy to spread the load 16:10:12 ildikov: yup agreed 16:10:22 mriedem: that one BTW will be a delete - create combo, but got your point 16:11:12 mriedem: +1 16:11:28 lyarwood: would your planned change help with what mriedem is pointing out above? ^ 16:11:56 i think just using a simple private method to contain that if/else/if logic will help 16:12:05 mriedem: I was wondering if we want a DNM patch at the end that does that new style attach, in an attempt to get test coverage sooner? Maybe that just makes things messier? 16:12:06 rather than overhauling and moving everything to the block_device module before this 16:12:35 johnthetubaguy: idk at this point 16:13:15 mriedem: ok, got it 16:13:25 I can look into a DNM attach change next week if there are no other takers 16:13:36 johnthetubaguy: I can try to look into how much the earlier attach PoC works still 16:14:02 johnthetubaguy: we had it working at some point, but I believe that was before merging the new Cinder API 16:14:25 i guess we don't detach on shelve offload huh 16:14:32 i suppose that makes sense 16:14:42 we need the ports and volumes when we unshelve 16:14:58 although, when you unshelve, you're building on a new host (maybe) 16:14:58 johnthetubaguy: there's also some bug fixing activity driven by tommylikehu that has API changes, like rename instance_id to server_id 16:15:12 API changes? 16:15:12 ildikov: yes 16:15:29 mriedem: if we have an empty attachment there that's just reserving the volume I guess that would do 16:15:33 so another microversion for key changes in the payload? 16:16:27 I am not sure whether we need another micrioversion if the attachment APis haven't been truely used 16:16:28 as we don't use any microversion at this point I would think to just use the latest that contains what we need? 16:16:37 tommylikehu: you do 16:16:50 ildikov: we use 3.27 or whatever 16:17:00 mriedem: not at this point 16:17:03 tommylikehu: it's unsafe to make assumptions about who is using an api once you release it 16:17:12 ildikov: i mean, that's the minimum we can use, from ocata 16:17:15 mriedem: ok 16:17:46 mriedem: +1, sounds like a new microversion to me 16:18:00 seems like a waste of a microversion for a cosmetic change like that 16:18:01 mriedem: BTW, is that configurable? 16:18:07 ildikov: is what configurable? 16:18:21 what microversion Nova is using 16:18:26 no 16:18:47 ok 16:18:55 that's what I thought 16:18:55 remember, configuration changes which impact how apis work are the devil 16:19:05 I think we should support just one micro-version for the new flow, its complicated if not 16:19:11 johnthetubaguy: yes 16:19:14 3.27 or bust 16:19:17 until we need something newer 16:19:28 I know, I just got lost on the another microversion in the payload comment 16:19:30 anyway, we're not there yet 16:19:49 i need to remind myself at some point why we don't terminate connections during shelve offload 16:20:02 because that seems important when you unshelve and the instance is built on another host 16:20:10 so if we would end up do the cosmetics we just bump the minimum microversion in Nova 16:20:13 I guess 16:20:34 1) i wouldn't do the cosmetics personally 16:20:37 I'm a little confused on that now though. Do we need a bump? 16:20:39 2) nova doesn't care about the cosmetics 16:20:40 mriedem: oh, that sounds like a bug, we shouldn't detach the volume for sure, but I thought we should terminate... ? 16:20:51 smcginnis: if you change a key in a request body, you need a microversion change 16:21:02 request and response 16:21:05 FWIW, we haven't bothered doing the cosmetic changes in Nova 16:21:06 johnthetubaguy: i don't see where we terminate on shelve offload 16:21:07 OK, so Pike Nova should be able to work with Ocata Cinder with these changes, correct? 16:21:14 smcginnis: yes 16:21:20 That was my concern. 16:21:24 mriedem: your probably correct, just agreed it sounds wrong 16:21:34 smcginnis: so you guys understand on the cinder side, 16:21:40 if you change a request or response payload, 16:21:43 it's a microversion bump right? 16:21:54 Yes, definitely. 16:21:57 right, and the old microversion doesn't change 16:22:08 personally I'm less enthusiastic about the change if it causes too much headache 16:22:12 ok, because i'm a bit worried by the fact that cinder doesn't using jsonschema validation for requests 16:22:20 I get the microversion part 16:22:28 and i don't know if tempest is validating your microversioned responses with jsonschema yet 16:22:43 mriedem: I don't believe os. 16:22:45 *so 16:23:01 really kind of need a tight jsonschema validation on request and response when you start supporting microversions 16:23:09 because checks in python code aren't going to catc hstuff 16:23:31 mriedem: Right, seems like the only way to validate nothing slips through. 16:24:51 https://review.openstack.org/#/c/454436/ 16:24:55 you guys don't require a spec for api changes? 16:25:19 ... 16:25:33 releasenote is required 16:26:04 release notes are fine, from a process standpoint we've found that we need a spec for api changes 16:26:09 Not always. Usually only need a spec if it's a big enough change that we want to make sure everyone understands what's being done. 16:26:41 ok, that's fine, it's your world - fwiw i've -1ed that proposal since i don't see the value 16:27:08 I am ok with that 16:27:14 fair enough 16:34:28 i'm at oracle and they're very interested in this for RAC. what is the expectation for how much of this is going to be completed for Pike? 16:35:11 but as that will be a separate patch anyhow we can deal with that on the review, I would guess we don't want the volume connected to the instance as a principle 16:35:26 stvnoyes: we would love to get the base functionality working 16:35:35 stvnoyes: which thing specifically? 16:35:38 and for RAC, we can probably get away with not worrying about migration/swap/bfv 16:35:41 nova using the new attach/detach APIs? 16:35:44 stvnoyes: we need to deal with a few things for multi-attach still 16:35:45 or volume multiattach? 16:36:08 twe'd need multi-attach working for at least the zfssa 16:36:24 i expect we'll get the nova using the new api flow with cinder in pike 16:36:30 i don't know about multiattach support honestly 16:36:38 depends on the progress made 16:36:54 I don't think we will get to that if I would need to be brutally honest 16:37:06 not with the current progress at least 16:37:47 We have been working toward this for so long that at least having the API improvements is very encouraging. 16:37:48 the more hands on the keyboard the better 16:37:57 we could definitely use more atm 16:38:25 if would you feel more confident if it vm's with ma disks could not be migrated, disks couldn't be swapped, bfv not supported. that might simplify things for pike for a first implementation 16:38:51 yeah we'll have to see 16:39:01 first step is using the new apis, 16:39:09 because once we attach with the new style, we have to detach with the new style everywhere 16:39:14 i am (slowly) coming up to speed on nova and we have someone else joining us, and hopefully another person in a few more weeks. 16:39:29 so we should be able to help 16:39:42 and once you support multiattach (not bfv) then you need to consider what that means for those other operations 16:39:50 stvnoyes: +1, thanks! 16:39:56 unless you just completely punt and fail saying it's not supported 16:40:06 anyway, that's a ways down the road 16:40:30 i was thinking that you would throw an api exception if you try to migrate an instance with a ma disk for example 16:40:43 maybe, but we're nowhere near that point yet 16:40:50 so let's not rathole on it :) 16:40:50 kk understood 16:40:59 we already did that about a year ago 16:41:20 ildikov: ok done for the meeting? 16:41:42 mriedem: I think we are 16:42:28 stvnoyes: we can catch up after the meeting if you need more info or anytime if you have further questions 16:42:36 stvnoyes: feel free to ping me 16:42:44 ok thanks! 16:43:08 is there anything else from anyone for today? 16:44:10 ok I take it as a no 16:44:31 as a summary I will split the detach patch to smaller ones and let's try to merge what we can from it 16:44:38 see you all next week! 16:44:44 thanks for today 16:44:51 #endmeeting