*** 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!