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