Thursday, 2015-03-12

*** annegentle has joined #openstack-api00:06
*** annegentle has quit IRC00:31
*** annegentle has joined #openstack-api00:38
*** annegentle has quit IRC00:48
*** annegentle has joined #openstack-api00:49
*** annegentle has quit IRC01:08
*** sigmavirus24 is now known as sigmavirus24_awa01:19
*** kaufer has joined #openstack-api02:52
*** terrylhowe has quit IRC03:17
*** terrylhowe has joined #openstack-api03:37
*** kaufer has quit IRC04:10
*** terrylhowe has quit IRC06:38
*** etoews has quit IRC07:39
*** e0ne has joined #openstack-api09:56
*** e0ne is now known as e0ne_09:56
*** e0ne_ has quit IRC10:05
*** e0ne has joined #openstack-api10:10
*** terrylhowe has joined #openstack-api11:07
*** cdent has joined #openstack-api12:03
*** e0ne is now known as e0ne_12:35
*** e0ne_ has quit IRC12:45
*** kaufer has joined #openstack-api12:47
*** annegentle has joined #openstack-api13:37
*** e0ne has joined #openstack-api13:44
*** sigmavirus24_awa is now known as sigmavirus2413:51
*** etoews_ has joined #openstack-api14:35
etoews_just realize the meeting is an hour later for me because dst.14:55
etoews_s/ze/zed/14:55
*** etoews_ is now known as etoews14:55
annegentleoh!15:00
*** e0ne is now known as e0ne_15:01
annegentleso is it in an hour from now?15:01
*** katco has joined #openstack-api15:02
annegentleetoews: so it's at 11 Central?15:02
etoewsyep. http://www.worldtimebuddy.com/?qm=1&lid=100,4671654&h=100&date=2015-3-12&sln=16-1715:04
etoewsannegentle: ^15:04
sigmavirus24heh15:05
sigmavirus24It's so disorienting15:05
sigmavirus24but this is why I have calendar meetings set up in utc15:05
* katco detests dst15:05
*** e0ne_ has quit IRC15:06
etoewssigmavirus24: i just updated the meeting agenda. please double check to make sure i didn't clobber anything still relevant from the last meeting.15:12
sigmavirus24will do etoews15:12
sigmavirus24MY TOPIC HAS FAILED ME15:12
sigmavirus24The meeting agenda link should be there too15:13
sigmavirus24=P15:13
etoewstopic needs more links15:14
sigmavirus24yep15:19
sigmavirus24Also, versioning: I never got around to writing the spec for that again15:19
*** e0ne has joined #openstack-api15:21
*** rosmaita has joined #openstack-api15:24
-sigmavirus24- Meeting in 14 minutes in #openstack-meeting-315:47
*** e0ne is now known as e0ne_16:13
*** e0ne_ is now known as e0ne16:17
*** TravT has joined #openstack-api17:00
*** lakshmiS has joined #openstack-api17:00
*** wko has joined #openstack-api17:00
*** smc7 has joined #openstack-api17:00
sigmavirus24Woo more people17:00
rosmaitaetoews: this channel is logged, right?  so if we continue, it will be logged for posterity?17:01
sigmavirus24rosmaita: yes17:01
rosmaitacool17:01
etoewsif the conversation is continuing here from the api_wg meeting here's the history. http://eavesdrop.openstack.org/meetings/api_wg/2015/api_wg.2015-03-12-16.00.log.html17:01
sigmavirus24also the conclusion should be brought to the ML anyway17:01
cdentwe should be versioning media types not endpoints17:01
sigmavirus24cdent++17:01
rosmaitaok, so as far as advice for our particular case ...17:01
rosmaitaso far, we've got:17:01
rosmaitaok to be experimental ... but mark it clearly in the docs as such17:02
rosmaitaand state more clearly what experimental means17:02
elmikocdent: not sure i follow, could you elaborate about versioing media types?17:02
rosmaitaexperimental == a breaking change may be introduced17:03
cdentgithub's api is one place I've seen it done, elmiko17:03
elmikocdent: ack, i'll take a look at their docs17:03
cdentbasically you make a request with an Accept header that declares the media type you want the reqponse to be in: application/vnd.github+json or some such (I can't remember)17:03
rosmaitato be consistent with current openstack though, we will need to include a version in the url? like /x1/whatever17:04
cdentand the version is built into the media type, sometimes in the vnd.github part, sometime as a param17:04
elmikointeresting17:04
* cdent is in another meeting now, so has partial attentio17:04
cdentn17:04
cdentGenerally speaking I think we should be using content negotiation _far_ more.17:05
stevellecdent: that does work pretty well, and covers most of what is being attempted with API microversions, but some changes still wont fit.17:05
cdentit's no panacea, that's for sure17:05
stevellethe microversions solution we are seeing in OpenStack could largely be covered through that though17:05
etoewsstevelle: are you saying there is content negotiation in nova microversions?17:07
etoewsi don't see anything related to that here http://specs.openstack.org/openstack/nova-specs/specs/kilo/approved/api-microversions.html17:08
etoewsam i missing something?17:08
stevelleetoews: not nova specifically17:08
stevelleI'm less familiar with that one particularly17:08
etoewsstevelle: oh were you talking about an industry attempt at API microversions?17:09
*** wko has left #openstack-api17:09
TravTSo for new endpoints, the /x1/ or /x/ in the url still seemed like a nice way to at least see that in the registry.17:09
stevelleI'm making my point poorly while distracted by another conversation etoews, sorry17:10
etoewsstevelle: no worries17:10
*** kaufer has quit IRC17:10
etoewsTravT: that would certainly elevated the visibility but requiring a version in some header would too.17:11
etoewsin that you reject the request if it does have the version in the header17:11
etoewsand the error message says, put x1 in the such and such header. by using this header you acknowledge that you are using an experimental api!17:12
miguelgrinbergcdent: the problems I see with versioning media types are (1) not user friendly, since you have to use these weird content-types (2) promotes the use of a single endpoint handler function for all versions, which leads to harder to maintain code17:12
etoewsin fact, that might be a better way to do it because you can actually get a human readable message to the user17:12
etoewsi'm just brainstorming here though17:13
stevelleetoews: with regards to additive changes to resources that can be dealt with through content negotiation instead. I am still a believer in major version numbers but I'm in a minority there I suspect17:14
etoewsah17:18
etoewswell...i've got to head out. thanks all.17:18
elmikolater17:19
*** smc7 has left #openstack-api17:20
cdentmiguelgrinberg: I agree there are challenges, especially with pre-existing apis, howver I reckon 1 could be overcome with a reasonable default (if you send application/json instead of the special media type you get the default) and 2 is made harder by the mostly dreadful frameworks that exist17:21
cdent(dreadful in the sense that the routing and dispatch models don't map well)17:22
*** kaufer has joined #openstack-api17:23
miguelgrinbergcdent: and the problem with allowing the client to not specify the version to get the latest, is that when you bump the version that client might break17:23
miguelgrinbergit's a hard problem to solve, I don't think there is a satisfactory solution17:23
* cdent likes to think of things breaking as a way of ensuring that people pay attention ;)17:24
elmikohehe17:24
miguelgrinbergI personally prefer versions in URLs, accompanied by careful design to try to minimize the need to require new versions except for truly major changes17:25
cdentI think you're probably right that that is the far more pragmatic way17:26
stevelleI'm mostly with miguelgrinberg on this, but I don't expect to see that working as well in this context.  OpenStack changes more than any set of APIs I can compare to.17:33
miguelgrinbergstevelle: unfortunate, but true17:34
stevelleand a lot of the getting-there-from-here challenges for the existing APIs makes this particularly difficult17:34
*** e0ne has quit IRC17:37
*** cdent has quit IRC17:58
*** annegentle has quit IRC18:00
*** lakshmiS has quit IRC18:00
*** annegentle has joined #openstack-api18:12
*** annegentle has quit IRC18:15
*** annegentle has joined #openstack-api18:15
*** sigmavirus24 is now known as sigmavirus24_awa19:27
*** sigmavirus24_awa is now known as sigmavirus2419:28
*** e0ne has joined #openstack-api19:39
*** openstackgerrit has quit IRC19:40
*** openstackgerrit has joined #openstack-api19:40
*** e0ne has quit IRC20:30
*** e0ne has joined #openstack-api20:34
*** kaufer has quit IRC21:42
*** annegentle has quit IRC21:56
*** sigmavirus24 is now known as sigmavirus24_awa22:02
*** e0ne has quit IRC22:05
etoewsrosmaita: TravT: did you notice the "experimental" tag (for lack of a better term) in nova microversions? http://specs.openstack.org/openstack/nova-specs/specs/kilo/approved/api-microversions.html#client-interaction22:20
etoewsX-OpenStack-Nova-API-Version: version_number, experimental22:21
etoewsThe first header specifies the version number of the API which was executed. Experimental is only returned if the operator has made a modification to the API behaviour that is non standard. This is only intended to be a transitional mechanism while some functionality used by cloud operators is upstreamed and it will be removed within a small number of22:21
etoewsreleases.22:21
etoewsi'm not sure if that would work with your requirements or not22:22
TravTetoews: that actually really interesting.  I'm down in the weeds on something at the moment.  You might want to reply to the [openstack-dev] [Glance] Experimental API thread with that info22:23
rosmaitaetoews: had not seen that, thanks for the ref22:23
*** annegentle has joined #openstack-api22:56
*** annegentle has quit IRC23:02
*** annegentle has joined #openstack-api23:58

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!