16:00:09 #startmeeting api-wg 16:00:10 Meeting started Thu Jan 12 16:00:09 2017 UTC and is due to finish in 60 minutes. The chair is cdent. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:00:11 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:00:14 The meeting name has been set to 'api_wg' 16:00:16 hehe beat me to it 16:00:18 we will start no meeting before its time 16:00:23 hi 16:00:27 say hi if you're here for the meeting 16:00:34 \o 16:00:37 scottda gets a gold star 16:00:38 hi 16:00:39 hi if you're here for the meeting 16:00:48 hi 16:00:48 yay! 16:00:50 hi 16:00:51 #link agenda https://wiki.openstack.org/wiki/Meetings/API-WG#Agenda 16:00:53 hey y'all 16:01:00 elmiko gets a platinum star 16:01:01 nice, big crowd today =) 16:01:03 LOL 16:01:23 #topic old biz 16:01:44 #link last minutes http://eavesdrop.openstack.org/meetings/api_wg/2017/api_wg.2017-01-05-16.00.html 16:02:06 the only action item was to review the glance change in tempest, for which there is a slot later in the agenda 16:02:26 so 16:02:36 #topic new biz: service types authority 16:02:47 #link https://github.com/openstack/service-types-authority 16:02:58 does anyone not know or need a refresher on what that is? 16:03:20 * mordred welcomes our new service types authority overlords 16:03:28 haha 16:03:56 so I reckon that's in our wheelhouse. should it be in our bailiwick? 16:04:21 * edleafe needs a refreshed on that vocabulary 16:04:24 it has its own core reviewers and everything, but it stalled out in the face of other things last year 16:04:28 refresher, even 16:04:29 i thought there was already a fair amount of crossover in the cores for api-wg and service-type 16:05:04 wheelhouse: a style we like, bailiwick: things we care about, service types authority: a repo that authorizes the service types to go in the service catalog to avoid collision and lead to cohesion 16:05:34 hmm, given that definition. i'm +1 wheelhouse, -1 bailiwick 16:06:04 we don't really need to own it in any official capacity but I think it would be useful for us to a) track it and be good about reviewing, b) make refrence to it in guidelines 16:06:18 that's entirely reasonable 16:06:20 (especially the latter) 16:06:43 because if the service catalog is no good, we've got bad foundations 16:06:44 What part of that would be needed in API guidelines? 16:07:25 s/needed in/covered by 16:07:27 I was thinking something along the lines of a) use the service catalog b) use the names from the service types authority in your catalog c) refer to things in the catalog by type not name 16:08:02 don't append a version string to your service type 16:08:04 I suspect mordred can provide some additional thoughts on that? 16:08:09 jinx-ish 16:08:23 cdent: yah - I agree with those things 16:08:56 anybody disagree? 16:09:18 rosmaita: you here? how do you feel about not use a version string in service type? 16:09:33 here, thinking 16:10:47 you mean a version string in the actual type name, for example 16:10:55 "image-v2" 16:10:57 I'm picking on volumev2 16:10:58 instead of "image" 16:11:07 yeah, i don't like it 16:11:08 yeah, and now we have volumev3 16:11:15 which is my doing, full disclosure 16:11:20 I hate that, though. 16:11:41 i like the model where you get the type object, and it has some endpoints in it that have version inof 16:11:44 *info 16:11:48 * cdent takes away scottda's gold star 16:11:51 rosmaita: +1 16:11:56 * mordred promises not to punch scottda 16:12:02 ha...I was under duress... 16:12:06 :) 16:12:12 rosmaita: yah - what I want from the catalog is the version discovery endpoint from the service 16:12:14 personally 16:12:30 which is what I get from glance- thank you 16:12:34 I'd love to get away from that with Cinder..we've just had a heated discussion at yesterday's meeting. 16:12:36 :) 16:12:39 mixing version with service type seems a little off to me 16:12:50 at least from the catalog perspective 16:13:31 I'd frankly love to expose a single endpoint and free us to bump major version for backwards-incompat changes. Like we should be doing with semver.. 16:13:39 yup. if we wanted to put version in the catalog, we'd need to essentially replace all of the version discovery endpoints with structured catalog metadata that has versions sort of like the version discovery endpoints return - which would be a complete rework of how everything works 16:13:54 scottda: yes. execpt I want you to stop making backwards-incompat changes 16:14:00 because they're MASSIVELY painful for users 16:14:15 but if you must, I'd still prefer them to be listed in the version discovery system 16:14:17 mordred: Well, we'll never deprecate old stuff.. 16:14:21 scottda: yes 16:14:23 that's fine 16:14:34 end-users have to deal with the pain if we don't 16:14:46 it's kinda what microversions is supposed to allow, but people are confused, at least some cinder devs. 16:15:04 well -- this is a whole other argument which is potentially off topic 16:15:13 I'd really, really like to have some discussions around this at the PTG 16:15:18 cool, I think getting this stuff in the log and into people's brains is useful for future guideline creation and other discussions. Is there a particular action we can describe for what's next, if any? 16:15:19 scottda: +10000000000 16:15:32 scottda: which particular "this" do you mean? 16:15:55 API versioning, especially around major version changes (backwards-incompat).... 16:15:57 edleafe are you going to ptg? I'm not, elmiko is not, etoews is not, as I recall. 16:16:03 and how that relates to the service catelog 16:16:15 Yes, I'll be at the ptg 16:16:18 Cinder's proliferation of endpoints is problematic, I agree. 16:16:19 scottda: you can count on at least me to show up to such a discussion 16:16:34 ok, at least us then. 16:16:36 scottda: I'll be happy to energetically share opinions on the end user experience :) 16:16:54 #action edleafe, scottda, mordred to drive some dicussion about api versioning at ptg 16:17:12 \o/ 16:17:14 * dtroyer will provide moral support 16:17:24 yeah, not sure how cross-project discussions at ptg work. Is there some etherpad to sign up for a room or something? 16:17:45 any action to make about service-types-catalog? 16:18:33 I'll take that as a "we'll think about it until we figure something out" 16:18:36 next topic 16:18:45 #topic new biz: status of the glance change? 16:18:49 rosmaita: floor? 16:18:58 ok, well ... 16:19:24 i put an item on the QA team agenda to ask for an "official" decision about whether they would accept the tempest patch 16:19:45 http://lists.openstack.org/pipermail/openstack-dev/2017-January/109965.html 16:20:08 unfortunately, i had teh meeting time wrong (they alternate 9 & 17 UTC) and missed it 16:20:25 got one response on the ML, to which i responded thjis morning: 16:20:33 http://lists.openstack.org/pipermail/openstack-dev/2017-January/110018.html 16:21:20 i tried to clarify that yes, we are aware that the change we are making has an incompatibility, but we want to do it anyway 16:21:29 and that we have community support for the change 16:21:46 but i'm not sure what the next move is here 16:22:16 yeah, I stumbled at that point too 16:22:30 hrm. it's a breaking change, but it's also a bug fix 16:23:08 yes, and we've tried to minimize impact by the way the default image visibility will be set 16:23:34 oh - wait - I was thinking of the wrong thing. this thing you're doing I think is completely fine 16:23:43 i guess i need to get a clear statement from the QA team that they refuse to allow this change, period 16:23:58 there's a similar desire to fix a thing in keystone that is somewhat backward incompatible and I left a comment that I think is appropriate here: https://bugs.launchpad.net/keystone/+bug/1654084/comments/8 16:23:58 Launchpad bug 1654084 in openstack-api-wg "Listing resources with invalid filters should result in a 400" [Medium,In progress] - Assigned to Ed Leafe (ed-leafe) 16:24:13 We had timely heated discussion about this within the glance community and what the user impact will be and how we minimalize the impact to the smallest possible inconvenience 16:24:18 we don't want to lose sight of the goal: make things better for users 16:24:19 mordred: not surprised you forgot, this has been dragging on for a long time ... you gave your OK back in June, i think! 16:24:38 The only stopper is the Tempest test, no? 16:24:41 yes 16:24:53 yep 16:25:03 And it seemed (IMO) that the logic in the test was flawed 16:25:04 and it appear that only one tempest core opposed, another is okay 16:25:22 i.e., based on an incorrect assumption 16:25:38 yah.I think it's a much better user experience, and the way in which it's breaking things is _way_ easier to deal with than the mass of other api breaking changes that are rolling out 16:25:42 we have two cores who are opposed, to be precise 16:26:25 just noticed that jordan gave it a +2 16:26:28 https://review.openstack.org/#/c/414261/ 16:26:28 ah, thanks stevelle, I was counting comments and votes that I've superficially seen, not all commentary 16:26:45 so - fwiw, the primary role of the TC is actually to mediate intractible disagreements between projects 16:26:51 #link the glance change to tempest https://review.openstack.org/#/c/414261/ 16:26:59 I can think of almost no times the TC has been asked to do so 16:27:07 heh 16:27:13 but if it can't be worked out, it's completely fair and in scope to raise it at the TC level for guidance 16:27:20 mordred: agreed 16:27:48 jordan's comment on the patch is "I am ok with this. I've read the several discussions about this, it's not worth blocking and fighting with the Glance team, imo. I am not sure image sharing is widely used anyway." 16:27:48 ++ mordred 16:27:49 It's interesting that this is intractable (from an observational/intellectual standpoint). 16:29:07 It seems like with jordain's vote that it is close, and maybe it's on its way to being resolved? Is there anything in the meantime that the api-wg can/should do to help (we've already put our stamp of approval on it)? 16:29:18 s/ain/an/ 16:29:59 no, i can maybe follow up with the QA PTL and ask him to get some more QA/tempest cores to look at it? 16:30:07 that seems like a good plan 16:30:14 and then if we can't get it merged, take it to the TC 16:30:19 * cdent nods 16:30:34 any further commentary before moving on? 16:30:34 ok, thanks everyone 16:31:05 #topic new biz: open mic 16:31:05 quick etiquette question 16:31:14 go for it 16:31:28 is it ok if i send a personal message to QA PTL, or should i do it on the ML? 16:31:38 * cdent defers to old man mordred 16:32:21 I generally prefer the ML for things like that. 16:32:37 default to open ;) 16:32:52 sounds good, thanks 16:32:53 I don't want to be appearing to get around things by appealing to personal relationships 16:32:54 politically I think everything should be on the ML, socially it has often proven otherwise. In this case I don't think it makes much difference. 16:33:03 edleafe++ 16:33:16 okay; anyone have a new non-agenda open mic topic they'd like to raise? 16:33:36 i agree open is better, i just don't want it to appear like a "power cc:" 16:34:04 rosmaita: yeah, that's fiar 16:34:08 fair even 16:34:40 BUt to be fair, most people don't like me, so I can't use personal appeal as an advantage :) 16:34:41 If noone else has a topic, what's the next step on discussion of versioned endpoints at the PTG? An ML post? 16:34:49 edleafe: LOL 16:34:54 scottda: yeah, that seems like a good idea 16:35:11 edleafe: it's good that I'm not the only one :D 16:35:21 jokke_: heh 16:35:34 I'm not sure I have as much info on this as others, but I'll do it if noone else wants to. 16:35:42 scottda: including amongst your other questions: is there an etherpad for this sort of thing yet? 16:35:59 if you start the ball rolling it will accumulate info 16:36:25 cdent: I thought there was, but not sure. diablo_rojo told me that there were fishbowl rooms and she thought service teams would have rooms on mon-tues.. 16:36:43 there's this message on a related topic from long ago: http://markmail.org/message/o4k7wd7vqxon2ypk 16:36:45 so for cross-project she *thought* cinder would have a large-ish room available. 16:36:57 "In a perfect world, every endpoint would return the same type of resource - most likely the versions resource as described in the API WG Microversions spec." 16:37:31 cdent: OK, I'll send out an ML post that we want to discuss how to get to that perfect world... 16:37:37 without breaking existing users. 16:38:00 #action scottda to send out email to get things started for consistent versioned endpoints 16:38:03 thanks 16:38:12 np 16:38:16 #topic guidelines 16:38:27 #link lots of guidelines https://review.openstack.org/#/q/status:open+project:openstack/api-wg,n,z 16:38:55 I'm not aware of anything that's ready to freeze? edleafe has added a ton of good stuff that still needs a bit more review and revision 16:39:14 sigmavirus has the pagination thing in progress, on which there's a bit of discussion about "tone" 16:39:28 cdent: yeah, I've gotten some good feedback, but would like a little more if possible 16:39:31 * sigmavirus hasn't had a minute to change the tone 16:39:50 sigmavirus: I can take a whack at it if you like 16:39:50 and the capabilities guideline is still moving forward but not really achieving consensus 16:40:09 edleafe: gopher it :) 16:40:17 sigmavirus: kewl 16:41:15 * cdent misses gopher 16:41:40 only gopher 1 though, gopher 2 was nightmare 16:41:50 let's make gopher3 16:42:00 it'll be SO MUCH BETTER 16:42:03 layer it on top of quic or something for giggles 16:42:08 exactly 16:42:32 lol 16:42:33 so I wonder if we should talk a bit about the capabilities guideline 16:42:47 #link capabilities guideline: https://review.openstack.org/386555 16:43:07 Does it even fit in the api-wg? 16:43:50 Are we even capable of having this discussion? ;) ;) 16:43:54 ikr 16:44:14 I'm forever optimistic about being able to have whatever conversation we want 16:44:14 hehe 16:44:17 cdent: well, yeah, if it is determined that APIs should support capability discovery 16:44:57 i think it fits for us to discuss the details surrounding the api impl, but i'm not sure about the api-wg commenting on the content of the capabilities proposal 16:45:01 there's something about capabilities discovery that makes me feel really squeamish and I cannot put my finger on why 16:45:02 I would first like to define exactly what information this API should return 16:45:03 It should certainly be uniform across services, so this would be the place to make that better. 16:45:22 otherwise, we'll get a hodge-podge 16:45:28 scottda: +1 16:45:39 yes, that's very true 16:46:12 i'm just not sure we need to weigh in, in an official api-wg capacity, about whether capabilities is a good idea or not. 16:46:20 mordred: are you still around? from the world of shade and cloud-config etc can you comment on the need for capabilities discovery? 16:47:19 elmiko: part of the reason I think we _might_ want to weigh in is because of what I said in one of my comments on the review: if you need it at the instance level than the resource representations aren't great 16:47:35 and we should aspire to good resource representations rather than bandaids to fix them 16:48:24 cdent: and i think that is fair, we are still discussing good api design. i just meant from a perspective of "capabilities are bad/good" kinda thing. 16:48:56 asking a cloud if it is capable of function X is much different from asking an instance if it is capable of function X 16:48:57 cdent: why wouldn't a user want to know about what they can/can't do with an instance? 16:49:16 they should know by looking at the instance itself, not another URL 16:49:25 cdent: but johnthetubaguy's comment was that this was always for an authenticated request 16:49:33 cdent: i.e., it had a user's scope 16:49:51 sure but /capabilities/volume is about this cloud 16:50:10 and /volume/id/capabilities is about this instance 16:50:15 the latter seems off to me 16:51:07 the latter seems more like it would be better served by a --dry-run sort of construct 16:52:32 in fact, ideally I would act a service about its capabilities, I'd ask a cloud about the capabilities of all its services 16:52:37 sigh 16:52:45 s/would act/wouldn't ask/ 16:52:45 "Does this cloud support volume deletion?" is different than "Can I delete this volume?" 16:53:13 that latter question should be answered by a link rel in the representation of the volume at /volume/id 16:53:18 but they are both being called 'capabilities' 16:53:32 right, and that seems incorrect (to me) 16:55:18 me too 16:55:40 anyone else want to weigh in? 16:55:56 i'm kind atorn 16:56:04 yeah, me too 16:56:19 and I've ping'ed dulek who wrote the patch, but no reply. 16:56:22 i can see the wisdom in querying the cloud for capabilities, but i wonder if the users are looking for something more detailed than that 16:56:52 Well, the cloud may have capabilities that an individual user doesn't have access to.... 16:57:04 some 0f that, for volumes, can be in volume-type 16:57:09 i.e. backup 16:57:11 at the same time, in the case of the delete volume example, why would you query to find out if you could delete a volume? wouldn't you just try it on a cloud that has deletions, and then respond accordingly to the response from the service? 16:57:49 elmiko: because some things are async 16:58:05 edleafe: good point 16:58:18 Since we only small number of minutes left, anyone who is interested please add more commentary on the review: https://review.openstack.org/386555 16:58:21 last topic 16:58:27 #topic: bug review 16:58:54 we've had at least one new bug but it's been addressed almost as quickly as it was created (thanks edleafe!): https://review.openstack.org/417441 16:59:01 this is part of the reason i don't want to be in the middle of the design process about capabilities, i'm happy to give advice about the api design, but i don't have a strong enough grasp on the end goal to give good advice on the proposed solution 16:59:07 but that leaves a lot of older bugs languishing 16:59:14 if you have time interest please have a look 16:59:30 #link bugs: https://bugs.launchpad.net/openstack-api-wg 17:00:03 Most of the bugs are TODOs, so it doesn't take a lot to fill in the guidelines for the missing TODO 17:00:17 anyone itching to newletter? if not i'll ping people to review my edits later 17:00:31 * elmiko checks 17:00:33 thanks everyone for coming, nice to see so many people 17:00:35 nope, no itch 17:00:39 ;) 17:00:43 conversation continues in #openstack-sdks 17:00:47 #endmeeting