16:00:29 <krotscheck> #startmeeting Storyboard 16:00:30 <openstack> Meeting started Mon Jan 26 16:00:29 2015 UTC and is due to finish in 60 minutes. The chair is krotscheck. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:00:31 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:00:34 <openstack> The meeting name has been set to 'storyboard' 16:00:38 <yolanda> hi 16:00:45 <krotscheck> Agenda: https://wiki.openstack.org/wiki/StoryBoard#Agenda 16:00:52 <krotscheck> No actions from last week. 16:01:00 <krotscheck> #topic Urgent Items: StoryBoard Validation is broken 16:01:32 <yolanda> so that's due to the validation that was merged 16:01:32 <krotscheck> So from what I gather, the client is sending data that the app is not passing, yes? 16:01:38 <yolanda> i proposed a revert here 16:01:38 <yolanda> https://review.openstack.org/150035 16:01:46 <yolanda> well, not really that 16:01:50 <ttx> o/ 16:02:01 <yolanda> the backend is passing that data, it automatically passes date_created, date_updated... 16:02:11 <yolanda> but then it doesn't accept them on the response 16:02:41 <krotscheck> Right. And the client doesn’t make assumptions about the data format it gets, it just sends whatever it receives right back. 16:02:48 <yolanda> yep 16:03:15 <krotscheck> yolanda: Was that a clean revert? As in, no conflicts? 16:03:53 <yolanda> krotscheck, yes, tests passing and looks fine, no conflict 16:03:58 <NikitaKonovalov> krotscheck: The revert is not merged yet 16:04:04 <yolanda> needs to be approved 16:04:06 <krotscheck> kk 16:04:10 <NikitaKonovalov> but I think we can do that right now 16:04:12 <krotscheck> Is Aleksey here? 16:04:27 <yolanda> don't see him on the channel 16:05:06 <krotscheck> What’s his handle? I keep forgetting 16:05:12 <yolanda> there are 2 points here: the date_created, date_updated, creator_id extra fields sent even from the backend. And we also don't send data properly,as we don't have to send the "id" field on the payload, but on the url, on posts 16:05:15 <NikitaKonovalov> it should be aripinen 16:05:37 * NikitaKonovalov looking around to find him 16:05:38 <krotscheck> +2 16:05:58 <ttx> +1/apprved 16:06:02 <krotscheck> k 16:06:05 <ttx> +2 I mean 16:06:13 <krotscheck> Cool, it should have recovered by the end of the meeting, we’ll keep an eye on it 16:06:23 <krotscheck> Anything else that needs to be done right now before we move on? 16:06:43 <yolanda> validation was crashing as well, not sure if related to this as well 16:06:54 <yolanda> errors about dupes, minimum length, etc... 16:07:09 <krotscheck> Fun 16:07:12 <yolanda> this was showing the error on the xhr call but nothing shown on the client 16:07:16 <krotscheck> Happy monday, everyone :) 16:07:42 <krotscheck> That usually indicates a catastrophic error on the server that causes a truncation of the response. 16:07:51 <krotscheck> i.e. it never gets CORS headers because everything blew up. 16:08:19 <yolanda> krotscheck, i saw the response correctly sent by server, a json response telling "xxx is to short", or something like that 16:08:20 <krotscheck> Alright, I’ll spend today trying to get things stable again, and see where the two aren’t talking to one another. 16:08:24 <yolanda> but client wasn't showing that 16:08:31 <krotscheck> hun 16:08:32 <krotscheck> hun 16:08:34 <krotscheck> huhn 16:08:38 <yolanda> but if we revert the json schema thing, it can be related 16:08:48 <krotscheck> #action krotscheck Get Storyboard back to a happy place. 16:09:07 <krotscheck> Ok, so that just erged, we should see it going in in about 10 minutes or so 16:09:15 <krotscheck> Let’s be patient and move on. 16:09:20 <krotscheck> #topic urgent: Auth Tokens validate on truncated tokens 16:09:30 <krotscheck> rcarillocruz was working on that, I seem to recall that it merged. 16:09:43 <NikitaKonovalov> I've done the fix 16:09:49 <NikitaKonovalov> so now it should work fine 16:09:51 <krotscheck> Cool 16:09:56 <krotscheck> Moving on 16:10:05 <krotscheck> Urgent Items: Working Directory Cron Fail 16:10:16 <krotscheck> So this took down storyboard last monday, which required another revert. 16:10:37 <krotscheck> I’ve since revisited the issue and altered my approach to generating a working directory space. 16:10:47 <krotscheck> So that the cron system won’t even start up if it doesn’t have one. 16:11:02 <krotscheck> Patch is here: https://review.openstack.org/#/c/149454/ 16:11:06 <krotscheck> And appears to have +4 16:11:15 <krotscheck> So we’ll rebase and go from there. 16:11:20 <krotscheck> Any other urgent items? 16:11:29 <yolanda> project groups was broken as well 16:11:31 <yolanda> i did a fix 16:11:37 <krotscheck> patch? 16:11:45 <yolanda> https://review.openstack.org/150027 16:12:45 <krotscheck> Looks good. 16:12:49 * NikitaKonovalov needs to check that 16:13:13 <krotscheck> GImme a sec, going to update the agenda with all the urgent items. 16:14:28 <krotscheck> #topic Urgent: Why All The Explosions 16:14:57 <yolanda> nice topic :) 16:15:05 <yolanda> i miss an integration test here 16:15:21 <yolanda> something to check how changes in the backend afect to the client, and test if all together work 16:15:22 <krotscheck> Ok, server was down twice in two weeks. I don’t feel we need to take drastic action here, but what’s missing going forward? 16:15:23 <NikitaKonovalov> krotscheck: I guess it's because running SB locally and in production is a bit different 16:15:39 <NikitaKonovalov> the cron failed due to permissions 16:15:43 <krotscheck> NikitaKonovalov: True. That was definitely the case for working directory. 16:15:53 <NikitaKonovalov> we could not predict it locally 16:16:02 <krotscheck> NikitaKonovalov: But even then I could have taken a different approach that made things not take down the rest of the server. 16:16:11 <krotscheck> NikitaKonovalov: The validation thing though seems like something we could have done testing for. 16:16:38 <yolanda> krotscheck, problem i see is that we do tests for the features in backend and for the ones in frontend 16:16:41 <yolanda> but nothing together 16:16:46 <krotscheck> Right, no gating. 16:17:13 <krotscheck> And the integration tests in the frontend don’t really exist. 16:17:36 <yolanda> but even if we do tests in the frontend, we are doing that against the master branch 16:17:39 <yolanda> of the backend 16:17:41 <krotscheck> The client gates on the backend. The backend does not gate on the client :/ 16:18:07 <yolanda> a common integration tests run for each feature in the frontend and backend will make sense 16:18:26 <jeblair> if you can come up with an integration tests that uses both, i'd be happy to set up the job to correctly do the zuul git checkouts so that things are tested together in the gate 16:19:16 <yolanda> i can take a look at it this week, what do you think that could be a good approach? 16:19:20 <krotscheck> jeblair: We _sortof_ already have it. That’ll take more work. 16:19:41 <krotscheck> the client currently installs the backend to run integration tests against it, but that’s only against master. 16:19:52 <jeblair> krotscheck: which job is that? 16:20:39 <krotscheck> jeblair: gate-storyboard-webclient-js-test-integration I think 16:20:45 <krotscheck> It’s been a year since I et that up though 16:21:16 <krotscheck> yolanda: Want to take that on? Gating our components against each other is going to become important. 16:21:19 <jeblair> krotscheck: okay, so probably we just need that job to checkout the zuul refs of both projects then run on changes to both projects; sound right? 16:21:43 <yolanda> krotscheck, jeblair, i'm happy to doit 16:21:48 <krotscheck> jeblair: Yep. Right now we use pip though I think. I don’t think it’ll be that simple. 16:22:06 <krotscheck> Awesome 16:22:14 <mrmartin> re 16:22:17 <krotscheck> #action yolanda Figure out how to have our projects gate on each other. 16:22:19 <jeblair> krotscheck, yolanda: yeah, there's a thing called zuul-cloner that does what needs to be done for git trees 16:22:43 <krotscheck> jeblair: Wait, so it can clone the gatekeeper and the keymaster? 16:22:55 <jeblair> you do need both 16:23:00 <mrmartin> guys, what you think about using a storyboard-dev, and do frequent releases to prod only if everything seems to be stable ? 16:23:16 <yolanda> jeblair, i saw that on the zuul code but never used, sounds like a handy tool 16:23:47 <krotscheck> mrmartin: We’re working on that, actually. The puppet module needs to not default to https, and then we can push it. 16:23:54 <krotscheck> mrmartin: Want to take a stab at that? 16:24:10 <mrmartin> we did something similar for groups portal 16:24:29 <jeblair> krotscheck: you intend to stop deploying production cd? 16:24:55 <krotscheck> jeblair: Eventually. Not yet. 16:25:01 <mrmartin> the other side, that you really need to do client - server integration test :) 16:25:07 <krotscheck> jeblair: Right now we want storyboard-dev so the draft client doesn’t present a security hole. 16:25:38 <krotscheck> jeblair: Moving from there to adding versioning seems a sane next step, and then we can talk about To-CD-Or-Not-To-CD 16:26:02 <krotscheck> mrmartin: Yes. That 16:26:17 <jeblair> krotscheck: yes, we should talk about it. i would like to continue doing cd. 16:26:33 <krotscheck> Ok, we’re going off into the weeds right now. The big thing the recent downtimes have revealed is a need to test the client against the api. 16:26:51 <krotscheck> jeblair: I would too. But I acknowledge that some people get scared when versions update. 16:27:24 <krotscheck> And yolanda has taken responsibility for that, so unless there’s another urgent item, let’s move on. 16:27:49 <krotscheck> Any other urgent items? 16:28:11 <yolanda> we had enough :) 16:28:50 <krotscheck> Alllrightey 16:28:54 <krotscheck> #topic User Feedback 16:28:59 <krotscheck> ANything new other than “It’s broken"? 16:31:00 <mrmartin> I'm trying to use storyboard, and my largest pain point are the missing email notifications. 16:31:12 <krotscheck> Ok, looks like StoryBoard is healthy again, I was just able to create a story: https://storyboard.openstack.org/#!/story/2000131 16:31:13 <mrmartin> but I know it is coming :) 16:31:22 <krotscheck> mrmartin: I’ll talk about that in ongoing work :) 16:31:44 <yolanda> ah krotscheck, we did a fix to create stories before the revert 16:31:49 <krotscheck> I have a user feedback: There are two yolanda robla’s in storyboard :) 16:31:57 <yolanda> oh yes 16:32:19 <krotscheck> I wonder how that would work if there’s more than one john smith 16:32:26 <mrmartin> https://storyboard.openstack.org/#!/project_group/58 16:32:48 <mrmartin> this page is listing stories not related to project groups 16:33:41 <krotscheck> mrmartin: Right, we know about that one. 16:34:00 * krotscheck feels sheeping about not fixing all the client issues :/ 16:34:06 <krotscheck> *sheepish 16:34:15 * krotscheck also wants to write javascript again. It’s been so long! 16:34:27 <ttx> krotscheck: I know that feeling. not. 16:34:31 <krotscheck> Ok, so story for my issue: https://storyboard.openstack.org/#!/story/2000132 16:34:57 <krotscheck> STory for mrmartin: https://storyboard.openstack.org/#!/story/2000043 16:35:11 <krotscheck> Anything else? 16:35:13 <mrmartin> and a UX one: when I select a story from group, what is the proper way to navigate back to stories page? 16:35:43 <mrmartin> so 16:35:53 <mrmartin> again 16:36:07 <krotscheck> mrmartin: Back arrow? 16:36:19 <jeblair> krotscheck: gerrit includes email addresses in mouseover text for user links to help disambiguate. (to whatever degree that helps) 16:36:26 <mrmartin> When I select a story from a project, how can I navigate back to the project page agian. 16:36:40 <mrmartin> yeap, back arrow can be an option. don't you plan to implement some breadcrumbs? 16:36:41 <yolanda> ah, jeblair , i just added the same comment 16:36:54 <yolanda> in my case i think it's same user but different openids 16:37:59 <krotscheck> mrmartin: Breadcrumbs are a difficult question when you navigate to a story that can have N>1 projects it’s associated with. 16:38:55 <mrmartin> krotscheck: ok, so now when I click on a project link of a task, it displays the inline editor 16:39:11 <yolanda> ah, that's a thing that needed to be solved 16:39:18 <mrmartin> I think we want to navigate more often, than edit the project assigned to a task 16:39:33 <yolanda> krotscheck, mrmartin, we talked about it on prev meetings right? 16:39:34 <jeblair> mrmartin: i think there may be a story for that... 16:39:40 <jeblair> yolanda: yes, i think we did 16:39:47 <krotscheck> Yep. 16:39:50 <mrmartin> ok. 16:39:55 <jeblair> lemme see if i can find it 16:40:02 <krotscheck> jeblair filed a story. 16:40:26 <jeblair> krotscheck: there's no "stories i filed" page is there? :) 16:40:41 <krotscheck> jeblair: Nope. User feedback? :) 16:40:48 <jeblair> krotscheck: will file a story ;) 16:40:53 <krotscheck> :D 16:42:00 <krotscheck> Sounds like we have our work cut out for us this week :) 16:42:32 <krotscheck> Alright, moving on. 16:42:38 <krotscheck> #topic Discussion Topics. 16:42:44 <krotscheck> Anyone have something big they want to bring up? 16:42:47 <krotscheck> (Agenda is empty) 16:44:14 <krotscheck> Alright, weekly update time! 16:44:24 <krotscheck> #topic Streaming API 16:44:33 <krotscheck> rcarrillocruz isn’t here, moving on. 16:44:41 <krotscheck> Neither is jedimike 16:44:47 <jeblair> mrmartin: https://storyboard.openstack.org/#!/story/2000095 16:44:48 <yolanda> let me ping them 16:44:56 <krotscheck> #topic Ongoing work (NikitaKonovalov) 16:44:57 <jeblair> mrmartin: also related https://storyboard.openstack.org/#!/story/179 16:45:07 <mrmartin> jeblair: thanks. 16:45:10 <NikitaKonovalov> Ok 16:45:20 <NikitaKonovalov> I've finally solved a routing issue for tasks 16:45:45 <NikitaKonovalov> which now allows a client to do something like story.tasks.list() 16:45:47 <jedimike> o/ 16:46:02 <krotscheck> Nice! 16:46:03 <NikitaKonovalov> and get the correct result 16:46:23 <krotscheck> I really like how that’s coming together. 16:46:42 <NikitaKonovalov> https://review.openstack.org/#/c/150052/ this one is for the backednd 16:47:00 <NikitaKonovalov> and this is the client https://review.openstack.org/#/c/150067/ 16:47:08 <krotscheck> Hrmmmm..... 16:47:23 <krotscheck> That would break the search API 16:47:36 <krotscheck> And the criteria listing. 16:47:39 <NikitaKonovalov> sohuld not because /tasks still works 16:47:44 <krotscheck> Ahhh, gotcha 16:48:20 <NikitaKonovalov> next steps for me adding comments, timeline to stories in client 16:48:27 <NikitaKonovalov> then subscriptions 16:48:50 <NikitaKonovalov> once that is complete I'll switch to CLI 16:49:20 <krotscheck> Cool 16:49:32 <krotscheck> #topic Ongoing Work (jedimike) 16:49:34 <NikitaKonovalov> And I guess tags are pretty close to getting merged 16:49:40 <krotscheck> Oops, sorry. 16:49:54 <krotscheck> Accidentally hit return 16:49:57 <NikitaKonovalov> that' s all the update actually 16:49:58 <krotscheck> #topic Ongoing Work (NikitaKonovalov0 16:50:00 <krotscheck> Ok, ok 16:50:05 <krotscheck> #topic Ongoing Work (jedimike) 16:50:12 <krotscheck> Hey there! How’s life? 16:50:37 <jedimike> I haven't had any time to work on anything but getting our pypimirror and CI working properly again, and I'm back on support again this week, so chances of getting anything done are minimal :( 16:50:49 <krotscheck> Alright then, moving on. 16:51:02 <krotscheck> #topic Ongoing Work (yolanda) 16:51:37 <yolanda> this is pending from discussion 16:51:38 <yolanda> https://review.openstack.org/137798 16:52:18 <krotscheck> Right! 16:52:23 <krotscheck> I keep trying to review that. 16:52:59 <krotscheck> What usually happens is I look at it and think: There has _got_ to be a better way to do this, and hten I lose myself in research. 16:53:29 <yolanda> i feel i miss a bit on the promises, but i didn't find a better way to do it with the current backend 16:53:49 <yolanda> maybe if we had some backend that returns logged user details and prefs together? 16:54:04 <krotscheck> The current user could return a hash of preferences maybe? 16:54:15 * krotscheck isn’t certain he likes that idea. 16:54:18 <yolanda> a hash? 16:54:37 <krotscheck> user: {id: foo, preferences: { one: two, three: four}} 16:54:45 <krotscheck> Hash. Java terminology. A dict. 16:54:56 <yolanda> i was thinking in md5 :) 16:55:05 <yolanda> yes, i meant that 16:55:18 <krotscheck> How do others feel about this? 16:56:44 <krotscheck> I guess no real opinions. 16:57:03 <mrmartin> +1 for hash 16:57:06 <mrmartin> Hash 16:57:08 <krotscheck> yolanda: Even so, you run into the issue that the preferences may age out, and you need preferences INSIDE the services API to get the page limit. 16:57:29 <krotscheck> And that’s where most caching usually falls down, because we don’t really want to trigger two API calls for every call 16:57:47 <mrmartin> add a cache TTL 16:58:01 <yolanda> the way i was doing now is using angular cache, and if i had no cache, i queried again for prefs 16:58:02 <krotscheck> mrmartin: We have one. 16:58:28 <krotscheck> yolanda: We’ve already got a TTL baked into the angular caching layer, it should be transparent to $resource 16:59:01 <mrmartin> do we have a cache invalidate http header in the backend response? 16:59:03 <yolanda> krotscheck, i found the problem in testing, if i had some javascript error on the client for some reason, cache was lost 16:59:19 <krotscheck> yolanda: Interesting. 16:59:19 <mrmartin> if the user prefs are changed, you can notifiy the client to refetch the user prefs. 16:59:50 <krotscheck> We’re running out of time. 16:59:58 <yolanda> mrmartin , and i was manually updating prefs if there was some change, i mean, i was manually updating the user prefs object 17:00:34 <krotscheck> Ok, we’ll pick up with pref caching next week. 17:00:37 <krotscheck> Thanks everyone! 17:00:40 <krotscheck> #endmeeting