00:00:23 <etoews> #startmeeting api wg 00:00:23 <openstack> Meeting started Thu May 28 00:00:23 2015 UTC and is due to finish in 60 minutes. The chair is etoews. Information about MeetBot at http://wiki.debian.org/MeetBot. 00:00:24 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 00:00:28 <openstack> The meeting name has been set to 'api_wg' 00:00:42 <miguelgrinberg> hi, etoews 00:00:47 <etoews> hello! 00:01:25 <miguelgrinberg> these are always quiet, but I'm surprised elmiko isn't here 00:01:37 <etoews> he mentioned he wouldn't be able to make it 00:01:43 <miguelgrinberg> ah, okay 00:02:14 <etoews> i think we can toss the agenda out the window. anything you want to discuss? 00:02:29 <etoews> i haven't been able to catch up to the reviews yet 00:02:43 <etoews> much less get to any action items from the summit 00:03:01 <miguelgrinberg> I was hoping to discuss caching, but maybe we should wait till next meeting 00:03:49 <etoews> ya. not exactly at quorum. 00:04:10 <miguelgrinberg> and also, Angus published the user notifications spec, have you seen it? 00:04:13 <stevelle> could discuss anyway but shouldn't make any binding decisions from it 00:04:24 <etoews> hiya stevelle 00:04:30 <miguelgrinberg> let me find the review link 00:04:47 <miguelgrinberg> https://review.openstack.org/#/c/185822/ 00:08:01 <miguelgrinberg> I have done a few reviews of the current patches, but nothing really worth discussing that I recall. 00:08:06 <miguelgrinberg> you guys have anything? 00:08:42 <etoews> i was just reading the user events thing 00:08:56 <stevelle> I want to help draw attention and eyeballs to the experimental Artifacts API inside the Glance project which is now being called a v3 API. 00:09:08 <etoews> i was also looking at https://review.openstack.org/#/c/185180/2/guidelines/http.rst 00:09:17 <etoews> stevelle: link? 00:09:38 <stevelle> lemme see if I can find something for it. It was released as experimental in Kilo 00:10:01 <miguelgrinberg> etoews: I was shocked when I saw those GET requests that carry out actions 00:10:29 <etoews> ugh 00:11:07 <stevelle> https://etherpad.openstack.org/p/MetadataRepository-ArtifactRepositoryAPI 00:11:22 <stevelle> hard to find something more solid than that 00:11:40 <miguelgrinberg> stevelle: not published in the official API docs? 00:12:22 <etoews> i think the GET patch needs to call out that GET must be idempotent 00:12:32 <stevelle> miguelgrinberg: Sadly no. It was only partially-delivered in Kilo though it was code complete but many patches failed in review 00:13:22 <etoews> stevelle: there wasn't even a spec for it? 00:13:23 <miguelgrinberg> stevelle: the v3 API uses /v2/whatever :/ 00:13:40 <stevelle> etoews: digging for a spec now 00:13:52 <stevelle> http://specs.openstack.org/openstack/glance-specs/specs/kilo/artifact-repository.html 00:14:42 <miguelgrinberg> stevelle: what are roles? 00:14:53 <stevelle> miguelgrinberg: pretty sure they are not going to be going with a /v2 url path at this point, but the etherpads are likely a bit out of date since summit 00:15:48 <stevelle> miguelgrinberg: think you're referring to role-based access control (RBAC) 00:16:13 <etoews> this seems a lot like swift. am i missing something? 00:16:24 <miguelgrinberg> oh, I see, they are keystone roles 00:16:45 <stevelle> etoews: spec even has a bit about "why not swift" iirc 00:18:34 <etoews> sorry afk brb 00:18:49 <stevelle> just to circle back, this seems like a great opportunity to influence an API that isn't yet solidified so I wanted to be sure that the WG is aware of the opportunity. 00:19:51 <miguelgrinberg> the plan is to have it officially out by Liberty? 00:20:11 * sigmavirus24 sneaks in 00:20:14 <stevelle> miguelgrinberg: the hope is to have a complete implementation in Liberty. 00:20:59 <stevelle> it doesn't seem that the glance team expects it to become officially The New Hotness in Liberty however. 00:21:12 <stevelle> but the chance to influence the API is likely in this cycle 00:21:12 <sigmavirus24> Well some people do 00:21:16 <miguelgrinberg> I see that the spec defines a query language for filtering 00:21:17 <sigmavirus24> Most people don't 00:21:33 <sigmavirus24> miguelgrinberg: custom query languages are the best, don't you know? 00:21:57 <miguelgrinberg> yeah, I built my very own and presented at PyCon, it's different from everything else, like it should be 00:22:59 <miguelgrinberg> the API looks decent to me, nothing really jumps at me 00:23:21 <miguelgrinberg> unfortunately we haven't made up our mind on filtering 00:24:02 <stevelle> the filtering bit is a great opportunity in my eyes to see if we can 00:24:18 <miguelgrinberg> there is a guideline in the works, let me find it 00:24:31 <miguelgrinberg> https://review.openstack.org/#/c/177468/ 00:24:36 <miguelgrinberg> work in progress 00:25:49 <stevelle> might need to resurrect that 00:26:19 <sigmavirus24> let's please do that 00:26:25 <miguelgrinberg> I think this came about after a bunch of heat specs had filtering in them, but ryanb did not write the complex filters section yet 00:26:48 <stevelle> also, I care about this topic because I have a Glance V2 API impact that I want to propose that adds filters 00:27:46 <etoews> *catches up* 00:28:03 <stevelle> so filtering guidance would be helpful for my blueprint as well 00:28:25 <miguelgrinberg> looks like he came up with a way to grep for the current filters in APIs: https://wiki.openstack.org/wiki/API_Working_Group/Current_Design/Query 00:29:12 <miguelgrinberg> this one is better formatted: https://etherpad.openstack.org/p/find_filters 00:29:38 <etoews> stevelle: do you want to take an action item to push forward on the filtering guideline along with ryansb? 00:30:46 <stevelle> etoews: I can 00:31:30 <etoews> #action stevelle to push forward on the filtering guideline along with ryansb 00:32:15 <etoews> are there any api wg people on the artifact side of glance? 00:32:54 <stevelle> etoews: I don't believe there are any within the sub team 00:33:34 <etoews> does anyone know someone on the sub team? 00:34:00 <etoews> what i'm driving at is seeing if they'd be interested in working with us like the nova team does. 00:34:55 <stevelle> I can make contact with ativelkov unless sigmavirus24 would like to 00:35:25 <sigmavirus24> etoews: I'm going to take a guess and say they just want to push it out 00:35:31 <sigmavirus24> It was supposed to land in time for Kilo 00:35:53 <sigmavirus24> That said, as a glance driver and core, I'll see if I can convince them to work with us 00:36:36 <etoews> sure. as i always say, i don't want to see the api wg become a bottleneck for projects getting work done. 00:36:49 <etoews> if we can help them, that's great. 00:37:10 <etoews> if not, that's how it goes. 00:37:29 <sigmavirus24> I'm also wary of another situation wherein they involve the WG as a means of having their API design approved (e.g., deactivate/reactivate actions) 00:37:47 <etoews> we've been down that path before... 00:37:53 <miguelgrinberg> the glance-spec for this was not tagged with APIImpact, I wonder if they don't know or wanted to avoid the hassle 00:38:07 <miguelgrinberg> link: https://review.openstack.org/#/c/177397/ 00:38:08 <sigmavirus24> (to be fair the team that we spent 3 meetings on with that discussion does not intersect with the artifacts team) 00:38:20 <sigmavirus24> miguelgrinberg: jaypipes is their boss, so I'd hope they know =P 00:38:56 <miguelgrinberg> they they did it on purpose :) 00:39:28 <sigmavirus24> Either way, just asked Mike to add it =P 00:39:34 <sigmavirus24> I'm sorry and you're welcome 00:40:56 <miguelgrinberg> and the API described in that page is different than the one in the etherpad stevelle shared earlier 00:41:15 <miguelgrinberg> I guess the spec wins 00:41:21 <sigmavirus24> miguelgrinberg: afaic it does 00:41:26 <etoews> i assume the spec wins too 00:42:34 <etoews> shall we ask jaypipes to reach out to that team about working with us like the nova team? 00:43:26 <etoews> i can take that one 00:43:32 <miguelgrinberg> I think that pretty much guarantees that it will get done 00:43:40 <etoews> :) 00:43:54 <sigmavirus24> I haven't looked at this at all 00:44:05 <sigmavirus24> How much work will it need before we're okay with it? =P 00:44:17 <etoews> #action etoews to ask jaypipes to reach out to the glance artifacts sub-team about working with us like the nova team 00:45:00 <miguelgrinberg> sigmavirus24: one concern, they have optional components in the URL, but not at the end 00:45:20 <miguelgrinberg> example: GET /v2/artifacts/{artifact_type}/[{type_version}/]creating 00:46:14 <miguelgrinberg> type_version appears to be optional 00:46:33 <stevelle> my initial reaction to that is that 'creating' is a filter and is best as a query param anyway 00:46:42 <miguelgrinberg> stevelle: +1 00:46:51 <sigmavirus24> So 00:47:14 <sigmavirus24> Tangential to this, we should either find an existing way of doing this, or make up our own convention for writing out URIs 00:47:44 <stevelle> I seem to recall there is a related RFC 00:47:45 <sigmavirus24> URI Templates (RFC 6570) are very familiar to me, so we can use those, but I suspect they'll be less helpful to others 00:48:03 <sigmavirus24> stevelle: interesting, I don't think I've seen it yet 00:48:14 <sigmavirus24> But that [{type_version}/] really bothers me 00:48:18 <stevelle> sigmavirus24: I was thinking of URI templates 00:48:34 <sigmavirus24> stevelle: Yeah, that's not really meant to be used in this way 00:48:40 <sigmavirus24> But we could probably use it that way 00:48:57 <stevelle> better than ABNF imo 00:49:59 <miguelgrinberg> stevelle: do you think the experimental version that is out agrees with this spec, or is it older? 00:50:21 <stevelle> miguelgrinberg: would be absolute speculation for me to answer 00:53:27 <etoews> sorry i've been distracted...back now. 00:53:48 <etoews> any action to take here? 00:54:03 <miguelgrinberg> can't find any API definitions in glance master 00:54:08 <miguelgrinberg> for artifacts 00:54:23 <miguelgrinberg> etoews: I'll review the spec and comment 00:54:35 <etoews> miguelgrinberg: what do you mean exactly by "API definitions"? 00:54:56 <miguelgrinberg> etoews: I was looking to see what endpoints they have in master for artifacts, but I have found none 00:54:58 <stevelle> so the change sets that included the api impl probably didn't land. some of the pre-requisites did and I didn't recall 00:55:14 <etoews> #action miguelgrinberg to review https://review.openstack.org/#/c/177397/ and comment 00:55:14 <stevelle> which 00:55:20 <etoews> ah 00:55:50 <miguelgrinberg> there are artifact models in master 00:57:20 <sigmavirus24> miguelgrinberg: there is no API endpoint in kilo 00:57:27 <sigmavirus24> only the DB layer was added 00:57:54 <etoews> before we sign off here, i want to mention that i've got a really pressing deadline on june 9. i'm not going to have much time to put towards the api wg until june 15 really. 00:57:59 <miguelgrinberg> well, that's good, that means it isn't too late to discuss the API 00:59:32 <stevelle> thx all 01:00:08 <etoews> thx everyone. i think some good stuff can come out of this artifacts api review. 01:00:12 <etoews> #endmeeting