16:00:05 #startmeeting api wg 16:00:05 Meeting started Thu Jan 28 16:00:05 2016 UTC and is due to finish in 60 minutes. The chair is etoews. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:00:07 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:00:09 The meeting name has been set to 'api_wg' 16:00:21 hola 16:00:35 o/ 16:01:10 yo/ 16:01:34 o/ 16:02:16 #link https://wiki.openstack.org/wiki/Meetings/API-WG#Agenda 16:02:35 ummmm...not so many updates from last week. 16:02:52 we've got a couple new guidelines that have been proposed =) 16:02:58 nice to see the activity 16:03:04 yes! 16:03:08 #topic previous meeting action items 16:03:19 #link http://eavesdrop.openstack.org/meetings/api_wg/2016/api_wg.2016-01-14-16.00.html 16:03:41 * etoews assumes nothing happened at last week's meeting... 16:03:49 "cdent to re-review https://review.openstack.org/#/c/234994/ with an eye to reaching consensus" FAIL 16:03:52 i got word through ryanb that miguel is cool with me taking over the actions review 16:04:07 and i froze that review, but it got pinged and sent back to review :/ 16:04:09 sorry about making that harder 16:04:18 haha 16:04:27 elmiko: good on you for taking that on 16:04:37 no worries, there are some good suggestions in the comments cdent 16:04:50 etoews: i feel it's gonna be rough slough 16:05:31 I think splitting it in two is a good way to go. 16:05:57 changing some thing's state v doing some stuff 16:06:09 good idea 16:06:23 ya. we need to start finding alternative ways to make progress on this stuff. 16:06:28 and there is the whole issue of whether tasks/actions/workflows should even be separate resources 16:07:00 is it even possible for us to start smaller on some of the more controversial guidelines? 16:07:20 i think it's worthwhile to try 16:07:21 i like the approach that ken o'omichi took with the microversion stuff 16:07:43 (i think it was him) 16:07:48 i wish i had done something like that with the errors guideline 16:08:11 * cdent sings there's always tomorrow... 16:08:19 ok, given that, i'll try to break the "actions" guideline up into more manageable pieces 16:08:34 o/ 16:08:37 it almost became a true ocean boiling guideline but i had to cut it off with a todo before it got way out of hand 16:09:01 ameade: \o 16:09:21 anyhoo 16:09:22 #topic api wg cfp for openstack summit in austin 16:09:34 #link https://etherpad.openstack.org/p/austin-api-wg-session-plans 16:10:08 i'm all for slapping that agenda into the submission for and pushing go 16:10:42 i have been meaning to add little to that agenda, but i keep failing =( 16:11:03 will that satisfy whatever filters they are using (if any) or do we get a slot just by virtue of being a real working group? 16:11:12 elmiko: cdent: either of you care to make the submission (with the others as co-speakers)? 16:11:14 i think we should have an item to discuss fairy-slipper, and i do want to give a presentation on the example project idea i've been working on 16:11:40 sgtm 16:11:41 i think elmiko just volunteered 16:11:50 fair, i'm cool with that 16:11:54 :) 16:12:04 #action elmiko to post api-wg submission for austin summit 16:12:24 cdent: for the first time in a long time on not a chair on any of the tracks so i'm not sure 16:12:31 but i expect so 16:13:02 i can try to spice it up a little for the descriptive entry if you think it's necessary? 16:13:14 i could reach out and find out who the wg track chairs are and see what's really necessary 16:13:35 maybe a little paragraph saying "we're going to do some stuff" and then top level agenda items as a list 16:13:43 cdent: yea, i like that 16:14:01 sgtm 16:14:27 #action etoews to try to find out just how much hoop jumping we need to do for the wg submission 16:14:56 has to be done my monday, yeah? 16:15:09 yes. that work for you elmiko ? 16:15:30 etoews: yup, i'll have something ready to go 16:15:40 i'm around all day today and tomorrow so don't hesitate to ping. 16:15:49 just ping me with an email or something if you get word about the hoop jumping 16:15:56 cool 16:16:02 yep 16:16:19 #topic magnum api refresh 16:16:39 #link https://blueprints.launchpad.net/magnum/+spec/standardised-error-messages 16:16:54 that's nice 16:16:55 so this is a holdover topic from last week but that ^ makes me smile 16:17:17 ooh, neat 16:17:18 what i need to do is reach out to the magnum CPLs and highlight that for them 16:17:47 +1 16:17:58 #action etoews to reach out to the magnum CPLs and highlight https://blueprints.launchpad.net/magnum/+spec/standardised-error-messages for them 16:18:41 i also know magnum's mid-cycle is coming up and some api changes might fall out of that 16:19:15 is there a prescribed mechanism for making part of an api a "plugin"? 16:19:29 i know the whole extension thing was a miserable failure in nova. 16:19:39 + 1000 16:19:42 etoews: do you mean optional? 16:19:46 yes 16:19:50 i'm not aware of anything from the rest api side, just the stevedore stuff from the code api 16:19:53 the model I think of as best for users is LBaaS in neutron, anyone else? 16:20:11 where it's another endpoint/use case 16:20:36 endpoints seem to be the hammer for most things like this 16:20:40 agentleweb: do you have a link to something that describes exactly how the optional aspect of that works? 16:20:53 cdent: can you expand on that a bit? 16:20:55 so as to avoid a situation where something the service catalog is consistent between clouds 16:21:13 s/the/in the/ 16:21:20 etoews: hm, thinking 16:21:25 so if something is optional, then it just isn't in the service catalog when it is not available 16:21:55 that may, however, be a too broad hammer 16:21:56 cdent: do you mean s/consistent/inconsistent/ above? 16:22:11 sigh, yeah 16:22:27 or s/avoid/ensure/, your choice 16:22:44 that is a broad hammer but at least it's another option. a reasonably well understood option at that. 16:23:07 ceilometer has a capabilities api 16:23:11 although "avoid a situation where something the service catalog is consistent" is pretty accurate :P 16:23:45 which basically says something to the effect of "are events turned on" and the like 16:23:58 but I'm not sure that's a pattern used elsehwere 16:24:10 and not something I would want to encourage in services 16:24:14 cdent: yeah that's used in swift as well but let me think of the name 16:24:25 I think they should be whatever they are and just do what they do 16:24:28 cdent: do you have a link to something that describes exactly how the optional aspect of the capability api works? 16:24:35 * cdent looks 16:24:49 ah, but it's GET /info 16:25:05 etoews: this good enough: http://docs.openstack.org/developer/ceilometer/webapi/v2.html#capabilities 16:25:25 cdent: is that a discovery mechanism for the extensions? 16:25:30 one of the drivers of that was tempest (which then ended up not using it) 16:25:33 etoews: also swift http://blogs.rdoproject.org/6509/swift-discoverable-capabilities 16:25:48 elmiko: it's discovery of what the storage system behind the api is able to do 16:25:59 ah, ok 16:26:16 etoews: and http://docs.openstack.org/developer/swift/api/discoverability.html 16:26:28 seems like doing something akin to json-home would work well for discovering the extension endpoints (assuming we are talking api extensions) 16:26:34 yeah it's about what's implemented 16:27:06 "To discover which features are enabled in your Object Storage system, use the /info request. However, your service provider might have disabled the /info request" 16:27:07 LOL 16:27:17 ouch 16:27:41 that topic came up here (nova mid-cycle) today. providers sometimes turn off discovery 16:27:59 (of all sorts) 16:28:16 * etoews sighs 16:28:29 yeah that too... sigh 16:28:39 those darn providers :) 16:29:09 I think moving in the direction of json-home would be a GoodThingâ„¢ 16:29:14 okay. this is all good info (pun intended). i'll feed this back to the magnum team. 16:29:26 lol 16:29:55 #action give feedback to magnum team on ways to do "optional" parts of an api 16:30:02 the whole provider thing does bring up an interesting point about enabling/disabling discovery mechanisms though 16:30:02 Basically I think we should strive to do things in the direction of the rest of the world... 16:30:11 #action etoews give feedback to magnum team on ways to do "optional" parts of an api 16:30:37 did jsonhome ever really get any traction? 16:31:04 not that i think it's a bad idea but it would be nice to be able to point to successful use cases outside of openstack-land 16:31:11 no I haven't seen it etoews 16:31:12 etoews: that's what i'm wondering 16:31:19 etoews: +1 16:31:21 i haven't seen it anywhere 16:31:29 except maybe keystone 16:31:31 I can check with some out there in the rest of the world contacts 16:31:37 let me ping some of the api-heads i know. see if they're aware of it. 16:31:43 did json-home make it out of drafting yet? 16:31:48 nope 16:31:53 thought so 16:31:55 no, and last draft expired 2013 16:32:02 ooph 16:32:06 feh 16:32:11 yah 16:32:16 nab 16:32:28 * cdent is not wed to json-home, just want something that is not openstack-specific-special-flower-magic 16:32:43 cdent: i hear you 16:32:50 yep. that's the direction i usually lean too. 16:33:12 cdent: ++ 16:33:27 nah, we definitely need our own impl for this... s/ 16:33:34 /kick elmiko 16:33:39 haha 16:33:45 #action etoews reach out to api-heads to see if jsonhome ever got traction anywhere 16:33:48 come-on, i know you love a contrarian ;) 16:33:58 It's true <3 16:34:33 any other new topics people want to discuss or move onto guidelines? 16:34:45 onward 16:34:59 #topic guidelines 16:35:17 the #link http://ghostcloud.net/openstack_gerrit_dashboards/dashboard_api-wg.html is borked :( 16:35:44 but #link https://review.openstack.org/#/q/status:open+project:openstack/api-wg,n,z is pretty manageable. 16:36:01 * cdent nods 16:36:17 hmm, can we put server-side tracebacks up for freeze? 16:36:32 yes 16:36:52 doesn't look like anything else is ready 16:36:54 yes 16:37:02 ameade: rosmaita: anything you want to discuss here? 16:37:08 #action elmiko freeze the server-side traceback guideline 16:37:33 this guideline probably requires a fair bit of thought about the precedents it will set: https://review.openstack.org/#/c/273158/ 16:37:40 etoews: yeah, i don't want to hold up actual work other people are trying to do while i slowly work on the versions thing 16:38:36 ah. i get where you're coming from. i'm pretty much resigned to the fact that most guidelines take a long time to happen. 16:39:48 if people need something like versions discovery right away, then they'll just have to do the best they can until the guideline settles. 16:40:04 ok 16:40:33 etoews: anyway, your action item to get some eyes on it worked 16:40:39 it's not like we're the first group to try to bring guidelines/standards to something while it is in development. 16:40:42 nice 16:40:45 i've been watching that one too, i'd like to improve our version page in sahara 16:40:47 so i will revise in line with jay's comments 16:40:56 not sure that helps ameade though 16:41:03 yep. some good stuff in there. 16:41:14 i do have a question about updating the version response and server versions 16:41:21 we need to get a feel for what projects are already using jsonhome 16:41:45 and document that in #link https://wiki.openstack.org/wiki/API_Working_Group/Current_Design/Version_Responses 16:42:03 any volunteers for that ^? 16:42:05 i can try and add a few more projects to that page 16:42:13 i'll start with zaqar ;) 16:42:18 thx elmiko 16:42:47 something to consider for the guideline, and this is kinda meta, but how does changing the version page affect the semver? 16:43:10 like, if you change your root home page, would that necessarily mean bumping the major version since you will break the api contract? 16:43:21 rosmaita: does ameade need to implement something very soon? 16:43:57 he sent soemthing the the ML today 16:44:04 * rosmaita looking for link 16:44:22 paying attn now one sec 16:44:22 hi 16:44:29 elmiko: thinking... 16:44:44 ameade: is helping Cinder to determine the string we used for api-microversion header 16:44:44 yea, it's a toughie 16:45:10 #link http://lists.openstack.org/pipermail/openstack-dev/2016-January/085229.html 16:45:27 We *think* Api-microversions will land soon in Cinder 16:45:33 rosmaita: you beat me! 16:45:47 and currently use "X-OpenStack-Cinder-API-microversions" 16:46:02 consistent with Nova, Manila, etc. 16:46:09 elmiko: you could do something rude and just 301 redirect 16:46:17 ameade: in discussions today with nova people, there's a vague plan for nova to start supporting both X-OpenStack-Nova-API-Version and OpenStack-Compute-Version 16:46:21 (or something close to that) 16:46:23 so, given the current conversations on ML, that should probably be "X-OpenStack-Block-Storage-API-microversions" 16:46:32 no X 16:46:39 er yea, i knew that felt wrong 16:46:45 sorry that was supposed to be a question "no X?" 16:46:50 OK, and no Cinder? 16:46:55 use Block? 16:46:56 yea, drop the cinder 16:47:03 is "API" redundant? 16:47:07 our preference is service type when possible 16:47:24 cdent: hmm, good question 16:47:52 scottda: ameade: see http://specs.openstack.org/openstack/api-wg/guidelines/headers.html 16:48:07 i think api is redundant, but it is also explicit, so i'm torn 16:48:43 but as far as we were concerned in the earlier conversation the service and the API are congruent 16:48:51 i think we should nail down what cinder shoud do and add some sort of header aliases in nova and manila 16:49:00 ameade: +1 16:49:04 ameade: yeah the aliases are coming in nova 16:49:08 (no timetable) 16:49:15 kk cool 16:49:24 imo, cinder should use "Block-Storage" and nova/manilla should create service type aliases 16:49:30 OK, Cinder is imminent, so we want to get it right 16:49:33 the meandering right now is trying to determine the exact correct form of the proper header 16:50:04 OpenStack-Block-Storage-API-microversion ? 16:50:20 cdent: i think we could drop the API, since when are you going to request anything else *but* the API microversion 16:50:32 ya. drop the API. 16:50:45 That's ok with me. 16:50:57 me too 16:50:58 OpenStack-Block-Storage-microversion 16:51:04 i'm cool with that 16:51:18 ameade: you happy to respond to your own mail message (to report on what we've just decided)? 16:51:20 is the type 'block-storage' or 'volume' ? 16:51:32 rosmaita: I was going to ask that too 16:51:37 I don't know the server catalog identifiers well 16:51:53 i thought it was 'volume' 16:51:56 according to governance, it's "Block Storage service" 16:52:03 http://governance.openstack.org/reference/projects/cinder.html 16:52:10 I *think* service catelog uses block storage 16:52:11 yeah, but what is 'type' in the service catalog? 16:52:12 maybe that's different than the service catalog though 16:52:33 ugh. https://review.openstack.org/#/c/243429/3/guidelines/microversion_specification.rst currently recommends putting API in there. 16:52:34 devstack appears to use "volume" 16:52:57 i think we need to be consistent with the service catalog 16:52:58 etoews: hmm 16:53:02 docs uses 'volume' 16:53:05 rosmaita: +1 16:53:15 don't go by devstack 16:53:27 agreed about consistency with service catalog, but isn't the service catalog supposed to agree with governance? 16:53:55 agentleweb: do you know ^ w.r.t. your work on the service catalog? 16:54:01 etoews: the discussion amongst the service catalog next-gen people is that most people use devstack as the precent setter. Not that that is _good_. 16:54:07 etoews: do we need to recommend dropping "API" on that review? 16:54:14 elmiko: 16:54:16 elmiko: yes 16:54:20 k 16:55:38 * cdent would like to learn to type 16:56:37 just commented on removing API from the header 16:57:12 starting my vm to see whats in the catalog lol 16:57:13 ack, thanks 16:57:34 etoews: oh sorry, I'm on a web irc client and didn't see 16:57:40 my devstack has "volumev2" 16:57:44 I went to the keystone midcycle yesterday and talked about the service catalog 16:57:55 ameade: why see one service catalog when you can see ALL THE SERVICE CATALOGS! https://wiki.openstack.org/wiki/API_Working_Group/Current_Design/Service_Catalog 16:57:56 So should I be using the service catelog type, i.e. "volume" or name "Block Storage" 16:57:58 i don't think that makes sense for the header though 16:58:07 elmiko: do you have both volume and volumev2? 16:58:20 oh, yes. i do 16:58:39 "Known types such as service_type can be documented in projects.yaml in the openstack/governance git repository." from http://specs.openstack.org/openstack/openstack-specs/specs/service-catalog.html 16:58:51 so volume2 needs to be stopped 16:58:56 scottda: imo, we should attempt to standardize on the official service type, but i defer to agentleweb on service catalog stuff 16:59:04 we'll have to move this to #openstack-sdks in a minute. 16:59:07 agentleweb: that's weird +1 16:59:37 cdent: and my ask of the keystone team is a json schema and tempest test for service catalog entries so devstack's service catalog is a shining example of correctness 17:00:00 schemas and tests???!?!!! madness. 17:00:08 OK, so I don't quite know what the answer is for my issue 17:00:16 etoews: I want the Mr. Burns icon 17:00:16 thanks all! let's move to #openstack-sdks 17:00:19 sure 17:00:21 #endmeeting