Tuesday, 2014-10-21

*** mfer has joined #storyboard01:16
*** mfer has quit IRC02:02
*** mfer has joined #storyboard02:06
*** mfer has quit IRC03:07
*** jang1 has joined #storyboard04:53
*** jang1 has quit IRC04:54
*** wendar_ is now known as wendar05:03
*** alexismonville has joined #storyboard05:41
*** alexismonville has quit IRC05:45
*** reed has quit IRC05:47
*** k4n0 has joined #storyboard05:50
*** alexismonville has joined #storyboard06:25
*** alexismonville has quit IRC06:26
*** jtomasek has joined #storyboard06:56
*** alexismonville has joined #storyboard07:05
*** MaxV has joined #storyboard07:23
*** jcoufal has joined #storyboard07:50
*** jedimike has joined #storyboard08:03
openstackgerrityolanda.robla proposed a change to openstack-infra/storyboard-webclient: Allow assigning tasks without expanding the edition box  https://review.openstack.org/12564308:24
*** openstackgerrit has quit IRC08:34
*** openstackgerrit has joined #storyboard08:35
jedimikehey storyboard peeps! storyboard.openstack.org is showing no stories for me at all :(08:55
ttxjedimike: it certainly shows less stories than it should09:28
jedimikettx, yolanda was saying it's something to do with stories being in a todo state, but the list filtering on pretty much everything but todo09:28
ttxthat sounds like a fair analysis09:29
ttxkrotscheck: ^09:29
jedimikettx, so I'm setting up storyboard locally, but i'm not too familiar with pecan and I can't quite see how to get the app running... `pecan serve config.py` is suggested by the pecan docs, but the storyboard app doesn't have one. Any pointers?09:32
ttxI follow http://ci.openstack.org/storyboard/install/development.html09:33
jedimikeah, thanks :)09:33
*** jcoufal has quit IRC10:10
*** jcoufal has joined #storyboard10:38
*** jcoufal has quit IRC10:39
*** jcoufal has joined #storyboard10:39
*** miqui has quit IRC11:24
*** k4n0 has quit IRC11:37
*** k4n0 has joined #storyboard11:37
*** k4n0 has quit IRC11:46
*** k4n0 has joined #storyboard11:46
*** jedimike has quit IRC12:13
*** k4n0 has quit IRC12:28
*** miqui has joined #storyboard12:56
*** jedimike has joined #storyboard13:17
*** cody-somerville has quit IRC14:03
*** mfer has joined #storyboard14:05
*** cody-somerville has joined #storyboard14:16
*** reed has joined #storyboard14:26
krotscheckjedimike: you have more details on your lack of tasks?14:31
jedimikekrotscheck, if i go to https://storyboard.openstack.org/#!/story/list , I see "No stories found" :( I was hoping to find a small talk to start with today14:33
jedimike*task, not talk14:33
krotscheckjedimike: Odd. I’m seeing a list.14:33
krotscheckCan you check your network log and see if there’s an HTTP request that’s failing?14:34
krotscheck(in chrome that’s under developer tools)14:34
jedimikekrotscheck, https://storyboard.openstack.org/config.json - 40414:34
jedimikeeverything else is 200 or 30414:35
jedimikehttps://storyboard.openstack.org/api/v1/stories?limit=10&sort_dir=asc&sort_field=id&status=active shows "<result />"14:36
krotscheckjedimike: Yeah, I’m getting that too.14:38
krotscheckjedimike: Hey, can you do me a favor and go into preferences and set your page size to 100?14:39
krotscheckThen go back and look again?14:39
jedimikekrotscheck, that's showing some stories now14:39
* krotscheck facepalms.14:39
krotscheckDagnabbit14:39
krotscheckOuter join bug :/14:40
jedimikeah14:40
jedimikemaybe one for me to start with?14:40
krotscheckSure, why not :)14:40
jedimikealrighty :D14:40
krotscheckWe’ve even got lots of test coverage on that endpoint!14:41
krotscheck(as of last week)14:41
*** reed has quit IRC14:43
*** reed has joined #storyboard14:43
jedimikekrotscheck, is the bug where you have stories with no tasks?14:44
jedimikepecan and sqlalchemy are new to me ;)14:44
krotscheckjedimike: No, I think I fixed that one. I feel this one happens when you filter on a task status.14:45
krotscheckjedimike: You can probably ignore pecan on this one. Most of the code should be in storyboard/db/api14:45
krotscheck(and storyboard/tests/db/api14:45
jedimikeok, reading through...14:48
krotscheckjedimike: The tricky thing to notice is that there’s actually two models for “Story” in our system. One’s a pure database table abstraction (it’s named Story), and the other’s complex join that’s masquerading as a database table abstraction (it’s called StorySummary). To search on story status, it’s the latter that’s being queried, and I think that’s where the problem lies.14:52
*** alexismonville has quit IRC14:52
jedimikekrotscheck, ah, now that bit I'd figured out because I hacked similar "queryset as table" support into the django orm... I'm just having some difficulty adjusting my eyes to sqlalchemy's querying and filtering14:53
*** wenlock has joined #storyboard14:53
krotscheckAh, well then. I’ll stop mansplaining things and let you do your thing :)14:53
jedimikehaha :) could you give me some data that triggers the bug? consider it your "help the newbie" good deed of the day :)14:54
krotscheckMaaaaaybe?14:55
krotscheckLemme go look14:55
jedimikei'll go enable query logging here so i can see what sql is getting run and experiment :)14:56
openstackgerritMichael Krotscheck proposed a change to openstack-infra/storyboard: [WIP] Left Join bug when filtering for StorySummary Status  https://review.openstack.org/12992915:00
krotscheckjedimike: ^^15:01
krotscheckSo, that’s a functional test based on the existing data.15:01
jedimikekrotscheck, thank you!15:01
krotscheckWhat it’s trying to do is get the first page of all invalid stories, and only stories #3, 4, 5 are invalid. With a page size of 2, the result set is actually coming back with #1 and #2.15:02
*** alexismonville has joined #storyboard15:02
krotscheckBut since they’re not invalid, it’s not showing them.15:02
krotscheckIf you increase the page size to 5, you get 3 stories.15:02
jedimikeright, so that sounds like the limit is applied in the wrong place, like we're getting back a queryset, limiting it, then filtering it15:03
krotscheckYep.15:03
jedimikekrotscheck, what's the tox incantation to run the tests?15:09
krotscheckjedimike: tox -epy2715:09
jedimikeah of course15:10
krotscheckjedimike: If you want something meatier to work on next, you can port us to python 3 :)15:12
jedimikekrotscheck, or how about django? I know that orm better than is healthy! *ducks and runs away*15:12
krotscheckjedimike: StoryBoard actually started as a Django app :)15:13
jedimikei thought it might have from the users table!15:13
jedimikeis_staff seemed familiar15:13
krotscheckjedimike: Yep.15:13
krotscheckIncidentally, we should remove that.15:13
jedimikekrotscheck, ok, I see the bug now, just getting tests and environments set up15:13
*** jcoufal has quit IRC15:16
*** jedimike has quit IRC15:18
*** jedimike has joined #storyboard15:20
krotscheckafk, gonna shower and commute.15:23
*** cody-somerville has quit IRC15:26
*** ilyashakhat has quit IRC15:57
jedimikehmmm, anyone seen errors like this trying to run the storyboard tests? http://paste.openstack.org/show/122727/16:09
*** cody-somerville has joined #storyboard16:10
*** alexismonville has quit IRC16:10
jedimikeit's always on that same migration too16:21
jedimikealthough that could be coincidence16:22
*** yolanda has joined #storyboard16:26
yolandahi16:26
jedimikehi yolanda :)16:26
jedimikeso our guru krotscheck will be back soon after his commute16:26
yolandaso tests are runing for me16:27
jedimikei must have missed a step somewhere16:27
jedimikejust really strange that the *migrations* time out!16:27
krotscheckGuru’s a very… generous term.16:29
krotscheckhaven’t seen them. You’ve got a local mysql5.6 database with openstack_citest as a user?16:29
jedimikekrotscheck, 5.5 server, openstack_citest as a user with permission to create databases called storyboard*16:30
krotscheckHrm.16:31
jedimikewhich I now have 159 of, btw16:31
krotscheckWell, that _should_ work.16:31
krotscheckYeah, those only get cleaned up when the tests pass16:31
* krotscheck files that as a bug.16:32
yolandakrotschek, sometimes... i had to remove once a lot of storyboard databases, maybe because of interrupted tests16:32
yolandabtw, krotschek, we found that all stories in storyboard had gone, are you aware of it?16:32
yolandahaving some error now16:32
yolandaProgrammingError: (ProgrammingError) (1146, "Table 'storyboard_test_db_e2dba411_84ca_46d9_bf9e_eda1533a526f.project_groups' doesn't exist") 'INSERT INTO project_groups (created_at, updated_at, id, name, title) VALUES (%s, %s, %s, %s, %s)' ((datetime.datetime(2014, 10, 21, 16, 32, 8, 323762), None, 1, 'projectgroup1', 'C Sort - foo'), (datetime.datetime(2014, 10, 21, 16, 32, 8, 323768), None, 2, 'projectgroup2', 'B Sort - bar'), (datetime.datetime(20116:33
yolanda4, 10, 21, 16, 32, 8, 323770), None, 3, 'projectgroup3', 'A Sort - foo'))16:33
jedimikeyolanda, i see something similar, but it says the "story" table doesn't exist16:33
krotscheckyolanda: Yep - jedimike is working on it, we’ve got a functional test that triggers the case here: https://review.openstack.org/#/c/129929/16:33
jedimikeand ^^ is the bug I'm fixing :)16:34
yolanda-cool16:34
krotscheckSeems odd for that to just start showing up for you, yolanda. What version of mysql are you running?16:35
yolandakrotschek, it showed to me when i did a tox -e py2716:35
yolandarunning normally it works16:35
jedimikekrotscheck, and sometimes i see the same type of error, but it complains about the story table not existing16:35
yolandai'll remove folder an recreate so all venv is installed again16:36
krotscheckDoing the same.16:36
*** alexismonville has joined #storyboard16:39
krotscheckWell, I’m getting test failures, and mysql really doesn’t like it if I have a breakpoint in another process, but I’m not seeing that migratino error y’all are.16:40
yolandakrotschek, no errors for me16:45
yolandaanother error now16:51
yolanda  File "/home/yolanda/development/storyboard/.tox/py27/local/lib/python2.7/site-packages/oslo/db/sqlalchemy/exc_filters.py", line 235, in _raise_mysql_table_doesnt_exist_asis16:51
yolanda    raise error16:51
yolandaProgrammingError: (ProgrammingError) (1146, "Table 'storyboard_test_db_47e3fa80_425d_44e4_81ca_a41d7178fc0e.users' doesn't exist") 'INSERT INTO users (created_at, updated_at, id, username, full_name, email, openid, is_staff, is_active, is_superuser, last_login, enable_login) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)' ((datetime.datetime(2014, 10, 21, 16, 49, 31, 960874), None, 1, 'superuser', 'Super User', 'superuser@example.com', None,16:51
yolanda 0, 1, 1, None, 1), (datetime.datetime(2014, 10, 21, 16, 49, 31, 960880), None, 2, 'regularuser', 'Regular User', 'regularuser@example.com', None, 0, 1, 0, None, 1))16:51
yolandaso for me it looks as random errors16:51
jedimikeyolanda, krotscheck, i think this is a race condition somewhere. If i don't run the tests in parallel, they seem to be passing16:51
krotscheckThat suggests that the test database session is handled as a singleton, and the mock data load occasionally encounters a case where a different test has cleaned up the table.16:53
jedimikemy totally uninformed guess is that two sets of tests are using the same db16:53
krotscheckYep.16:53
krotscheckThat16:53
krotscheckOur DB abstractino needs quite a bit of help anyway.16:53
krotscheckLike, hey, how about we create a session per request instead of per query?16:53
krotscheckMeeting. afk16:56
jedimikeok, confirmed, this is a problem running tests in parallel, running them sequentially, everything passes, just slowly :)16:58
*** timrc has joined #storyboard17:08
cody-somervilleCan storyboard track tasks against code branches/series like you can in launchpad?17:09
*** SotK has quit IRC17:38
*** MaxV has quit IRC17:39
*** mfer has quit IRC17:49
*** jedimike has quit IRC17:51
*** mfer has joined #storyboard17:52
krotscheckcody-somerville: Not yet.18:09
krotscheckI think zaro was working on something clsoe to that.18:09
krotscheckWait, lemmen answer that question in a different way:18:15
krotscheckcody-somerville: It will if you build it!18:15
persiaIs there documentation of how that would work?  I had imagined it only tracking candidates pushed to gerrit somehow.18:17
krotscheckpersia: I think so - cody-somerville, did you write the documentation for that yet? ;)18:18
cody-somervilleHowever it works for Launchpad would be great.18:18
krotscheckYay rebuilding launchpad!18:19
krotscheckBecause we want storyboard to work just like launchpad!18:19
persiaThe semantics are entirely different in launchpad though.  "Branch" means a different thing, etc.18:19
*** mfer has quit IRC18:19
cody-somervilleSo real use case is to be able to easily track backporting of fixes to stable releases18:21
persiaLooking at launchpad, the way it seems to work is that if LP is hosting a bzr branch (including git imports) that addresses the issue, it reports it against that branch.18:21
cody-somervilleI think it's actually based on the series, not the branches18:23
persiaThat's a different LP interface, and probably a saner one to model.18:23
persiaBut it requires hardcoding metainformation on blessed series, and then tying them to appropriate sources, or there being some manifest somewhere from which this information could be generated.18:24
cody-somervilleIt's not as complicated for projects as it is for distros18:26
persiaRight, but the data still has to live somewhere, and needs an ACL, etc.18:28
krotscheckNikitaKonovalov: Responses for you on https://review.openstack.org/#/c/128487/18:34
*** alexismonville has quit IRC18:35
openstackgerritMichael Krotscheck proposed a change to openstack-infra/storyboard: Plugins may now register their own user preferences  https://review.openstack.org/12906118:37
openstackgerritMichael Krotscheck proposed a change to openstack-infra/storyboard: Plugins may now register cron workers.  https://review.openstack.org/12960918:38
*** alexismonville has joined #storyboard18:46
*** jedimike has joined #storyboard18:53
*** alexismonville has quit IRC19:02
*** mfer has joined #storyboard19:03
*** cody-somerville has quit IRC19:13
*** jtomasek has quit IRC19:22
*** MaxV has joined #storyboard19:28
openstackgerritMike Heald proposed a change to openstack-infra/storyboard: Paginate after filtering query  https://review.openstack.org/13001619:36
krotscheckjedimike: Oh, that was simple.19:42
krotscheckThanks!19:42
jedimikekrotscheck, no problem :) sorry it took so long, first venture into sqlalchemy, getting env set up for storyboard, and figuring out that test runner weirdness took far more time than actually fixing it :D19:43
*** yolanda has quit IRC19:43
krotscheckjedimike: That’s good, actually. Means the balance of difficulty was pretty good.19:47
ttxapproved19:56
krotscheckjedimike: I can abandon mine, yes?19:57
jedimikekrotscheck, yes19:57
zarokrotscheck, persia : i'm not sure how the state transitions would translate in gerrit->stories.19:59
openstackgerritA change was merged to openstack-infra/storyboard: Paginate after filtering query  https://review.openstack.org/13001620:06
*** cody-somerville has joined #storyboard20:09
krotscheckzaro: The ideas that ttx had is that a gerrit patch would translate to a task on a story. So Gerrit would see a patch, and either create a task under the referenced story, or update the status of the task to ‘In Review’ or ‘Merged’20:15
krotscheckA story’s state is automatically inferred from its tasks.20:15
*** miqui has quit IRC20:30
*** jedimike has quit IRC20:38
persiaMy memory was that an individual commit carried metadata about the task status, so any commit that landed in gerrit would adjust status for the target of the candidate patch series.20:41
*** wenlock has quit IRC21:02
*** mfer has quit IRC21:02
*** MaxV has quit IRC21:55
*** cody-somerville has quit IRC22:10
*** cody-somerville has joined #storyboard22:14
*** wenlock has joined #storyboard22:36
*** wenlock has quit IRC22:52
*** MaxV has joined #storyboard23:06
*** MaxV has quit IRC23:10
*** wenlock has joined #storyboard23:11
*** wenlock has quit IRC23:30

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!