Friday, 2015-05-29

*** salv-orlando has joined #openstack-api00:31
*** salv-orlando has quit IRC00:33
*** sigmavirus24 is now known as sigmavirus24_awa00:41
*** annegentle has joined #openstack-api00:45
*** annegentle has quit IRC01:03
*** Apoorva has quit IRC02:13
*** Apoorva has joined #openstack-api02:20
*** Apoorva has quit IRC02:24
*** kaufer has joined #openstack-api02:53
*** kaufer has quit IRC03:37
*** salv-orlando has joined #openstack-api03:45
*** salv-orlando has quit IRC03:47
*** alex_klimov has joined #openstack-api06:11
*** salv-orlando has joined #openstack-api06:30
*** e0ne has joined #openstack-api06:42
*** e0ne has quit IRC06:49
*** woodster_ has quit IRC06:50
*** etoews has quit IRC07:50
*** alex_klimov has quit IRC08:14
*** fzdarsky has joined #openstack-api08:19
*** alex_klimov has joined #openstack-api08:37
*** alex_klimov has quit IRC09:30
*** alex_klimov has joined #openstack-api09:35
*** alex_klimov has quit IRC10:25
*** kaufer has joined #openstack-api11:45
*** alex_klimov has joined #openstack-api11:56
*** woodster_ has joined #openstack-api12:50
openstackgerritRyan Brown proposed openstack/api-wg: Add section on filtering  https://review.openstack.org/17746812:54
*** alex_klimov has quit IRC12:57
openstackgerritRyan Brown proposed openstack/api-wg: Add new guideline for HTTP Headers  https://review.openstack.org/18652613:00
*** sigmavirus24_awa is now known as sigmavirus2413:01
*** kaufer has quit IRC13:15
*** alex_klimov has joined #openstack-api13:18
*** annegentle has joined #openstack-api13:29
*** kaufer has joined #openstack-api13:30
*** subscope has quit IRC13:35
elmikoannegentle: hey, i'm looking at https://wiki.openstack.org/wiki/CrossProjectLiaisons#API_Working_Group13:44
elmikoi thought we editted that page?13:44
*** annegent_ has joined #openstack-api13:44
*** annegentle has quit IRC13:45
*** subscope has joined #openstack-api13:52
*** annegent_ has quit IRC13:57
*** alex_klimov has quit IRC14:05
*** etoews_ has joined #openstack-api14:05
*** sigmavirus24 is now known as sigmavirus24_awa14:06
*** etoews_ is now known as etoews14:07
*** annegentle has joined #openstack-api14:10
*** salv-orlando has quit IRC14:12
*** subscope has quit IRC14:15
*** sigmavirus24_awa is now known as sigmavirus2414:25
*** alex_klimov has joined #openstack-api14:30
*** subscope has joined #openstack-api14:31
*** kaufer1 has joined #openstack-api14:39
*** kaufer has quit IRC14:41
*** notmars has joined #openstack-api14:51
*** annegentle has quit IRC14:59
*** salv-orlando has joined #openstack-api15:13
*** salv-orlando has quit IRC15:22
*** annegentle has joined #openstack-api15:30
*** subscope has quit IRC15:35
*** annegentle has quit IRC15:42
*** alex_klimov has quit IRC15:42
*** annegentle has joined #openstack-api15:43
*** fzdarsky has quit IRC15:52
etoewsheyo elmiko15:53
elmikoyo15:54
etoewsi've got a very pressing deadline on june 9. i'm effectively heads down until june 15. do you mind taking the reigns on meetings and getting stuff merged over the next couple of weeks?15:54
elmikonot at all, i can jump in =)15:55
etoewsthank you. that's a huge help.15:55
etoewsfirst i'll throw the merging process up for review.15:55
elmikohopefully i'll be able to round up a few more CPLs over the next few weeks as well15:55
elmikocool15:55
etoewsthat would be good. can you attend the cross-project meeting on tuesday at 4 pm cst?15:56
elmikolet me check15:56
elmikoyea, that's free for me15:57
etoewscool. let me get the merge process out there and then we can discuss.15:57
elmikoawesome, i think if we start emphasizing the 1-week freeze for larger patches it will help as well15:58
elmikodo you have a link for the cross-project meetings?15:59
elmikooh wait, think i found it15:59
*** kaufer has joined #openstack-api16:00
*** annegentle has quit IRC16:01
*** kaufer2 has joined #openstack-api16:02
*** kaufer1 has quit IRC16:02
*** kaufer has quit IRC16:04
elmikoetoews: oops, i spoke too soon about one of the meetings. i'll be on a flight for the jun10 meeting, so we need a backup-backup for that one ;)16:04
elmikopresumambly i could join once we take off, but it leaves at 8pm.. which is start time for me16:05
etoewsit's the 00:00 utc one so, if we can't find somebody, i think it's okay to cancel.16:06
etoewshttps://wiki.openstack.org/wiki/Meetings/CrossProjectMeeting16:06
elmikook cool, that looks like my only conflict16:09
*** notmars has quit IRC16:09
*** sigmavirus24 is now known as sigmavirus24_awa16:18
*** jxstanford has joined #openstack-api16:25
*** sigmavirus24_awa is now known as sigmavirus2416:28
*** sigmavirus24 is now known as sigmavirus24_awa16:43
openstackgerritEverett Toews proposed openstack/api-wg: Update the merge process for Liberty  https://review.openstack.org/18683616:50
etoewselmiko: ^^^16:52
elmikoack16:53
etoewsi'm sure that will get kicked around a lot but i think we can follow that for the time being even though it's a WIP16:53
elmikocool, giving it a read through now16:53
etoewselmiko: i've added that review to the cross project meeting agenda https://wiki.openstack.org/wiki/Meetings/CrossProjectMeeting#Proposed_agenda16:55
elmikoetoews: awesome, thanks16:56
etoewselmi16:56
etoews:(16:56
etoewselmiko: no. thank you.16:56
elmikohehe, this looks pretty reasonable to me16:57
etoewsokay. i'm going to go dark for a couple of weeks starting now.16:57
elmikogood luck, we'll see you soon ;)16:57
ryansbetoews: make sure you clear your -2's ;)16:57
*** notmars has joined #openstack-api16:58
*** krotscheck has joined #openstack-api16:59
*** Apoorva has joined #openstack-api16:59
etoewsryansb: good point. i checked and it doesn't look like i have any. i guess i'm just not that negative. :)17:00
ryansban optimist, indeed17:00
etoewsi'll be dark but still around. ping me if necessary.17:00
elmikoetoews: if anything comes up on that merge guidelines review will you mind if i update and repush?17:00
etoewselmiko: not at all17:00
elmikok, thanks17:01
*** salv-orlando has joined #openstack-api17:04
*** salv-orlando has quit IRC17:10
*** sigmavirus24_awa is now known as sigmavirus2417:26
krotscheckHey, where's the conversation on Caching guidelines at right now? Is there a spec somewhere I can look at?17:27
elmikokrotscheck: is https://review.openstack.org/#/c/185288/ that the one you are thinking of?17:28
elmikohttps://review.openstack.org/#/c/183523/ that too, i guess =)17:29
krotscheckelmiko: Ah, that second one :)17:30
krotscheckThanks!17:30
elmikonp, thanks for taking a look17:30
krotscheckHrm, that entire piece is not that specific.17:31
elmikoare you thinking about something along the lines that miguelgrinberg mentioned, in terms of providing more specific advice?17:32
* krotscheck wonders if adding middleware to start offloading some of the cache header bits would make sense. etags, if-modified-since, if-none-match, etc.17:32
krotscheckBasically, yeah.17:32
elmikogood question17:32
miguelgrinbergHi krotscheck17:33
krotscheckmiguelgrinberg: hey there!17:33
miguelgrinbergI think we should create a middleware to add conservative caching headers17:33
krotscheckI think we should create a middleware that adds accurate caching headers :)17:33
krotscheck(Which might be conservative)17:34
elmikosounds cool to me17:34
miguelgrinbergkrotscheck: well, what I'm thinking is that for APIs that don't care, there's a safety net that does the right thing, for APIs that care, they should do the right thing17:34
miguelgrinbergif you don't care about caching, then the right thing is to disable it, that is more or less what you get when you work with a non-browser client17:34
krotscheckAnd we can make it easier.17:35
miguelgrinbergI mean, it would be great that we think about the right caching level for each response, but having a baseline would be a good idea17:35
miguelgrinbergI mean to bring up the topic of caching at the next meeting17:36
miguelgrinbergAPI-WG meeting17:36
elmiko+117:37
elmikosa far as the guideline goes, we might be best to start with the informational stance proposed and then build up specific advice17:37
krotscheckWell, we have an advantage in that oslo's db abstraction has codified the created_at and modified_at field into the resources that are served by our API's, and an awful lot of caching logic can be triggered off of that.17:37
elmikoespecially if we are proposing new middleware17:38
krotscheckThat will give us things like if-modified-since handling.17:38
elmikoback later, gtg17:38
miguelgrinbergkrotscheck: haven't considered the created_at/updated_at, I like that17:39
krotscheckRight.17:39
krotscheckSo from my read of the various headers, there's three ways to bust the cache.17:39
miguelgrinbergetags can also be generated in a middleware, MD5 of the JSON body17:39
krotscheckThe first is the Cache-Expires header, which is a duration.17:39
krotscheckThe second is etags.17:39
krotscheckAs you mentioned.17:39
krotscheckAnd that gives us if-none-matches or if-in-range support17:40
miguelgrinbergright17:40
krotscheckThe third is what I just mentioned, the if-modified-since handling.17:40
krotscheckAnd... well, it seems to me that if you want to do real sane cache invalidation, you'll want to do etags and/or date _anyway_.17:40
krotscheckSo the guideline could, rather easily, just say: "Hey, don't use cache-expiry at all"17:41
krotscheck"There's better things"17:41
krotscheckSo naive clients always get the freshest.17:41
krotscheckAnd intelligent clients can talk intelligently.17:41
miguelgrinbergyes, that's reasonable17:42
krotscheckCooolio.17:43
krotscheckDo you want to write a spec for the middleware, or shall I/17:43
miguelgrinbergI was planning to write one after seeing how others feel about it. Sounds like we had a discussion, so I'll go ahead and write one.17:44
krotscheckAlrightey!17:44
krotscheckI have an interview to do, back in an hour.17:44
miguelgrinbergthanks!17:44
*** annegentle has joined #openstack-api17:45
*** annegentle has quit IRC18:08
*** annegentle has joined #openstack-api18:09
*** jxstanford has quit IRC18:22
*** annegentle has quit IRC18:41
*** salv-orlando has joined #openstack-api19:14
krotscheckOk, back!19:15
elmikowb19:16
krotscheckmiguelgrinberg: Any issue with me having a quick technical discussion with the oslo people about a potential cache supporting middleware?19:18
*** salv-orlando has quit IRC19:21
*** salv-orlando has joined #openstack-api19:38
*** salv-orlando has quit IRC19:41
*** openstack has joined #openstack-api20:05
miguelgrinbergkrotscheck: not at all, we don't have a solution without a middleware in my opinion20:06
krotscheckCoolio20:07
miguelgrinbergI tried to find an example implementation but it appears there isn't one. I have done this for Flask, but not as a middleware.20:07
*** Apoorva has joined #openstack-api20:22
*** sigmavirus24 is now known as sigmavirus24_awa20:23
*** openstack has joined #openstack-api20:30
*** annegentle has joined #openstack-api20:42
*** alex_klimov has joined #openstack-api20:49
*** openstackgerrit has quit IRC20:59
*** openstackgerrit has joined #openstack-api21:00
*** sigmavirus24_awa is now known as sigmavirus2421:14
*** annegentle has quit IRC21:17
*** salv-orlando has joined #openstack-api21:26
*** openstack has joined #openstack-api21:31
*** notmars has quit IRC21:35
*** salv-orlando has quit IRC21:40
*** annegentle has joined #openstack-api21:46
*** salv-orlando has joined #openstack-api21:52
*** kaufer2 has quit IRC22:02
*** annegentle has quit IRC22:18
*** annegentle has joined #openstack-api22:20
*** annegentle has quit IRC22:40
woodster_I was curious if folks here had thoughts on PATCH-ing approaches, such at using JSON pointers: http://williamdurand.fr/2014/02/14/please-do-not-patch-like-an-idiot/22:40
elmikoi don't think we've created guidelines for PATCH yet, i'd have to double check though22:41
woodster_elmiko: there are none here anyway: https://github.com/openstack/api-wg/blob/master/guidelines/http.rst22:42
elmikoyea, that's what i was thinking about22:42
elmikowe would happily accept something if you have some thoughts about it =)22:42
woodster_elmiko: keystone does patching the way I'm used to, with json fragments. But it doesn't allow for removing elements in a resource like JSON pointer does22:43
elmikohmm22:43
elmikomiguelgrinberg: any thoughts ^^22:43
woodster_This RFC has a few examples in it: https://tools.ietf.org/html/rfc6902 (that that blog link above is based on): https://tools.ietf.org/html/rfc690222:43
elmikointeresting... i'm adding these to the reading list22:44
miguelgrinbergI was chatting with ryansb at the summit about another patch spec, I think it is called JSON-PATCH22:44
miguelgrinbergyes, this is the RFC: https://tools.ietf.org/html/rfc690222:45
miguelgrinbergoh wait, same one :-)22:45
elmikohehe22:45
elmikowoodster_: is barbican running into a situation where PATCH is needed?22:45
woodster_elmiko: It is...in a spec to support adding/removing users from an access control list, and also as a means to update the secrets grouped in a container in a spec I'm looking at now22:47
woodster_miguelgrinberg: would you say 6902 is looking promising to consider for patching?22:47
miguelgrinbergwoodster_: not familiar with the API, but adding/removing from a collection does not need patch. Could you expose this userlist as a collection and avoid patch altogether?22:48
woodster_elmiko: yeah, the atomicity of the updates is very appealing22:48
elmikowoodster_: yea, this article seems pretty reasonable so far22:48
miguelgrinbergwoodster_: I personally find the whole idea of PATCH too complicated. For example, how does the server report an error? the client would probably want to know which of the operations in the PATCH body failed, so this gets very complex.22:49
woodster_miguelgrinberg: well, I'd expect that if anything is in error, nothing get committed...i.e. it should be in a single transaction in the datastore sense22:50
miguelgrinbergI don't oppose the use of PATCH, but I only see it as beneficial when the representations are prohibitively large, else it is easier to use PUT and send the whole thing22:50
miguelgrinbergwoodster_: yes, nothing will change, that's for sure. But it is hard to report where the error was.22:51
woodster_miguelgrinberg: that's true. The ACL add/remove user was raised in the context of multiple Heat engines potentially modifying resource simultaneously leading to potential race conditions. But this is probably a sign that orchestration is not designed so well22:52
miguelgrinbergwoodster_: I'd like to understand this thing about heat better.22:53
miguelgrinbergso this is barbican, correct?22:53
woodster_miguelgrinberg: I can ask the gentleman that brought this up more about their use case...yes, this is regarding barbican22:54
woodster_miguelgrinberg: I do like the keep it simple approach22:54
miguelgrinbergheat does not have much going on for barbican, we have the barbican integration in a plugin right now. This is unsupported code, we can change it if there are any problems with it.22:55
miguelgrinberg(I work on heat, BTW, in case you didn't know)22:56
woodster_miguelgrinberg: A contributor named kfox1111 mentioned this use case to us, but he mentioned it in passing, so I might have gotten the ask wrong!22:58
woodster_miguelgrinberg: I'm cool downplaying patch support though...I agree it adds api complexity for sure22:59
miguelgrinbergyeah, I would really not bother with the complications of implementing patch unless you really have no other choice23:00
elmikoi gotta head out, have a good weekend folks =)23:00
miguelgrinbergelmiko: have a good weekend!23:00
*** salv-orlando has quit IRC23:07

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