21:02:46 #startmeeting 21:02:47 Meeting started Fri Dec 9 21:02:46 2011 UTC. The chair is bcwaldon. Information about MeetBot at http://wiki.debian.org/MeetBot. 21:02:48 Useful Commands: #action #agreed #help #info #idea #link #topic. 21:02:53 well let's get started anyways 21:03:04 #topic OpenStack Compute API versioning and extensions 21:03:26 so I *thought* I had a good idea of where we want to go with this, but Mr. Williams had to go and screw it all up ;) 21:03:46 ..actually it's Dr. Williams :-) 21:03:54 lol, sorry man 21:04:01 no worries! 21:04:31 so I'm going to spend some time this weekend and come up with a draft versioning proposal for OpenStack Compute 21:04:54 Looking to collaborate with jorgew early next week on that 21:05:10 That sounds good…I'm looking forward to it 21:05:10 #action bcwaldon to write up versioning proposal 21:05:17 bcwaldon: got a high-level overview for that proposal? 21:05:34 bcwaldon: as if I'm a kindergartner? :) 21:05:38 annegentle: something along the lines of what mnot proposed a month or so back on the ML 21:05:54 bcwaldon: ok, will look for the link for the notes 21:06:04 At a super hight level, versioning our compute api solely by mimetypes 21:06:43 and treating each resource somewhat individually w.r.t. versioning 21:06:51 it's hard to explain... 21:07:10 s'ok 21:07:11 so I was hoping for some discussion here 21:07:19 but if its just the three of us... 21:07:29 * bcwaldon waits to see if anyone is lurking 21:07:40 heckj: around? 21:07:44 heck:? 21:08:19 well, I guess we'll move on and defer this discussion to the ML next week 21:08:30 sounds good. 21:08:32 so annegentle, do you want to discuss extension docs? 21:08:39 #topic Extension Documentation 21:09:26 sure 21:09:44 BTW, anne thanks for the comments on the list…haven't had a chance to reply but I'm with you on most/all points 21:09:47 I think I rounded up my thoughts in a note to the mailing list 21:10:06 ok, anything you want to bring up in particular? Feel free to say no :) 21:10:13 just a sec... 21:10:43 was going to say, Jorge has agreed to most all the items 21:10:51 some of it we have to have more input on 21:11:14 I went to the OpenStack-Austin meetup last night and then emailed it to a few folks from there 21:11:24 didn't get in person feedback then but solicited more input 21:11:58 really what heckj brought up about related-ness to the API site is probably the biggest question out there now 21:12:08 Right. 21:12:17 and my other "concern" is about how it's like pulling teeth to get the stuff written. :) 21:12:17 I think that we have a need for user guides 21:12:27 …and that's not what's out there 21:12:39 this is just documenting how each extension changes the API 21:12:45 sorta like a spec. 21:12:50 jorgew: right, so the two issues are related, the authoring side and the display side 21:13:09 I would really like to block reviews that add extensions w/o some level of documentation 21:13:12 jorgew: or we just call them unrelated and I recruit both types of content 21:13:24 What's the issue with the authoring side, cus honestly think things are getting better in that dept 21:13:26 if we can make it easy for people to provide that documentaiton, I think its 100% doable 21:13:36 bcwaldon: that's a good point too, the governance of both the extension and their docs needs defining 21:13:41 bcwaldon: for sure. 21:13:59 Right I agree. 21:14:26 so that might just be something I need to enforce within Nova 21:14:33 I think if we give people more of an incentive to write docs will get written 21:14:44 annegentle: can you send me the details of what exactly you want from extension authors? 21:14:52 bcwaldon: and finding a small team of enforcers so there's distribution of work 21:15:02 annegentle: right 21:15:03 bcwaldon: so I've got a contribution coming in January from a writer at HP 21:15:18 he basically wrote dev-guide style docs for floating ups, etc 21:15:27 IPs that is 21:15:57 so it's more instructive for api users than instructive to a reader to revise the spec 21:16:11 we've had to reuse specs as dev guides 21:16:23 but really it is time to create real dev guides 21:16:36 I think we're gathering some resources to do so - HP needs it for sure too 21:16:41 and Rackspace is hiring 21:16:42 that's awesome 21:16:51 annegentle: I agree, we need more dev guides 21:16:54 A lack of resources is probably the biggest pain point right now 21:16:55 so it's a matter of matching up the doc with the audience 21:17:22 bcwaldon: what I'm hoping is we'll get an influx in January, and I'd like to be able to tell people we're being strategic about placement 21:17:26 annegentle: But we also need info on how an extension modifies a spec. Their not mutually exclusive 21:17:36 jorgew: absolutely, both are needed 21:17:36 ok, so the developer himself is probably the main consumer of any specific extension doc 21:17:49 I just can't prioritize spec doc over user docs :) 21:17:58 as far as resource planning 21:18:05 Well we need both 21:18:22 and usually the spec comes first … it informs the user doc 21:18:26 annegentle: maybe this is something we need to talk about in the meeting on monday 21:18:38 annegentle: I've just come up with a whole bunch of questions I want to ask :) 21:18:39 it would suck to write user docs while a spec is in flux 21:18:46 yeah priorities are certainly worth prioritizing 21:19:07 er, discussing 21:19:18 I think both are needed by Esse 21:19:18 :-) 21:19:20 So since we're in a 'nova-api' meeting, what would you say to the members of this team 21:19:20 Essex 21:19:38 Right now I'd say the members are mainly developers 21:19:46 this team could give input on both sites - Extension and API - that'll help lay out tasks 21:20:11 basically this team can review 21:20:29 yeah? I'm just looking for ways to lay out the work 21:20:31 right, and wouldn't the members of this team be the ones writing the extensions themselves? 21:20:50 assuming this team has a larger dev representation 21:21:09 bcwaldon: yep and the docs to go with it and reviewing each other's stuff 21:21:27 right, so every aspect of extensions are basically contained within this team 21:21:35 bcwaldon: cool 21:21:47 would I be correct in saying that if we had a wiki on how to write an extension, that would help the devs help you? 21:22:03 * heckj reads scroll back really quickly 21:22:11 bcwaldon: yes and also describing the method that an extension becomes core 21:22:22 method/process/governance? Not sure what it really is. 21:22:26 it could cover the technical side, obviously, but then offering resources for documentation that can be handed off to the docs team when complete 21:22:26 hi heckj! 21:22:32 bcwaldon: have you taken a look at the templates I put together? From a spec perspective, I think most of what we need can be gathered from there. 21:22:37 Hi! Sorry - had to run out just before this started. Just landed 21:22:55 jorgew: I haven't had a change to (not other than what Anne showed me) 21:22:59 bcwaldon: I don't really see a handoff necessarily, since there aren't resources. 21:23:24 by 'resource' I meant templates 21:23:32 but yes, I guess but handoff I mean mergeprop 21:23:36 by* 21:23:37 bcwaldon: links at the bottom of the extensions page 21:23:55 jorgew: where *is* that extensions page 21:24:03 jorgew: or are you talking about the one you sent to me to review 21:24:11 I'm so lost 21:24:35 http://docs.rackspace.com/openstack-extensions/ 21:24:41 Sorry - I'm not tracking. What's the topic? 21:24:49 Ah! 21:24:56 heckj: extension and documentation 21:25:12 #link http://docs.rackspace.com/openstack-extensions/ 21:25:13 jorgew: I like the implementation of what you're doing there, but the idea is flawed from a usability perspective 21:25:34 You have to know to read the main docs and all the extensions 21:25:39 heckj: this isn't user docs, it's specs 21:25:46 just to find what you're trying to do, or to see if you even CAN do it 21:26:00 heckj: we were just talking about how we need both docs and specs 21:26:10 could you quickly summarize what a "spec" is for me then? 21:26:12 or rather guides and specs 21:26:30 jorgew: ok, why is that docs site on 'rackspace.com'? Why not openstack.org? 21:27:08 bcwaldon: at the time the team designed it, extensions we weren't certain extensions were accepted by the PPB 21:27:11 heckj: from an extensions prespective it defines specifically how the extension has changed the spec…to the point that an implementor can modify an implementation 21:27:20 jorgew: because when I look it at, I thought it was additional documentation on the API 21:27:28 annegentle: ok, any plan on migrating to openstack.org? 21:27:56 heckj: Yea I understand the confusion. In the past our user guides and our specs were the same document. That needs to change 21:28:22 bcwaldon: sure, we could do that if the community and PPB believe it to be maintainable and useful, it's really in a review stage now 21:28:32 heckj: so we should rename the title 21:28:39 annegentle: ok, just curious :) 21:28:47 bcwaldon: yeah it's a good question 21:28:50 so the goal of the spec - an example of such being http://docs.rackspace.com/openstack-extensions/compute/os-bs/content/ch02s03.html, is that this is place where someone implementing the spec would go to read on what should be implemented? 21:29:20 heckj: or a user that wants to know exactly how the spec has changed 21:29:58 So you want to keep a living history of how the API has changed over time with a series of these specs available for someone to read and review? 21:30:35 heckj: Well, not all extension are going to be available in all deployments. 21:31:00 heckj: Take a look at http://docs.rackspace.com/openstack-extensions/apix-intro/content/Overview.html 21:31:13 for an overveiw of extension mechanism 21:31:21 heckj: Rackspace and HP have to provide docs that include what extensions they have in their deployment 21:31:45 heckj: and others who have public or private OpenStack clouds 21:31:48 heckj: what's actually in a deployment is a combination of the core and 0 or more extensions 21:32:03 Real quick guys, I think we're done with the nova-api meeting. I'm going to end it if nobody else has anything related 21:32:13 keep this discussion going though :) 21:32:36 bcwaldon: oh I did want to hear about the versioning 21:32:50 bcwaldon: are we still doing a 1.1 > 2.0 rename 21:33:03 bcwaldon: and can extensions be brought in at all? 21:33:21 you may have answered this already but thought others could benefit from my confusion being clarified 21:33:22 #topic v1.1 -> v2 rename 21:33:40 ok, so I'm fine doing a true rename, but I think it's easier to not do it 21:33:44 to rephrase my last question, can extensions be brought to core in the essex time frame 21:33:56 hold on 21:34:07 annegentle: ++ 21:34:12 jorgew: do you see any problems with an actual rename? 21:34:17 annegentle: I don't think it's possible to move all of those extension to core. 21:34:27 why not? 21:34:30 bcwaldon: I'm okay with the rename. 21:34:49 annegentle: what were your concerns with a rename 21:34:59 heckj: because core functionality is stuff that you can expect in all deployments 21:35:10 re: extensions moving to core, Just wondering if any extensions would move how many, what timeframe, etc. It affects user doc. 21:35:21 yes - and there's a LOT in the extensions that can or should be in every reasonable deployment 21:35:34 re: rename, the more I look at how many files are affected and the work needed, I'm concerned about how to get a rename done. 21:35:42 heckj: That's great, we should work towards promoting those features. 21:35:46 annegentle: yes, that's what I'm concerned about too 21:36:09 annegentle: what ramifications are there if we don't rename anything and just release the next set of docs with a big '3' on it? 21:36:21 yes I agree with heckj many of the nova api ext are just expected 21:36:47 bcwaldon: to me, none, but I'm new to this, haven't done a deployment, etc. 21:36:48 as for moving extensions in, we essentially have to design them into our next iteration of the api 21:36:49 bcwaldon: I'm also okay with leaving the API name 1.1 :-) Really how big the impact will be depends on what our versioning scheme is. can we wait until that gets settled first before we decide 21:37:01 jorgew: yeah, that's what i'm leaning towards 21:37:16 annegentle: let's table the rename discussion until we have a greater consensus on versioning 21:37:27 bcwaldon: Right, we need a major version change to bring an extension in 21:37:30 to core 21:37:31 bcwaldon: sure, sounds good 21:37:31 bcwaldon: seems reasonable 21:37:32 #topic Extension Promotion path 21:38:06 yeah, so an extension should live in the context of a single major version 21:38:15 this extension extends version 2 21:38:26 the need for that extension may go away in version 3 21:39:02 bcwaldon: that's true 21:39:15 bcwaldon: but the extension may stick arround version 3 as well 21:39:28 sure, but it shouldn't be assumed to 21:39:54 does that make sense to everybody? 21:39:57 right. That's why extension are detectable… you dont assume that they are there you can detectem with /extension 21:40:38 bcwaldon: can you walk through it with Floating IPs for example? 21:40:44 annegentle: sure 21:40:57 so in v2 right now, we have a floating ips extension that adds 2 actions to /servers 21:41:16 when we design v3, let's assume we decide to add it as a core feature 21:41:44 when we release the v3 spec, floating ips will already have been accounted for, so there is no extension necessary 21:42:02 if we decide *not* to include floating ips in v3, a new extension will have to be added 21:42:21 the reason there is that the api design may change in such a way that the old v2 extension doesn't make sense 21:42:44 so dev does work in /nova to move floating IP functionality from the contrib dir, it gets reviewed and in to trunk. 21:42:45 OR, that extension may *not* need to change if we don't make any breaking changes in the part of the spec that it extends 21:42:55 yes 21:43:00 then docs get added to indicate this is in core? 21:43:18 the v2 extension doc can hang around 21:43:27 and the v3 core spec will have the floating ips in it 21:44:26 ok 21:45:09 annegentle: did you have anything else you wanted to discuss? 21:45:27 bcwaldon: process makes sense, thanks 21:45:31 bcwaldon: nope, thanks it's very helpful for my planning purposes 21:45:46 jorgew: anything to add? 21:46:01 no I think that makes sense 21:46:11 ok, any other topics of discussion? 21:47:06 alright, thanks for attending! 21:47:11 #endmeeting