*** ChanServ changes topic to "All of the project infrastructure hosts are being restarted for security updates." | 00:22 | |
*** openstackgerrit has quit IRC | 00:24 | |
*** jeblair has quit IRC | 01: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 #storyboard | 01:48 | |
*** david-lyle has joined #storyboard | 02:02 | |
openstackgerrit | A change was merged to openstack-infra/storyboard: Fix for not loading middleware https://review.openstack.org/85693 | 04:52 |
---|---|---|
*** saju_m has joined #storyboard | 05:28 | |
*** saju_m has quit IRC | 07:17 | |
*** jcoufal has joined #storyboard | 07:23 | |
*** saju_m has joined #storyboard | 07:25 | |
*** ttx has quit IRC | 07:32 | |
*** ttx has joined #storyboard | 07:32 | |
*** ttx has quit IRC | 07:32 | |
*** ttx has joined #storyboard | 07:32 | |
*** saju_m has quit IRC | 07:32 | |
*** ttx has quit IRC | 07:50 | |
*** ttx has joined #storyboard | 07:50 | |
*** ttx has quit IRC | 07:50 | |
*** ttx has joined #storyboard | 07:50 | |
*** ttx has quit IRC | 07:53 | |
*** ttx has joined #storyboard | 07:53 | |
*** ttx has quit IRC | 07:53 | |
*** ttx has joined #storyboard | 07:53 | |
*** hashar has joined #storyboard | 07:55 | |
*** saju_m has joined #storyboard | 07:58 | |
*** saju_m has quit IRC | 08:03 | |
openstackgerrit | Nikita Konovalov proposed a change to openstack-infra/storyboard: Missing docstrings added https://review.openstack.org/85718 | 08:06 |
*** jang has joined #storyboard | 08:07 | |
*** saju_m has joined #storyboard | 08:15 | |
*** saju_m has quit IRC | 09:39 | |
*** ttx has quit IRC | 09:39 | |
*** wendar_ has quit IRC | 09:39 | |
*** rainya- has quit IRC | 09:39 | |
*** tteggel has quit IRC | 09:39 | |
*** saju_m has joined #storyboard | 09:39 | |
*** tteggel has joined #storyboard | 09:39 | |
*** jang has quit IRC | 09:39 | |
*** jcoufal has quit IRC | 09:39 | |
*** david-lyle has quit IRC | 09:39 | |
*** openstackgerrit has quit IRC | 09:39 | |
*** openstack has joined #storyboard | 09:49 | |
*** che-arne has joined #storyboard | 09:52 | |
*** jang has joined #storyboard | 09:56 | |
*** jcoufal has quit IRC | 09:56 | |
*** jcoufal has joined #storyboard | 09:56 | |
*** tteggel has quit IRC | 09:57 | |
*** tteggel has joined #storyboard | 09:57 | |
*** che-arne has quit IRC | 09:59 | |
*** che-arne has joined #storyboard | 09:59 | |
*** jang has quit IRC | 09:59 | |
*** jang has joined #storyboard | 09:59 | |
*** persia has quit IRC | 10:00 | |
*** persia has joined #storyboard | 10:01 | |
*** persia has quit IRC | 10:01 | |
*** persia has joined #storyboard | 10:01 | |
*** persia is now known as Guest17198 | 10:01 | |
*** Guest17198 has quit IRC | 10:01 | |
*** Guest17198 has joined #storyboard | 10:01 | |
*** Guest17198 is now known as persia | 10:02 | |
*** persia has quit IRC | 10:03 | |
*** wendar has quit IRC | 10:03 | |
*** gothicmindfood has quit IRC | 10:03 | |
*** ruhe has quit IRC | 10:03 | |
*** persia has joined #storyboard | 10:03 | |
*** persia has quit IRC | 10:03 | |
*** persia has joined #storyboard | 10:03 | |
*** ruhe has joined #storyboard | 10:04 | |
*** gothicmindfood has joined #storyboard | 10:04 | |
*** wendar has joined #storyboard | 10:04 | |
*** wendar has quit IRC | 10:14 | |
*** wendar has joined #storyboard | 10:14 | |
*** ttx has quit IRC | 10:15 | |
*** rainya has quit IRC | 10:15 | |
*** ttx has joined #storyboard | 10:20 | |
*** NikitaKonovalov has quit IRC | 10:26 | |
*** jcoufal has quit IRC | 10:26 | |
*** NikitaKonovalov has joined #storyboard | 10:27 | |
*** jcoufal has joined #storyboard | 10:28 | |
*** saju_m has quit IRC | 10:34 | |
*** saju_m has joined #storyboard | 10:35 | |
*** gothicmindfood has quit IRC | 10:39 | |
*** tteggel has quit IRC | 10:39 | |
*** david-lyle has quit IRC | 10:39 | |
*** hashar has quit IRC | 10:39 | |
*** gothicmindfood has joined #storyboard | 10:40 | |
*** hashar has joined #storyboard | 10:40 | |
*** david-lyle has joined #storyboard | 10:40 | |
*** tteggel has joined #storyboard | 10:40 | |
*** tteggel has quit IRC | 10:41 | |
*** tteggel has joined #storyboard | 10:41 | |
*** hashar has quit IRC | 11:14 | |
*** ttx has quit IRC | 12:03 | |
*** ttx has joined #storyboard | 12:03 | |
*** che-arne has quit IRC | 12:13 | |
*** wendar has quit IRC | 12:17 | |
*** david-lyle has quit IRC | 12:17 | |
*** persia has quit IRC | 12:17 | |
*** wendar has joined #storyboard | 12:17 | |
*** persia has joined #storyboard | 12:18 | |
*** persia has quit IRC | 12:18 | |
*** persia has joined #storyboard | 12:18 | |
*** miqui has joined #storyboard | 12:38 | |
*** miqui has quit IRC | 13:15 | |
*** miqui has joined #storyboard | 13:16 | |
*** openstackgerrit has joined #storyboard | 13:23 | |
*** openstackgerrit has quit IRC | 13:23 | |
*** openstackgerrit has joined #storyboard | 13:24 | |
*** mfer has joined #storyboard | 13:26 | |
*** miqui_ has joined #storyboard | 13:36 | |
*** miqui has quit IRC | 13:37 | |
*** jcoufal has quit IRC | 13:42 | |
*** jcoufal has joined #storyboard | 13:44 | |
*** hashar has joined #storyboard | 13:47 | |
*** che-arne has joined #storyboard | 13:57 | |
*** hashar has quit IRC | 14:00 | |
*** miqui_ is now known as miqui | 14:10 | |
NikitaKonovalov | delete or not delete https://etherpad.openstack.org/p/DeleteOrNotDelete | 14:13 |
NikitaKonovalov | please have a look | 14:13 |
NikitaKonovalov | mordred, ttx, krotscheck, ruhe, SergeyLukjanov ^^ | 14:16 |
*** che-arne has quit IRC | 14:20 | |
SergeyLukjanov | NikitaKonovalov, nice topic ;) | 14:26 |
*** david-lyle has joined #storyboard | 14:28 | |
*** saju_m has quit IRC | 14:41 | |
ttx | NikitaKonovalov: looks sane to me | 14:42 |
NikitaKonovalov | ttx: I just wanted to bring all yesterday's discussion in one place | 14:43 |
*** krotscheck has quit IRC | 14:45 | |
*** mordred has quit IRC | 14:45 | |
*** SergeyLukjanov has quit IRC | 14:45 | |
*** krotscheck has joined #storyboard | 14:49 | |
*** SergeyLukjanov has joined #storyboard | 14:49 | |
*** mordred has joined #storyboard | 14:52 | |
*** hashar has joined #storyboard | 15:05 | |
NikitaKonovalov | One more etherpad. What I found about Elasticsearch https://etherpad.openstack.org/p/Storyboard_ES | 15:07 |
*** jcoufal has quit IRC | 15:10 | |
*** jcoufal has joined #storyboard | 15:48 | |
*** jcoufal has quit IRC | 16:25 | |
*** hashar has quit IRC | 16:30 | |
*** saju_m has joined #storyboard | 16:34 | |
*** jcoufal has joined #storyboard | 16:35 | |
krotscheck | NikitaKonovalov: Good summaries, thanks. | 16:40 |
*** krotscheck has quit IRC | 17:00 | |
*** krotscheck has joined #storyboard | 17:00 | |
krotscheck | Question to the room: Do we know any project in OpenStack that’s currently using Sphinx? | 17:18 |
ruhe | krotscheck: i don't see any relted libraries in global-requirements. so, it seems like no one's using it | 17:25 |
krotscheck | Yeah, so, based on that alone I’m willing to disqualify it | 17:25 |
ruhe | mordred might be angry with this, but sphinx seems like a very outdated thing and modern hipster folk prefer lucene and ES | 17:33 |
krotscheck | mordred suggested it. | 17:33 |
krotscheck | Well, no. | 17:33 |
krotscheck | He said we should use something like sphinx. | 17:33 |
krotscheck | Then he told me (private channel while I was picking his brain) that the rest of openstack uses ES | 17:33 |
krotscheck | TripleO, Infra, etc | 17:33 |
* krotscheck hopes there’s a special place in hell reserved for coffeeshop IT that blocks all ports except for email, ssh, and http/s | 17:35 | |
* krotscheck is currently tunneling on IMAPs to his IRC bouncer. | 17:35 | |
krotscheck | Ok, 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 |
ruhe | ElasticSearch seems like a very nice product from developer's perspective | 17:43 |
*** jcoufal has quit IRC | 17:46 | |
krotscheck | My only real question then is how do we distinguish Search from Browse. | 17:47 |
krotscheck | Search is more of a “hey, anything that matches closely”, while browse is more of a “Only give me things that match this". | 17:47 |
krotscheck | And then there’s weird scenarios like “Only give me items where one field contains exactly these characters" | 17:48 |
mordred | soudns great to me - sphinx was teh state of the art back when I was doing mysql consulting - but ES seems to be happy place now | 17:49 |
krotscheck | Ok, switching over to filtering out finished stories. | 17:52 |
krotscheck | I’m going to think out loud for a bit, because I’m not certain I know how I want this implemented. | 17:52 |
krotscheck | The basic problem is that we need some way to get a list of stories that have incomplete tasks. | 17:52 |
krotscheck | But that does not preclude us getting a list of stories that ONLY have incomplete tasks. | 17:53 |
krotscheck | In addition to that, we have one single search endpoint. | 17:53 |
krotscheck | Sorry - list endpoint. | 17:53 |
krotscheck | It feels like a filter operation, but it’s a filter operation based on a secondary table. | 17:54 |
ruhe | krotscheck: when i think about browse vs search i always remember gerrit | 17:54 |
ruhe | it has both | 17:54 |
krotscheck | ruhe: Exactly. | 17:55 |
krotscheck | In this particular case, I think it’s a filter operation, but how to represent it on a RESTful endpoint? | 17:55 |
krotscheck | As far as filter vs search, methinks adding a custom operation for search might be worth it. | 17:56 |
*** anteaya has quit IRC | 17:56 | |
krotscheck | i.e. /tasks/search?foo vs /tasks?filterparam=foo&filterparam=bar | 17:56 |
ruhe | krotscheck: we might learn and mimic from ES in regards to search API | 17:56 |
ruhe | but i see your concern. there is no strict border between filter/seach/browse | 17:57 |
krotscheck | ruhe: Yeah, and I really don’t want to make one endpoint handle everything | 17:58 |
krotscheck | But 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 |
krotscheck | And lets assume that we have some way of indicating what a Story’s status is based on its tasks. | 18:00 |
krotscheck | What kind of a syntax would the API accept to allow us to filter on that? | 18:00 |
krotscheck | Use case: Give me all active stories, so all stories that have todo, inprogress, or review tasks. | 18:00 |
krotscheck | Use case: Give me all finished stories, so all stories that have merged tasks. | 18:01 |
krotscheck | Use case: Give me all stories. So, well, all stories. | 18:01 |
krotscheck | Since 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 |
krotscheck | A first brush implementation would then suggest that the API syntax would be /story?status=active | 18:03 |
krotscheck | or /story?status=merged | 18:03 |
krotscheck | This might also simplify our project_id syntax for stories. | 18:04 |
krotscheck | However 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 |
krotscheck | What if I then modify a story and post all the data with the view-generated metadata back to our API? | 18:05 |
krotscheck | And are views a bad idea (tm)? | 18:06 |
krotscheck | Acutally, let me go fiddle around with views to see if this would work. | 18:06 |
ruhe | i wonder if martin fowler has an article on this topic. his posts are usually useful | 18:19 |
krotscheck | mordred: 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 IRC | 18:35 | |
*** 23LAAAIJP has joined #storyboard | 18:36 | |
*** 23LAAAIJP has quit IRC | 18:37 | |
*** 23LAAAIJP has joined #storyboard | 18:37 | |
*** 23LAAAIJP is now known as persia | 18:37 | |
*** saju_m has quit IRC | 18:44 | |
krotscheck | I’m thinking this: http://paste.openstack.org/show/75352/ | 18:54 |
mordred | I do not recommend using views in mysql at all | 18:56 |
mordred | views in mysql are not materialized in any way | 18:57 |
mordred | so 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 that | 18:57 |
krotscheck | mordred: Gotcha, - so not so much like calculated indexes, yes? | 18:58 |
mordred | that's right | 18:58 |
krotscheck | And that’s really what we want here. | 18:58 |
krotscheck | Hrm. | 18:58 |
krotscheck | What alternatives do we have? | 18:58 |
mordred | a couple | 18:59 |
mordred | one - you can just model the complex subquery stuff in the sqlalchemy model layer | 18:59 |
mordred | two - 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 it | 19:00 |
krotscheck | mordred: So more like triggers? | 19:00 |
mordred | yes - exce- except do it in the sqlalchmey layer | 19:01 |
krotscheck | That’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 |
mordred | yup. lucky for you - mysql supports multi-table updates :) | 19:02 |
krotscheck | Of those, the former seems like it will provide more reliable information as it’s derived from the actual current sate. | 19:02 |
mordred | you may want to just start from teh calculation in the big query | 19:02 |
mordred | and then we can come back and optimzie with a summary table | 19:02 |
krotscheck | Or find some other indexing solution | 19:03 |
mordred | in fact - given size of any of these queries... | 19:03 |
krotscheck | Let’s just use Mongo | 19:03 |
krotscheck | It’s webscale | 19:03 |
mordred | hehe | 19:03 |
*** cody-somerville has quit IRC | 19:16 | |
*** jcoufal has joined #storyboard | 19:24 | |
*** david_lyle_ has joined #storyboard | 19:26 | |
*** dklyle has joined #storyboard | 19:28 | |
*** david-lyle has quit IRC | 19:30 | |
*** dklyle has quit IRC | 19:31 | |
*** dklyle has joined #storyboard | 19:31 | |
*** david_lyle_ has quit IRC | 19:32 | |
*** dklyle is now known as david-lyle | 19:40 | |
*** anteaya has joined #storyboard | 19:51 | |
*** david-lyle is now known as david-lyle_afk | 20:57 | |
*** ruhe2 has joined #storyboard | 21:03 | |
*** ruhe2 has left #storyboard | 21:04 | |
*** mfer has quit IRC | 21:28 | |
*** david_lyle_ has joined #storyboard | 21:44 | |
*** david_lyle_ is now known as david-lyle | 21:44 | |
*** david-lyle is now known as david_lyle | 21:44 | |
*** david_lyle_ has joined #storyboard | 21:46 | |
*** david-lyle_afk has quit IRC | 21:47 | |
*** david_lyle has quit IRC | 21:50 | |
*** david_lyle_ has quit IRC | 22:55 | |
*** jcoufal has quit IRC | 23:08 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!