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