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