16:06:22 <ttx> #startmeeting storyboard 16:06:24 <openstack> Meeting started Thu Jan 16 16:06:22 2014 UTC and is due to finish in 60 minutes. The chair is ttx. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:06:25 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:06:27 <openstack> The meeting name has been set to 'storyboard' 16:06:43 <ttx> #link https://wiki.openstack.org/wiki/StoryBoard 16:06:53 <ttx> Agenda is pretty empty, feel free to add to it 16:07:02 <ttx> #topic Storyboard sprint 16:07:22 <ttx> Details have been published at: 16:07:24 <ttx> #link https://wiki.openstack.org/wiki/StoryBoard/Brussels_Sprint 16:07:48 <ttx> Russian folks: how are the visas coming along ? 16:08:04 <ruhe> still in progress, but things seem to be ok there 16:08:15 <ttx> Please add your arrival/departure times on the "Attendees" section of that wikipage 16:08:23 <ruhe> ttx: ok 16:08:26 <ttx> will help plan any extra-curricular activities 16:08:51 <ttx> krotscheck: there will be coffee. 16:08:58 <krotscheck> ttx: Thank goodness. 16:09:05 <gothicmindfood> ttx - I spoke with Cody a little bit about whipping up a super basic agenda for both days. 16:09:16 <gothicmindfood> I have that on my to-dos for today 16:09:17 <ttx> krotscheck: nespresso crap, but at least it's espressos 16:09:44 <ttx> gothicmindfood: sounds good 16:10:05 <gothicmindfood> I'll probably just start with "here are, realistically, the hours we can work, and the basic themes we need to cover in those hours" 16:10:07 <ttx> gothicmindfood: do the workgroups I put in the wiki make sense ? 16:10:41 <gothicmindfood> ttx: I think so, but I also believe we're just in one room, right? 16:10:49 <ttx> gothicmindfood: we can start with a basic intro to the root of the project and introduce everyone and then fly 16:10:56 <ruhe> ttx: i've added myself to the CI/CD group. i hope it's ok because i'm working on Puppet scripts for installation of Storyboard 16:11:20 <ttx> gothicmindfood: it's more a way to organize within the room than /separate/ workgroups 16:11:42 <gothicmindfood> ttx: understood 16:11:58 <ttx> also to try to predict who is interested by what 16:12:24 <krotscheck> It's not like we can't reshuffle when we're there. Chances are some teams will have less to do than others. 16:12:25 <gothicmindfood> ttx: I think some things will lead into others (a basic product plan/model, for example, needs input from everyone, and will lead to Code and Infra work prioritizations for the sprint) 16:12:54 <ttx> gothicmindfood: agreed. It's more general themes and the people who we expect to drive each 16:13:08 <gothicmindfood> ok cool - definitely understood. :) 16:13:22 <ttx> any question on that sprint ? Everyone booked hotels already ? 16:13:36 <ruhe> russian folks booked hotels 16:14:29 <gothicmindfood> I believe everyone in HP is booked, but I'm not 100% on mordred 16:14:29 <ttx> ok then, no question, let's move on 16:14:46 <mordred> what did I do? 16:14:51 <ttx> gothicmindfood: he is having problems finding a decent Starwood option, I guess 16:15:02 <mordred> oh - no, I'm booked 16:15:08 <gothicmindfood> oh godo! 16:15:10 <mordred> I'm not staying where you are - but whatevs 16:15:11 <gothicmindfood> good! 16:15:20 <gothicmindfood> mordred - you aren't at the 4 points? 16:15:29 <mordred> nope 16:15:44 <ttx> The 4 points is.. not so great. been there last year 16:15:49 <krotscheck> gothicmindfood: He's probably at the luxury collection downtown ;) 16:16:11 <ttx> brussels has a decent selection of nice "boutique" hotels that are not more expensive :) 16:16:35 <ttx> anyway, moving on 16:16:50 <ttx> #topic storyboard-webclient current state 16:17:03 <ttx> This was added by me, trying to catch up on you all 16:17:07 <ttx> since you run so fast 16:17:22 <krotscheck> Righto, so the webclient build went into infra yesterday 16:17:26 <ttx> could anyone explain where we currently are, and how to test that state (if possible) ? 16:17:31 <ttx> krotscheck: ok 16:17:40 <krotscheck> And after a minor hiccup (some of the test results weren't being uploaded) that all seems to be working now. 16:17:51 * ttx is already missing ./manager.py runserver 16:17:56 <ttx> manage* 16:17:58 <krotscheck> The build takes a bit, because infra's making us recompile node from scratch every time. 16:18:28 <krotscheck> Next steps: 16:18:47 <krotscheck> 1- Get the storyboard API spun up so we can do real integration/functional tests. 16:18:55 <krotscheck> (rather than mocking it) 16:19:14 <krotscheck> 2- Get the whole shebang onto a server. ruhe's currently working on that. 16:19:29 <ttx> so the webclient is currently diplaying mocked data ? How feature-y is it compared to the Django poc ? 16:19:47 <krotscheck> ttx: Well, the copy that's up there matches the UI. 16:19:51 <ttx> (I should test that but all those new words (grunt) scare me 16:19:55 <ttx> ) 16:20:04 <krotscheck> I'm currently working on mocking all the data bits, ETA sometime... todayish? 16:20:45 <ttx> krotscheck: is there some "how to test" instructions that end up mostly usable on a Linux distro (ubuntu/debian) ? 16:20:54 <krotscheck> (note: Mocks in angular intercept at the request level, so once we have an API we can rip that out and it _should_ work magically) 16:21:17 <krotscheck> ttx:... like "how do you run it?" 16:21:18 <ttx> (one never knows, I might have some time to play tomorrow) 16:21:26 <ttx> krotscheck: yes, run from code 16:21:27 <mordred> ttx: the grunt stuff is actually quite nice 16:21:35 <mordred> once you step through it the first time and get past the fear 16:21:46 <ttx> mordred: i don't doubt it. I'm just being realistic on my ability to free up time this week 16:21:50 <mordred> in fact, it makes it all feel very much like normal dev instead of scary web things 16:21:58 <krotscheck> ttx: There's some instructions in the readme, I can elabroate on those. 16:22:01 <mordred> ttx: like, with unittests and stuff 16:22:37 <ttx> krotscheck: taht would be nice, but if I'm the only one behind I could also take the high road 16:22:38 <mordred> ttx: I was able to run grunt things on basically the first try by following the instructions - and I enjoyed the experience 16:22:53 <ttx> mordred: ok, I'll try that 16:22:55 <krotscheck> ttx: Take a look at bin/bootstrap.sh 16:23:05 <krotscheck> That's a script that'll install everything into a locally configured path 16:23:18 <krotscheck> You can adjust that script to do sudo thing 16:23:20 <krotscheck> *things 16:23:22 <ttx> krotscheck: don't lose time on me. If mordred could run JS things, so could I. 16:23:40 <ttx> (previous sentence not true for C++) 16:23:43 <mordred> ttx: they've even got pep8 like things and stuff! 16:24:06 <ttx> mordred: who could have expected that 16:24:15 <mordred> I know, right? 16:24:24 <ttx> I mean, everyone knows Python is the only language with decent... wait 16:24:32 <mordred> hahahahahaha 16:25:18 <ttx> krotscheck: is the UI a completely new thing ? Or based on the Bootstrap POC ? 16:26:04 <ttx> krotscheck: FWIW my preference for semantic-UI is based on the cleaner aspect of the syntax, and the fact that it doesn't look like the 1000s of sites using bootstrap. 16:26:08 <krotscheck> Right, so next step is "Let's get a server" 16:26:08 <krotscheck> (Might be a good new agenda item) 16:26:21 <ttx> so it's a bit of a hipster thing 16:26:34 <ttx> cody-somerville has much stronger and reasonable reasons 16:26:36 <krotscheck> ttx: It's almost a verbatim copy fo the PoC 16:26:41 <krotscheck> There are some kittens 16:26:56 <gothicmindfood> krotscheck: no unicorns?!? 16:27:17 <krotscheck> ttx: I did want to take the time to see how semantic UI stacks up by doing a full replacement. 16:27:40 <ttx> I'm ok to defer decision to the people who will end up writing the most code. My preference being purely aesthetic 16:27:43 <krotscheck> ttx: I also don't like the "Everyone's using the same UI" thing, but thankfully all the colors/variables are injectable. 16:28:19 <krotscheck> ttx: Though that is true for all the layout frameworks out there. 16:28:25 <ttx> krotscheck: did you look up semantic-ui yet ? any reason for not loving it ? 16:28:28 <mordred> ttx: also, fwiw, have spoken with david-lyle recently and horizon is also interested in moving a bit more in a direction similar to this stuff from krotscheck - so we may actually wind up staying somewhat in alignment 16:28:36 * krotscheck is personally not a big fan of how much padding they use. 16:28:37 <ttx> krotscheck: the fact that it's not bootstrap, so not so much used ? 16:29:01 <krotscheck> ttx: I have two not-very-good-reasons for preferring bootstrap. 16:29:06 <krotscheck> First: I know it. 16:29:24 <ttx> krotscheck: anyway, I think that's a great topic to finally sort out at the sprint 16:29:29 <krotscheck> Second: Semantic UI's markup actually makes assumptions about how you want your UI to look on different browser sizes, instead of giving you direct control. 16:29:36 <ttx> and then have everyone aligned 16:29:43 <krotscheck> ttx: I agree. 16:29:56 <krotscheck> ttx: And that gives me a deadline. 16:30:18 <ttx> yeah, I think things are aligning well, timing-wise 16:31:11 <ttx> #topic "Let's get a server" 16:31:21 <ttx> krotscheck: I'll let you introduce topic 16:31:31 <krotscheck> Having said that: Both bootstrap and semantic live in the world of "We don't want to bother with doing too much UI work". If we're going to get super custom on the UI we might want skeleton 16:31:38 <krotscheck> Ok 16:31:50 <krotscheck> So, the basic pieces of the project are this: 16:32:09 <krotscheck> 1- A Javascript webclient that can be served statically and will (once we get our first gate) live in a tarball on tarballs.o.o 16:32:11 <ttx> gothicmindfood: could you draft your sprint agenda on the wiki ? And include "final discussion/decision on bootstrap vs. semantic-ui" in there ? 16:33:01 <krotscheck> 2- A wsgi enabled set of API's hosted by apache 16:33:06 <krotscheck> (via mod_wsgi) 16:33:09 <krotscheck> 3- A database. 16:33:15 <gothicmindfood> ttx: certainly! 16:33:16 <mordred> I agree with those 16:33:34 <krotscheck> The caveat on 2 is that right now there's still django, but there won't be for long. 16:34:04 <NikitaKonovalov> krotscheck, there is a change by ruhe removing it afaik 16:34:20 <NikitaKonovalov> let me find a link 16:34:21 <krotscheck> THere's an additional assumption that we're going to put this on storyboard-dev.o.o and storyboard.o.o 16:34:25 <ruhe> i moved it to WIP until we get something working with new REST API 16:34:48 <ruhe> i guess all these bits (webclient, mod_wsgi and DB) are covered with https://review.openstack.org/#/c/65017 16:34:55 <krotscheck> Now ruhe's done a bunch of work to get the server/pecan stuff set up. 16:35:09 <ttx> mordred: about urls: did we say stories vs. storyboard ? 16:35:14 <krotscheck> (plus all the other holy-shit-productive things he's done) 16:35:28 <mordred> I think we said stories - with cnames for bugs, blueprints and issues :) 16:35:32 <ruhe> i discuss with fungi and he said that it's not a problem to spin up a server 16:35:47 <ruhe> err, * i discussed this with * 16:35:49 <ttx> mordred: that said, the storyboard name is both a codename and a function. And it looks better 16:36:07 <mordred> I'm fine with any of it 16:36:44 <fungi> yes, i can try to apply the puppet change in a dev environment to spin up a server 16:37:22 <ruhe> fungi: i'll setup a repo on github which will be installable by these scripts 16:37:41 <ruhe> because some required bits are still on review 16:37:56 <krotscheck> Ok, in the meantime, ttx - can you look at the patch on webclient and get it through? That'll generate a real live tarball for them to work with. 16:38:13 <ttx> krotscheck: link 16:38:31 <krotscheck> ttx: https://review.openstack.org/#/c/66911/ 16:38:42 * ttx thinks krotscheck should have +2, at the very least on the webclient part 16:38:46 <mordred> ++ 16:38:49 * mordred will get that done 16:39:05 <krotscheck> Woo, I feel all official and stuff 16:39:09 <ttx> I mean, we are way past my Django skills here 16:39:40 <krotscheck> ttx: Well, hopefully looking at that patch will show you how easy and awesome and wonderful functional testing in javascript is :) 16:39:57 <mordred> krotscheck: you are now in storyboard-core - I'm not going to bother splitting it in to two core teams right now 16:40:05 <ttx> mordred: you can second+2/aprv https://review.openstack.org/#/c/66911/ 16:42:06 <krotscheck> Any other comments on getting a server? 16:42:15 <krotscheck> mordred: Thanks 16:42:27 <krotscheck> I'll keep my dirty fingers off the python 16:43:47 <mordred> krotscheck: nope. we'll get that and a db spun up 16:44:10 <mordred> we'll use a trove db for the database, which is already how ruhe has organized the puppet 16:44:22 <mordred> do we need storyboard-dev/ 16:44:24 <mordred> ? 16:44:41 <mordred> I believe the intent was that we'd just run pure CD, no? 16:44:52 <mordred> (kinda like we do with zuul and nodepool and friends) 16:45:52 <krotscheck> Open discussion? 16:46:17 <ruhe> the only problem we might hit with pure CD is a broken DB schema. it'll require manual reset of DB and migration 16:46:36 <mordred> shouldn't we hit that in gating tests though? 16:46:52 <mordred> krotscheck: auth discussion/ 16:46:54 <mordred> ? 16:46:59 <ruhe> we should, but things happen :) 16:47:14 <krotscheck> mordred: Good point 16:47:33 * krotscheck thinks he's laggy 16:48:44 <krotscheck> Hrm. Not that laggy 16:48:51 <krotscheck> So re: Auth 16:48:52 <krotscheck> https://etherpad.openstack.org/p/M6G4iKRZZX 16:50:18 <ttx> oops sorry 16:50:23 <ttx> #topic Open Discussion 16:50:41 <ruhe> krotscheck: sorry, haven't yet a chance to go through your doc; neither i have any experience in this area 16:50:51 <krotscheck> Given that at some point we'll need auth via SSH/Login/OpenID, mordred and ruhe proposed that we make our auth system pluggable 16:51:51 <NikitaKonovalov> does that mean there should be a plugin mechanizm on a rest side? 16:51:53 <ttx> why SSH/Login ? 16:51:55 <krotscheck> Since all we really need the plugability for is figuring out who we are, I proposed that we separate the ideas of "authentication" (who are you) and "authorization" (what can you do) 16:52:04 <krotscheck> ttx: SSH Pub Key 16:52:11 <krotscheck> Login for... beats me, actually 16:52:16 <mordred> I'm not 100% sold that we'll need ssh - I think if we have oauth for api access that should be fine 16:52:21 <ttx> right, was just trying to understand the use case 16:52:36 <krotscheck> Ok, so use case: CLI client. OAuth will work? 16:52:39 <mordred> I was mainly bringing up that I know of a deployment that's going to want to hook up user accoutns to ldap 16:52:49 <ttx> oauth sounds enough for auth.*ing between apps 16:52:59 <krotscheck> mordred: Righto, well, as long as we make authentication pluggable, they can build their own adapter. 16:53:03 <mordred> yah. launchpadlib uses oauth 16:53:18 <ttx> I'm fine with it as long as the indirection is not costing us too much 16:53:27 <ttx> i suspect it doesn't 16:53:27 <mordred> I think the only thing _we_ need to care about is openid for web and oauth for api 16:53:31 <krotscheck> NikitaKonovalov: Plugin mechanisms sound complicated.... 16:54:08 <krotscheck> At the end of the whole auth process, each user (CLI or LDAP or Web) Will have an OAuth2 token with which they authorize. 16:54:33 <mordred> any idea, with an external openid source, how we disable users? 16:55:00 <mordred> (from their oauth stuff) 16:55:00 <krotscheck> mordred: managing users should be internal to storyboard, no? 16:55:22 * mordred headsmacks 16:55:25 <mordred> thanks 16:55:26 <krotscheck> In the end we still have to keep track of user records anyway, so adding an admin blacklist flag... 16:56:08 <ttx> ok, anything else ? 16:56:11 <krotscheck> There are some implementation detail questions we can talk about - how long does the token expire, do we allow refreshes, etc... 16:56:16 <krotscheck> but that's details. 16:56:33 <ttx> oh. Any vegetarian/vegan in the sprint group ? 16:56:44 <ttx> because you know... Brussels. 16:57:01 <krotscheck> ttx: Might want to ask about celiacs, too. Because, you know, Brussles :) 16:57:07 <krotscheck> (not me) 16:57:15 <ttx> same category as Paris in veggie-friendliness 16:58:02 <ttx> ok. 16:58:15 <ttx> last minute thoughts ? 16:58:26 <ttx> Oh. i'll miss next week meeting 16:58:40 <ttx> I shall be snowboarding somewhere if evrything goes according to plan 16:59:17 <ttx> alrighty 16:59:17 <ttx> #endmeeting