16:00:31 <elmiko> #startmeeting api sig
16:00:31 <openstack> Meeting started Thu Mar 15 16:00:31 2018 UTC and is due to finish in 60 minutes.  The chair is elmiko. Information about MeetBot at http://wiki.debian.org/MeetBot.
16:00:32 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
16:00:35 <openstack> The meeting name has been set to 'api_sig'
16:00:40 <edleafe> \o
16:00:41 <elmiko> #chair cdent elmiko edleafe dtantsur
16:00:42 <openstack> Warning: Nick not in channel: cdent
16:00:43 <dtantsur> o/
16:00:44 <openstack> Current chairs: cdent dtantsur edleafe elmiko
16:01:15 <elmiko> #link https://wiki.openstack.org/wiki/Meetings/API-SIG#Agenda
16:01:30 <cdent> sigh. tc again
16:01:32 <elmiko> welcome, sir
16:01:34 <elmiko> np
16:01:38 <elmiko> #topic previous meeting action items
16:02:01 <elmiko> i missed last meeting, looks like no action items?
16:02:11 <dtantsur> well, continue with the PTG items
16:02:16 <elmiko> ack
16:02:24 <elmiko> any status on those?
16:02:37 <edleafe> I haven't done mine yet
16:02:52 <edleafe> just finally published my PTG blog yesterday :)
16:02:53 <cdent> i have a question about one of mine, but it is listed elsewhere in the agenda
16:03:11 <dtantsur> I have updated the versions-in-SDKs guideline
16:03:11 <elmiko> fair
16:03:16 <dtantsur> accordingly to what we discussed back then
16:03:21 <dtantsur> * according
16:03:22 <elmiko> ++
16:03:45 <edleafe> dtantsur: have it open in a tab, only got through the first two paragraphs so far
16:04:15 <dtantsur> ah, the ones that were not changed :D
16:04:26 <edleafe> heh
16:04:34 <elmiko> i need to review mugsie's stuff still, i will get that in the next week
16:05:06 <elmiko> #topic open mic and ongoing or new biz
16:05:29 <elmiko> anyone wanna comment on what is missing from the http methods doc?
16:05:40 <elmiko> #link http://specs.openstack.org/openstack/api-wg/guidelines/http.html#http-methods
16:06:10 <edleafe> cdent: was that yours?
16:06:32 <cdent> yeah
16:06:52 <cdent> so I had an action to write up a field guide to the http methods
16:07:00 <cdent> and went to check what we already had, which is pretty complete
16:07:11 <cdent> so thought I would check to see what's missing before I try to fix anything
16:07:23 <elmiko> that sounds worthwhile to me
16:07:38 <edleafe> are you thinking like a high-level summary?
16:07:48 <cdent> well I dont know, because it is already a pretty high level summary
16:07:56 <edleafe> something like "You want to update a foo. You should do it this way: ..."
16:07:58 <cdent> so I'm wondering if maybe nothing needs to be done
16:08:50 <elmiko> kinda sounds like that
16:09:16 <elmiko> maybe increase the visiblity for that section?
16:09:18 <edleafe> Nothing is jumping out at me
16:09:53 <cdent> I still have a different action which is a sort unabridged table of contents to the guidelines, which would probably help the visibility problem
16:10:11 <elmiko> ++
16:10:15 <cdent> If we think the content that's currently there for methods is okay, I'll focus on the different actin instead
16:10:34 <elmiko> should we take an action to review that section for content?
16:10:43 <cdent> seems like a good idea
16:10:45 <dtantsur> at least some grouping of the list of guidelines
16:11:12 <elmiko> #action everybody read the http-methods guideline with an eye for missing content
16:11:36 <elmiko> or should we make it hte whole http doc?
16:12:02 <cdent> may as well be the whole doc?
16:12:14 <elmiko> i'm good with that
16:12:15 <elmiko> #undo
16:12:17 <openstack> Removing item from minutes: #action everybody read the http-methods guideline with an eye for missing content
16:12:24 <elmiko> #action everybody read the http guideline with an eye for missing content
16:12:59 <elmiko> any other topics for open mic?
16:13:27 <cdent> not from me
16:13:45 <elmiko> moving right along then
16:13:47 <elmiko> #topic guidelines
16:13:53 <elmiko> #link https://review.openstack.org/#/q/status:open+project:openstack/api-wg,n,z
16:13:59 <elmiko> #link https://review.openstack.org/#/q/status:open+project:openstack/api-sig,n,z
16:14:29 <elmiko> i guess we need some reviews on the microservice and cache-control prs
16:15:04 <elmiko> and maybe reach out Gilles about the schema thing? (i know that's tied up with the os-api-ref changes too)
16:16:09 <elmiko> any other thoughts or comments here?
16:16:15 <dtantsur> I might have missed some comments (e.g. IIRC cdent's) while updating my spec - please lemme know if they still apply
16:16:23 <cdent> Unless someone wants to pick it up, we could consider abandoning sean's microversion history doc
16:16:37 <edleafe> None, other than when things get busy, my focus on the API-SIG stuff suffers
16:16:58 <dtantsur> it's the case for all us, I guess
16:17:08 <elmiko> i can take an action to look at sean's doc
16:17:28 * mlavalle would like to ask question at the end of the meeting
16:17:42 <elmiko> #action elmiko review https://review.openstack.org/#/c/444892/ for relevance
16:17:48 <elmiko> mlavalle: sure thing
16:18:13 <dtantsur> I dunno how I feel about that doc...
16:18:18 <edleafe> mlavalle: we now charge $5 to ask a question
16:18:27 * elmiko chuckles
16:18:32 <mlavalle> LOL
16:18:35 <dtantsur> it seems a bit like an attempt to provide a justification for the already made decision
16:18:36 <elmiko> dtantsur: please add a comment to the review =)
16:18:37 <dtantsur> hehe
16:18:44 <dtantsur> yep, will do
16:18:46 <elmiko> thanks!
16:19:18 <elmiko> imo, sometimes it's nice to have the engineering history captured for newcomers to read up on, but i get what you are saying dtantsur
16:19:23 <edleafe> dtantsur: yeah, I remember a summit session or blog post or something like that from Sean that started this line of microversion explanation
16:19:49 <edleafe> It was more to explain *why* those decisions were made for those who came later
16:20:08 <elmiko> i think that is worthwhile info to capture
16:20:15 <edleafe> Imagine if the US Founding Fathers had bothered to do that :)
16:20:29 <dtantsur> lol
16:20:37 <elmiko> i /may/ not be the best person for keeping that history from the doc, but i can at least review it and see if we can get there
16:20:41 <dtantsur> well, I'd prefer it also covered downsides...
16:21:30 * cdent waves at mlavalle
16:21:35 <cdent> woot, missed doing that
16:21:36 <elmiko> given the preference for microversions, is there a situation where we could actually advise a project *not* to use them?
16:21:46 <edleafe> dtantsur: wait - microversions have downsides?
16:21:53 <edleafe> :)
16:21:55 <elmiko> edleafe: ++
16:21:57 <dtantsur> LOOOL
16:22:09 <dtantsur> elmiko: API barely ever changes?
16:22:15 <elmiko> i'm cool with pointing out the downsides if we agree that in some cases we could advise that path
16:22:37 <elmiko> dtantsur: yeah, seems like more work for little gain there
16:22:50 <dtantsur> well, the downsides (like complex implementation or being confusing as hell) exist even if we don't have better alternatives
16:22:56 <elmiko> well, let's discuss it on the review. i think it would be good to capture this conversation there
16:23:00 <dtantsur> yep
16:23:01 <elmiko> true
16:23:29 <elmiko> #topic bug review
16:23:35 <elmiko> #link https://bugs.launchpad.net/openstack-api-wg/+bugs?orderby=-id&start=0
16:23:43 <elmiko> #link https://bugs.launchpad.net/openstack-api-sig/+bugs?orderby=-id&start=0
16:23:46 <elmiko> anything new here?
16:24:06 <elmiko> i guess just the cache-control stuff
16:24:14 <elmiko> but we are addressing that with the guideline?
16:24:14 <cdent> dtantsur: speaking of complex microversion implementatins, you should totally lend your review to my active changes on microversion-parse
16:24:22 <elmiko> ++
16:24:27 <dtantsur> cdent: /me adds to gertty
16:25:05 <elmiko> anything else to say on bugs?
16:25:32 <elmiko> ok then
16:25:37 <elmiko> #topic open mic, round 2
16:25:43 <elmiko> mlavalle: the floor is yours
16:26:20 <mlavalle> cdent was very nice to respond to our question here: http://lists.openstack.org/pipermail/openstack-dev/2018-March/128023.html
16:26:58 <mlavalle> the implication is that Neutron has a buggy API as far as filters
16:27:11 <mlavalle> we are going to fix it
16:27:24 <elmiko> not buggy, non-conforming to the guidelines ;)
16:27:30 <mlavalle> yeap
16:27:50 <elmiko> and glad to hear it is helping provide a direction =)
16:27:59 <mlavalle> the question is. Should we keep the previous API behavior?
16:28:14 <mlavalle> in other words, make the fixed one configurable and dicoverable
16:28:28 <edleafe> It can be a bug if the user thinks they are requesting things, but there is a typo and the server returns something other than what was expected
16:28:31 <mlavalle> but let the user keep the previous one
16:28:35 <elmiko> wouldn't you need to keep the old for historical microversions?
16:28:49 <elmiko> edleafe: good point
16:29:06 <edleafe> elmiko: if it's considered a bug, you should *not* keep the old behavior
16:29:24 <edleafe> if it's considered a feature (flexibility!), then yes, you need to keep that option
16:29:26 <mlavalle> we don't have bugs reported against the current behavior
16:29:59 <mlavalle> we discovered the way it is behaving and want to make it consistent
16:30:00 <elmiko> edleafe: 100% agree
16:30:10 <mlavalle> with the guidelines
16:30:33 <elmiko> so, i guess this kinda turns it back around to edleafe's point
16:30:40 <mlavalle> so I am thinking that we should give users a way to keep the old behavior if they want to
16:30:47 <elmiko> is the old behavior considered buggy, even if none have been reported?
16:30:51 <edleafe> mlavalle: so is anyone *depending* on the current behavior that you know of?
16:30:57 <elmiko> ++
16:31:25 <mlavalle> edleafe: we don't really know, but we don't want to potentially break tooling that accounts for the current behavior
16:31:48 <elmiko> that sounds like a strong case for keeping it
16:32:16 <mlavalle> yes, that's what I thought
16:32:17 <edleafe> you'd have to get the input from the tooling maintainers on that, then
16:32:24 <cdent> I'm trying to imagine the tooling that adapts and I suppose things that do dynamic query generation might be impacted
16:33:38 <cdent> mlavalle: what's the cost of keeping it?
16:33:52 <edleafe> So here's what I see: there is a valid parameter named 'foo', but a tool is now calling the API with 'f00'. You make the change, and all of a sudden they are getting 400s back. This makes them investigate, and that should reveal the bug on their side
16:34:14 <edleafe> They fix it, and everyone's happy
16:34:26 <mlavalle> I don't the cost is much
16:34:43 <cdent> edleafe: unless that tooling is on some locked down enterprisey system that can't change easily
16:35:07 <edleafe> cdent: sure, but then it's potentially a lot more serious, too
16:35:39 <cdent> but from their perspective it's been working (in a twisted sort of way)
16:35:52 <cdent> I actually agree with you though I think we should break broken code more often than we do
16:36:10 <dtantsur> heh
16:36:28 <dtantsur> well, I can imagine people passing a wrong parameter just because somebody left it there 3 years ago..
16:37:13 <elmiko> totally
16:38:11 <elmiko> mlavalle: so, has this helped? XD
16:38:35 <mlavalle> yeah, I guess we will give the user the option to keep the current behavior
16:38:44 <mlavalle> and we are going to document the change profusely
16:38:55 <mlavalle> so it becomes visible
16:39:02 <cdent> mlavalle: out of curiosity how will you control that?
16:39:26 <edleafe> mlavalle: would it be possible to default to the new behavior, with the option to specify the old behavior?
16:39:41 <mlavalle> we have the extensions mechanism in Neutron
16:39:57 <mlavalle> so I am thinking of encapsulating the new behavior in an extension
16:40:16 <mlavalle> and that's a pretty good idea edleafe :-)
16:40:35 <dtantsur> why not microversion it? :)
16:40:49 <dtantsur> I mean, if you default to new behavior, this is equivalent to removing the old completely
16:40:51 <edleafe> mlavalle: yeah, that way any new stuff written against the API will get the correct behavior
16:40:56 <elmiko> yeah, i'd think microversion > extensions, per the guidelines
16:40:58 <mlavalle> we don't handle microversions in Neutron
16:41:05 <elmiko> ah
16:41:05 <dtantsur> because if people update their software to opt-out, they can well update it to stop relying on the old behavior
16:41:14 <dtantsur> or am I missing something?
16:41:20 * cdent puts on his sales ties
16:41:49 * elmiko chuckles
16:41:50 <cdent> If there ever comes a time when you might need microversions, consider microversion-parseā„¢ for all your microversion needs
16:41:55 <elmiko> ++
16:42:14 <mlavalle> cdent: will do....
16:42:25 <edleafe> ...and if you order now, we'll throw in this set of steak knives!
16:42:31 <mlavalle> this has been helpful
16:42:41 <mlavalle> how do I pay the $5?
16:42:48 <mlavalle> fee
16:42:50 <elmiko> edleafe: LOL
16:42:51 <cdent> canadian beer
16:42:52 <edleafe> dtantsur: well, that goes to cdent's point about we don't break stuff enough
16:43:00 <elmiko> cdent: ++
16:43:09 <edleafe> mlavalle: send me some bitcoin
16:43:21 <mlavalle> ok, I'll buy you guys a beer in Vancouver
16:43:45 <elmiko> ooh, now i have to get to vancouver!
16:43:52 * dtantsur will skip Vancouver
16:44:09 <elmiko> ok, anything else on this topic?
16:44:11 <mlavalle> or at the first ocassion I see you... how about that?
16:44:21 <mlavalle> No, I'm done, thanks
16:44:22 <elmiko> ++
16:44:26 <cdent> dtantsur: :(
16:44:31 <elmiko> thanks mlavalle for bringing this up =)
16:44:45 * edleafe will drink dtantsur's beer for him
16:44:48 <elmiko> agreed with cdent
16:44:51 <elmiko> lol
16:44:54 <elmiko> #topic weekly newsletter
16:45:01 <elmiko> #link https://etherpad.openstack.org/p/api-sig-newsletter
16:45:04 <elmiko> volunteers?
16:45:18 <cdent> I haven't done it in a while
16:45:22 <cdent> so I'm happy to do it
16:45:29 <elmiko> winner winner, chicken dinner!
16:45:32 <elmiko> thanks cdent
16:45:52 <elmiko> thanks everybody
16:45:58 <elmiko> #endmeeting