16:05:45 #startmeeting storyboard 16:05:45 Meeting started Thu Mar 13 16:05:45 2014 UTC and is due to finish in 60 minutes. The chair is krotscheck. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:05:46 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:05:48 The meeting name has been set to 'storyboard' 16:06:02 #topic mvp status 16:06:32 Ok, so storyboard is up, all the projects have been loaded, and I think the only piece left is the patch Nikita put in to hide th enew project button 16:06:55 I have created a change for that 16:07:07 NikitaKonovalov: I did see that! 16:07:25 NikitaKonovalov: I'll land that shortly. 16:07:29 So that wraps it for the MVP. 16:07:40 Now, the downside is thta.... well, the UI is already starting to fall down. 16:07:50 And further development is still walking across an SQLite minefield. 16:07:53 So let's talk about that 16:08:09 #topic SQLite and Migrations 16:08:34 ruhe: Do you want the floor on this? It feels like you've done more investigation on what the tradeoffs are to getting rid of SQLite. 16:08:44 krotscheck: sure 16:09:05 1. there is a clear problem with a combination of Alembic and SQLite 16:09:10 and we need to get rid of it 16:09:42 2. We already test our migrations against MySQL and Postgres. and we should continue doing that 16:10:17 so there are two options to fix problem #1 16:10:39 a. Populate DB for unit tests from SQLAlchemy metadata 16:11:09 and add a tests which will compare schema populate from metadata and schema populate from migrations 16:11:25 b. Completely ditch SQLite and run UT on MySQL and Postgres 16:11:57 option #b has a potential issue - we will need to generate databases with random name to allow parallel testr runs 16:12:07 testr is threaded? 16:12:11 Hrm. 16:12:16 yes 16:12:22 Righto- that presents a problem. 16:12:49 Ceilometer folks have been working on the same problem for a long time and it isn't still resolved 16:13:05 The metadata approach: basically what we're doing there is have alembic construct the database state in memory before committing it, yes? 16:13:27 Does that discard insert / update statements in the migration? 16:13:32 krotscheck: actaully not. database schema will be generated directly from SQLA models 16:13:41 Oh, hrm. 16:13:48 Ok, so a completely empty database. 16:14:00 I'm not adverse to that at all. 16:14:12 Do yo usee any potential gotcha's? 16:15:01 the main issue we might hit - is our models will get out of sync with migration scripts. but there is a patch to oslo, which adds needed tests 16:15:30 That patch compares the SQLA metadata to the database schema? 16:16:00 it compares schemes produces from migrations and from metadata 16:16:07 * produced 16:16:46 Ok, so I like that approach. NikitaKonovalov, any ojections? 16:17:48 How about you, ruhe, any preference for approach? 16:18:15 i'd like to take a stab at this at the weekend 16:18:31 ruhe: Congratulations, you volunteered :) 16:18:41 #action ruhe Make our SQLite problems go away 16:18:41 krotscheck: thank you very much :) 16:18:57 #topic Hiring! 16:19:14 no objections from my side 16:19:18 So we've got two candidates in the interview cycle right now. 16:19:24 (please don't name names) 16:19:58 These are currently being backed by HP, and we're progressing steadily. 16:20:27 me and SergeyLukjanov are going to speak with one of them tomorrow 16:20:36 Oh, good :) 16:20:52 candidate #2 asked to postpone to next week. i'm ok with that 16:20:57 To set expectations though, once we choose someone (or both), there is at least a 2 week wait window while HP does background checks and so forth. 16:21:23 So new JS talent is at least 3 weeks out, plus onboarding, plus getting familiar with the code. 16:21:38 ruhe: Ditto here, he's working on a code sample fo rme. 16:21:43 krotscheck: your JS talent is enough ;) 16:21:50 :-P 16:21:56 ruhe: Yeah, but my bandwidth isn't. 16:22:14 Ok, next topic 16:22:19 #topic Auth and Permissions 16:22:50 * krotscheck is trying to find the etherpad... 16:23:04 https://etherpad.openstack.org/p/StoryboardPerms 16:23:43 I really don't know if that's a good approach to what ttx is asking for, but it's a first step. 16:24:50 I feel that we're very rapidly going to get into a situation where people are going to ask: How can a TC do things that a regular contributor can't? 16:25:31 So if y'all could go, look at that, and argue about it with me, that would be great. 16:25:31 We might have a table with actor in rows and action in columns and +/- on the crosses 16:25:49 that will show who can do what more clearly 16:26:48 NikitaKonovalov: I'm having trouble visualizing that - maybe start annotating the etherpad with sql table schema? 16:27:10 My main concern with Auth and perms is that it tends to add a lot of SQL queries to each request. 16:27:30 And that can have a significant performance impact, especially if we trust an ORM to manage our queries for us. 16:27:34 agree that may become a problem 16:27:47 (case and point, I'd be leery about trying this in hibernate) 16:28:16 And yet, it's going to be tricky because perms/auth/roles/whatever may be different for every single resource. 16:28:27 I'll look through keystone to see how they handle roles 16:28:33 NikitaKonovalov: Thanks. 16:28:52 but I'm pretty show they hammer the database 16:29:09 #action NikitaKonovalov Do more research on good auth/perm approaches 16:29:53 NikitaKonovalov: I wonder if we can get any performance improvements by offloading things into stored procedures. At least then we take the SQL interpretation load down and lower the number of requests. 16:30:11 That's probably a mordred question. ^^ 16:30:34 Anyway, this is an ongoing discussion, so let's move it to the main channel once the meeting is done. 16:30:39 maybe a token expiration can be done with that 16:30:43 #topic Feature requests 16:30:59 Have y'all started using storyboard? Anything that REALLY needs to be added? 16:31:25 Paging is what I want the most right now - that project list is ridiculous. 16:31:55 i'd like all the garbage stories/tasks/projects to be removed 16:32:06 he are not setting fields like author or a creator_id 16:32:20 though we have all required information about hte user 16:33:11 NikitaKonovalov: I agree. Given that we already have the user id hook, why not just add that on the POST request? 16:33:49 ruhe: Deleting stories is already enabled. I've cleaned out all the projects. 16:34:04 ruhe: Tasks works on the API side, I just don't have a UI button for it yet (I think) 16:34:11 krotscheck: that should be pretty easy to do 16:34:12 that's great 16:34:38 ruhe: I recommend you go in and clean up before we lock down permissions :) 16:35:07 i like to clean up 16:35:44 we have already locked project management to superusers 16:36:08 and AFAIK the script for loading them from config is not running yet 16:36:24 NikitaKonovalov: Ah, good point. 16:36:33 so noone should be able to touch projects :) 16:36:44 Since we don't have superusers :)| 16:36:49 ...wait a sec. 16:36:51 .... ;) 16:36:59 We can't admin our own system. Hi-Larious 16:38:07 Ok, so it feels like we've got three big real features for the near future. Paging (krotscheck), task cleanup (everyone), and adding author and/or creator_id to tasks (Nikita) 16:38:38 I hope that in the future non-storyboard contributors will use this time to yell at us about what they do don't like :) 16:38:39 and update puppet scripts to load superusers 16:38:48 NikitaKonovalov: Right! I'll make mordred do that. 16:39:00 Though I think he's going to be out on vacation next week 16:39:15 I can try to do that also 16:39:33 Basically it works the same way as loading projects 16:40:31 Alright. 16:40:46 I'm trying to file this as a story, and the projects dropdown is too long to be useful. 16:41:16 #topic Open Discussion 16:41:19 Anything? 16:42:25 krotscheck: may i't better to replace a dropdown with simple input with autocompletion? 16:42:32 NikitaKonovalov, we think alike 16:43:49 Allright, i think we're done 16:43:51 #endmeeting