18:59:50 <SotK> #startmeeting storyboard
18:59:51 <openstack> Meeting started Wed Jan 10 18:59:50 2018 UTC and is due to finish in 60 minutes.  The chair is SotK. Information about MeetBot at http://wiki.debian.org/MeetBot.
18:59:52 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
18:59:56 <openstack> The meeting name has been set to 'storyboard'
19:00:23 <SotK> #link https://wiki.openstack.org/wiki/Meetings/StoryBoard#Agenda_for_next_meeting Agenda
19:00:31 <SotK> thanks for updating it diablo_rojo :)
19:01:30 <diablo_rojo> No problem :)
19:01:44 <diablo_rojo> I selfishly put a lot of things I was interested in it
19:01:49 <SotK> I'll set a different topic for each of the in-progress items today since I think we have a need for more organised discussion
19:01:54 <SotK> #topic Launchpad Migration
19:02:26 <diablo_rojo> So yeah, actually been doing a lot of stuff here.
19:02:36 <diablo_rojo> Test migrated about a dozen projects over the holidays
19:02:42 <SotK> \o/
19:02:45 <diablo_rojo> Starting to reach out to PTLs now.
19:02:52 <diablo_rojo> Sent off four emails yesterday
19:03:06 <diablo_rojo> Got a response from Tacker saying they will discuss it
19:03:13 <diablo_rojo> So thats cool.
19:03:47 <diablo_rojo> Still chatting a bit with TripleO, but I'm not sure how well that is going so I figured I would kick of Neutrons migration as an alternative 'big' project.
19:03:52 <diablo_rojo> Its taking forever.
19:03:58 <diablo_rojo> But hasnt crashed yet so thats nice.
19:04:19 <SotK> yeah, I think that the speed is going to be very annoying for the bigger projects
19:04:48 <SotK> its mostly constrained by launchpad's API though, so I don't know that there is much we can do
19:05:15 <diablo_rojo> Even if they close bugs they still get migrated right? So its not like there is any way to cut down on the load.
19:05:28 <SotK> yep, everything gets migrated
19:05:44 <diablo_rojo> Yep so not much to do but run it in the background and pray it works.
19:05:52 <persia> It would be possible to set a filter to not migrate, but in practice, the LP API is such that this wouldn't increase speed that much.
19:06:13 <diablo_rojo> Heat's didnt work and I finally piped the output into a file to go through the logs.
19:06:27 <diablo_rojo> persia, quite unfortunate
19:06:51 <diablo_rojo> Zara, SotK either of you ever see a 410: Gone User is suspended error?
19:07:16 <diablo_rojo> I wondered if it had something to do with a lp user being booted or something?
19:07:20 <diablo_rojo> No idea really.
19:07:40 <mugsie> diablo_rojo: Designate discussed it today in our meeting
19:07:47 <mugsie> (the migration)
19:08:02 <SotK> I haven't, probably something we should catch and handle
19:08:07 <SotK> shouldn't be too difficult to add
19:08:10 <diablo_rojo> Oh hello mugsie :)
19:08:11 <mugsie> I am going to boot a test instance, and let people play with our data in it and see what they think
19:08:21 * fungi is around if needed, trying to keep up, but mostly patching servers
19:08:22 <diablo_rojo> mugsie, sounds good :)
19:08:29 <Zara> yay! :)
19:09:07 <diablo_rojo> fungi, have you ever seen anything like the issue I  hit with heat?
19:09:20 <Zara> I think I have seen that error before, and yeah it's from a user being banned iirc
19:09:24 <diablo_rojo> can talk more about it later when you have free time if now's not good
19:09:27 <Zara> the script should account for it.
19:09:30 <mugsie> who is a nice infra-root / storyboard person to ask about a santitized dump of production data?
19:09:48 <Zara> (er I mean in the future, it doesn't yet account for it but it should do really)
19:09:55 <fungi> diablo_rojo: as far as migration speed... remember the import is idempotent and can be rerun incrementally, so it's just the final run which needs to complete before they switch but you can run multiple times prior to that
19:10:33 <diablo_rojo> fungi, can you get that for mugsie? or maybe clarkb?
19:10:59 <fungi> mugsie: sure, i've run them in the past for setting up storyboard-dev (we re-sync that from prod periodically)
19:11:10 <diablo_rojo> Zara, yeah okay I can look into a patch for the migration script for that.
19:11:15 <fungi> manually not automagically
19:11:48 <fungi> and no, i haven't seen the heat error you're referring to (was it quoted in here?) but regardless sounds like a known issuie
19:11:53 <Zara> diablo_rojo: thanks! I think there is a story or task somewhere about handling errors in that script
19:12:05 <mugsie> fungi: thanks :)
19:12:19 <diablo_rojo> Zara, cool, I will see if I can find that.
19:12:28 <fungi> mugsie: there's probably not anything to redact since it uses openids, but i'll double-check
19:12:58 <fungi> session tables and api tokens probably need filtering
19:14:02 <mugsie> I am pretty trustworthy, but yeah, API tokens are probably a bad idea to give me :)
19:14:44 <clarkb> not to interrupt but how terrilble would it be if we rebooted storyboard.o.o and storyboard-dev.o.o in a short bit to pick up kernel patches?
19:14:54 <clarkb> shouldn't be gone for more tha na couple minutes
19:14:59 <SotK> fine by me
19:15:02 <diablo_rojo> FIne by me
19:15:28 <persia> clarkb: A useful and on-topic interruption :)
19:15:38 <fungi> no objection here
19:15:55 <clarkb> ok you'll notice an outage in a few minutes
19:16:07 <Zara> diablo_rojo: ah it was noted in the task notes on 'test i18n' here: https://storyboard.openstack.org/#!/story/2000876
19:16:22 <diablo_rojo> Zara, got it. Thanks!
19:16:43 <Zara> (so task was 4177 made as a result of that one)
19:18:57 <persia> My experience with the LP admins is that they generally only ban folk for either gross miconduct or explicit user request: in the case of 410 errors, the correct behaviour is probably to just not import that user.
19:18:59 <clarkb> should be all done with reboots, thank you
19:19:44 <persia> (in that inviting those who have engaged in gross misconduct isn't best, and creating new accounts for folk that got mad at LP for doing that is likely to annoy them)
19:20:04 <Zara> anything will be better than the current 'script errors and stops'
19:20:05 <SotK> that means we need some kind of fallback user to assign as the creator of things that are being imported in their place
19:20:49 <persia> Is there a standard infra way to define role users that could be leveraged?
19:21:28 * SotK isn't sure, fungi?
19:21:28 <fungi> as in define a special "role user" who acts as a catch-all for importable stories with unimportable creators?
19:21:37 <persia> fungi: Precisely.
19:21:54 <fungi> no precedent i can think of. i'd just wing it
19:22:56 <persia> Should be easy enough for the migration script to check for the existence of a "Launchpad Importer" user and create if it doesn't exist, then to use that.
19:24:06 <SotK> yup
19:24:44 <fungi> odds are they're just junk bugs anyway, but better to remain thorough
19:25:04 <fungi> i know i've gutted and closed out my share of spam bug reports in lp over the years
19:26:11 <persia> Indeed: most likely to be closed junk bugs, opened by the first class of banned users (as the second class usually never logged in, just complained in #launchpad or sent email, so were unlikely to have opened bugs).
19:27:58 <SotK> +1 for being thorough
19:28:41 <SotK> any other migration stuff to mention?
19:29:28 <Zara> thanks for poking everyone, diablo_rojo! :)
19:29:30 <Zara> that's all I got
19:29:38 <diablo_rojo> Zara, no problem :)
19:29:58 <diablo_rojo> I..might be core? Thanks to clarkb's email?
19:30:25 <clarkb> diablo_rojo: I haven't made it official in gerrit yet, but have only heard how good an idea it is so should just go get that done now
19:30:47 <Zara> hahaha
19:30:49 <SotK> \o/ congrats diablo_rojo
19:30:53 <diablo_rojo> Thanks :)
19:30:56 <Zara> congrats!
19:31:13 <SotK> good to have you on the team :)
19:31:34 <diablo_rojo> Happy to help :)
19:31:50 <diablo_rojo> Though we be but small, we are mighty
19:31:54 <diablo_rojo> Or something like that
19:32:06 <Zara> now we can reveal that the promises of glamour and prestige were lies
19:32:33 <clarkb> ok added to storyboard-core and storyboard-webclient-core
19:32:39 <clarkb> diablo_rojo: ^ hav efun :0
19:32:43 <clarkb> wow I fail at typing
19:32:48 <persia> diablo_rojo: Congratulations!
19:33:30 <diablo_rojo> clarkb, lol :)
19:33:34 <diablo_rojo> persia, thanks :)
19:34:12 <Zara> there's also python-storyboardclient
19:35:03 <Zara> (and hm, I watch puppet-storyboard but no privs on that)
19:36:55 <clarkb> oh indded there is a different core for that one, adding now
19:37:03 <clarkb> done
19:37:14 <diablo_rojo> Whoop whoop :)
19:37:18 <Zara> thanks :)
19:37:34 <SotK> thanks clarkb
19:37:55 <SotK> #topic GUI Manual
19:38:09 <SotK> #link https://review.openstack.org/#/c/325474/
19:38:45 <diablo_rojo> So, I think we really need something like this for those that are scared to actually try the tool. Cause I get a lot of questions about how to do things before people even go to try it.
19:39:01 <diablo_rojo> I totally understand how these aren't the easiest to keep up to date though.
19:39:22 <Zara> it's currently inaccurate. once someone sends an accurate version, I would not block that.
19:39:39 <diablo_rojo> Zara, okay cool. I will add updating that to my todo list then.
19:40:06 <Zara> okay. the content hasn't been updated since mid 2016 and it was inaccurate then, so it could be quite a bit of work, but there are detailed review comments at last ! :D
19:40:47 * SotK would also be happy to not block a version that addresses Zara's review comments
19:41:31 <SotK> (though I'd prefer for it to be in openstack-infra/storyboard-webclient, that will mean more work setting up docs generation for that repo)
19:42:11 <Zara> I can see the reasoning for it; personally I'd prefer we got the gui into a state where it didn't need a manual, but I'm happy to go with the community if others want it. but yeah I don't feel comfortable merging it yet.
19:42:20 <persia> As an accurate guide is developed, if something seems particularly awkward, it probably makes sense to just fix it, rather than trying to document around it.  Also, when developing a guide, it is important to use a range of resolutions, as the frameworks move some bits around depending on how the tool is viewed.
19:44:21 <Zara> yeah, in the meantime we have some non-centralized docs (also linked in the review) that might be useful for folk. The blog isn't exactly docs, but it has a lot of screenshots!
19:45:27 <persia> For another project in which I am involved, someone complained about needing to piece together instructions from a collection of blog posts: might just be a presentation thing, but I would be unsurprised if some of the SB audience feared docs-in-blog for some reason.
19:46:17 <Zara> I agree those should make their way somewhere more official. Does mean any docs should mostly be a question of copy-pasting the blogposts though
19:46:22 <SotK> yeah, I'd like to have the "docs" currently on the about page and on the blog consolidated in the documentation in the storyboard repo
19:46:37 <persia> Or maybe the storyboard-webclient repo?
19:47:08 <persia> And, yes, I think the docs-in-blog problem is about the word "blog", rather than the content.
19:47:09 <SotK> I think an explanation of the concepts themselves belongs with the API, since that is the core of storyboard
19:47:15 <persia> Fair.
19:47:19 <SotK> yeah, I agree
19:47:29 <Zara> (the kind of worry I have with inaccurate docs is that is if we have docs saying 'a story is in a project', then we get questions in channel about why stories aren't laid out under projects. stories are cross-project. that's a hard thing to explain.)
19:48:22 <persia> This is part of how the LP API and data model became so messy: preconceptions about relations caused a model that tried to satisfy many expectations (and ended up slow and annoying)
19:49:10 <Zara> the stories-tasks-projects relation is something I find myself explaining over and over again, becuase it's different to other task-trackers (woo cross project!) and it's not immediately obvious.
19:49:29 <persia> If good language about the data model can exist, putting that in authoritative docs may help people understand that "a story has tasks in projects" doesn't mean "only create a story that affects more than one project".
19:50:10 <Zara> we even have diagrams
19:50:11 <persia> Zara: Amusingly, LP itself is one of the most cross-project friendly task trackers available, and theoretically many OpenStack migrants are used to working with LP.
19:50:37 <Zara> #link https://storyboard.openstack.org/#!/story/2000667
19:50:40 <fungi> yes, the cross-projectness of lp was one of the required features we put into the sb spec from the beginning
19:51:13 <SotK> I think its the fact that stories are independent of projects that causes confusion, more than cross-project support specifically
19:51:19 <fungi> as almost no other trackers have similar support for a bug being applicable to multiple projects without ugly hacks like cloning bugs (i'm looking at you, debbugs)
19:51:54 <Zara> SotK: yeah, the two are related imo.
19:52:21 <SotK> people talk about "stories in project" since that is how the data is presented in the UI, but that comes with an implication that stories directly relate to projects (not helped by the fact that they do in many other things)
19:52:47 <SotK> s/projects/a project/
19:52:48 <Zara> and the UI is steadily moving away from that representation aiui
19:53:34 <Zara> possibly complicated by a desire for templates
19:53:35 * persia thinks Fig 3 of story 20000667 is one of the most expressive ways of showing the data model that exists today
19:53:49 <SotK> Zara: hm, I'm not so sure, I don't have any intention to change https://storyboard.openstack.org/#!/project/456 very much for example
19:54:39 <persia> I think UI support for "show all the stories with open tasks against project X" is critical for triagers and patch authors alike.
19:54:58 <SotK> fig 3 is indeed nice
19:55:25 <SotK> #link https://i.imgur.com/Gt31KXM.png Fig 3
19:55:54 <persia> Perhaps better support for taskless stories (with a UI path) might be useful, to help those users that wish to approach from the right on fig 3.
19:56:25 <SotK> persia: I agree, but to someone unfamiliar with the model that page looks a lot like "show all the stories in project X" I suspect
19:56:49 <SotK> and yeah, support for that would probably help
19:57:06 <persia> It does.  I don't know of a way to make it not look like that without making it hard to reach (which would be bad)
19:57:14 <SotK> since I expect it will improve understanding that stories can be detached from projects entirely
19:57:52 <SotK> me neither (or hard to make sense of at a glance, which would also be bad)
19:58:06 <Zara> (also haha memories, I have the original paper draft of fig 3 on my desk rn :D)
19:58:32 <SotK> we are almost out of time, I'm happy to continue discussions in #storyboard if people want
19:58:41 <persia> I also don't really like the idea of "show me all the tasks for project X" as being a first-class view, simply because many tasks don't make sense without the context of a story.
19:58:57 <SotK> +1
19:59:03 <Zara> ime it mainly comes up for specific teams
19:59:08 <Zara> so might be better to do it for teams directly
19:59:18 <Zara> eg: foo-project bugsquash bugs team
19:59:22 <SotK> the current view is the correct one, but sadly is potentially confusing
19:59:29 <SotK> right, -> #storyboard
19:59:33 <SotK> #endmeeting