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