00:01:27 <cyeoh> #startmeeting nova-api
00:01:28 <openstack> Meeting started Fri Jun  6 00:01:27 2014 UTC and is due to finish in 60 minutes.  The chair is cyeoh. Information about MeetBot at http://wiki.debian.org/MeetBot.
00:01:29 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
00:01:32 <openstack> The meeting name has been set to 'nova_api'
00:01:38 <cyeoh> Hi - who do we have here today?
00:01:44 <alex_xu> hi
00:02:00 <maurosr> hey
00:02:10 <GMann> hi
00:02:23 <oomichi> hi
00:02:39 <cyeoh> ok let's get started
00:02:43 <cyeoh> #topic v2.1 on v3
00:03:14 <cyeoh> so I brought up v2.1 on v3, microversions and the policy checks in the api nova-specs in the nova meeting today
00:03:27 <cyeoh> so hopefully they will get more eyeballs on them over the next few days
00:03:45 <alex_xu> cyeoh, thanks
00:04:02 <cyeoh> much of the microversion discussion is now to be done at the mid cycle, though we can proceed without v2.1 on v3 without it
00:04:43 <cyeoh> hopefully we'll get the v2.1 on v3 stuff spec approved soon so we can start merging
00:05:02 <cyeoh> did anyone have anything they want to talk about the v2.1 on v3?
00:05:27 <maurosr> i have one question
00:05:37 <maurosr> since I'm rejoining this after so long
00:06:01 <maurosr> so, the thing is v2.1 on top of v3 adding micro versioning for now on?
00:06:01 <cyeoh> maurosr: sure, go ahead!
00:06:25 <cyeoh> so the first stage is v2.1 on top of v3 without microversioning
00:06:48 <cyeoh> eg a set of "translation" like layers on top of v3 which makes it respond like v2, but with strong input validation
00:06:58 <oomichi> cyeoh: nice plan :-)
00:07:12 <maurosr> right, cause I made a comment on rev 6 of the spec, I was kind of thinking that, since we need to support v2 (with translation layer), why not start with v2, then microversioning, and coverge it to v3 status?
00:07:20 <cyeoh> the next step is microversions, so as we slowly roll out v3 type functionality, or say the tasks api, we bump the microversion (this a client request header)
00:07:35 <maurosr> maybe it's silly question, but I'm trying to know the ground here hehe
00:07:55 <cyeoh> yep, so we slowly expose more of the v3 functionality (or other new features) through microversions
00:08:22 <cyeoh> the goal is throw away the old v2 api code, so we leave that alone as much as possible. That way we get the v3 api framework (plugins, input validation etc)
00:08:23 <maurosr> yeah, got that,
00:08:30 <maurosr> right
00:08:55 <maurosr> just thought that would made easier the effort on support old v2 calls
00:09:26 <cyeoh> the most important goal for this cycle is to get v2.1 functionality equivalent to v2
00:09:39 <maurosr> alright, got it
00:09:52 <GMann> Cyeoh: 1 quick question- are we going to expose the V3 URL/request changes also ? i think those should be then through Major version right?
00:09:55 <cyeoh> yea unfortunately starting with the old v2 code is a much riskier proposition because we may accidentally make backwards incompatible changes to v2
00:10:29 <maurosr> but the backwards would be solved by microversioning
00:10:38 <cyeoh> GMann: I think we'll probably leave it for now because it makes it easier to leave the tempest regression testing running. Long term, yes it would be via microversions
00:10:48 <maurosr> and sorry, I wasn't involved before and appear here throwing ideas
00:11:16 <cyeoh> maurosr: the risk is that because we're changing the v2 api code (and there are lots of internal cleanups) we would accidentally make behavioural changes to the old v2 code
00:11:23 <cyeoh> and the regression tests would not pick it up
00:11:25 <GMann> cyeoh: ok Thanks.
00:11:48 <maurosr> fine, you have a good point
00:12:01 <cyeoh> by "freezing" the old v2 api code the risk is a lot lower we can test them side-by-side
00:12:24 <cyeoh> in icehouse we ended up making a few backwards incompatible changes accidentally :-(
00:12:50 <oomichi> cyeoh: will you take your time for v2.1 specs today? I'd like to work it together for pushing it earlier.
00:13:41 <cyeoh> oomichi: please feel free to an update to the v2.1 spec today if you'd like
00:13:54 <oomichi> cyeoh: thanks, will do it:)
00:14:13 <cyeoh> oomichi: thx!
00:14:21 <cyeoh> #topic microversions
00:14:42 <cyeoh> as I mentioned before much of this discussion has been delayed to the mid-cycle meetup
00:14:58 <cyeoh> is anyone here able to attend the mid cycle in person (I'll be attending remotely)
00:16:08 <cyeoh> ok I guess we can discuss that later. I'll update the spec in the next few days based on the review feedback (and I need to still do more reading up on how other REST apis do microversions)
00:16:20 <cyeoh> but everyone should feel free to update the spec if they're interested too
00:16:48 <cyeoh> anything that anyone wants to discuss about microversions?
00:16:57 <oomichi> yes
00:17:09 <cyeoh> oomichi: please go ahead
00:17:24 <oomichi> Do additional API parameters break backward compatibilities?
00:17:41 <oomichi> that is a concern about microversion, I feel.
00:17:52 <cyeoh> so I think at least for openstack REST APIs people say no
00:18:07 <cyeoh> thats what our wiki page says about acceptable changes
00:18:08 <maurosr> imo in the response no, in the request only if they become mandatory
00:18:33 <oomichi> ah, thanks. I agree:)
00:18:36 <cyeoh> oh yes that is true (though I was thinking about output rather than input)
00:18:43 <maurosr> *I guess required is the right word hehe
00:18:59 <cyeoh> under microversions we'll still be bumping either the global version or minor version though
00:19:14 <cyeoh> (depending on which microversion model we take)
00:19:17 <maurosr> agreed
00:19:46 <cyeoh> anything else on microversions?
00:19:47 <oomichi> yea, lets discuss it on nova-specs:)
00:20:00 <cyeoh> oomichi: sounds good
00:20:23 <cyeoh> #topic tasks api
00:21:05 <cyeoh> so alaski couldn't make the meeting today, but he asked if we could have another look at his spec for the tasks api
00:21:19 <cyeoh> #link  https://review.openstack.org/#/c/86938/
00:22:06 <cyeoh> and more specifically around whether a server create should return a task which contains server information, or server information which returns task information
00:22:23 <cyeoh> as we need to nail down exactly what the output looks like
00:22:35 <cyeoh> so if you can, please go have a look and comment on the spec
00:23:09 <oomichi> yes, will try it also later.
00:23:21 <oomichi> one question
00:23:41 <oomichi> cyeoh: will tasks api also appear on microversion?
00:24:06 <cyeoh> yea I imagine it'll be the first big microversion test case
00:24:28 <oomichi> cyeoh: ok, big microversion:-)
00:24:33 <cyeoh> we might roll in a really trivial microversion change first just to make sure things are working properly
00:24:47 <cyeoh> yep!
00:25:15 <oomichi> I got it, thanks. will see it on this considering.
00:25:33 <cyeoh> cool :-)
00:26:08 <cyeoh> so I think the rest of the stuff on the agenda is old stuff from previous meetings and a bit out of date.
00:26:14 <cyeoh> #topic open discussion
00:26:25 <cyeoh> but bring up anything you like now....
00:27:47 <cyeoh> is there anything anyone wants to talk about? Or do we get a short meeting :-)
00:29:14 <cyeoh> ok we all get to leave early. thanks everyone!
00:29:20 <oomichi> thanks!
00:29:24 <maurosr> tks, bye
00:29:34 <alex_xu> bye
00:29:39 <cyeoh> #endmeeting