Tuesday, 2014-04-08

*** ChanServ changes topic to "All of the project infrastructure hosts are being restarted for security updates."00:22
*** openstackgerrit has quit IRC00:24
*** jeblair has quit IRC01:18
*** ChanServ changes topic to "Storyboard | http://git.openstack.org/cgit/openstack-infra/storyboard/ | Weekly Meeting: Mondays at 15:00 UTC in #openstack-meeting-3"01:33
*** openstack has joined #storyboard01:48
*** david-lyle has joined #storyboard02:02
openstackgerritA change was merged to openstack-infra/storyboard: Fix for not loading middleware  https://review.openstack.org/8569304:52
*** saju_m has joined #storyboard05:28
*** saju_m has quit IRC07:17
*** jcoufal has joined #storyboard07:23
*** saju_m has joined #storyboard07:25
*** ttx has quit IRC07:32
*** ttx has joined #storyboard07:32
*** ttx has quit IRC07:32
*** ttx has joined #storyboard07:32
*** saju_m has quit IRC07:32
*** ttx has quit IRC07:50
*** ttx has joined #storyboard07:50
*** ttx has quit IRC07:50
*** ttx has joined #storyboard07:50
*** ttx has quit IRC07:53
*** ttx has joined #storyboard07:53
*** ttx has quit IRC07:53
*** ttx has joined #storyboard07:53
*** hashar has joined #storyboard07:55
*** saju_m has joined #storyboard07:58
*** saju_m has quit IRC08:03
openstackgerritNikita Konovalov proposed a change to openstack-infra/storyboard: Missing docstrings added  https://review.openstack.org/8571808:06
*** jang has joined #storyboard08:07
*** saju_m has joined #storyboard08:15
*** saju_m has quit IRC09:39
*** ttx has quit IRC09:39
*** wendar_ has quit IRC09:39
*** rainya- has quit IRC09:39
*** tteggel has quit IRC09:39
*** saju_m has joined #storyboard09:39
*** tteggel has joined #storyboard09:39
*** jang has quit IRC09:39
*** jcoufal has quit IRC09:39
*** david-lyle has quit IRC09:39
*** openstackgerrit has quit IRC09:39
*** openstack has joined #storyboard09:49
*** che-arne has joined #storyboard09:52
*** jang has joined #storyboard09:56
*** jcoufal has quit IRC09:56
*** jcoufal has joined #storyboard09:56
*** tteggel has quit IRC09:57
*** tteggel has joined #storyboard09:57
*** che-arne has quit IRC09:59
*** che-arne has joined #storyboard09:59
*** jang has quit IRC09:59
*** jang has joined #storyboard09:59
*** persia has quit IRC10:00
*** persia has joined #storyboard10:01
*** persia has quit IRC10:01
*** persia has joined #storyboard10:01
*** persia is now known as Guest1719810:01
*** Guest17198 has quit IRC10:01
*** Guest17198 has joined #storyboard10:01
*** Guest17198 is now known as persia10:02
*** persia has quit IRC10:03
*** wendar has quit IRC10:03
*** gothicmindfood has quit IRC10:03
*** ruhe has quit IRC10:03
*** persia has joined #storyboard10:03
*** persia has quit IRC10:03
*** persia has joined #storyboard10:03
*** ruhe has joined #storyboard10:04
*** gothicmindfood has joined #storyboard10:04
*** wendar has joined #storyboard10:04
*** wendar has quit IRC10:14
*** wendar has joined #storyboard10:14
*** ttx has quit IRC10:15
*** rainya has quit IRC10:15
*** ttx has joined #storyboard10:20
*** NikitaKonovalov has quit IRC10:26
*** jcoufal has quit IRC10:26
*** NikitaKonovalov has joined #storyboard10:27
*** jcoufal has joined #storyboard10:28
*** saju_m has quit IRC10:34
*** saju_m has joined #storyboard10:35
*** gothicmindfood has quit IRC10:39
*** tteggel has quit IRC10:39
*** david-lyle has quit IRC10:39
*** hashar has quit IRC10:39
*** gothicmindfood has joined #storyboard10:40
*** hashar has joined #storyboard10:40
*** david-lyle has joined #storyboard10:40
*** tteggel has joined #storyboard10:40
*** tteggel has quit IRC10:41
*** tteggel has joined #storyboard10:41
*** hashar has quit IRC11:14
*** ttx has quit IRC12:03
*** ttx has joined #storyboard12:03
*** che-arne has quit IRC12:13
*** wendar has quit IRC12:17
*** david-lyle has quit IRC12:17
*** persia has quit IRC12:17
*** wendar has joined #storyboard12:17
*** persia has joined #storyboard12:18
*** persia has quit IRC12:18
*** persia has joined #storyboard12:18
*** miqui has joined #storyboard12:38
*** miqui has quit IRC13:15
*** miqui has joined #storyboard13:16
*** openstackgerrit has joined #storyboard13:23
*** openstackgerrit has quit IRC13:23
*** openstackgerrit has joined #storyboard13:24
*** mfer has joined #storyboard13:26
*** miqui_ has joined #storyboard13:36
*** miqui has quit IRC13:37
*** jcoufal has quit IRC13:42
*** jcoufal has joined #storyboard13:44
*** hashar has joined #storyboard13:47
*** che-arne has joined #storyboard13:57
*** hashar has quit IRC14:00
*** miqui_ is now known as miqui14:10
NikitaKonovalovdelete or not delete https://etherpad.openstack.org/p/DeleteOrNotDelete14:13
NikitaKonovalovplease have a look14:13
NikitaKonovalovmordred, ttx, krotscheck, ruhe, SergeyLukjanov ^^14:16
*** che-arne has quit IRC14:20
SergeyLukjanovNikitaKonovalov, nice topic ;)14:26
*** david-lyle has joined #storyboard14:28
*** saju_m has quit IRC14:41
ttxNikitaKonovalov: looks sane to me14:42
NikitaKonovalovttx: I just wanted to bring all yesterday's discussion in one place14:43
*** krotscheck has quit IRC14:45
*** mordred has quit IRC14:45
*** SergeyLukjanov has quit IRC14:45
*** krotscheck has joined #storyboard14:49
*** SergeyLukjanov has joined #storyboard14:49
*** mordred has joined #storyboard14:52
*** hashar has joined #storyboard15:05
NikitaKonovalovOne more etherpad. What I found about Elasticsearch https://etherpad.openstack.org/p/Storyboard_ES15:07
*** jcoufal has quit IRC15:10
*** jcoufal has joined #storyboard15:48
*** jcoufal has quit IRC16:25
*** hashar has quit IRC16:30
*** saju_m has joined #storyboard16:34
*** jcoufal has joined #storyboard16:35
krotscheckNikitaKonovalov: Good summaries, thanks.16:40
*** krotscheck has quit IRC17:00
*** krotscheck has joined #storyboard17:00
krotscheckQuestion to the room: Do we know any project in OpenStack that’s currently using Sphinx?17:18
ruhekrotscheck: i don't see any relted libraries in global-requirements. so, it seems like no one's using it17:25
krotscheckYeah, so, based on that alone I’m willing to disqualify it17:25
ruhemordred might be angry with this, but sphinx seems like a very outdated thing and modern hipster folk prefer lucene and ES17:33
krotscheckmordred suggested it.17:33
krotscheckWell, no.17:33
krotscheckHe said we should use something like sphinx.17:33
krotscheckThen he told me (private channel while I was picking his brain) that the rest of openstack uses ES17:33
krotscheckTripleO, Infra, etc17:33
* krotscheck hopes there’s a special place in hell reserved for coffeeshop IT that blocks all ports except for email, ssh, and http/s17:35
* krotscheck is currently tunneling on IMAPs to his IRC bouncer.17:35
krotscheckOk, so let’s move forward with ElasticSearch for the time being, but remember that the goal is to make Storyboard as self-sufficient as possible.17:40
ruheElasticSearch seems like a very nice product from developer's perspective17:43
*** jcoufal has quit IRC17:46
krotscheckMy only real question then is how do we distinguish Search from Browse.17:47
krotscheckSearch is more of a “hey, anything that matches closely”, while browse is more of a “Only give me things that match this".17:47
krotscheckAnd then there’s weird scenarios like “Only give me items where one field contains exactly these characters"17:48
mordredsoudns great to me - sphinx was teh state of the art back when I was doing mysql consulting - but ES seems to be happy place now17:49
krotscheckOk, switching over to filtering out finished stories.17:52
krotscheckI’m going to think out loud for a bit, because I’m not certain I know how I want this implemented.17:52
krotscheckThe basic problem is that we need some way to get a list of stories that have incomplete tasks.17:52
krotscheckBut that does not preclude us getting a list of stories that ONLY have incomplete tasks.17:53
krotscheckIn addition to that, we have one single search endpoint.17:53
krotscheckSorry - list endpoint.17:53
krotscheckIt feels like a filter operation, but it’s a filter operation based on a secondary table.17:54
ruhekrotscheck: when i think about browse vs search i always remember gerrit17:54
ruheit has both17:54
krotscheckruhe: Exactly.17:55
krotscheckIn this particular case, I think it’s a filter operation, but how to represent it on a RESTful endpoint?17:55
krotscheckAs far as filter vs search, methinks adding a custom operation for search might be worth it.17:56
*** anteaya has quit IRC17:56
krotschecki.e. /tasks/search?foo vs /tasks?filterparam=foo&filterparam=bar17:56
ruhekrotscheck: we might learn and mimic from ES in regards to search API17:56
ruhebut i see your concern. there is no strict border between filter/seach/browse17:57
krotscheckruhe: Yeah, and I really don’t want to make one endpoint handle everything17:58
krotscheckBut for the sake of argument, let’s assume that we have one endpoint that handles filtering.17:59
krotscheck(Which endpoint that is can be argued about later, I’m leaning towards the default list endpoint)17:59
krotscheckAnd lets assume that we have some way of indicating what a Story’s status is based on its tasks.18:00
krotscheckWhat kind of a syntax would the API accept to allow us to filter on that?18:00
krotscheckUse case: Give me all active stories, so all stories that have todo, inprogress, or review tasks.18:00
krotscheckUse case: Give me all finished stories, so all stories that have merged tasks.18:01
krotscheckUse case: Give me all stories. So, well, all stories.18:01
krotscheckSince we’re all just going to do Mysql, we may be able to create a MySQL view that represents the state of each story based on its tasks.18:01
krotscheck…which means that the filter syntax could be against the view, rather than the table.18:02
krotscheckA first brush implementation would then suggest that the API syntax would be /story?status=active18:03
krotscheckor /story?status=merged18:03
krotscheckThis might also simplify our project_id syntax for stories.18:04
krotscheckHowever how would that work with the python models? If the search results include project_id, a transient/generated status, maybe task state counts…18:05
krotscheckWhat if I then modify a story and post all the data with the view-generated metadata back to our API?18:05
krotscheckAnd are views a bad idea (tm)?18:06
krotscheckAcutally, let me go fiddle around with views to see if this would work.18:06
ruhei wonder if martin fowler has an article on this topic. his posts are usually useful18:19
krotscheckmordred: For mysql performance, what do you recommend when creating a view that may require several chained subqueries? Chain views, or drop all queries into one?18:23
*** persia has quit IRC18:35
*** 23LAAAIJP has joined #storyboard18:36
*** 23LAAAIJP has quit IRC18:37
*** 23LAAAIJP has joined #storyboard18:37
*** 23LAAAIJP is now known as persia18:37
*** saju_m has quit IRC18:44
krotscheckI’m thinking this: http://paste.openstack.org/show/75352/18:54
mordredI do not recommend using views in mysql at all18:56
mordredviews in mysql are not materialized in any way18:57
mordredso selecing from a view means taht the query in teh view is going to get executed, the results put into an in-memory tempt table, then the query against the view is going to run against that18:57
krotscheckmordred: Gotcha, - so not so much like calculated indexes, yes?18:58
mordredthat's right18:58
krotscheckAnd that’s really what we want here.18:58
krotscheckHrm.18:58
krotscheckWhat alternatives do we have?18:58
mordreda couple18:59
mordredone - you can just model the complex subquery stuff in the sqlalchemy model layer18:59
mordredtwo - make a materizliaed summary table in the db and just make sure that you update that table whenver you update the things that feed in to it19:00
krotscheckmordred: So more like triggers?19:00
mordredyes - exce- except do it in the sqlalchmey layer19:01
krotscheckThat’s going to take very careful SQL query design if we don’t want to end up in a bind because of multiple queries.19:02
mordredyup. lucky for you - mysql supports multi-table updates :)19:02
krotscheckOf those, the former seems like it will provide more reliable information as it’s derived from the actual current sate.19:02
mordredyou may want to just start from teh calculation in the big query19:02
mordredand then we can come back and optimzie with a summary table19:02
krotscheckOr find some other indexing solution19:03
mordredin fact - given size of any of these queries...19:03
krotscheckLet’s just use Mongo19:03
krotscheckIt’s webscale19:03
mordredhehe19:03
*** cody-somerville has quit IRC19:16
*** jcoufal has joined #storyboard19:24
*** david_lyle_ has joined #storyboard19:26
*** dklyle has joined #storyboard19:28
*** david-lyle has quit IRC19:30
*** dklyle has quit IRC19:31
*** dklyle has joined #storyboard19:31
*** david_lyle_ has quit IRC19:32
*** dklyle is now known as david-lyle19:40
*** anteaya has joined #storyboard19:51
*** david-lyle is now known as david-lyle_afk20:57
*** ruhe2 has joined #storyboard21:03
*** ruhe2 has left #storyboard21:04
*** mfer has quit IRC21:28
*** david_lyle_ has joined #storyboard21:44
*** david_lyle_ is now known as david-lyle21:44
*** david-lyle is now known as david_lyle21:44
*** david_lyle_ has joined #storyboard21:46
*** david-lyle_afk has quit IRC21:47
*** david_lyle has quit IRC21:50
*** david_lyle_ has quit IRC22:55
*** jcoufal has quit IRC23:08

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