16:00:17 <krotscheck> #startmeeting Storyboard 16:00:19 <openstack> Meeting started Mon Feb 9 16:00:17 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:20 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:00:22 <openstack> The meeting name has been set to 'storyboard' 16:00:24 <krotscheck> Agenda: https://wiki.openstack.org/wiki/StoryBoard#Agenda 16:00:31 <krotscheck> #topic Actions from last week. 16:00:32 <NikitaKonovalov> o/ 16:00:48 <krotscheck> #topic Actions from last week (Fix worker daemon) 16:00:56 <krotscheck> yolanda: This one was yours? 16:01:07 <yolanda> yes, pending from review 16:01:30 <krotscheck> Link? 16:01:35 <yolanda> looking 16:01:38 <krotscheck> cool 16:01:45 <yolanda> https://review.openstack.org/151630 16:02:48 <krotscheck> LGTM 16:03:00 <NikitaKonovalov> +2 also 16:03:03 <krotscheck> #topic Actions from Last week: Errors not showing in client. 16:03:05 <rcarrillocruz> LGTM 16:03:12 <krotscheck> I think that one got merged. 16:03:16 <krotscheck> yolanda++ :) 16:03:36 <yolanda> i saw the errors from first time last week :) 16:03:47 <krotscheck> Yay errors! 16:03:48 <krotscheck> ...wait 16:03:52 <krotscheck> Ok, so that one’s done. 16:03:53 <ttx> o/ 16:04:00 <krotscheck> #topic Urgent Items 16:04:04 <krotscheck> Everything is broken! 16:04:13 <rcarrillocruz> hah 16:04:13 <rcarrillocruz> https://review.openstack.org/#/c/154077/1 16:04:18 <yolanda> nooooo :) 16:04:18 <rcarrillocruz> that gives a 500 16:04:56 <krotscheck> Right, so while we now have lots and lots of lovely coverage on OAuth, we don’t ahve great coverage on our notification hooks. 16:05:08 <krotscheck> Anyone want to take that on this week? 16:05:10 <rcarrillocruz> me 16:05:13 <krotscheck> Allrightey 16:05:15 <rcarrillocruz> i'm not oncall 16:05:18 <rcarrillocruz> so i can tackle 16:05:25 <krotscheck> #action rcarrillocruz Add test coverage to notifications. 16:05:38 <yolanda> i'm on call :( 16:05:53 <rcarrillocruz> hah 16:06:00 <rcarrillocruz> pain moves on in a weekly basis :D 16:06:02 <krotscheck> How many people do you guys have on the call rotation? 16:06:04 <rcarrillocruz> 3 16:06:07 <krotscheck> wat 16:06:09 <rcarrillocruz> mike, yolanda and myself 16:06:11 <krotscheck> That’s not ethical. 16:06:16 <rcarrillocruz> :D 16:06:26 <krotscheck> Righto 16:06:33 <krotscheck> Any other urgent items? 16:06:37 <NikitaKonovalov> https://review.openstack.org/#/c/153591/ 16:06:53 <yolanda> https://review.openstack.org/154069 16:06:54 <NikitaKonovalov> this change had a strange error in patch sets 2-4 16:06:57 <yolanda> this needs review and merge 16:07:33 <NikitaKonovalov> the tests failed almost silently and did not reproduce locally on desktop 16:07:53 <krotscheck> NikitaKonovalov: Some kind of a pretty-tox error? 16:08:00 <NikitaKonovalov> krotscheck: no 16:08:01 <rcarrillocruz> i think pretty-tox got removed ? 16:08:14 <NikitaKonovalov> krotscheck: it was an import error 16:08:24 <yolanda> mm, there was a suggestion to abandon it, but i think it wasn't 16:08:36 <NikitaKonovalov> and for some reason running locally just skipped the broken tests 16:08:43 <krotscheck> Odd. 16:08:49 <NikitaKonovalov> as for pretty-tox, it is removed from the client 16:08:53 <krotscheck> ALright 16:09:09 <NikitaKonovalov> I can also remove it from the api if it is unstable 16:09:19 <krotscheck> yolanda: +2 on https://review.openstack.org/#/c/154069/ 16:09:38 <krotscheck> NikitaKonovalov: Well, if errors like that keep happening we’ll pull it out. 16:09:39 <yolanda> NikitaKonovalov, can you +2 as well so we launch it? 16:09:59 <NikitaKonovalov> yolanda: looking now 16:10:15 <yolanda> we need to properly fix that, but doesn't look easy 16:10:20 <yolanda> related to timezones 16:10:41 <krotscheck> I fixed something similar when I did the oauth issue token work, I’ll take a look 16:11:03 <krotscheck> #action krotscheck Fix Auth Token verification tests disabled in https://review.openstack.org/#/c/154069/ 16:11:05 <NikitaKonovalov> btw, do we need such thing as expiration time for an authorization code? 16:12:01 <krotscheck> NikitaKonovalov: I’d rather not have a set of keys lying around that permit the generation of new access_tokens. 16:12:38 <krotscheck> Any other urgent items? 16:12:41 <NikitaKonovalov> krotscheck: makes sense 16:13:05 <krotscheck> Cool. 16:13:08 <krotscheck> #topic User Feedback 16:13:31 <krotscheck> I got user feedback from the PM team about how they really, really, really want pagination controls in the UI. 16:14:25 <krotscheck> Anyone else? 16:14:31 <yolanda> i saw some related changes from Aleksey 16:14:35 * krotscheck will file a story since there doesn’t seem to be one. 16:14:37 <NikitaKonovalov> I've got feedback that autocoplite in search is really slow 16:14:37 <jeblair> krotscheck: why? 16:14:41 <yolanda> how does it match with the spec for pagination? 16:15:27 <NikitaKonovalov> so may be it's time to think of some optimizations for GET requests, may be some caching 16:16:30 <krotscheck> krotscheck: Quote “ I really need either paging or a scrolling screen ASAP so my searches based on keywords can display results beyond the first ten. “ 16:17:17 <jeblair> oh of course yes. pagination without controls is not good. :) 16:17:39 <krotscheck> jeblair: yep. 16:18:00 <krotscheck> #action krotscheck File story about pagination controls, check to see what arpinien ’s changes are all about. 16:18:17 <krotscheck> NikitaKonovalov: Autocomplete on the search window, yes? 16:18:18 <jeblair> i was thinking of story lists for projects, which are currently not paginated? 16:18:25 <NikitaKonovalov> krotscheck: yes 16:18:27 <krotscheck> jeblair: That too. 16:18:31 <jeblair> (and i'm in heaven) 16:18:45 <krotscheck> jeblair: :-P 16:19:22 <krotscheck> Ok, so the resolution of criteria is probably the issue there, which is understandably slow because each request goes into the browse request queue. 16:19:31 <NikitaKonovalov> me and Aleksey did some testing and found that request handling is twice faster for an unauthorized user 16:19:36 <krotscheck> And we issue a request for every single resource for every other keystroke or so. 16:19:42 <krotscheck> Whoa 16:20:05 <krotscheck> NikitaKonovalov: Where’s the hangup? 16:20:13 <NikitaKonovalov> and there is a reason for that as the fetching a token each time slows down with the number of tokens 16:20:46 <NikitaKonovalov> we either clean those up properly or think of a cache 16:21:07 <krotscheck> Before we discuss that, does anyone want to take on optimizing the search autocomplete? 16:21:15 * krotscheck will file a story if not. 16:21:53 <yolanda> i don't have much time this week so i think it's not realistic to volunteer 16:22:00 <krotscheck> #action krotscheck File story to work on optimizing search autocomplete. 16:22:08 <krotscheck> Ok, so caching tokens. 16:22:26 <jeblair> maybe we should add an index to the accesstokens table? 16:22:41 <NikitaKonovalov> jeblair: sounds good 16:22:46 <krotscheck> That would definitely improve performance. 16:23:01 <NikitaKonovalov> and that is not a hard thing to start with 16:23:04 <krotscheck> Right 16:23:19 <NikitaKonovalov> I'll take it and test again 16:23:19 <krotscheck> Furthermroe, refresh tokens now delete their old access tokens when used. 16:23:44 <krotscheck> And as soon as I get back into fixing cron, we’ll have an automated cleanup script as well. 16:23:55 <krotscheck> #action NikitaKonovalov Add index to accesstokens table. 16:24:04 <krotscheck> #action krotscheck Fix cron so we can cleanup our tokens. 16:24:30 <krotscheck> Lastly, I think requests might become faster if we handle our DB session management better. 16:24:34 * krotscheck gets off his sandbox :) 16:25:07 <krotscheck> Hey, login works again! 16:25:37 <NikitaKonovalov> krotscheck: you mean we should not create a db every possible time? 16:26:06 <krotscheck> NikitaKonovalov: Yeah, maybe create the session per request :) 16:26:39 <krotscheck> NikitaKonovalov: That way we can actually use all the magic SQLAlchemy ORM things and have records be cached :) 16:26:42 <NikitaKonovalov> krotscheck: yes, create it with a hook and save in a request field 16:27:12 <NikitaKonovalov> request is available everuwhere, so the session will also be 16:27:19 <NikitaKonovalov> I can take that too 16:27:23 <krotscheck> NikitaKonovalov: We’ll need to have a couple of helper methods for independend threads like the workers. 16:27:26 <krotscheck> Cool 16:27:41 <krotscheck> #action NikitaKonovalov Smart DB Session management. 16:28:06 <krotscheck> Ok, let’s move on. 16:28:18 <krotscheck> #topic Discussion: Tags in UI 16:28:37 <krotscheck> NikitaKonovalov: Any more questions on that? 16:28:55 <NikitaKonovalov> nope 16:28:57 <krotscheck> Cool 16:29:07 <krotscheck> #topic In Progress (yolanda) 16:29:13 <krotscheck> What’cha working on? 16:29:28 <yolanda> i need reviews for the integration tests 16:29:44 <yolanda> https://review.openstack.org/150743 16:30:06 <krotscheck> jeblair: ^^ 16:30:30 <jeblair> cool, will do 16:30:36 <krotscheck> Thanks :) 16:30:38 <yolanda> also i have thsi pending https://review.openstack.org/152133 16:30:59 <yolanda> and need another +2 for https://review.openstack.org/#/c/151630/ 16:31:11 <jeblair> krotscheck: we don't have any branches in storyboard, right? 16:31:57 <jeblair> we should talk about this because i asked yolanda to remove specificity around branches and i think you asked her to put it back 16:31:58 <krotscheck> jeblair: Branches in storyboard’s git itself, or branch support? 16:32:08 <jeblair> krotscheck: branches in storyboard's git repo itself 16:32:25 <NikitaKonovalov> jeblair: do you mean this https://review.openstack.org/#/c/150447/ ? 16:32:59 <jeblair> NikitaKonovalov: no, i mean krotscheck's statement "On check and gate: When a change happens in the backend, then all client integration tests on respective master branches must be run against the new backend revision. " 16:33:02 <yolanda> yes, i removed that comment due to jeblair indications, but then krotscheck asked to do it more clearly 16:33:19 <yolanda> but it's not branches, it's master branch against current commit id being evaluated 16:33:27 <jeblair> the reason i suggested we don't talk about that in the spec is that it is overspecifying what will be tested 16:33:45 <yolanda> jeblair, i think that it makes sense to specify it 16:33:51 <jeblair> except it's wrong 16:34:04 <jeblair> zuul may decide to test the master branch of _no_ component 16:34:26 <yolanda> i want to test my current commit id agains the master of the oposite component 16:34:29 <yolanda> against 16:34:33 <yolanda> what's wrong there? 16:34:54 <jeblair> so the correct thing to have in the spec is something like "zuul-cloner checks out the revisions to test and we run tests" 16:35:16 <yolanda> but i need to tell zuul-cloner which components it needs 16:35:36 <jeblair> yolanda: because there may be a change to the other component ahead in the queue, in which case the test will be your change with the other components change. no master involved. 16:35:41 <jeblair> yolanda: yes you do 16:36:01 <krotscheck> That makes more sense. 16:36:16 <jeblair> yolanda: and if there were multiple _branches_ (like stable, etc, you would need to tell zuul-cloner if you wanted to do something unusual (like test master against stable) but that doesn't apply here) 16:36:44 <krotscheck> Ok, I withdraw my comment. 16:36:46 <yolanda> ok, so just defaulting zuul-cloner will do the right thing for us? 16:37:04 <jeblair> yolanda: yep. if we want to include text about how that will happen and why, that's fine.. 16:37:18 <yolanda> at least some text about the components involved 16:37:18 <jeblair> after all the point of the spec is to make sure we're on the same page 16:37:31 <yolanda> ok, i understand now 16:37:39 <jeblair> i just don't want us to think "this should always checkout master" or something 16:37:47 <yolanda> i was thinking that, yes 16:37:52 <krotscheck> Basically each repository under test is a tree of dependencies, and zuul-cloner walks down that tree to make sure everything remains reasonably kosher. 16:38:05 <krotscheck> I was under the impression that we only really care about that-thing-that-merges-next. 16:38:29 <jeblair> krotscheck: https://jenkins03.openstack.org/job/gate-diskimage-builder-python26/477/parameters/ 16:38:33 <krotscheck> Or do I misunderstand? 16:38:36 <jeblair> krotscheck: that's a change in the gate pipeline right now 16:38:47 <jeblair> krotscheck: ZUUL_CHANGE_IDS = 153876,1 153742,1 152092,4 154042,2 153041,1 148436,5 148437,6 153451,4 154045,1 16:38:55 <jeblair> krotscheck: all of those changes are being tested together 16:39:15 <yolanda> jeblair , so it's considering master but adding all the changes that will be affecting and merge to master in the future? 16:39:30 <jeblair> krotscheck: more or less -- it serializes the dependencies 16:39:36 <jeblair> yolanda: yep 16:39:40 <yolanda> ok, got it 16:39:52 <krotscheck> Well, that was enlightening. 16:39:52 <yolanda> that's even better, so we don't fall into race conditions 16:40:16 <jeblair> yep. and i'm almost done adding support for Depends-On in commit messages, so this can even work in the check pipeline 16:40:30 <jeblair> (you can have a client change that Dpends-On: a server change and they will always be tested together) 16:40:40 <krotscheck> Oh, nice. 16:40:42 <rcarrillocruz> nice 16:40:45 <mrmartin> awesome 16:40:49 <yolanda> useful! 16:41:05 <krotscheck> Alright! yolanda: anything else? 16:41:12 <yolanda> done 16:41:22 <yolanda> i'll amend the spec and i hope to find some hole to work on 16:42:06 <krotscheck> Cool 16:42:13 <krotscheck> #topic In Progress (krotscheck) 16:42:32 <krotscheck> I did a bunch of OAuth things, looks like I have one more thing to test. 16:42:41 <krotscheck> I did a bit of work on notifications, and did a bunch of email rebasing. 16:43:03 <krotscheck> But no actual progress on those. Hoping to get back to those this week and (optimally) land email. 16:43:27 <krotscheck> No progress on storyboard-dev.openstack.org, but it’s on my list. 16:43:36 <krotscheck> (that requires puppet changes) 16:43:50 <krotscheck> #topic In Progress (rcarrillocruz) 16:44:25 <rcarrillocruz> the notification hook now passes on previous resource state 16:44:34 <krotscheck> Which is AWESOME. 16:44:40 <rcarrillocruz> with that landed (about an hour ago), i can continue doing the replay/reconnect piece 16:44:49 <krotscheck> Nice. 16:45:34 <rcarrillocruz> i also looked at the ops side of allowing websockets with Apache, I'm hoping to send concurrent changes this week to etherpad and storyboard manifests (which both use websockts, primer with SocketIO latter with Tornado) 16:47:08 <krotscheck> Neat. 16:47:10 <krotscheck> Anything else? 16:48:04 <krotscheck> #topic In Progress (jedimike) 16:48:09 <krotscheck> He’s… not around. 16:48:22 <krotscheck> #topic In Progress (NikitaKonovalov) 16:48:30 <krotscheck> Last one’s the best one! 16:49:09 <NikitaKonovalov> so I've spent quite a lot of time on looking through API an setting error/succes codes everywhere 16:49:48 <NikitaKonovalov> and there is a change to the client to support exceptions 16:49:52 <NikitaKonovalov> https://review.openstack.org/#/c/153217/ this onw 16:49:57 <NikitaKonovalov> *one 16:50:41 <krotscheck> That seems sane. Is there test coverage on that code already? 16:50:54 <rcarrillocruz> i agree about non monkey patching... that can lead to difficult things to debug if there are problems with the code 16:51:28 <NikitaKonovalov> krotscheck: I'll do unit tests, but once we have intergration tests against api then we are talking about coverage :) 16:51:48 <krotscheck> True. 16:52:02 <krotscheck> I dunno, when I think code coverage I think back to my java days and cobertura. 16:52:30 <NikitaKonovalov> some small improvements https://review.openstack.org/#/c/152515/ and https://review.openstack.org/#/c/153968/ 16:53:02 <NikitaKonovalov> I actually hope to get back to SDK and cover the rest of endpoints asap 16:53:45 <krotscheck> Cool. 16:53:55 <krotscheck> Anything else? We might actually get around to Open Discussion this time :) 16:54:16 <NikitaKonovalov> no more updates breom me 16:54:21 <NikitaKonovalov> *from 16:55:10 <krotscheck> Cool 16:55:13 <krotscheck> #topic Open Discussion 16:55:16 <krotscheck> Woohoo 16:55:18 <krotscheck> 5 minutes? 16:55:22 <ttx> yay 16:55:28 <rcarrillocruz> that must be a record :D 16:55:33 <krotscheck> I know, right? 16:55:37 <krotscheck> What’s up, veryone? 16:56:11 <yolanda> i filed a vbrownbag talk about storyboard for Vancouver 16:56:18 <yolanda> let's hope they accept it 16:56:23 <krotscheck> Neat! 16:56:36 <yolanda> there is a "Women of Openstack" journey so I bet they will 16:56:39 <ttx> I talked about Storyboard at FOSDEM, good reception 16:56:41 <krotscheck> I just got an SB talk through HP Talk Preapproval. 16:57:02 <krotscheck> ttx: YEah, I actually heard good things about that from nibalizer 16:57:36 <ttx> it was just 5 min, just to make it appear on the radar 16:57:52 <ttx> In other news, Launchpad is actually getting proper git support 16:58:16 <ttx> but they still don't plan to fix the blueprints side 16:58:35 <krotscheck> Define “proper”? 16:58:36 <yolanda> do they have someone working on launchpad? 16:59:00 <ttx> yolanda: yes. The incredible cjwatson 16:59:39 <yolanda> that's more than when i was there 16:59:44 <ttx> yolanda: actually Canonical has a lot of needs for Lp (hardly surprising) so they realized they couldn't let it die 16:59:57 <rcarrillocruz> oh? 17:00:01 <krotscheck> Time’s up, everyone. Have a great day! 17:00:04 <ttx> proper as in "same level of support as bzr" 17:00:06 <krotscheck> #endmeeting