17:00:08 <ildikov> #startmeeting cinder-nova-api-changes 17:00:10 <openstack> Meeting started Mon Jul 11 17:00:08 2016 UTC and is due to finish in 60 minutes. The chair is ildikov. Information about MeetBot at http://wiki.debian.org/MeetBot. 17:00:11 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 17:00:14 <openstack> The meeting name has been set to 'cinder_nova_api_changes' 17:00:21 <ildikov> scottda ildikov DuncanT ameade cFouts johnthetubaguy jaypipes takashin alaski e0ne jgriffith tbarron andrearosa hemna erlon mriedem gouthamr ebalduf patrickeast smcginnis diablo_rojo gsilvis 17:00:29 * johnthetubaguy lurks 17:00:39 <scottda> hi 17:00:40 <mriedem> o/ 17:00:48 <ildikov> hi 17:02:01 <ildikov> I have only a few topics to follow up on today 17:02:20 <ildikov> I started to add tests to jgriffith's new API calls 17:03:08 <ildikov> Cinder tests are tricky, that's my major take from last week, so I might annoy a few people this week to get better progress 17:03:37 <scottda> annoy away 17:04:15 <ildikov> scottda: it took me two days to find the policy.json file under the unit tests folder 17:04:46 <ildikov> scottda: and then I got another error in the tests, so I thought to take a short break on it... :) 17:05:05 <ildikov> review: https://review.openstack.org/#/c/339692/ 17:05:06 <scottda> ildikov: Well, feel free to ask for help. don't wait 2 days. 17:05:30 <ildikov> scottda: I was debugging, although I had other things to do as well 17:05:59 <ildikov> scottda: the follow up error, if you have any idea please ping me: http://logs.openstack.org/92/339692/2/check/gate-cinder-tox-db-functional/25e216f/console.html.gz#_2016-07-08_17_46_59_572403 17:06:28 <ildikov> jgriffith: if you have some time to check I would be happy to get feedback ^^ 17:06:32 <scottda> ildikov: I'll have a look in a little while.. 17:06:40 <ildikov> scottda: cool, tnx 17:06:58 <ildikov> the other thing I played with is the check_attach removal 17:07:20 <ildikov> #link https://review.openstack.org/#/c/335358/ 17:07:57 <ildikov> I added an extra reserve_volume call into the flow as that was missing, I'm not sure it's the right place though 17:08:22 <ildikov> mriedem: johnthetubaguy: if you have any feedback on the above please comment on the review or ping me ^^ 17:08:54 <mriedem> isn't that a duplicate of one of hemna's changes 17:08:55 <mriedem> ? 17:09:01 <ildikov> Grenade is failing, the change looked working locally, although I haven't tried all the scenarios 17:09:19 <ildikov> mriedem: it's a follow up patch that actually removes check_attach to see what goes wrong 17:09:39 <ildikov> mriedem: hemna's current patch splits check_attach and check_availability zone 17:09:45 <mriedem> oh i see 17:10:27 <hemna> back 17:10:28 <hemna> hey 17:10:36 <ildikov> hemna: hey 17:10:40 <hemna> I've been distracted by several things lately 17:10:50 <hemna> sorry I haven't gotten back to the check_attach yet 17:11:01 <ildikov> hemna: I mentioned I uploaded a follow up patch on your check_attach changes 17:11:14 <hemna> but yah my old patch split out the check_az stuff out of check_attach 17:11:21 <hemna> as that still seemed useful on the nova side 17:11:31 <hemna> since Cinder doesn't support that with reserve yet 17:11:38 <ildikov> hemna: Greande is still failing on it, plus I need to resolve the merge conflict it's in currently 17:11:44 <hemna> :( 17:11:45 <hemna> ok 17:11:56 <hemna> I might be able to help some today or tomorrow on it. 17:12:11 <hemna> I've been trying to get my os-brick refactor done with kendall 17:12:14 <ildikov> hemna: I will deal with the merge conflict today 17:12:30 <ildikov> I'm in trouble with where to put reserve_volume in the BFV flow 17:12:57 <ildikov> as it's not called there, so I added it in my patch, but I'm not sure at this stage that's the right place for it 17:13:43 <ildikov> is there any relevant parts of the os-brick refactor to our topics here? 17:14:01 <hemna> yah, I think that's where I got stuck too 17:14:07 <hemna> the BFV is buried 17:14:31 <hemna> nah, the os-brick refactor is to simply break out all of the connectors from connector.py 17:14:44 <hemna> it's too big now and is a pita to maintain. 17:15:06 <hemna> have had problems with circular deps and figuring out how to not break compatibility 17:15:12 <hemna> but I think I have it figured out. 17:15:21 <hemna> https://gist.github.com/WaltHP/230dc7f0bfa33981f052b9987d2d566e 17:15:23 <hemna> lots of change 17:15:36 <ildikov> johnthetubaguy: mriedem: it's the part with the new reserve_volume call: https://review.openstack.org/#/c/335358/3/nova/compute/api.py 17:16:07 <ildikov> hemna: oh, nice 17:16:19 <ildikov> hemna: big +1 one for better maintainability 17:19:49 <ildikov> next week is mid-cycle week, where we have a slot to discuss Cinder-Nova topics 17:19:52 <mriedem> where do we want to get to for the midcycle? i've been focusing on nova non-priority bp FFEs the last 2 weeks so haven't been back around to jgiffith's nova POC 17:20:44 <ildikov> mriedem: regarding the Nova part I would like to see how the new API fits with all the VM operations Nova has 17:21:01 <hemna> I haven't had time to look at jgriffith's new cinder api 17:21:06 <hemna> but I liked the direction it was going 17:21:15 <hemna> honestly, I think that's what cinder needs asap 17:21:20 <hemna> and has for a long time. 17:21:39 <scottda> I'd like to get code up to microversion the new cinder api in jgriffith patch 17:21:40 <hemna> just have to make sure that live migration works 17:21:45 <ildikov> hemna: jgriffith: can we sort out this week whether there is anything because of which it would not work out? 17:21:46 <hemna> that's always been the problem child 17:22:09 <ildikov> scottda: +1, that would be really good as a starting point for Nova POCs 17:22:25 <hemna> I wish cinder had an experimental tag for APIs re: manilla 17:22:43 <johnthetubaguy> honestly live-migration is a good thing to worry about, if that works, we are probably in a good place 17:22:45 <ildikov> hemna: yeah, that's one of the most problematics, but there are other hacks as well I think 17:23:20 <ildikov> johnthetubaguy: +1 17:23:29 <hemna> yah 17:23:31 <scottda> hemna: We've discussed experimental APIs in the past...I could write the code if the community wants this. 17:23:43 <scottda> hemna: Maybe re-discuss at the mid-cycle 17:23:45 <hemna> that's what I always tend to focus on first, as I've had a lot of issue with it over the last few years. 17:23:45 <mriedem> last week there was talk of a devstack patch or something to test the cinder api / cinderclient / nova poc together, did that happen? 17:23:58 <hemna> scottda, yah it's worth talking about 17:24:12 <hemna> I think the experimental API is the place for the new api for now 17:24:14 <johnthetubaguy> scottda: the early micro-version specs had that, but it was largely rejected, because folks start using them too easily 17:24:31 <johnthetubaguy> scottda: deep down, I still think we need something 17:24:55 <ildikov> scottda: do you know whether the Devstack patch got any progress or not before you went on vacation? 17:25:14 <scottda> I agree. Many people balked because they figured we must continue to support the experimenal APIs, even though they are experimental 17:25:32 <scottda> ildikov: NO, I didn't work on that. I thought jgriffith was, I sent him a pointer to an example. 17:25:54 <ildikov> scottda: ok, thanks, I will ping him later to see where we are on that 17:27:08 <ildikov> hemna: scottda: is this new API experimental in the way we think we will probably drop it or would microversion be enough to give a stable base to people and get them switch when this new thing actually works? 17:27:55 <scottda> ildikov: not sure. It'd be nice to start with experimental. 17:28:05 <hemna> I would hope that we could tag it experimental, give us a release to test it out 17:28:07 <hemna> and make changes 17:28:16 <scottda> I think if we start with microversion, you cannot go back to experimental 17:28:20 <hemna> and then once it's good, move it out of experimental and microversion it. 17:28:49 <hemna> I just don't want to get into the state we were with multi-attach 17:28:56 <hemna> meaning, we wouldn't let code land in cinder 17:29:01 <hemna> because nothing in nova was going to land 17:29:04 <ildikov> how we can add changes in Nova with an experimental API in Cinder? 17:29:05 <hemna> chicken-egg 17:29:28 <hemna> well, we could have a patch in nova that gets tested 17:29:31 <mriedem> we had this with get me a network with neutron 17:29:33 <hemna> against the experimental 17:29:34 <mriedem> but that was really a new thing 17:29:41 <mriedem> neutron landed the api in mitaka 17:29:46 <ildikov> I mean I guess Nova would be the component that actually tests this new API on the first place 17:29:48 <hemna> and then once everyone is happy with it in nova, and it's passing all the important CI's 17:29:50 <mriedem> nova started using it in newton, found some bugs, neutron fixed those 17:29:55 <hemna> then we can change the Cinder side 17:30:12 <hemna> and then merge the nova side once cinder moves experimental -> microversion 17:30:50 <ildikov> mriedem: I think we could use that here as well 17:31:17 <ildikov> I mean I'm not sure how much we expect others to pick up the new API besides Nova immediately 17:31:44 <ildikov> but I might be wrong, I'm happy with experimental tag as well if we think we can get progress with that in Ocata 17:31:45 <scottda> Just FYI, manila has all api's microversioned, even if experimental 17:31:51 <hemna> unless we think that's too complicated 17:32:04 <hemna> since this is a new thing, I'd like to make sure this is tested well 17:32:23 <ildikov> scottda: you mean they microversion it as the normal API they just tag it that it still might not be completely stable? 17:32:30 <hemna> the cinderclient extension would use it as well (for bare metal attach) 17:33:02 * bswartz lurks silently ¬_¬ 17:33:20 <ildikov> hemna: +1 on that as well, although I don't think we can land code in Nova without proper testing anyway 17:33:27 <scottda> ildikov: What Manila does is use an HTTP header for exerimental 17:33:52 <scottda> ildikov: And you cannot access that api unless you include the header 17:34:13 <ildikov> scottda: ah, ok, that makes sense 17:34:34 <scottda> https:/cinder-endpoint/blahblah -H experimental -H openstack-api-version: volume 3.27 17:35:33 <ildikov> scottda: cool, tnx for the clarification 17:35:44 <hemna> brb 17:36:13 <ildikov> hemna: scottda: what I would like to see is that whether it's experimental or only microversioned we should get the API working in Cinder in Newton 17:36:17 <johnthetubaguy> can't we test this with depends on? 17:36:35 <ildikov> hemna: scottda: I would like to have code for Nova in Newton as well to really start testing 17:36:40 <johnthetubaguy> we will need new and old in Nova anyways, so we support older cinder during the upgrade 17:37:10 <ildikov> johnthetubaguy: when the Devstack patch is up that allows us to get the client code changes as well it should be fine I guess 17:37:31 <johnthetubaguy> oh, client... I don't think we install that correctly 17:37:38 <johnthetubaguy> i.e. not from git 17:37:42 <ildikov> johnthetubaguy: that's right, we cannot really delete code just deprecate 17:38:20 <ildikov> johnthetubaguy: I got educated two weeks ago that Devstack can be configured to install it form source 17:38:40 <johnthetubaguy> yeah, I think we can make it do that, its just not what normally happens 17:38:56 <johnthetubaguy> so we might need to depend on a devstack hack that turns it on 17:38:59 <johnthetubaguy> but thats all fine 17:39:14 <ildikov> johnthetubaguy: yeap, that's what mriedem asked earlier whether we have patch for that already or not 17:39:23 <johnthetubaguy> ah, sorry, missed that 17:39:30 <johnthetubaguy> mriedem is good at those tricks 17:39:48 <ildikov> :) 17:40:30 <mriedem> if the devstack patch doesn't exist yet i can make that happen 17:40:49 <scottda> mriedem: I don't believe it exiss 17:41:11 <ildikov> mriedem: I don't think either 17:41:26 <mriedem> i'll try to wip something up 17:41:52 <ildikov> mriedem: tnx! 17:42:51 <ildikov> BTW does it make sense to have this meeting next week or everyone will be travelling already? 17:43:14 <mriedem> skip 17:43:34 <scottda> I won't be traveling, since I'm hosting. But everyone else probably will in Cinder. I say sip 17:43:57 <ildikov> ok, I will cancel it then 17:44:30 <ildikov> do we want to have any agenda brainstorming now for next week or let it happen during the week? 17:44:59 <scottda> I think we can fill it in on the respective etherpads for the mid-cycle 17:45:23 <mriedem> i've already started putting some links in the nova etherpad 17:45:37 <ildikov> ok cool 17:45:52 <scottda> mriedem: Do you have a link handy for that? 17:45:55 <ildikov> I hope we can get some further progress with a few items this week 17:47:17 <mriedem> scottda: https://etherpad.openstack.org/p/nova-newton-midcycle 17:47:59 <hemna> I presume nova will have to support the older API for a while ? 17:48:13 <scottda> thx 17:48:18 <hemna> what is the official policy on keeping nova and cinder in lock step ? 17:48:30 <hemna> meaning Nova newton vs. Cinder Liberty ? 17:48:44 <hemna> it's theoretically possible 17:48:45 <mriedem> hemna: i don't think there is an official policy, but the unofficial is probably whatever we test 17:48:49 <mriedem> well, not even test 17:49:01 <mriedem> but yeah, probably whatever is still supported/maintained upstream 17:49:06 <mriedem> so master nova / cinder stable/liberty 17:49:42 <hemna> so I presume that means Nova has to support the older API until Newton is the oldest supported version. 17:49:42 <ildikov> hemna: will the old Cinder calls be deprecated? and if yes, when? 17:50:06 <mriedem> hemna: i'm not even sure about that 17:50:12 <hemna> ildikov, since we are microversioned, I don't think Cinder can remove the existing APIs 17:50:13 <mriedem> we are just starting to get to deprecating APIs 17:50:20 <mriedem> but we do the deprecation in a microversion, 17:50:25 <hemna> yah I was just wondering out loud about it all 17:50:27 <mriedem> which means we still support the API below that microversion 17:50:40 <mriedem> we can only remove a deprecated API if we bump the minimum required microversion 17:50:47 <mriedem> which is a long way in the future, if we do it at all 17:50:50 <scottda> I think we are bad citizens if we ever remove support for the old api 17:51:16 <hemna> yah I think we are a long ways off 17:51:26 <ildikov> sure, but at least we should encourage people to use the new APIs and not enhance further the old ones 17:51:54 <ildikov> here I think we have a better situation as I would guess the user of the current/old Cinder API is mostly Nova 17:53:56 <ildikov> anyway, I'm not saying we should not support the old API, but we should somehow avoid workarounds that are built on it in the future if possible 17:55:06 <mriedem> probably not worth digging into this in this meeting, this meeting doesn't need to go an hour each week just because :) 17:55:10 <mriedem> talk about it at the midcycle 17:55:24 <mriedem> i wouldn't get lost in that discussion before the new API is a serious thing to land 17:55:43 <mriedem> something something chickens and eggs being hatched 17:56:09 <ildikov> sure, you're right, but I better see people excited about this :) 17:56:41 <ildikov> as said, do we have anything else to discuss for today? 17:57:24 <mriedem> nope 17:57:38 <scottda> not I 17:58:19 <ildikov> ok, then thanks for today and talk to you next week! :) 17:58:31 <scottda> bye 17:58:39 <ildikov> #endmeeting