*** mfer has joined #storyboard | 01:16 | |
*** mfer has quit IRC | 02:02 | |
*** mfer has joined #storyboard | 02:06 | |
*** mfer has quit IRC | 03:07 | |
*** jang1 has joined #storyboard | 04:53 | |
*** jang1 has quit IRC | 04:54 | |
*** wendar_ is now known as wendar | 05:03 | |
*** alexismonville has joined #storyboard | 05:41 | |
*** alexismonville has quit IRC | 05:45 | |
*** reed has quit IRC | 05:47 | |
*** k4n0 has joined #storyboard | 05:50 | |
*** alexismonville has joined #storyboard | 06:25 | |
*** alexismonville has quit IRC | 06:26 | |
*** jtomasek has joined #storyboard | 06:56 | |
*** alexismonville has joined #storyboard | 07:05 | |
*** MaxV has joined #storyboard | 07:23 | |
*** jcoufal has joined #storyboard | 07:50 | |
*** jedimike has joined #storyboard | 08:03 | |
openstackgerrit | yolanda.robla proposed a change to openstack-infra/storyboard-webclient: Allow assigning tasks without expanding the edition box https://review.openstack.org/125643 | 08:24 |
---|---|---|
*** openstackgerrit has quit IRC | 08:34 | |
*** openstackgerrit has joined #storyboard | 08:35 | |
jedimike | hey storyboard peeps! storyboard.openstack.org is showing no stories for me at all :( | 08:55 |
ttx | jedimike: it certainly shows less stories than it should | 09:28 |
jedimike | ttx, yolanda was saying it's something to do with stories being in a todo state, but the list filtering on pretty much everything but todo | 09:28 |
ttx | that sounds like a fair analysis | 09:29 |
ttx | krotscheck: ^ | 09:29 |
jedimike | ttx, 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 |
ttx | I follow http://ci.openstack.org/storyboard/install/development.html | 09:33 |
jedimike | ah, thanks :) | 09:33 |
*** jcoufal has quit IRC | 10:10 | |
*** jcoufal has joined #storyboard | 10:38 | |
*** jcoufal has quit IRC | 10:39 | |
*** jcoufal has joined #storyboard | 10:39 | |
*** miqui has quit IRC | 11:24 | |
*** k4n0 has quit IRC | 11:37 | |
*** k4n0 has joined #storyboard | 11:37 | |
*** k4n0 has quit IRC | 11:46 | |
*** k4n0 has joined #storyboard | 11:46 | |
*** jedimike has quit IRC | 12:13 | |
*** k4n0 has quit IRC | 12:28 | |
*** miqui has joined #storyboard | 12:56 | |
*** jedimike has joined #storyboard | 13:17 | |
*** cody-somerville has quit IRC | 14:03 | |
*** mfer has joined #storyboard | 14:05 | |
*** cody-somerville has joined #storyboard | 14:16 | |
*** reed has joined #storyboard | 14:26 | |
krotscheck | jedimike: you have more details on your lack of tasks? | 14:31 |
jedimike | krotscheck, 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 today | 14:33 |
jedimike | *task, not talk | 14:33 |
krotscheck | jedimike: Odd. I’m seeing a list. | 14:33 |
krotscheck | Can 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 |
jedimike | krotscheck, https://storyboard.openstack.org/config.json - 404 | 14:34 |
jedimike | everything else is 200 or 304 | 14:35 |
jedimike | https://storyboard.openstack.org/api/v1/stories?limit=10&sort_dir=asc&sort_field=id&status=active shows "<result />" | 14:36 |
krotscheck | jedimike: Yeah, I’m getting that too. | 14:38 |
krotscheck | jedimike: Hey, can you do me a favor and go into preferences and set your page size to 100? | 14:39 |
krotscheck | Then go back and look again? | 14:39 |
jedimike | krotscheck, that's showing some stories now | 14:39 |
* krotscheck facepalms. | 14:39 | |
krotscheck | Dagnabbit | 14:39 |
krotscheck | Outer join bug :/ | 14:40 |
jedimike | ah | 14:40 |
jedimike | maybe one for me to start with? | 14:40 |
krotscheck | Sure, why not :) | 14:40 |
jedimike | alrighty :D | 14:40 |
krotscheck | We’ve even got lots of test coverage on that endpoint! | 14:41 |
krotscheck | (as of last week) | 14:41 |
*** reed has quit IRC | 14:43 | |
*** reed has joined #storyboard | 14:43 | |
jedimike | krotscheck, is the bug where you have stories with no tasks? | 14:44 |
jedimike | pecan and sqlalchemy are new to me ;) | 14:44 |
krotscheck | jedimike: No, I think I fixed that one. I feel this one happens when you filter on a task status. | 14:45 |
krotscheck | jedimike: You can probably ignore pecan on this one. Most of the code should be in storyboard/db/api | 14:45 |
krotscheck | (and storyboard/tests/db/api | 14:45 |
jedimike | ok, reading through... | 14:48 |
krotscheck | jedimike: 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 IRC | 14:52 | |
jedimike | krotscheck, 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 filtering | 14:53 |
*** wenlock has joined #storyboard | 14:53 | |
krotscheck | Ah, well then. I’ll stop mansplaining things and let you do your thing :) | 14:53 |
jedimike | haha :) could you give me some data that triggers the bug? consider it your "help the newbie" good deed of the day :) | 14:54 |
krotscheck | Maaaaaybe? | 14:55 |
krotscheck | Lemme go look | 14:55 |
jedimike | i'll go enable query logging here so i can see what sql is getting run and experiment :) | 14:56 |
openstackgerrit | Michael Krotscheck proposed a change to openstack-infra/storyboard: [WIP] Left Join bug when filtering for StorySummary Status https://review.openstack.org/129929 | 15:00 |
krotscheck | jedimike: ^^ | 15:01 |
krotscheck | So, that’s a functional test based on the existing data. | 15:01 |
jedimike | krotscheck, thank you! | 15:01 |
krotscheck | What 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 #storyboard | 15:02 | |
krotscheck | But since they’re not invalid, it’s not showing them. | 15:02 |
krotscheck | If you increase the page size to 5, you get 3 stories. | 15:02 |
jedimike | right, so that sounds like the limit is applied in the wrong place, like we're getting back a queryset, limiting it, then filtering it | 15:03 |
krotscheck | Yep. | 15:03 |
jedimike | krotscheck, what's the tox incantation to run the tests? | 15:09 |
krotscheck | jedimike: tox -epy27 | 15:09 |
jedimike | ah of course | 15:10 |
krotscheck | jedimike: If you want something meatier to work on next, you can port us to python 3 :) | 15:12 |
jedimike | krotscheck, or how about django? I know that orm better than is healthy! *ducks and runs away* | 15:12 |
krotscheck | jedimike: StoryBoard actually started as a Django app :) | 15:13 |
jedimike | i thought it might have from the users table! | 15:13 |
jedimike | is_staff seemed familiar | 15:13 |
krotscheck | jedimike: Yep. | 15:13 |
krotscheck | Incidentally, we should remove that. | 15:13 |
jedimike | krotscheck, ok, I see the bug now, just getting tests and environments set up | 15:13 |
*** jcoufal has quit IRC | 15:16 | |
*** jedimike has quit IRC | 15:18 | |
*** jedimike has joined #storyboard | 15:20 | |
krotscheck | afk, gonna shower and commute. | 15:23 |
*** cody-somerville has quit IRC | 15:26 | |
*** ilyashakhat has quit IRC | 15:57 | |
jedimike | hmmm, anyone seen errors like this trying to run the storyboard tests? http://paste.openstack.org/show/122727/ | 16:09 |
*** cody-somerville has joined #storyboard | 16:10 | |
*** alexismonville has quit IRC | 16:10 | |
jedimike | it's always on that same migration too | 16:21 |
jedimike | although that could be coincidence | 16:22 |
*** yolanda has joined #storyboard | 16:26 | |
yolanda | hi | 16:26 |
jedimike | hi yolanda :) | 16:26 |
jedimike | so our guru krotscheck will be back soon after his commute | 16:26 |
yolanda | so tests are runing for me | 16:27 |
jedimike | i must have missed a step somewhere | 16:27 |
jedimike | just really strange that the *migrations* time out! | 16:27 |
krotscheck | Guru’s a very… generous term. | 16:29 |
krotscheck | haven’t seen them. You’ve got a local mysql5.6 database with openstack_citest as a user? | 16:29 |
jedimike | krotscheck, 5.5 server, openstack_citest as a user with permission to create databases called storyboard* | 16:30 |
krotscheck | Hrm. | 16:31 |
jedimike | which I now have 159 of, btw | 16:31 |
krotscheck | Well, that _should_ work. | 16:31 |
krotscheck | Yeah, those only get cleaned up when the tests pass | 16:31 |
* krotscheck files that as a bug. | 16:32 | |
yolanda | krotschek, sometimes... i had to remove once a lot of storyboard databases, maybe because of interrupted tests | 16:32 |
yolanda | btw, krotschek, we found that all stories in storyboard had gone, are you aware of it? | 16:32 |
yolanda | having some error now | 16:32 |
yolanda | ProgrammingError: (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(201 | 16:33 |
yolanda | 4, 10, 21, 16, 32, 8, 323770), None, 3, 'projectgroup3', 'A Sort - foo')) | 16:33 |
jedimike | yolanda, i see something similar, but it says the "story" table doesn't exist | 16:33 |
krotscheck | yolanda: 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 |
jedimike | and ^^ is the bug I'm fixing :) | 16:34 |
yolanda | -cool | 16:34 |
krotscheck | Seems odd for that to just start showing up for you, yolanda. What version of mysql are you running? | 16:35 |
yolanda | krotschek, it showed to me when i did a tox -e py27 | 16:35 |
yolanda | running normally it works | 16:35 |
jedimike | krotscheck, and sometimes i see the same type of error, but it complains about the story table not existing | 16:35 |
yolanda | i'll remove folder an recreate so all venv is installed again | 16:36 |
krotscheck | Doing the same. | 16:36 |
*** alexismonville has joined #storyboard | 16:39 | |
krotscheck | Well, 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 |
yolanda | krotschek, no errors for me | 16:45 |
yolanda | another error now | 16: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_asis | 16:51 |
yolanda | raise error | 16:51 |
yolanda | ProgrammingError: (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 |
yolanda | so for me it looks as random errors | 16:51 |
jedimike | yolanda, krotscheck, i think this is a race condition somewhere. If i don't run the tests in parallel, they seem to be passing | 16:51 |
krotscheck | That 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 |
jedimike | my totally uninformed guess is that two sets of tests are using the same db | 16:53 |
krotscheck | Yep. | 16:53 |
krotscheck | That | 16:53 |
krotscheck | Our DB abstractino needs quite a bit of help anyway. | 16:53 |
krotscheck | Like, hey, how about we create a session per request instead of per query? | 16:53 |
krotscheck | Meeting. afk | 16:56 |
jedimike | ok, confirmed, this is a problem running tests in parallel, running them sequentially, everything passes, just slowly :) | 16:58 |
*** timrc has joined #storyboard | 17:08 | |
cody-somerville | Can storyboard track tasks against code branches/series like you can in launchpad? | 17:09 |
*** SotK has quit IRC | 17:38 | |
*** MaxV has quit IRC | 17:39 | |
*** mfer has quit IRC | 17:49 | |
*** jedimike has quit IRC | 17:51 | |
*** mfer has joined #storyboard | 17:52 | |
krotscheck | cody-somerville: Not yet. | 18:09 |
krotscheck | I think zaro was working on something clsoe to that. | 18:09 |
krotscheck | Wait, lemmen answer that question in a different way: | 18:15 |
krotscheck | cody-somerville: It will if you build it! | 18:15 |
persia | Is there documentation of how that would work? I had imagined it only tracking candidates pushed to gerrit somehow. | 18:17 |
krotscheck | persia: I think so - cody-somerville, did you write the documentation for that yet? ;) | 18:18 |
cody-somerville | However it works for Launchpad would be great. | 18:18 |
krotscheck | Yay rebuilding launchpad! | 18:19 |
krotscheck | Because we want storyboard to work just like launchpad! | 18:19 |
persia | The semantics are entirely different in launchpad though. "Branch" means a different thing, etc. | 18:19 |
*** mfer has quit IRC | 18:19 | |
cody-somerville | So real use case is to be able to easily track backporting of fixes to stable releases | 18:21 |
persia | Looking 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-somerville | I think it's actually based on the series, not the branches | 18:23 |
persia | That's a different LP interface, and probably a saner one to model. | 18:23 |
persia | But 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-somerville | It's not as complicated for projects as it is for distros | 18:26 |
persia | Right, but the data still has to live somewhere, and needs an ACL, etc. | 18:28 |
krotscheck | NikitaKonovalov: Responses for you on https://review.openstack.org/#/c/128487/ | 18:34 |
*** alexismonville has quit IRC | 18:35 | |
openstackgerrit | Michael Krotscheck proposed a change to openstack-infra/storyboard: Plugins may now register their own user preferences https://review.openstack.org/129061 | 18:37 |
openstackgerrit | Michael Krotscheck proposed a change to openstack-infra/storyboard: Plugins may now register cron workers. https://review.openstack.org/129609 | 18:38 |
*** alexismonville has joined #storyboard | 18:46 | |
*** jedimike has joined #storyboard | 18:53 | |
*** alexismonville has quit IRC | 19:02 | |
*** mfer has joined #storyboard | 19:03 | |
*** cody-somerville has quit IRC | 19:13 | |
*** jtomasek has quit IRC | 19:22 | |
*** MaxV has joined #storyboard | 19:28 | |
openstackgerrit | Mike Heald proposed a change to openstack-infra/storyboard: Paginate after filtering query https://review.openstack.org/130016 | 19:36 |
krotscheck | jedimike: Oh, that was simple. | 19:42 |
krotscheck | Thanks! | 19:42 |
jedimike | krotscheck, 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 :D | 19:43 |
*** yolanda has quit IRC | 19:43 | |
krotscheck | jedimike: That’s good, actually. Means the balance of difficulty was pretty good. | 19:47 |
ttx | approved | 19:56 |
krotscheck | jedimike: I can abandon mine, yes? | 19:57 |
jedimike | krotscheck, yes | 19:57 |
zaro | krotscheck, persia : i'm not sure how the state transitions would translate in gerrit->stories. | 19:59 |
openstackgerrit | A change was merged to openstack-infra/storyboard: Paginate after filtering query https://review.openstack.org/130016 | 20:06 |
*** cody-somerville has joined #storyboard | 20:09 | |
krotscheck | zaro: 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 |
krotscheck | A story’s state is automatically inferred from its tasks. | 20:15 |
*** miqui has quit IRC | 20:30 | |
*** jedimike has quit IRC | 20:38 | |
persia | My 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 IRC | 21:02 | |
*** mfer has quit IRC | 21:02 | |
*** MaxV has quit IRC | 21:55 | |
*** cody-somerville has quit IRC | 22:10 | |
*** cody-somerville has joined #storyboard | 22:14 | |
*** wenlock has joined #storyboard | 22:36 | |
*** wenlock has quit IRC | 22:52 | |
*** MaxV has joined #storyboard | 23:06 | |
*** MaxV has quit IRC | 23:10 | |
*** wenlock has joined #storyboard | 23:11 | |
*** wenlock has quit IRC | 23:30 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!