16:04:26 <gothicmindfood> #startmeeting storyboard
16:04:27 <openstack> Meeting started Thu Feb  6 16:04:26 2014 UTC and is due to finish in 60 minutes.  The chair is gothicmindfood. Information about MeetBot at http://wiki.debian.org/MeetBot.
16:04:28 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
16:04:30 <openstack> The meeting name has been set to 'storyboard'
16:04:48 <gothicmindfood> yay! I can do meetingbot commands.
16:05:11 <gothicmindfood> #topic Current State of MVP
16:05:25 <gothicmindfood> krotscheck: your floor
16:05:26 <krotscheck> ALrightey
16:05:49 <krotscheck> So to I finished the first run of the UI on monday, and that's working in a no-backend state.
16:05:55 <krotscheck> Yesterday I got it wired up to the API.
16:06:18 <krotscheck> Both of those WIP MVP commits work together, except both buidls are currently failing.
16:06:48 <krotscheck> The Webclient is failing because... I don't know, apparently the database credentials stopped working on the integration tests?
16:07:39 <krotscheck> The API changes are failing because I hacked that shit together as quickly as possible and it's code that should be thrown out and burned in effigy.
16:08:32 <gothicmindfood> does anyone want to volunteer to burn krotscheck 's API code and replace it with something else?
16:08:35 <NikitaKonovalov> I'll have a look at your change
16:08:51 <krotscheck> Other than that, there is no auth layer, but the UI and the API can now create projects, stories, adn tasks.
16:09:07 <NikitaKonovalov> Auth contorller is in progress
16:09:14 <krotscheck> Nice!
16:09:21 <gothicmindfood> yay!
16:09:27 <SergeyLukjanov> awesome ;)
16:09:28 <NikitaKonovalov> I'm just trying to launch in the most simple config with in-mem sotrage
16:09:44 <SergeyLukjanov> NikitaKonovalov, I think it'll be enough for MVP0
16:09:51 <NikitaKonovalov> it should be
16:10:05 <SergeyLukjanov> the diff is that non in-memory storage will just not logout all users after restart
16:10:08 <krotscheck> ALso, the tasks API doesn't actually seem to save titles.
16:10:16 <krotscheck> And the data model doesn't have a description either.
16:10:58 <NikitaKonovalov> the migration with an additional field should cure the problem
16:11:38 <krotscheck> In case anyone is curious, the non-api client is here: http://docs-draft.openstack.org/97/70897/1/check/gate-storyboard-webclient-js-unittests/32bcc1d/dist/#!/
16:11:46 * krotscheck cedes the floor to NikitaKonovalov
16:12:48 <NikitaKonovalov> hmm, the link above is a blank page for me
16:12:53 * gothicmindfood loves the non-api client and thinks it's nice looking
16:13:08 <gothicmindfood> it's not blank for me.
16:13:24 <krotscheck> NikitaKonovalov: Ehh? Whaa? anything interesting showing up in the console?
16:13:40 <NikitaKonovalov> now it's ok
16:14:03 <NikitaKonovalov> there was a tim-out, but 10 page refreshes and it's working
16:14:27 <gothicmindfood> NikitaKonovalov: anything you want to cover re: auth or the api?
16:15:12 <NikitaKonovalov> Everything is clear for me right now
16:15:35 <NikitaKonovalov> so implementation should not take very long
16:16:10 <gothicmindfood> NikitaKonovalov and SergeyLukjanov - also, did you guys see the auth specs krotscheck and I wrote out at http://etherpad.openstack.org/p/StoryboardAuth ?
16:16:48 <SergeyLukjanov> gothicmindfood, not yes
16:16:55 <SergeyLukjanov> gothicmindfood, not yet*
16:17:04 <SergeyLukjanov> gothicmindfood, I'll take a look on it tomorrow
16:17:46 <gothicmindfood> Ok - not a problem. Feel free to get in there and edit it, too, SergeyLukjanov - we just wanted to do a krotscheck brain dump before he went to Thailand and abandoned us all :)
16:18:54 <krotscheck> I'm not abandoning you!
16:19:07 * gothicmindfood kids krotscheck
16:19:19 <gothicmindfood> ok
16:19:20 <jeblair> ol
16:19:33 <gothicmindfood> do we have anything else we need to cover re: current state of MVP?
16:19:41 <gothicmindfood> jeblair: hi!
16:19:51 <jeblair> sorry i'm late, anything i can help out with?
16:19:54 <SergeyLukjanov> jeblair, o/
16:20:30 <ilyashakhat> da5xTYr
16:20:51 * jeblair reviews auth stories
16:21:19 <NikitaKonovalov> I've started a few patches to introduce some functional tests
16:21:31 <ilyashakhat> oops :) my test env pwd
16:21:50 <jeblair> krotscheck: can you link to the review for the change that's failing database tests?
16:22:07 <SergeyLukjanov> ilyashakhat, just c-p your private key here ;)
16:22:16 <NikitaKonovalov> the were stuck with a virtualenv release or smt. like that
16:22:20 <ilyashakhat> no way!
16:22:44 <krotscheck> jeblair: http://logs.openstack.org/97/70897/2/check/gate-storyboard-webclient-js-unittests/7e35c1d/console.html
16:23:17 <krotscheck> https://review.openstack.org/#/c/70897/
16:23:17 <NikitaKonovalov> ruhe now tries to make them work with new depencies' versions
16:23:37 <jeblair> krotscheck: we changed some slave configuration recently.  i don't know if that's the cause but i'll look into it
16:24:05 <krotscheck> jeblair: That would make sense.
16:24:43 <jeblair> krotscheck: when are you back from vacation?
16:25:05 <gothicmindfood> #action jeblair to look into db test failure
16:25:34 * gothicmindfood fails at meeting commands apparently
16:26:00 <jeblair> gothicmindfood: i believe that was correct
16:26:10 <krotscheck> jeblair, The 24th
16:26:11 <gothicmindfood> jeblair: oh yay. I thought it'd echo back to us all.
16:26:12 * ttx joins late
16:26:28 <jeblair> gothicmindfood: link and action are quiet
16:26:32 * krotscheck will have reception, but no laptop.
16:26:32 * ttx reads backlog
16:26:40 <jeblair> #link http://logs.openstack.org/97/70897/2/check/gate-storyboard-webclient-js-unittests/7e35c1d/console.html
16:26:41 <gothicmindfood> ttx: hi there!
16:26:43 <jeblair> #link https://review.openstack.org/#/c/70897/
16:27:17 <gothicmindfood> Any other comments on MVP current state before we go to open discussion?
16:28:36 <gothicmindfood> oooh, also...  #link https://etherpad.openstack.org/p/StoryboardAuth
16:28:44 <jeblair> #link https://etherpad.openstack.org/p/StoryboardAuth
16:28:59 <gothicmindfood> jeblair: you owe me a coke.
16:29:19 <krotscheck> Oh, one.
16:29:30 <jeblair> (commands have to start lines, and i have a crate of mexi-cokes here; one has your name on it)
16:29:59 <krotscheck> I threw some post-MVP api design thougths here: https://etherpad.openstack.org/p/StoryboardAPIPaging
16:31:02 <gothicmindfood> #link https://etherpad.openstack.org/p/StoryboardAPIPaging
16:31:24 <ttx> krotscheck: would be good to look at how other openstack project do pagination / limit / offset querying
16:31:40 <ttx> unless your preference for option 2 is string
16:31:43 <ttx> or strong
16:32:56 <NikitaKonovalov> whatever we choose, pecan will handle both, but headers look better to me
16:33:14 <gothicmindfood> ttx: any particular projects that might stand out over others as being better at the pagination thing?
16:33:35 <gothicmindfood> (in case of a lack of standards)
16:33:40 <SergeyLukjanov> I'm agreed with headers, it'll not clutter up API body
16:33:40 <krotscheck> ttx: Yeah, I took a look at what Ironic was doing. There's some philosophically strong adherence to REST semantics there that I feel is overly pedantic, but they just return a plain array
16:33:46 <ttx> gothicmindfood: I wouldn't dare saying one is better
16:33:55 <gothicmindfood> ttx: smart man. :)
16:34:01 <ttx> but I remember a lot of endless discussions about it in Glance
16:34:01 <NikitaKonovalov> and aifik, horizon does pagination via setting some kind of a separator id
16:34:19 <krotscheck> #link http://git.openstack.org/cgit/openstack/ironic/tree/ironic/api/controllers/v1/node.py#n480
16:34:22 <NikitaKonovalov> and the maximum page size is kept in some settings field
16:34:27 <krotscheck> For example, they use "marker" instead of "offset"
16:34:48 <krotscheck> Feels like "what everyone else is doing" doesn't agree with each other
16:35:06 <jeblair> krotscheck: i've seen that with a few api servers, it may be the most common method with openstack
16:35:12 <jeblair> (the 'marker' idea)
16:37:05 <krotscheck> jeblair: Yeah, naming is just semantics. I find it more interesting that there doesn't seem to be a way for the API  to respond with "oh by the way I have this much"
16:37:57 <david-lyle> Horizon uses marker because that's what the underlying APIs support
16:38:24 <david-lyle> it provides that most limited form of pagination imaginable
16:38:32 <david-lyle> if you own the API aim higher
16:40:53 <gothicmindfood> thanks, david-lyle - anyone else have thoughts on that?
16:41:07 <jeblair> cool.  i don't think we have to limit ourselves to what openstack is doing elsewhere, just that we should consider it, use it if it makes no difference; if it does make a difference, do whatever we think best but be informed about it.
16:41:40 <krotscheck> Pagination really only requires three things. A marker, an record limit, and some understanding of how large the paged data set is.
16:41:42 <david-lyle> The argument for the marker scheme from the services has been performance related
16:42:10 <krotscheck> david-lyle: Marker is also a very useful metaphor because it doesn't care about RDB vs NoSQL
16:42:42 <david-lyle> yes, and the page-limit is supported, it's the set size that doesn't come back
16:43:14 <krotscheck> david-lyle: So your API returns just a plain array of results?
16:43:16 <david-lyle> so you can keep clicking next, but have no idea that there are 10,000 more clicks to get to the end
16:43:49 <david-lyle> just the number of results we request, or the API defined limit
16:43:57 <krotscheck> Right.
16:44:12 <david-lyle> we grab the last ID as the marker and go from there
16:44:34 <krotscheck> david-lyle: Makes sense.
16:45:06 <david-lyle> but there is no call to get total number of records available, nor is it returned
16:45:23 <ttx> gothicmindfood: at some point we need to have some brainstorming around priorities. Talking to jeblair about it last weekend helped me structure my thoughts
16:46:26 <gothicmindfood> ttx: agreed. shall we space some time out for that in the next meeting, or try to schedule something separately?
16:47:01 <krotscheck> david-lyle: I was thinking of having a custom header added to the HTTP response to include the response size (once we have a large enough data set where that matters)
16:47:01 <ttx> gothicmindfood: we could try a phone call as a first step. I rant better using phones
16:47:17 <gothicmindfood> also, I think if we're close to finishing API and pagination, we can move topics.
16:47:25 <gothicmindfood> #topic open discussion
16:47:27 <krotscheck> seems like a better idea than modifying the returned data structure.
16:47:29 <ttx> gothicmindfood: I expect you'll have to colect a variety of opinions around that topic and see if there is a convergent solution
16:47:36 <krotscheck> kk
16:47:39 <krotscheck> Ok, I'm out.
16:47:44 <jeblair> i'm wondering about site customization.  i imagine deployers would like to use custom logos, headers, footers, and css.  how should that be handled?  i'm particularly unsure about how that sort of thing should work with a fully-client-side js app.
16:47:47 <jeblair> it is build time or run time customization?  does the app fetch some config json from the server with that info?  or...?
16:47:49 <gothicmindfood> krotscheck: HAVE SO MUCH FUN.
16:47:59 <jeblair> oh, and that was a question for krotscheck.  oh well.
16:48:08 <krotscheck> jeblair: Replace Bootstrap.js. Done.
16:48:19 <krotscheck> sorry
16:48:23 <krotscheck> bootstrap.css
16:48:40 <david-lyle> krotscheck: just?
16:48:57 <jeblair> krotscheck: cool, that's enough to help me understand the mechanism.  thanks and have fun.
16:49:30 <krotscheck> jeblair: I have some ideas on a customization path for the UI.
16:49:44 <krotscheck> jeblair: Maybe we can put that on the agenda post-mvp?
16:50:13 <ruhe> jeblair: mordred: could you please help me to find why docs aren't uploaded to http://ci.openstack.org/storyboard ?
16:50:23 <krotscheck> Toodles. Thanks, gothicmindfood !
16:51:06 <gothicmindfood> #action gothicmindfood to meet with ttx to start talking about post-MVP priorities
16:51:28 <jeblair> ruhe: definitely
16:52:26 <gothicmindfood> anything else for open discussion time?
16:52:39 <ruhe> jeblair: i think we have everything needed in zuul (and mordred confirmed that during the sprint). but somehow post jenkins jobs were never executed
16:53:41 <jeblair> ruhe: ok
16:55:11 <ruhe> and just a status update from side: i help Nikita to build testing infrastructure for Pecan+SQLA+Alembic; once that is done we will be in 0.5 step away from MVP
16:55:22 <ttx> gothicmindfood: nope
16:55:54 <gothicmindfood> awesome, ruhe
16:55:57 <gothicmindfood> ok
16:56:18 <gothicmindfood> #endmeeting