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