| *** wchrisj has joined #openstack-meeting-3 | 00:20 | |
| *** eguz has quit IRC | 00:28 | |
| *** yamahata has joined #openstack-meeting-3 | 00:36 | |
| *** eghobo has joined #openstack-meeting-3 | 00:39 | |
| *** eghobo has quit IRC | 00:39 | |
| *** alexpilotti has quit IRC | 00:45 | |
| *** wchrisj has quit IRC | 00:50 | |
| *** yamahata has quit IRC | 01:45 | |
| *** xuhanp has joined #openstack-meeting-3 | 02:06 | |
| *** wchrisj has joined #openstack-meeting-3 | 02:07 | |
| *** wchrisj has quit IRC | 02:21 | |
| *** coolsvap has joined #openstack-meeting-3 | 02:56 | |
| *** eghobo has joined #openstack-meeting-3 | 03:15 | |
| *** xuhanp has quit IRC | 03:22 | |
| *** banix has joined #openstack-meeting-3 | 03:27 | |
| *** yamahata has joined #openstack-meeting-3 | 03:30 | |
| *** eghobo has quit IRC | 03:49 | |
| *** eghobo has joined #openstack-meeting-3 | 03:49 | |
| *** banix has quit IRC | 04:08 | |
| *** eghobo has quit IRC | 04:38 | |
| *** eghobo has joined #openstack-meeting-3 | 04:39 | |
| *** eguz has joined #openstack-meeting-3 | 04:50 | |
| *** eghobo has quit IRC | 04:50 | |
| *** lpetrut has joined #openstack-meeting-3 | 04:56 | |
| *** saju_m has joined #openstack-meeting-3 | 05:13 | |
| *** xuhanp has joined #openstack-meeting-3 | 05:21 | |
| *** wendar_ has joined #openstack-meeting-3 | 05:29 | |
| *** timello has quit IRC | 05:29 | |
| *** ryanpetrello has quit IRC | 05:29 | |
| *** lifeless has quit IRC | 05:30 | |
| *** wendar has quit IRC | 05:30 | |
| *** lifeless has joined #openstack-meeting-3 | 05:31 | |
| *** ryanpetrello has joined #openstack-meeting-3 | 05:32 | |
| *** timello has joined #openstack-meeting-3 | 05:33 | |
| *** marios has quit IRC | 05:56 | |
| *** jtomasek has joined #openstack-meeting-3 | 06:05 | |
| *** mrunge has joined #openstack-meeting-3 | 06:26 | |
| *** xuhanp has quit IRC | 06:30 | |
| *** lpetrut has quit IRC | 06:32 | |
| *** saju_m has quit IRC | 06:41 | |
| *** xuhanp has joined #openstack-meeting-3 | 06:43 | |
| *** saju_m has joined #openstack-meeting-3 | 06:55 | |
| *** xuhanp has quit IRC | 07:02 | |
| *** lpetrut has joined #openstack-meeting-3 | 07:04 | |
| *** lpetrut has quit IRC | 07:08 | |
| *** lsmola_ has joined #openstack-meeting-3 | 07:16 | |
| *** eguz has quit IRC | 07:22 | |
| *** jcoufal has joined #openstack-meeting-3 | 07:25 | |
| *** nacim has joined #openstack-meeting-3 | 08:00 | |
| *** MaxV has joined #openstack-meeting-3 | 08:03 | |
| *** safchain has joined #openstack-meeting-3 | 08:11 | |
| *** lpetrut has joined #openstack-meeting-3 | 08:28 | |
| *** MaxV has quit IRC | 08:36 | |
| *** MaxV has joined #openstack-meeting-3 | 08:38 | |
| *** lpetrut_ has joined #openstack-meeting-3 | 08:52 | |
| *** lpetrut has quit IRC | 08:52 | |
| *** saju_m has quit IRC | 09:27 | |
| *** alexpilotti has joined #openstack-meeting-3 | 09:40 | |
| *** lpetrut_ has quit IRC | 09:48 | |
| *** niksud has quit IRC | 10:03 | |
| *** lpetrut has joined #openstack-meeting-3 | 10:03 | |
| *** lpetrut_ has joined #openstack-meeting-3 | 10:13 | |
| *** lpetrut has quit IRC | 10:16 | |
| *** coolsvap has quit IRC | 10:27 | |
| *** saju_m has joined #openstack-meeting-3 | 10:32 | |
| *** MaxV has quit IRC | 10:41 | |
| *** saju_m has quit IRC | 10:49 | |
| *** MaxV has joined #openstack-meeting-3 | 10:49 | |
| *** alexpilotti has quit IRC | 11:16 | |
| *** mwagner_lap has quit IRC | 11:23 | |
| *** saju_m has joined #openstack-meeting-3 | 11:24 | |
| *** ycombinator has quit IRC | 11:42 | |
| *** glenc_ has joined #openstack-meeting-3 | 11:43 | |
| *** glenc has quit IRC | 11:43 | |
| *** annegentle has quit IRC | 11:43 | |
| *** mwagner_lap has joined #openstack-meeting-3 | 12:10 | |
| *** yamahata has quit IRC | 12:20 | |
| *** zigo has quit IRC | 12:26 | |
| *** alexpilotti has joined #openstack-meeting-3 | 12:39 | |
| *** alexpilotti has quit IRC | 12:40 | |
| *** alexpilotti has joined #openstack-meeting-3 | 12:53 | |
| *** alexpilotti has quit IRC | 12:58 | |
| *** lblanchard has joined #openstack-meeting-3 | 13:02 | |
| *** MaxV has quit IRC | 13:03 | |
| *** MaxV has joined #openstack-meeting-3 | 13:06 | |
| *** rustlebee is now known as russellb | 13:08 | |
| *** mfer has joined #openstack-meeting-3 | 13:10 | |
| *** alexpilotti has joined #openstack-meeting-3 | 13:11 | |
| *** lblanchard has quit IRC | 13:26 | |
| *** lpetrut_ has quit IRC | 13:29 | |
| *** lblanchard has joined #openstack-meeting-3 | 13:35 | |
| *** jnoller has joined #openstack-meeting-3 | 13:37 | |
| *** jnoller has joined #openstack-meeting-3 | 13:38 | |
| *** jnoller has joined #openstack-meeting-3 | 13:39 | |
| *** damnsmith is now known as dansmith | 13:39 | |
| *** jnoller has joined #openstack-meeting-3 | 13:39 | |
| *** jnoller has joined #openstack-meeting-3 | 13:41 | |
| *** jnoller has joined #openstack-meeting-3 | 13:41 | |
| *** jnoller has joined #openstack-meeting-3 | 13:42 | |
| *** overlayer has joined #openstack-meeting-3 | 13:42 | |
| *** jnoller has joined #openstack-meeting-3 | 13:42 | |
| *** banix has joined #openstack-meeting-3 | 13:44 | |
| *** jnoller has joined #openstack-meeting-3 | 13:44 | |
| *** jnoller has joined #openstack-meeting-3 | 13:45 | |
| *** jnoller has quit IRC | 13:45 | |
| *** jnoller has joined #openstack-meeting-3 | 13:45 | |
| *** yamahata has joined #openstack-meeting-3 | 13:45 | |
| *** jnoller has joined #openstack-meeting-3 | 13:46 | |
| *** peristeri has joined #openstack-meeting-3 | 13:46 | |
| *** jnoller has joined #openstack-meeting-3 | 13:46 | |
| *** jnoller has joined #openstack-meeting-3 | 13:47 | |
| *** jnoller has joined #openstack-meeting-3 | 13:47 | |
| *** jnoller has joined #openstack-meeting-3 | 13:48 | |
| *** jnoller has quit IRC | 13:48 | |
| *** jnoller has joined #openstack-meeting-3 | 13:48 | |
| *** jnoller has joined #openstack-meeting-3 | 13:49 | |
| *** jnoller has joined #openstack-meeting-3 | 13:51 | |
| *** jnoller has quit IRC | 13:51 | |
| *** jnoller has joined #openstack-meeting-3 | 13:51 | |
| *** jnoller has joined #openstack-meeting-3 | 13:52 | |
| *** jnoller has joined #openstack-meeting-3 | 13:53 | |
| *** jnoller has joined #openstack-meeting-3 | 13:53 | |
| *** jnoller has joined #openstack-meeting-3 | 13:54 | |
| *** jnoller has joined #openstack-meeting-3 | 13:54 | |
| *** jnoller has joined #openstack-meeting-3 | 13:55 | |
| *** jnoller has joined #openstack-meeting-3 | 13:55 | |
| *** jnoller has joined #openstack-meeting-3 | 13:56 | |
| *** jnoller has joined #openstack-meeting-3 | 13:56 | |
| *** jnoller has joined #openstack-meeting-3 | 13:57 | |
| *** jnoller has joined #openstack-meeting-3 | 13:57 | |
| *** lpetrut has joined #openstack-meeting-3 | 14:03 | |
| *** alexpilotti has quit IRC | 14:05 | |
| *** alexpilotti has joined #openstack-meeting-3 | 14:06 | |
| *** lpetrut has quit IRC | 14:09 | |
| *** lpetrut has joined #openstack-meeting-3 | 14:18 | |
| *** julim has joined #openstack-meeting-3 | 14:34 | |
| *** MaxV has quit IRC | 14:47 | |
| *** MaxV has joined #openstack-meeting-3 | 14:47 | |
| *** krotscheck has joined #openstack-meeting-3 | 14:47 | |
| *** lpetrut has quit IRC | 14:50 | |
| *** saju_m has quit IRC | 14:50 | |
| *** lpetrut has joined #openstack-meeting-3 | 14:56 | |
| krotscheck | Ok, who’s here for storyboard? | 15:00 |
|---|---|---|
| NikitaKonovalov | o/ | 15:00 |
| ruhe | o/ | 15:01 |
| krotscheck | #startmeeting storyboard | 15:02 |
| openstack | Meeting started Mon Apr 7 15:02:35 2014 UTC and is due to finish in 60 minutes. The chair is krotscheck. Information about MeetBot at http://wiki.debian.org/MeetBot. | 15:02 |
| openstack | Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. | 15:02 |
| *** openstack changes topic to " (Meeting topic: storyboard)" | 15:02 | |
| openstack | The meeting name has been set to 'storyboard' | 15:02 |
| SergeyLukjanov | o/ | 15:02 |
| krotscheck | #topic MVP Status | 15:02 |
| *** openstack changes topic to "MVP Status (Meeting topic: storyboard)" | 15:02 | |
| *** mordred has joined #openstack-meeting-3 | 15:02 | |
| mordred | morning all | 15:02 |
| krotscheck | Ok, so what’s outstanding? | 15:03 |
| *** cody-somerville has joined #openstack-meeting-3 | 15:03 | |
| krotscheck | I did a strawpoll in #storyboard earlier, current consensus seems that MVP is complete. | 15:03 |
| ttx | o/ | 15:03 |
| mordred | I think I still need to go clean out some of the extra data from the current install - and then I thnk per last week's infra meeting we're going to start using it to track zuul and nodepool | 15:04 |
| ttx | agreed, that's why I adde a MVP 1.01 topic for end of meeting :) | 15:04 |
| krotscheck | Got it, so MVP is done. | 15:04 |
| mordred | as a first step | 15:04 |
| *** yamahata has quit IRC | 15:04 | |
| * krotscheck pops the champagne | 15:04 | |
| krotscheck | #topic easier access to logs | 15:04 |
| *** openstack changes topic to "easier access to logs (Meeting topic: storyboard)" | 15:04 | |
| *** yamahata has joined #openstack-meeting-3 | 15:04 | |
| ttx | krotscheck: thanks for keeping us all honest and going forward :) | 15:04 |
| jeblair | the task statuses aren't what we discussed at the sprint, but i assume that's an easy patch | 15:04 |
| krotscheck | cody-somerville: Is this a zombie topic from last week? | 15:04 |
| krotscheck | jeblair: Yes, that can be done quickly. Submit a story? | 15:05 |
| cody-somerville | zombie topic from last week, yes. sorry. | 15:05 |
| krotscheck | Got it | 15:05 |
| krotscheck | #topic ux labs /resources | 15:05 |
| *** openstack changes topic to "ux labs /resources (Meeting topic: storyboard)" | 15:05 | |
| krotscheck | Personal question for me: Other than redhat, what UX labs / usability resources do we have available other than “make grumpy engineers use it? | 15:06 |
| mordred | I think "make grumpy engineers use it" is what we have for now | 15:06 |
| krotscheck | Ok, that’s from HP. I can occasionally get some feedback from jcoufal, anything from Mirantis? | 15:06 |
| *** lpetrut has quit IRC | 15:06 | |
| ttx | grumpy engineers are like 80% of our target population anyway | 15:07 |
| mordred | there's a UX dude at HP we can talk to to see if he'll do some UX studies on it (he ran some on horizon recently) | 15:07 |
| krotscheck | Alright, new user profile: Grumpy Engineer. | 15:07 |
| krotscheck | mordred: Send me an intro? | 15:07 |
| mordred | krotscheck: I shall | 15:07 |
| krotscheck | Good | 15:07 |
| jcoufal | yeah, it's piet kruithof | 15:07 |
| jcoufal | he might help with usability testing | 15:07 |
| krotscheck | #action mordred Send krotscheck intro to piet kruithof | 15:07 |
| *** david-lyle has joined #openstack-meeting-3 | 15:08 | |
| ttx | we actually identified two profiles. Linux grumpy engineer and MacOs hipster dev | 15:08 |
| SergeyLukjanov | + grumpy release manager proflle | 15:08 |
| krotscheck | :-P | 15:08 |
| krotscheck | Hipster? | 15:08 |
| *** lpetrut has joined #openstack-meeting-3 | 15:08 | |
| ttx | the second profile likes stuff that resembles github | 15:08 |
| ttx | by principle | 15:08 |
| krotscheck | mordred: I think… I don’t know what I think about being called a hipster :) | 15:08 |
| krotscheck | ANYWAY | 15:08 |
| krotscheck | #topic design discussion: Search & DB support | 15:08 |
| *** openstack changes topic to "design discussion: Search & DB support (Meeting topic: storyboard)" | 15:08 | |
| ttx | krotscheck: i was not thinking about you | 15:09 |
| krotscheck | So, our list views right now fail hard. | 15:09 |
| *** cjellick has joined #openstack-meeting-3 | 15:09 | |
| krotscheck | As does any project dropdown. | 15:09 |
| krotscheck | Now, for the time being we can do a cached typeahead, however that’s not going to scale. | 15:09 |
| ttx | krotscheck: i suggested typin URLs by hand but somehow you didn't like it | 15:09 |
| krotscheck | (cached typeahead: Load all results, filte rthem in browser memory) | 15:09 |
| krotscheck | ttx: That’s orthogonal :) | 15:10 |
| krotscheck | ttx: That’s more of a “how to find a specific project” issue rather than “find all tasks like X” issue | 15:10 |
| NikitaKonovalov | krotscheck: but if the query fails on the server side, how filtering would help inside a browser? | 15:10 |
| ttx | krotscheck: list views fail ? or the project list view fails ? | 15:11 |
| krotscheck | NikitaKonovalov: The UX for actually finding a specific project, task, or story is bad. The sort order is wrong, items are shown that are closed, there’s no way to search by text, etc. | 15:11 |
| mordred | krotscheck: so - we probably want some amount of both thing, right? | 15:11 |
| krotscheck | mordred: Yes. | 15:11 |
| ttx | krotscheck: I think users shall be able to subscribe to project (and/or project groups) and get them in a default view | 15:11 |
| mordred | ttx: that still doesn't help wehn I want to find something for a project I'm not subscribed to - which i do in gerrit more than neer | 15:12 |
| ttx | they should almost never search for them | 15:12 |
| krotscheck | ttx: True. Difficult to do if you can’t find what you’re looking for in the first place. | 15:12 |
| ttx | krotscheck: it's difficult but not impossible. And with subscription it's a one-time pain | 15:13 |
| krotscheck | So the actual question I have is this: SQLAlchemy does _not_ have a good fulltext abstraction. | 15:13 |
| krotscheck | That’s more or less requred for search | 15:13 |
| ttx | (agree it can use improvement) | 15:13 |
| krotscheck | (rather than browse. Browse is well understood) | 15:13 |
| * ttx ttx uses CTRL-F in project list window | 15:13 | |
| krotscheck | Should we A) pick either postgres or mysql, and use their own fulltext search, or B) take what ruhe suggested and get elastic search up and running? | 15:14 |
| krotscheck | Thoughts? | 15:14 |
| NikitaKonovalov | well, mysql whould be fine for searching in 'name' fields | 15:14 |
| NikitaKonovalov | we may even let it fetch all the data (projects) and then filter in db_api | 15:15 |
| jeblair | mordred: i think there are other full-text options for mysql, yeah? | 15:15 |
| krotscheck | NikitaKonovalov: Yes. What about description fields? | 15:15 |
| mordred | door number 3 | 15:15 |
| *** nacim has quit IRC | 15:15 | |
| krotscheck | Or ‘name’ and ‘description’ fields. | 15:15 |
| jeblair | i'm pretty sure we would like to search across all fields, including descriptions and comments | 15:15 |
| ruhe | jeblair: there is mysql sphinx | 15:15 |
| mordred | we should stay with mysql - and we should use sphinxsearch with it | 15:15 |
| NikitaKonovalov | krotscheck: no differece for those i guess | 15:16 |
| jeblair | ruhe: that's what i was thinking of... | 15:16 |
| *** cjellick has quit IRC | 15:16 | |
| krotscheck | mordred: jeblair: That requires ditching postgres altogether, yes? | 15:16 |
| *** cjellick has joined #openstack-meeting-3 | 15:17 | |
| jeblair | krotscheck: i believe so. i don't have a problem with that. | 15:17 |
| *** alexpilotti has quit IRC | 15:17 | |
| krotscheck | Alrightey, let’s vote on it. | 15:17 |
| jeblair | fungi: you've poked at our elasticsearch cluster a bit more than i have... | 15:18 |
| * krotscheck assumes that he can figure out the vote syntax. | 15:18 | |
| ruhe | postgres is always several steps behind. most OpenStack projects don't have indexes configured for it | 15:18 |
| jeblair | fungi: my thoughts are that the infrastructure and maintenance burden is too big for a problem like this | 15:18 |
| krotscheck | #vote Deprecate all secondary database support in favor of one. | 15:18 |
| fungi | yeah, i think the search limitations we have are imposed by us to aboid dos'ing the cluster currently | 15:18 |
| mordred | I'm not sure whether sphinx can work with postgres - but I have to be hoenst that I do not care about our postgres support personally | 15:18 |
| jeblair | perhaps that's just because i've only seen it used in a frighteningly busy system | 15:18 |
| krotscheck | #startvote Deprecate all secondary database support in favor of one. | 15:19 |
| openstack | Unable to parse vote topic and options. | 15:19 |
| krotscheck | Dammit | 15:19 |
| krotscheck | Someone else do that | 15:19 |
| jeblair | krotscheck: http://ci.openstack.org/irc.html#voting | 15:19 |
| ttx | krotscheck: only the meeting chair can :) | 15:19 |
| fungi | the quantity of data in storyboard is likely to never pose a problem for elasticsearch substring matching, by comparison with the volume of log data we're currently stashing in it | 15:19 |
| krotscheck | Oh | 15:19 |
| *** alexpilotti has joined #openstack-meeting-3 | 15:19 | |
| krotscheck | : #startvote Deprecate all secondary database support in favor of only one? Yes, No, Maybe | 15:19 |
| jeblair | fungi: right, but are we going to need to run another 'cluster'? what's the minimal cluster look like? | 15:20 |
| jeblair | krotscheck: once more without the ': ' | 15:20 |
| fungi | oh, yeah from a sizing standpoint i have no idea, but am pretty sure we can run a one-node cluster and not do any sharding initially | 15:21 |
| krotscheck | jeblair: There isn’t one.... | 15:21 |
| fungi | since that's what clarkb set up originally before we grew it to cope with the volume we have | 15:21 |
| krotscheck | #startvote Deprecate all secondary database support in favor of only one? | 15:21 |
| openstack | Begin voting on: Deprecate all secondary database support in favor of only one? Valid vote options are Yes, No. | 15:21 |
| openstack | Vote using '#vote OPTION'. Only your last vote counts. | 15:21 |
| ruhe | #vote Yes | 15:22 |
| NikitaKonovalov | #vote Yes | 15:22 |
| fungi | i expect we could probably reuse the existing cluster instead if we want, though right now it's already at capacity so we might need to expand it further | 15:22 |
| krotscheck | #vote Yes | 15:22 |
| jeblair | #vote Yes | 15:22 |
| ttx | #vote Abstain | 15:22 |
| ttx | :) | 15:22 |
| krotscheck | #endvote | 15:22 |
| openstack | Voted on "Deprecate all secondary database support in favor of only one?" Results are | 15:22 |
| krotscheck | Ok, so next issue: Which database to pick. | 15:22 |
| ruhe | it might be reasonable to conduct a study of mysql+sphinx+sqlalchemy before the decision is made to build on top of these technologies | 15:22 |
| jeblair | fungi: i'd rather not; i think storyboard search uptime is far more important that test log uptime | 15:23 |
| mordred | #vote Yes | 15:23 |
| jeblair | fungi: so we wouldn't be able to take it offline for, say, a day in order to rebuild indexes anymore | 15:23 |
| mordred | sorry (got distracted) | 15:23 |
| krotscheck | Ok, ruhe: Do you have time to do this study? | 15:23 |
| fungi | jeblair: agreed. we could pilot with a one-node shardless cluster initially and then go to two or three with shards if we wanted better performance/capacity (if it ever became necessary) | 15:23 |
| fungi | might even be able to just stick the elasticsearch and storyboard instances on the same vm for better performance | 15:24 |
| krotscheck | #startvote Pick a database? mysql, postgres, sqlite | 15:24 |
| openstack | Begin voting on: Pick a database? Valid vote options are mysql, postgres, sqlite. | 15:24 |
| openstack | Vote using '#vote OPTION'. Only your last vote counts. | 15:24 |
| fungi | i'd want to pass this by clarkb later though since he very well may be able to point out that i'm being an idiot | 15:24 |
| NikitaKonovalov | is it hard to run elastic search loaclly? | 15:24 |
| ttx | #vote mysql | 15:24 |
| jeblair | fungi, krotscheck: i agree, we should ask clarkb to weigh in on this; he's our elasticsearch expert | 15:25 |
| ruhe | krotscheck: i do, if time is equal to 10 days. but i'd prefer ES instead of sphinx (maybe because i have osx and i'm kinda hipster) | 15:25 |
| NikitaKonovalov | #vote mysql | 15:25 |
| jeblair | #vote mysql | 15:25 |
| ruhe | #vote mysql | 15:25 |
| mordred | #vote mysql | 15:25 |
| krotscheck | #endvote | 15:25 |
| openstack | Voted on "Pick a database?" Results are | 15:25 |
| openstack | mysql (5): mordred, NikitaKonovalov, ttx, jeblair, ruhe | 15:25 |
| krotscheck | Ok, we’re using msyql, end of story | 15:25 |
| ttx | now we could dramatically simplify our initial migrations | 15:26 |
| krotscheck | Last question: We need search, we’ve got two options on the table - sphinx and elasticsearch. I do not know enough about either of these to make a decision, who wants to be our expert? | 15:26 |
| krotscheck | ttx just volunteered to fix our migrations | 15:26 |
| ruhe | ttx: you mean squash all the existing migrations into a single one? | 15:26 |
| krotscheck | Or is there a third option? :) | 15:26 |
| ttx | ruhe: rather than keep the postgresql compat cruft yes | 15:26 |
| ttx | but then I don'ty know how the prod system would like that | 15:27 |
| krotscheck | #action ttx File a story in storyboard to get the postgres cruft out of our database migrations. | 15:27 |
| jeblair | krotscheck: i think we should get clarkb and mordred, at least, into a conversation, as ES and sphinx experts respectively | 15:28 |
| ruhe | ttx: they manage it somehow in giant projects like Nova. It should be a piece of cake in StoryBoard :) | 15:28 |
| * mordred will ping the guys at sphinxsearch and see if they're interested in helping | 15:28 | |
| krotscheck | jeblair: You got it. I’ll grab clark and mordred offline and get a better sense of the benefits/tradeoffs. | 15:28 |
| jeblair | mordred: what does that look like on the sysadmin side? | 15:28 |
| * ttx is multitasking on 3 cores | 15:28 | |
| jeblair | krotscheck: feel free to do it online. :) | 15:29 |
| krotscheck | #action krotscheck extract mordred and clarkb’s brain segments on elastic search vis-a-vis sphinx. | 15:29 |
| krotscheck | jeblair: Yeah, but that discussion does not have to happen in this meeting :) | 15:29 |
| jeblair | krotscheck: yep | 15:29 |
| krotscheck | #topic FK or no FK | 15:30 |
| *** openstack changes topic to "FK or no FK (Meeting topic: storyboard)" | 15:30 | |
| krotscheck | I’m bringing both FK and soft delete back up because I felt the discussion 2 weeks ago was prematurely cut off. | 15:30 |
| krotscheck | With regards to foreign keys, I propose keeping them. The argument _for_ is all about referential integrity, which is well understood and comes with clear benefits. | 15:30 |
| krotscheck | The argument _against_ is ‘performance’ and ‘code duplication’. Only the latter is understood as a benefit, while the former (performance) is a complete unknown vague promisey thing which nobody’s been able to put numbers around, and given our scale, isn’t even necessary yet. | 15:30 |
| krotscheck | Throwing away referential integrity in favor of something whose benefits are poorly explored because of optimizations we don’t yet need feels premature to me. | 15:30 |
| *** alexpilotti has quit IRC | 15:30 | |
| krotscheck | If foreign keys become a performance constraint, we can revisit and explore this. Until then I propose that we stick with FK’s. | 15:30 |
| krotscheck | Basically: I think referential integrity is a better benefit than code duplication, because we really should be testing the latter. | 15:31 |
| jeblair | krotscheck: i feel you may have misapprehended my arguments for dropping FK support | 15:31 |
| krotscheck | jeblair: Oh? | 15:31 |
| *** alexpilotti has joined #openstack-meeting-3 | 15:32 | |
| jeblair | krotscheck: i'm primarily interested in dropping it because of the complications introduced by defining the same relationships in multiple places | 15:33 |
| jeblair | the multiple places being both the orm and the database | 15:33 |
| jeblair | that is error prone and one can end up with problems resulting from mismatches there, as we've already seen | 15:34 |
| krotscheck | jeblair: The only place where I’ve seen that become an issue is in cross-database situations, are there others? | 15:34 |
| krotscheck | My hypothesis is that now that we’re on mysql only, most of those issues won’t crop up anymore. | 15:34 |
| NikitaKonovalov | btw, will it be valid if we set up constraints in migrations, but do not tell sqlalchemy anything? | 15:35 |
| jeblair | krotscheck: i'm pretty sure it's come up in earlier problems with storyboard's migrations; also, i believe the current unit tests have FK errors | 15:35 |
| jeblair | NikitaKonovalov: i think that's backwards -- sqlalchemy needs to know the constraints, the database does not | 15:35 |
| jeblair | it's redundant to have two different systems checking those constraints | 15:35 |
| mordred | NikitaKonovalov: I want to do the opposite | 15:35 |
| mordred | yeah - what NikitaKonovalov said | 15:35 |
| krotscheck | jeblair: It sounds like we can test for the kinds of errors you’re concerned about, is that correct? | 15:35 |
| mordred | the important part is the the orm layer know about them | 15:36 |
| mordred | that' VERY important | 15:36 |
| *** wchrisj has joined #openstack-meeting-3 | 15:36 | |
| krotscheck | Does SQLAlchemy keep an in-memory running cache of queried records, or does it handle things on a per-request basis? | 15:36 |
| NikitaKonovalov | krotscheck: it handles sessions | 15:37 |
| jeblair | krotscheck: during a session, records are cached; in our case a session is probably a single http request | 15:37 |
| * mordred has to drop off | 15:38 | |
| krotscheck | Got it. I get that the ORM needs to know about relationships to simplify reading records and related records. The DB-side FK constraint to me is most useful when _deleting_ records. | 15:38 |
| jeblair | krotscheck: the orm is responsible for that too | 15:39 |
| ttx | don't FKs make migrations slightly more complex/costly, which increase the downtime windows ? | 15:39 |
| krotscheck | ttx: Again, i think it’s testable. | 15:39 |
| ttx | I think the only valid argument FOR FKs is that the data will outlive the app. Which frankly, I doubt. | 15:40 |
| krotscheck | Ok, any more arguments for/against? I’d like to move to vote. | 15:40 |
| ttx | I've seen data migrated away from systems well before said systems are replaced by some other on top of same db | 15:40 |
| ttx | i.e. when someone replaces your system, it migrates data to new db. It doesn't rebuild on top of same db | 15:41 |
| krotscheck | #startvote Should we remove Foreign Keys and keep all relationship defenitions in the ORM? Yes, No | 15:41 |
| openstack | Begin voting on: Should we remove Foreign Keys and keep all relationship defenitions in the ORM? Valid vote options are Yes, No. | 15:41 |
| openstack | Vote using '#vote OPTION'. Only your last vote counts. | 15:41 |
| jeblair | #vote Yes | 15:41 |
| krotscheck | #vote No | 15:41 |
| ttx | to be fair, the main advocate for FKs is not present | 15:41 |
| krotscheck | I think we can assume he’s voting no. | 15:41 |
| ttx | #vote Yes | 15:41 |
| krotscheck | So we can adjust the vote. | 15:41 |
| NikitaKonovalov | we need a 'don't know' option | 15:42 |
| ttx | krotscheck: that's fair | 15:42 |
| *** alexpilotti has quit IRC | 15:42 | |
| ttx | and that mordred votes Yes, I guess | 15:42 |
| ruhe | i abstain | 15:42 |
| krotscheck | mordred: ^^ vote | 15:42 |
| jeblair | krotscheck: mordred said he had to leave | 15:42 |
| krotscheck | kk | 15:42 |
| ttx | yes he dropped off | 15:42 |
| krotscheck | #endvote | 15:42 |
| openstack | Voted on "Should we remove Foreign Keys and keep all relationship defenitions in the ORM?" Results are | 15:42 |
| openstack | Yes (2): ttx, jeblair | 15:42 |
| openstack | No (1): krotscheck | 15:42 |
| *** alexpilotti has joined #openstack-meeting-3 | 15:43 | |
| krotscheck | Ok, making the assumption that mordred is voting yes, and cody-somerville is voting no, that leaves it with “ORM keys” as the winner | 15:43 |
| krotscheck | Any disagreements/ | 15:43 |
| *** alexpilotti has quit IRC | 15:43 | |
| krotscheck | ? | 15:43 |
| krotscheck | kk | 15:43 |
| krotscheck | #topic Soft Delete | 15:43 |
| *** openstack changes topic to "Soft Delete (Meeting topic: storyboard)" | 15:43 | |
| ttx | krotscheck: I suspect the discussion will be reborn in the review, but at least that's a decision | 15:43 |
| krotscheck | Indeed | 15:43 |
| ttx | someone has to care enough to remove them | 15:43 |
| jeblair | yeah, i think seeing some of this in practice will help | 15:43 |
| krotscheck | The arguments for keeping it are all about data retention for reporting, while the arguments against are performance based. | 15:43 |
| krotscheck | jeblair: I agree | 15:44 |
| krotscheck | Sorry, soft delete | 15:44 |
| krotscheck | Since we don’t know whether we need the performance boost, and the argument for keeping it _requires_ data history, I suggest that we don’t pull the rug out from underneath the opposing argument. | 15:44 |
| NikitaKonovalov | I'd suggest we split objects to soft-deletable(stories, comments, ...) and tokens | 15:44 |
| krotscheck | NikitaKonovalov: Yes, you’re correct. | 15:44 |
| NikitaKonovalov | things like tokens will populate the base pretty quickly, so let's remove them for real | 15:45 |
| krotscheck | Security bits are definitely things we want to make dissappear when no longer used. | 15:45 |
| ttx | could you elaborate on "data retention for reporting" ? | 15:45 |
| *** alexpilotti has joined #openstack-meeting-3 | 15:45 | |
| jeblair | krotscheck: i think this is going to be moderately hard to change later; i'm not normally in favor of premature optimization, but i don't think this is premature | 15:45 |
| jeblair | to be clear, i am opposed to soft-delete for most things (especially comments, tasks, etc) | 15:46 |
| krotscheck | ttx: Number of stories closed/deleted over X time. | 15:46 |
| jeblair | krotscheck: closed != deleted | 15:46 |
| krotscheck | jeblair: To be clear, I’m opposed to delete in most things :) | 15:46 |
| krotscheck | (soft or no) | 15:46 |
| ttx | I don't think we should be able to delete stories | 15:46 |
| jeblair | ttx: i think i am in agreement | 15:46 |
| ttx | except in very very corner case | 15:46 |
| ttx | we shoudln't be able to delete comments either | 15:47 |
| jeblair | ttx: we may need a superuser level exception for abuse/dmca, etc | 15:47 |
| ttx | (as in "the general public") | 15:47 |
| ttx | jeblair: right | 15:47 |
| ttx | that's the very corner case | 15:47 |
| ttx | basically the only thing i would be able to softdelete would be projects | 15:47 |
| ttx | tasks ? just recreate them | 15:47 |
| krotscheck | jeblair: Can you go into more details on how removing soft-delete in the future would be a problem? | 15:47 |
| ttx | comments ? just don't allow deletion | 15:48 |
| jeblair | ttx: i can probably get behind not being able to delete comments (again, except for superuser) | 15:48 |
| ttx | stories is a bit in -between, i would let stories with no tasks fade from view | 15:48 |
| fungi | even for admin extroadinary situations, delete is probably actually "hide" | 15:49 |
| ttx | fungi: that's soft-delete | 15:49 |
| krotscheck | We’ve got 10 minutes and a lot more to go through, does anyone object to going to a vote given the several weeks of discussion we’ve had on this? | 15:49 |
| krotscheck | #startvote Should we support soft-delete? Yes, No, Case-by-case | 15:50 |
| openstack | Begin voting on: Should we support soft-delete? Valid vote options are Yes, No, Case-by-case. | 15:50 |
| openstack | Vote using '#vote OPTION'. Only your last vote counts. | 15:50 |
| jeblair | in short, i think we should avoid soft-delete because there are only a few things we actually _want_ users to be able to delete, and they are not worth keeping around in the db | 15:50 |
| ttx | I think there are plenty of things we shouldn't be able to delete, and plenty of things where deletion should be final. Not so sure there is a large need/space for soft-deleted stuff | 15:50 |
| krotscheck | Hrm. | 15:51 |
| krotscheck | Ok, so feels to me like voting doesn’t give us a decent enough choice | 15:51 |
| krotscheck | #endvote | 15:51 |
| openstack | Voted on "Should we support soft-delete?" Results are | 15:51 |
| jeblair | krotscheck: i'm not sure about those options -- i basically feel it should be case-by-case, but we should lean towards not using it. | 15:51 |
| ttx | could we have one example of stuff you would like to be able to soft-delete ? | 15:51 |
| krotscheck | ttx: I could probably come up with use cases for all records. Users, for instance. | 15:52 |
| ttx | we should have 3 buckets (non-deleteable, hard-delete, soft-delete) and put various objects into them | 15:52 |
| krotscheck | Though in practice users are active/inactive | 15:52 |
| ttx | if a bucket is near empty it might make sense to stop supporting that case | 15:52 |
| krotscheck | Alright, let’s try a quick straw poll on each current record type. | 15:52 |
| jeblair | krotscheck: agreed, i don't think we'd want to delete users, just make them unable to log in | 15:52 |
| krotscheck | Users: Soft delete or hard? | 15:52 |
| krotscheck | Wait | 15:52 |
| jeblair | krotscheck: users -> no delete | 15:52 |
| krotscheck | Users: soft delete, hard delete, or other state ( banned/blocked/active) | 15:53 |
| krotscheck | I’m for ‘other state' | 15:53 |
| ttx | 'other state' | 15:53 |
| jeblair | krotscheck: users -> other state | 15:53 |
| krotscheck | Projects? | 15:53 |
| jeblair | i'm having trouble with this one | 15:53 |
| ttx | I think that would be other state too | 15:53 |
| krotscheck | (This one I’m worried about because of cascading references. | 15:53 |
| ttx | a project existed at some point and got shelved | 15:53 |
| krotscheck | (What if we have 10000 tasks assigned to a project?) | 15:54 |
| ttx | we need to keep cascading refs | 15:54 |
| ttx | so I wouldn't delete it | 15:54 |
| ttx | I would mark it obsolete or something | 15:54 |
| krotscheck | Feels like ‘other state' | 15:54 |
| NikitaKonovalov | projects -> no delete from me | 15:54 |
| ttx | yeah | 15:54 |
| *** eghobo has joined #openstack-meeting-3 | 15:54 | |
| jeblair | so the difference between soft delete and other state here... | 15:54 |
| jeblair | is whether random users would still be able to access it? | 15:54 |
| krotscheck | Is that the other state actually has a specified UI purpose, and makes a record discoverable, rather than creating a zombie in the database. | 15:54 |
| jeblair | soft delete == only admin can recover it, other state == maybe users can find it if they look hard? | 15:54 |
| ttx | jeblair: imho it's different because it's still accessible by users | 15:55 |
| ttx | right, if thye look hard enough. | 15:55 |
| krotscheck | jeblair: Right - A deprecated project is still available and accessible. | 15:55 |
| krotscheck | Though perhaps a banned user...? | 15:55 |
| jeblair | okay, then i think our use cases would tend toward 'other state' for projects | 15:55 |
| krotscheck | I don’t think we want to get into the legal quandary of publicly shaming someone | 15:55 |
| ttx | krotscheck: 'other state' is like a specific soft-delete | 15:55 |
| krotscheck | Righto | 15:55 |
| krotscheck | Tasks? | 15:55 |
| ttx | (a column in the db) | 15:56 |
| jeblair | tasks -> hard delete | 15:56 |
| krotscheck | I saw yw just delete them. | 15:56 |
| ttx | tasks: hard delete | 15:56 |
| krotscheck | Ok. Stories? | 15:56 |
| NikitaKonovalov | hard delete for tasks | 15:56 |
| krotscheck | (Stories without tasks? | 15:56 |
| ttx | Stories is a bit harder. I would keep them around as empty or completed | 15:56 |
| ttx | don't let end users delete them | 15:56 |
| jeblair | stories -> no delete (admin can hard delete) | 15:56 |
| ttx | same for comments | 15:56 |
| krotscheck | I hear an awful lot of consensus here. | 15:57 |
| ttx | fwiw in LP you can't delete a bug | 15:57 |
| NikitaKonovalov | ttx: that brings us to the field of "who can do what" | 15:57 |
| jeblair | comments -> no delete (admin can hard delete) | 15:57 |
| ttx | NikitaKonovalov: we should never delete a story | 15:57 |
| ttx | NikitaKonovalov: but there will be corner cases. Like DMCA notices | 15:57 |
| ttx | asking you to take down something | 15:57 |
| krotscheck | Ok, so we’re out of time. | 15:57 |
| krotscheck | I’m sorry that we didn’t get to ttx’ agenda items, we’ll move those to the top for next week | 15:58 |
| ttx | krotscheck: in summary I think we don't need universal soft-delete | 15:58 |
| krotscheck | #topic Open Discussion and Summary | 15:58 |
| *** openstack changes topic to "Open Discussion and Summary (Meeting topic: storyboard)" | 15:58 | |
| ttx | krotscheck: we need specific state columns for users | 15:58 |
| ttx | a,d projects | 15:58 |
| krotscheck | Alright, so current actions are: ttx to get a story in about getting our migrations cleaned up for MySQL, and probably another one to fix our documentation. | 15:58 |
| ttx | and* | 15:58 |
| krotscheck | krotscheck will grab clarkb and mordred to talk about search options | 15:58 |
| jeblair | #link https://storyboard.openstack.org/#!/story/60 | 15:58 |
| krotscheck | We’re getting rid of soft delete in favor of actual use states for each records. | 15:58 |
| krotscheck | Tasks are hard delete, stories are not (though stories without tasks shouldn’t be surfaced, etc) | 15:58 |
| jeblair | submitted story about changing task labels ^ | 15:58 |
| krotscheck | Projects are other state, users are other state. | 15:58 |
| ttx | #action ttx to create a story about getting our migrations cleaned up for MySQL | 15:59 |
| krotscheck | Ah, thanks for reminding me jeblair | 15:59 |
| krotscheck | jeblair: I’ll put that first on my list | 15:59 |
| krotscheck | ANything else I forgot? | 15:59 |
| krotscheck | #endmeeting storyboard | 15:59 |
| *** openstack changes topic to "OpenStack Meetings || https://wiki.openstack.org/wiki/Meetings" | 15:59 | |
| ttx | krotscheck: MVP 1.01 items sound like what's blocking me from using sb efficiently to track Sb tasks | 15:59 |
| openstack | Meeting ended Mon Apr 7 15:59:51 2014 UTC. Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4) | 15:59 |
| openstack | Minutes: http://eavesdrop.openstack.org/meetings/storyboard/2014/storyboard.2014-04-07-15.02.html | 15:59 |
| openstack | Minutes (text): http://eavesdrop.openstack.org/meetings/storyboard/2014/storyboard.2014-04-07-15.02.txt | 15:59 |
| openstack | Log: http://eavesdrop.openstack.org/meetings/storyboard/2014/storyboard.2014-04-07-15.02.log.html | 15:59 |
| krotscheck | ttx: Yeah, I know. | 16:00 |
| ttx | krotscheck: if you empty your TODO bucket, feel free to pick stuff in that list :) | 16:00 |
| *** xazel is now known as enykeev | 16:00 | |
| krotscheck | ttx: Oh beleive me, I will. That entire list are pain points for me as well. | 16:00 |
| ttx | (if your TODO bucket looks like mine those days, that should be never) | 16:00 |
| *** banix has quit IRC | 16:00 | |
| krotscheck | ttx: Storyboard is my todo bucket | 16:00 |
| krotscheck | :) | 16:01 |
| *** jcoufal has quit IRC | 16:07 | |
| *** saju_m has joined #openstack-meeting-3 | 16:12 | |
| *** jpomero has joined #openstack-meeting-3 | 16:27 | |
| *** zigo has joined #openstack-meeting-3 | 16:28 | |
| *** zigo has quit IRC | 16:33 | |
| *** markmcclain has joined #openstack-meeting-3 | 16:33 | |
| *** zigo has joined #openstack-meeting-3 | 16:34 | |
| *** saju_m has quit IRC | 16:35 | |
| *** devlaps has joined #openstack-meeting-3 | 16:37 | |
| *** zigo has quit IRC | 16:41 | |
| *** MaxV has quit IRC | 16:45 | |
| *** zigo has joined #openstack-meeting-3 | 16:46 | |
| *** SumitNaiksatam has quit IRC | 16:55 | |
| *** markmcclain has quit IRC | 16:59 | |
| *** markmcclain has joined #openstack-meeting-3 | 17:00 | |
| *** markmcclain has quit IRC | 17:00 | |
| *** SumitNaiksatam has joined #openstack-meeting-3 | 17:08 | |
| *** MaxV has joined #openstack-meeting-3 | 17:24 | |
| *** safchain has quit IRC | 17:27 | |
| *** annegentle_ has joined #openstack-meeting-3 | 17:57 | |
| *** Sukhdev has joined #openstack-meeting-3 | 18:00 | |
| *** lpetrut has quit IRC | 18:06 | |
| *** overlayer has quit IRC | 18:09 | |
| *** mwagner_lap has quit IRC | 18:10 | |
| *** glenc_ is now known as glenc | 18:20 | |
| *** ttrifonov is now known as ttrifonov_zZzz | 18:23 | |
| *** lpetrut has joined #openstack-meeting-3 | 18:31 | |
| *** markmcclain has joined #openstack-meeting-3 | 18:39 | |
| *** saju_m has joined #openstack-meeting-3 | 18:51 | |
| *** mwagner_lap has joined #openstack-meeting-3 | 19:00 | |
| *** jnoller has joined #openstack-meeting-3 | 19:05 | |
| *** jnoller has joined #openstack-meeting-3 | 19:06 | |
| *** jnoller has joined #openstack-meeting-3 | 19:08 | |
| *** mrunge has quit IRC | 19:08 | |
| *** eguz has joined #openstack-meeting-3 | 19:09 | |
| *** eghobo has quit IRC | 19:12 | |
| *** eghobo has joined #openstack-meeting-3 | 19:13 | |
| *** eguz has quit IRC | 19:15 | |
| *** jnoller has left #openstack-meeting-3 | 19:18 | |
| *** markmcclain has quit IRC | 19:26 | |
| *** banix has joined #openstack-meeting-3 | 19:39 | |
| *** tedchang has joined #openstack-meeting-3 | 19:57 | |
| *** SumitNaiksatam has quit IRC | 19:59 | |
| *** Sukhdev has quit IRC | 20:00 | |
| *** tedchang has quit IRC | 20:06 | |
| *** russellb_ has joined #openstack-meeting-3 | 20:09 | |
| *** boris-42 has quit IRC | 20:10 | |
| *** russellb has quit IRC | 20:10 | |
| *** haleyb has quit IRC | 20:10 | |
| *** edhall has quit IRC | 20:10 | |
| *** russellb_ is now known as russellb | 20:10 | |
| *** SumitNaiksatam has joined #openstack-meeting-3 | 20:12 | |
| *** SumitNaiksatam has quit IRC | 20:13 | |
| *** SumitNaiksatam has joined #openstack-meeting-3 | 20:13 | |
| *** haleyb has joined #openstack-meeting-3 | 20:17 | |
| *** edhall has joined #openstack-meeting-3 | 20:17 | |
| *** markmcclain has joined #openstack-meeting-3 | 20:18 | |
| *** sarob has joined #openstack-meeting-3 | 20:23 | |
| *** boris-42 has joined #openstack-meeting-3 | 20:28 | |
| *** markmcclain has quit IRC | 20:32 | |
| *** markmcclain has joined #openstack-meeting-3 | 20:32 | |
| *** rand738 has quit IRC | 20:35 | |
| *** rand738 has joined #openstack-meeting-3 | 20:36 | |
| *** devlaps has left #openstack-meeting-3 | 20:41 | |
| *** saju_m has quit IRC | 20:41 | |
| *** rand738 has quit IRC | 20:42 | |
| *** rand738 has joined #openstack-meeting-3 | 20:44 | |
| *** amotoki has joined #openstack-meeting-3 | 20:57 | |
| *** Sukhdev has joined #openstack-meeting-3 | 20:59 | |
| *** lpetrut has quit IRC | 21:01 | |
| *** lblanchard has quit IRC | 21:06 | |
| *** peristeri has quit IRC | 21:12 | |
| *** jcoufal has joined #openstack-meeting-3 | 21:17 | |
| *** mfer has quit IRC | 21:20 | |
| *** MaxV has quit IRC | 21:22 | |
| *** markmcclain has quit IRC | 22:02 | |
| *** lpetrut has joined #openstack-meeting-3 | 22:05 | |
| *** lenrow has joined #openstack-meeting-3 | 22:05 | |
| *** markmcclain has joined #openstack-meeting-3 | 22:06 | |
| *** lpetrut has quit IRC | 22:16 | |
| *** MaxV has joined #openstack-meeting-3 | 22:18 | |
| *** banix has quit IRC | 22:33 | |
| *** amotoki has quit IRC | 22:41 | |
| *** alexpilotti has quit IRC | 22:45 | |
| *** Sukhdev has quit IRC | 22:59 | |
| *** eguz has joined #openstack-meeting-3 | 23:03 | |
| *** eghobo has quit IRC | 23:08 | |
| *** Sukhdev has joined #openstack-meeting-3 | 23:13 | |
| *** david-lyle has quit IRC | 23:20 | |
| *** jcoufal has quit IRC | 23:22 | |
| *** yamahata has quit IRC | 23:24 | |
| *** markmcclain has quit IRC | 23:35 | |
| *** markmcclain has joined #openstack-meeting-3 | 23:35 | |
| *** markmcclain has quit IRC | 23:52 | |
| *** alexpilotti has joined #openstack-meeting-3 | 23:53 | |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!