[10:31]  * tomwardill gets lost in a maze of webhooks
[10:31] <tomwardill> some of these are alike, but not all
[10:42] <cjwatson> Oh it would probably help if the lp-signing charm ran DB migrations, such as the one to create the DB
[10:42] <cjwatson> However I was about to want to change a bit of the schema anyway ...
[10:42] <cjwatson> Quite convenient
[10:42] <tomwardill> hahaha
[10:43] <tomwardill> Ran 1 tests with 0 failures, 0 errors, 0 skipped in 1.176 seconds.
[10:43] <tomwardill> a working lifecycle, notify and webhook test!
[10:44] <cjwatson> for recipes?
[10:45] <tomwardill> registry upload job
[10:45] <tomwardill> with the ObjectModifiedEvent and _do_lifecycle changes you suggested
[10:49] <cjwatson> Ah right, was just wondering how you were managing to test webhooks
[10:49] <cjwatson> Given that we don't have OCI recipe webhooks yet
[10:50] <tomwardill> we do for OCIRecipeBuild
[10:50] <tomwardill> which is enough here
[10:52] <cjwatson> Oh, so we do, ignore me
[10:52] <cjwatson> Completely forgot even doing that myself
[10:53] <tomwardill> hah :)
[10:53] <cjwatson> Top programming tip: base64.b64encode != base64.b64decode
[10:54] <tomwardill> done the same thing, many times :)
[10:54] <tomwardill> i find those really hard to read/parse
[11:01] <cjwatson> https://code.launchpad.net/~cjwatson/lp-signing/+git/lp-signing/+merge/382413   in which Colin cheats at databases
[12:19] <tomwardill> errr... https://pastebin.canonical.com/p/KNRZm3Qwvj/
[12:25] <cjwatson> A single recipe might have multiple registry upload jobs, no?
[12:25] <cjwatson> A single recipe build, even
[12:26] <tomwardill> cjwatson: it can, but it definitely does not in this case (the raising code is: self.assertContentEqual([job], ocibuild.registry_upload_jobs) )
[12:28] <cjwatson> Hopefully pdb will enlighten
[12:29] <tomwardill> yeah, turned out to be an error elsewhere
[12:30] <tomwardill> ironically it was failing in the _run_fails test
[12:30] <tomwardill> but not in a way I wanted
[12:45] <tomwardill> cjwatson: https://code.launchpad.net/~twom/launchpad/+git/launchpad/+merge/381981 is ready again
[12:47] <cjwatson> Thanks, will look
[12:48] <tomwardill> starting to feel a lot more complete now the lifecycle stuff is hooked up
[12:48] <tomwardill> but there is still plenty missing, I'm sure.
[13:18] <tomwardill> it occurs to me that might need a rebase
[13:18]  * tomwardill does that
[13:18] <tomwardill> (first, tea)
[13:23] <tomwardill> it does, it needs teh getFileByName changes
[13:23]  * tomwardill does them
[13:23] <tomwardill> (now, with tea)
[13:29] <cjwatson> ilasc: One remaining comment on https://code.launchpad.net/~ilasc/turnip/+git/turnip/+merge/377045; after that I think it can land, since the LP side is on production
[13:30] <ilasc> cool, thanks Colin
[13:40] <tomwardill> branch rebased
[16:11] <tomwardill> cjwatson: if my local instance is generating OOPS (from running a job), is there any way I can see them?
[16:15] <cjwatson> tomwardill: See if they're in /var/tmp/lperr
[16:15] <cjwatson> tomwardill: If they aren't, try setting error_exchange: none in [error_reports] in the config
[16:16] <cjwatson> tomwardill: If all else fails, grit your teeth and strace, but it shouldn't normally be needed
[16:22] <tomwardill> {"repositories":["busybox","pjdc/registry-2","registry","test-wget-image","twom/base_with_curl","twom-test/test-wget-image"]}
[16:22] <tomwardill> and that's an image on staging rocks
[16:22] <tomwardill> (multiple times in fact, because tomwardill is an idiot sometimes)
[16:39] <tomwardill> cjwatson: getting "amqp.exceptions.AccessRefused: Exchange.declare: (403) ACCESS_REFUSED - operation not permitted on the default exchange" running tests, any ideas?
[16:40] <cjwatson> tomwardill: which TestCase class are you using?
[16:41] <tomwardill> it's happening to tests that worked perfectly well a couple of hours a go (including most of the existing oci tests)
[16:41] <cjwatson> Um.  Bounce rabbitmq-server in your container maybe?
[16:41] <cjwatson> Check for stray processes?
[16:41] <tomwardill> I just restarted the whole container
[16:41] <tomwardill> this is a bit weird
[16:41] <cjwatson> Or that
[16:42] <cjwatson> I'm not very good at administering rabbit; I tend to just nuke it from orbit if it gets weird
[16:42] <tomwardill> I've tried a complete reboot and a `sudo pkill -f rabbit`, still got the same problem
[16:43] <cjwatson> (The reason I ask about TestCase is stuff like https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/376996)
[16:44] <cjwatson> Oh also did you perhaps leave error_exchange: none in your config?
[16:44] <tomwardill> oooh
[16:44] <tomwardill> that'd do it
[16:45] <cjwatson> It's a bit of a pain.  I assume it would be possible to handle some other way by running bits of python-oops-amqp or something ...
[16:45] <tomwardill> yep, that'd do it
[16:45] <tomwardill> working now
[16:45] <tomwardill> ta
[16:45] <cjwatson> I usually just try to reproduce in the test suite instead because then CaptureOops takes care of it
[16:45] <tomwardill> well, the tests are broken, but broken in a way that I now understand
[16:47]  * cjwatson tries to get through another review before EOD
[17:00] <tomwardill> as much as I like mock, it's not the easiest thing int he world to assert against it's call arguments
[17:03] <cjwatson> Yeah, almost all of those things involve digging through stacks of tuples
[17:12] <tomwardill> follow on MP that adds auth handling to registry push: https://code.launchpad.net/~twom/launchpad/+git/launchpad/+merge/382439
[17:17] <tomwardill> except that security.cfg change should be in the prerequisite
[17:17]  * tomwardill moves it
[17:28] <tomwardill> except, no it probably doesn't need to exist, it's due to the subscriber bug :)
[17:43] <tomwardill> okay, fixes made and branch pushed
[17:45]  * tomwardill calls that EOD