Thursday, 2015-05-28

*** alex_klimov has quit IRC00:01
*** salv-orlando has joined #openstack-api00:15
*** salv-orlando has quit IRC00:19
*** Apoorva has quit IRC00:26
HenryGIf a new api is being developed or an api is being reworked in a project (neutron, in my case), I would like to tell them to "check the design with the API WG".  What docs/wikis should I point them to?01:36
*** sigmavirus24 is now known as sigmavirus24_awa01:50
*** salv-orlando has joined #openstack-api02:37
*** salv-orlando has quit IRC02:42
*** woodster_ has quit IRC03:40
*** terrylhowe has quit IRC04:00
*** salv-orlando has joined #openstack-api04:42
*** openstackgerrit has quit IRC04:50
*** openstackgerrit has joined #openstack-api04:50
*** salv-orlando has quit IRC04:53
*** salv-orlando has joined #openstack-api05:23
*** fifieldt has joined #openstack-api05:25
*** elmiko has quit IRC06:47
*** salv-orlando has quit IRC07:00
*** salv-orlando has joined #openstack-api07:00
*** elmiko has joined #openstack-api07:16
*** gmann is now known as help07:16
*** help is now known as gmann07:17
*** alex_klimov has joined #openstack-api07:24
*** fzdarsky has joined #openstack-api07:26
*** salv-orlando has quit IRC07:38
*** alex_klimov has quit IRC08:04
*** alex_klimov has joined #openstack-api08:10
*** salv-orlando has joined #openstack-api08:39
*** salv-orlando has quit IRC08:45
*** xylan_kong has joined #openstack-api08:49
*** e0ne has joined #openstack-api09:22
*** e0ne is now known as e0ne_09:30
*** e0ne_ has quit IRC09:35
*** miyagishi_t has joined #openstack-api09:50
*** e0ne has joined #openstack-api09:57
*** miyagishi_t has quit IRC10:01
*** salv-orlando has joined #openstack-api10:10
*** e0ne is now known as e0ne_10:39
*** e0ne_ has quit IRC10:45
*** e0ne has joined #openstack-api10:53
*** e0ne is now known as e0ne_11:11
*** e0ne_ is now known as e0ne11:12
*** salv-orlando has quit IRC11:12
*** e0ne is now known as e0ne_11:20
*** kaufer has joined #openstack-api11:24
*** e0ne_ has quit IRC11:25
*** e0ne has joined #openstack-api11:34
*** openstackgerrit has quit IRC11:39
*** openstackgerrit has joined #openstack-api11:39
*** woodster_ has joined #openstack-api11:42
*** salv-orlando has joined #openstack-api12:12
*** e0ne is now known as e0ne_12:32
*** e0ne_ has quit IRC12:43
*** terrylhowe has joined #openstack-api12:43
*** e0ne has joined #openstack-api12:47
*** fzdarsky has quit IRC12:56
*** fzdarsky has joined #openstack-api12:56
*** salv-orlando has quit IRC13:11
*** fifieldt has quit IRC13:11
*** salv-orlando has joined #openstack-api13:11
*** sigmavirus24_awa is now known as sigmavirus2414:02
miguelgrinbergHenryG: the current list of guidelines is available in our git repo: https://github.com/openstack/api-wg/tree/master/guidelines. For anything not covered in the guidelines, you can reach to us here, or come to our weekly meetings.14:32
ryansbHenryG: you can also add "APIImpact" to the commit message of the spec/patch to notify us14:33
HenryGmiguelgrinberg: thanks. Those docs are looking good! Still a lot of work to do though :)14:34
HenryGryansb: Yes, thanks, I know about that flag. Do you see it before a patch is merged?14:35
miguelgrinbergHenryG: yes, definitely there's a lot more guidelines to write. A few are going through the review process also.14:35
HenryGBTW, I am ramping to be one of the liasons for neutron14:37
ryansbHenryG: yup, I try to go through APIImpact reviews on a pretty regular basis14:38
ryansbgreat, I'm the Heat CPL14:38
ryansbnice to (irc)meet you14:38
HenryGryansb: likewise14:38
HenryGryansb: How do you search for APIimpact reviews?14:41
ryansbbookmarked gerrit query14:44
ryansbhttps://review.openstack.org/#/q/status:open+AND+%28message:ApiImpact+OR+message:APIImpact%29,n,z14:44
ryansbor this line in gertty14:46
ryansbquery: "is:open AND message:APIImpact OR message:ApiImpact"14:46
elmikowelcome aboard HenryG =)14:48
* HenryG learned about the message: search field in gerrit today. Thanks ryansb!14:51
ryansb:)14:51
*** e0ne is now known as e0ne_15:00
*** e0ne_ is now known as e0ne15:00
*** fzdarsky has quit IRC15:46
stevelleryansb: for the filtering review that is out there, is there a way I can help get it out of WIP?15:51
ryansbstevelle: today is actually a spec-day for me, and that's on the list :)15:52
ryansbso gimme a bit and I should be able to rev it15:52
stevellegood to hear. It came up as a topic at this week's meeting.15:53
ryansbyeah, I saw in the logs15:54
* ryansb is buried under a pile of specs15:55
openstackgerritRyan Brown proposed openstack/api-wg: Add section on filtering  https://review.openstack.org/17746816:00
openstackgerritRyan Brown proposed openstack/api-wg: Add section on filtering  https://review.openstack.org/17746816:01
*** Apoorva has joined #openstack-api16:03
*** alex_klimov has quit IRC16:04
openstackgerritRyan Brown proposed openstack/api-wg: Add section on filtering  https://review.openstack.org/17746816:25
miguelgrinbergryansb: one problem with your proposed approach is that there is no namespacing for the filters, so their names may collide with other query string args (such as marker, limit, etc).16:29
ryansbthat's true, would you want them namespaced as "filter_" or similar?16:31
stevelleI considered that also miguelgrinberg but wasn't sure the fix was worth it16:31
stevelleryansb: easier would be q. or q_16:31
ryansbHow does f_ (mnemonic for "field" or "filter") strike you?16:32
stevelleI'm amenable to that as well.  Probably obvious that I was going with the mnemonic for query16:34
miguelgrinbergryansb: thinking on building more complex searches, I was wondering what your thoughts are on having a single filters arg that has the query in it, similar to sort16:34
stevelleany namespacing really makes the query string ugly and clunky however16:35
ryansbmiguelgrinberg: I thought about that, but I don't want to end up with queries like16:35
ryansb?filters=name=foo,type=bar because I don't want to overload the equals sign16:36
ryansband doing delimiter hacks where there may be a comma (for example) in the filter value seems unfortunate16:36
ryansbso while namespacing is a bit unpleasant, I'd prefer to write queries as ?f_foo=bar&f_baz=honk16:37
miguelgrinberghave you thought about issuing ranges based on this syntax?16:42
miguelgrinbergor the OR operator?16:42
ryansbI hadn't thought about OR16:47
ryansbfor ranges I was going to do things like16:47
ryansb?lt_dollars=816:48
ryansbso use lt/le/gt/ge/16:48
stevelleI was going to be proposing something like ?size=gte8 which is in range of that16:49
ryansbI'm not big on mixing the range modifier and value without a delimiter16:50
stevellethe necessity for supporting OR queries is limited and might require an alternate complex query syntax, but most of the time supporting that complexity seems like it would inhibit usability of filters16:50
ryansbso ?size=gte,8 would get +1 from me16:50
ryansbif we introduce or, that opens the whole operator precedence/parens/complex filtering16:51
stevelleI could add the , delimiter without a big issue16:51
stevelleagreed on OR16:51
miguelgrinbergI would be okay making the OR syntax complicated, if that means we can keep everything else simple. I agree it is not going to be something that is used all the time.16:53
stevellethe big issue is that introducing OR introduces a need for precedence also.16:54
miguelgrinbergonly if it is mixed with other operators16:55
miguelgrinbergyou can support a simple query where the field can be one of several values16:55
miguelgrinbergthat's actually pretty much all you can do with enumerated fields16:55
stevelleright now there is only one operator, so OR implies two can be mixed16:56
stevellebut yes ofc16:56
ryansbso the or for fields could look like "?foo=a,b,c" if we could assume , wasn't in the values16:58
ryansbwhich I'm not certain we can do16:58
* ryansb wanders to lunch16:59
ryansbI'll update my patch in a bit to incorporate this stuff16:59
miguelgrinbergryansb: for the tagging I got away with saying the comma isn't allowed. I don't think we can get away with that here, so we probably need a way to escape it17:01
stevellemiguelgrinberg ryansb recommend an alternate separator?17:02
stevellee.g. ;17:02
miguelgrinbergthe problem is how you tell the query parser which separator you are using for a given query17:04
miguelgrinberganother option is to allow two syntaxes: ?foo=a,b,c for the easy case, or ?foo="a,b","c","d" for the case where a string has commas in it17:05
miguelgrinbergand quotes inside strings are escaped as usual17:05
stevellemiguelgrinberg: that isn't bad, also it conforms to csv escaping17:06
miguelgrinbergso CSV escapes quotes by putting two in a row correct?17:07
miguelgrinbergor do they use \" like most languages?17:07
stevelleCSV uses , separator but if a value includes the comma the value must be double quoted17:08
stevelledouble quoted values are optional otherwise17:08
miguelgrinbergah, that's what you mean, right, I understand now17:08
miguelgrinbergyes, same idea17:08
*** e0ne has quit IRC17:08
stevelleiirc a " at beginning or end of a value can be escaped17:09
stevellewith \17:09
stevelleanother technique would be to offer a param e.g. separator=, so it could be exchanged for another value when appropriate17:10
miguelgrinbergsure, that would work too, though the burden is on the client to find an appropriate separator17:11
stevelleone way or another you seem to always end up having to support escaping something.  in the CSV style example " gets treated differently17:11
ryansbstevelle: it's only be at the beginning/end of a value17:12
miguelgrinbergyeah, there's no way to avoid it, so we should pick a familiar escaping pattern17:12
ryansbso ="a,b",c"d,e would be ok17:12
ryansbthough looks a touch odd...17:12
miguelgrinbergit's a corner case, we just need to make sure it can be done, it does not need to be pretty17:13
miguelgrinberghere is one ugly one foo="a,b",c",d,"e\""17:14
miguelgrinbergseems decent to me17:14
stevelle="a%20%22%0Ab%22%0A",b,c ?17:15
stevellesorry drop the %0A in those17:15
miguelgrinbergstill okay IMHO17:18
*** kaufer has quit IRC17:18
ryansbwouldn't it be17:19
ryansb%22a%2Cb%22%2Cc%2Cd%2C%22a%5C%22%2217:20
stevellethat should be the value from transforming { key : 'a "b"', 'b', 'c' } to filter format17:20
ryansboh, I was encoding a different example17:20
ryansb:)17:20
stevellefigured it would help to make it explicit17:20
ryansbanyways, I think we've reached a conclusion17:21
ryansbuse f_ as a filter prefix for the field name to avoid collision17:21
ryansband CSV escaping for multifields17:21
ryansbthanks for all the input :) I'll get that into my spec17:21
stevelle'gt,' 'gte,' 'lt,' 'lte,' 'eq,' as optional operators?17:22
ryansbyeah17:22
stevelleeq being default applied17:22
ryansbsame csv separation for those such as17:22
* sigmavirus24 missed using bash comparators17:22
ryansb?f_foo=lt,817:22
stevellesigmavirus24: also simplified html entities17:23
miguelgrinbergryansb: do we want to also have the "like" operator? This is a SQL operator that works as a crappy regex replacement.17:35
ryansbmiguelgrinberg: I usually shy away from "like"17:36
ryansbcan that be a follow-up to this patch? I think "like" will be fairly controversial and I don't want to hold up this change just for "like"17:36
miguelgrinbergsure, I have no problem with that, just trying to thing about all the options17:38
miguelgrinbergs/thing/think/17:38
ryansbyeah, I'll toss in a TODO for now17:38
miguelgrinbergregardless of liking it or not, I think it fits the style of queries you are proposing, so no problem, we can visit that later17:38
*** kaufer has joined #openstack-api17:39
ryansbyeah, the reason I usually don't expose "like" is because it's a fairly slow query, especially over large DB's17:39
ryansb(well, don't unless it's needed)17:39
miguelgrinbergyeah, I don't use it much either17:42
*** salv-orlando has quit IRC17:43
*** salv-orlando has joined #openstack-api17:47
stevellewe might do best to bust these changes into small elements so we can identify the controversial parts more easily and focus on passing the rest through, feels like it's got a few parts at this point17:48
openstackgerritRyan Brown proposed openstack/api-wg: Add section on filtering  https://review.openstack.org/17746817:53
openstackgerritRyan Brown proposed openstack/api-wg: Switch to new Sphinx RFC entites from links  https://review.openstack.org/18651718:00
*** e0ne has joined #openstack-api18:06
*** e0ne has quit IRC18:21
openstackgerritRyan Brown proposed openstack/api-wg: Add new guideline for HTTP Headers  https://review.openstack.org/18652618:35
elmikoryansb: minor nit on the header guideline, could you fit it to the template =)18:46
ryansbelmiko: sure thing18:47
elmikothanks18:48
elmikoi'm fine with the older guidelines not using it yet, but i figure we should try it out for new stuff18:48
ryansbit's still in review, right?18:49
elmikothe template has been merged18:49
elmikoit's at doc/source/template.rst18:49
ryansbah, got it18:51
elmikootherwise the guideline looks reasonable to me18:51
ryansbso do you envision this single doc (headers.rst) having sections (e.g. deprecation of x-) and each section having a intro/guidance/refs subsection?18:52
ryansbor are you thinking this file would only contain the x- deprecation guideline?18:53
elmikohmm18:53
elmikoif we are creating a single guideline for headers in general, then yes i'd say this would be one section. if not, then it could just be a single guideline for x- deprecation.18:53
elmikoi don't have a strong opinion on this, given the http guideline it might make more sense to make a bigger guideline. i'm not sure though.18:54
elmikoif we go with one big guideline, i would not expect each section to have intro/guideline/examples/etc...18:55
ryansbmy concern is that if we do one-file-per-guideline we'll have pretty poor categorization/heirarchy18:55
elmikoi would expect one intro (this is about headers blah blah), then in the guidelines there would be a "x- deprecation" section18:55
elmikoyea, agreed18:55
ryansbhaving files for concepts (headers, general, encoding, etc) and guidelines inside seem like the way to go18:56
elmiko+118:56
ryansbhm, maybe each guideline could be an H2 (subhead) and have within it the applicable H3 (subsub) intro/guidance/examples/refs18:58
ryansbI'll rev that header guideline as an example18:59
ryansbthen maybe we can swap up the template a little18:59
elmikoi'm amenable to that, i guess we'll have to see how large they get.18:59
elmikoand then yea, we'd need to update the template to specify the usage19:00
ryansbI can only speak for myself, but I prefer having multiple guidelines in a single page, and having anchor links to specific guidelines19:02
ryansbI'll put up a template review in tandem with the header spec19:03
openstackgerritRyan Brown proposed openstack/api-wg: Add new guideline for HTTP Headers  https://review.openstack.org/18652619:06
elmikoryansb: awesome, thanks!19:08
openstackgerritRyan Brown proposed openstack/api-wg: Add section on filtering  https://review.openstack.org/17746819:24
elmikosigmavirus24: why do you think the swift cpl will object? it doesn't advise changing all the old ones19:28
sigmavirus24elmiko: all of swift's metadata is transferred via headers19:28
sigmavirus24And they're all x- headers19:29
sigmavirus24It's the same reason they complained about Miguel's metadata spec19:29
elmikosure, but the guideline specifically says "This **does not** mean it is recommended to replace existing uses of X-"19:29
ryansbyeah, but the guideline doesn't say "change all the existing headers"19:29
* elmiko wants to increase the peace with swift19:29
ryansband even says "existing projects may continue to add X- headers for consistency with existing API)19:29
ryansbalso peace++19:29
elmikohehe19:29
sigmavirus24elmiko: the swift people's who gave feedback on the metadata guideline ignored that19:30
sigmavirus24It's been frequently said by members of the swift team "You say that, but I don't believe you"19:30
elmikothat makes me a sad panda19:30
sigmavirus24So I'm anticipating push bag regardless of what the text says19:30
elmikofair19:30
sigmavirus24s/bag/back/19:30
elmikoa push bag would be cool too19:30
*** Apoorva has quit IRC19:33
*** Apoorva has joined #openstack-api19:39
openstackgerritRyan Brown proposed openstack/api-wg: Change template to match our historic usage  https://review.openstack.org/18654619:44
openstackgerritRyan Brown proposed openstack/api-wg: Add new guideline for HTTP Headers  https://review.openstack.org/18652619:59
elmikothanks ryansb, i just wanted to avoid the possibility of folks feeling singled-out or something20:02
ryansbmakes sense, I didn't consider that aspect when I wrote it in20:14
elmikoi only thought about it because of sigmavirus24 ;)20:14
sigmavirus24you're welcome20:17
sigmavirus24and I'm sorry20:17
elmikohaha, no worries =)20:19
openstackgerritRyan Brown proposed openstack/api-wg: Change template to match our historic usage  https://review.openstack.org/18654620:31
*** salv-orlando has quit IRC20:49
*** openstackgerrit has quit IRC21:36
*** openstackgerrit has joined #openstack-api21:37
*** kaufer has quit IRC21:45
*** salv-orlando has joined #openstack-api21:50
*** alex_klimov has joined #openstack-api21:52
*** salv-orlando has quit IRC21:55
*** kaufer has joined #openstack-api22:03
*** salv-orlando has joined #openstack-api22:15
*** kaufer has quit IRC22:36
*** salv-orlando has quit IRC23:30
*** alex_klimov has quit IRC23:41

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