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