/srv/irclogs.ubuntu.com/2013/04/09/#launchpad-dev.txt

wgrantStevenK: I'm out for a while, but I have a lead and can reproduce it on ec2. Hopefully get it fixed soonish01:11
StevenKwgrant: The subscription YUI issue is because it is the only call in the codebase that calls Y.substitute() with a 3rd argument of a function to do the replacement.02:52
StevenKAccording to upstream, that means "We have a harder migration", which is pointing to Y.Template, but Y.Template was only added in 3.8.0 and I can't figure out how to have two code paths depending on the YUI version.02:53
wgrantStevenK: Where's the call?02:53
StevenKwgrant: lib/lp/bugs/javascript/subscription.js line 84902:54
wgrantStevenK: Can't you just manually preprocess the keys?02:59
StevenKwgrant: As in call Y.Lang.sub() with additional_vars as well?03:01
wgrantStevenK: The function just takes the key and the value03:03
wgrantSo you should be able to replicate the present behaviour by just manually mapping the function over vars, and giving Y.Lang.sub the result03:03
wgrantStevenK: Can you try running YUIAppServerLayer locally?03:04
wgrantI've managed to reproduce it once on a single test locally, and two ec2 runs last night failed with it, but I can't repro it on ec2 manually. I guess it must be a race.03:04
StevenKwgrant: The function also uses additional_vars from the outer function03:07
wgrantStevenK: Sure, is that a problem?03:08
StevenK-    return Y.substitute(subscription.reason, subscription.vars, var_replacer);03:32
StevenK+    vars = var_replacer(subscription.vars);03:32
StevenKwgrant: Like that?03:32
StevenK+    return Y.Lang.sub(subscription.reason, vars);03:32
StevenKIt even fits inline03:33
StevenKwgrant: YUIAppServerLayer against 3.5.1 or 3.9.1?03:33
wgrantStevenK: 3.5.103:34
wgrantStevenK: var_replacer takes a key and a value03:34
wgrantyou'll need to map it over the keys and values of cars03:34
wgrantvars03:34
StevenKSo it does03:35
StevenKWhere did the keys come from?03:35
wgrantI'm confused03:36
wgrantsubscription.vars should be a map03:36
StevenKwgrant: The plot thickens. key is only used for additional_vars03:46
wgrantStevenK: Sure, because it already has the value from subscriptions.vars03:48
wgrantIt's given the (key, value) pair from subscription.vars03:48
StevenKAh ha, we do have to call it twice03:49
StevenKIt will only act on additional_vars if vars is undef03:49
wgrantThat presumably means you want to merge the keys of subscription.vars and additional_vars03:51
StevenKbin/test -vv --layer YUIAppServerLayer --subunit against 3.5.1 looks fine03:52
wgrantYeah :(03:54
wgrantI might just disasble the layer by default for now...03:54
wgrantDoes it work with 3.9.1 too?03:55
wgrantI have YUIAppServerLayer repeating on four machines now, hopefully one of them will give me a failure soon...03:55
StevenKwgrant: Your leads all ended up being nothing? :-(03:55
StevenKwgrant: 3 failures with 3.9.103:57
StevenKLooks suspcisiously like the buildbot failures03:57
StevenKHmmm04:08
StevenKI can't just call it with subscription.vars since that's an object too04:08
StevenKwgrant: I have all failures sorted for 3.9.1, except for the 3 XHR failures04:39
wgrantStevenK: Can you paste the failures?04:59
wgrantI will be very happy if you can reproduce them :)05:00
StevenKwgrant: I can copy the subunit stream to carob or so if you wish05:00
wgrantStevenK: I'm more interested in whether they are reproducible05:00
wgrantMy four continuous runs have yielded nothing so far :/05:00
StevenKRe-running --layer YUI against 3.9.105:01
StevenKwgrant: It happens against on a re-run05:03
StevenK*again05:03
wgrantStevenK: Same errors? Success on test_yuixhr_fixture_facet, a timeout before test start on test_milestone_creation, and undefined errors on the other two?05:04
StevenKYes05:04
wgrantCan you push up your 3.9.1 branch so I can try to get them locally?05:04
StevenKwgrant: I've split it into two05:05
StevenKYou should be able to merge the one I'm about to push, change default to 3.9.1 and make jsbuild05:05
StevenKwgrant: lp:~stevenk/launchpad/sprinkle-in-yui-39105:07
wgrant:S05:09
wgrantAll four still pass05:09
wgrantOn both my machines05:10
StevenKwgrant: build/js/yui points to 3.9.1?05:12
wgrantYes05:13
StevenKwgrant: Odd. They still fail for me05:14
wgrantactual    = ['Failure in /home/wgrant/launchpad/lp-branches/yuixhr-3.5/lib/lp/app/javascript/choiceedit/tests/test_choiceedit.html.nullable_choice_edit.test_action_icon: Add icon is not visible when it should be\nExpected: inline-block (string)\nActual: inline (string)']05:17
wgrantThat's the only failure I get with 3.9.105:17
wgrant(ignore the branch name)05:17
StevenKwgrant: What other changes have you made?05:19
wgrantNothing. That's just the branch that switched the default.05:19
wgrantIt's identical to devel05:19
wgrantThe ec2 runs where I can't manually reproduce it *are* devel05:20
wgrant:/05:20
StevenKwgrant: sprinkle-in-yui-391 doesn't change the default, but okay05:21
StevenKwgrant: Are you able to try on Quantal, rather than Lucid?05:21
wgrantOh yeah, I changed the default too. but that's it05:22
* wgrant tries on precise05:23
wgrantStill works fine :/05:31
wgrantAnd that precise container is even amd6405:32
StevenKwgrant: This saddens me05:35
wgrantStevenK: Can you reproduce the test_milestone_creation issue in a browser?05:37
wgrant(copy yuitest.zcml from configs/testrunner-appserver to configs/test-playground, bin/run -r librarian -i test-playground, visit https://launchpad.dev/+yuitest, select test_milestone_creation... it will fail because it can't reset the database, but you should at least see it running the tests)05:38
StevenKwgrant: On 3.5.1 or 3.9.1?05:38
wgrantStevenK: Doesn't really matter, if it fails on both05:39
StevenK    lp.registry.javascript.tests.test_milestone_creation05:40
StevenKWant to re-run your test?05:40
wgrantYou don't get a test console at the bottom after a few seconds?05:40
StevenKNope05:41
wgrant:D05:41
wgrantCheck the browser's network/JS console05:41
wgrantFor errors05:41
StevenKHmm05:42
StevenKGET meta.js ended up with a 50005:42
wgrantOho05:42
wgrantYou've run combobuild, right?05:43
StevenKThe path is bong05:43
StevenKhttps://launchpad.dev/+yuitest/build/js/lp/meta.js05:43
wgrantThat should be fine05:44
wgrant+yuitest/build forwards to the comboloader dir05:44
wgrantSo it doesn't have to use a real comboloader05:44
StevenKPassed:2 Failed:2 Total:4 (0 ignored)05:44
wgrantWhat'd you change?05:45
StevenKI ran make combobuild05:45
wgrantAh05:45
wgrantDo your tests pass now?05:45
wgrantMake sure you shut down test-playground before you rerun YUIAppServerLayer05:45
StevenKtest: lp/registry/javascript/tests/test_milestone_creation05:47
StevenKWARNING: gnome-keyring:: couldn't connect to: /run/user/steven/keyring-hlnCV9/pkcs11: No such file or directory05:47
StevenKsuccessful: lp/registry/javascript/tests/test_milestone_creation05:47
StevenKAh ha05:47
wgrantDamn.05:47
wgrantCan you paste the failures you got before the combobuild?05:47
StevenKJust make clean && make and you should have no combobuild ?05:47
StevenKOr rm -rf build/js && make jsbuild05:48
StevenKFailed tests:      005:48
wgrantI'd expect a missing meta.js to cause all four suites to fail to start05:49
wgrantbut omfg05:49
wgrantthat was it05:49
wgrantIt's just a missing meta.js05:50
wgrantfuuuuu05:50
* wgrant lands fix05:50
StevenKHaha05:50
wgrantThanks05:50
StevenKWhat is the fix, then?05:50
wgrantI guess the other tests specify just enough direct deps to get them stat05:50
wgrantbuild needs to depend on combobuild05:50
wgrantThe reason it worked whenever I tried it on ec2 is that I ran 'make' before testing...05:50
StevenKThat will blow up05:51
StevenKYou can't rely on convoy being available05:51
StevenKWhich was the whole reason combobuild was split out05:51
wgrantAh, right05:51
wgrantMight just put that in check, then05:51
wgrantI think buildbot and ec2 both use check, right?05:52
StevenKNot sure05:52
StevenKec2 does05:52
StevenKSince I just checked05:52
wgrant        command = ['make', 'check']05:52
wgrantYeah05:52
wgrantHmm05:53
wgrantbuildbot won't05:53
wgrantBecause it does it parallel05:53
wgrantlxc-clean codehosting-dir build schema05:53
StevenKWe could do it in build, but the only way I can think to flag if convoy is available is -f /usr/share/convoy/convoy.wsgi or something equally hideous05:55
wgrantWell05:56
wgrantStevenK: Is there a reason to not do it in build now, other than the fact that python-convoy isn't installed everywhere?05:57
wgrantEasiest thing to do may just be to add it to launchpad-dependencies05:57
wgrantOtherwise we can change the buildbot config05:57
StevenKwgrant: We don't need to do so everywhere05:59
StevenKOnly the frontends really need it05:59
wgrantBut is there any reason to not?05:59
StevenKSave a little time05:59
StevenKI guess05:59
wgrantWe already do the JS building etc. unnecessarily on the backends and non-web machines05:59
StevenKNot anymore we won't05:59
StevenKwgrant: I think python-convoy is only on banana/nutmeg and not everywhere06:00
wgrantSure06:00
StevenKBut we sync built trees, no?06:00
wgrantYes.06:00
wgrantBut then they're remade at the destination06:00
StevenKHah06:01
StevenKwgrant: I seem to recall you objecting to needing convoy everywhere, but I could be recalling wrong06:01
wgrantSo do I, but I can't find the IRC logs.06:02
StevenKwgrant: If we want convoy everywhere, we just move combobuild into jsbuild06:02
wgrantYes.06:02
wgrantI suspect my objection was just that the easiest way to get the world unbroken was to split combobuild back ouit06:02
StevenKRight06:02
wgrantNow that combobuild is mandatory, having it separated from jsbuild probably doesn't make sense.06:03
wgrantBut buildbot should have convoy installed, so we could unbreak it now by merging them with a guard.06:03
wgrantAnd then push out the dependency changes, or stop building the JS everywhere, later.06:03
wgrantI don't remember if we actually use make build on prod anywhere06:05
StevenKI *think* banana and nutmeg have been hacked to also run combobuild06:05
StevenKAnd HTF knows what asuka does any more06:05
wgrantstaging uses make build06:06
wgrantrocketfuel-built on carob doesn't have any JS stuff06:06
wgrantLooking at deploymgr configs, codebrowse uses make build06:07
wgrantFor no reason06:07
wgrantI don't think...06:08
StevenKstevenk@carob:~$ dpkg -l python-convoy06:08
StevenKNo packages found matching python-convoy.06:08
wgrantBut other than that it's just banana/nutmeg06:08
wgrantStevenK: Yeah, but carob has no JS at all. It must just use compile, not build06:08
StevenKAh06:08
wgrantActually, it probably only uses build_eggs06:08
wgrantNot even compile06:08
wgrantAnd asuka must already have python-convoy, since its comboloader works06:09
wgrantSo it might just be codebrowse that needs fixing to not call build06:09
StevenKI think the upgrade scripts call combobuild06:09
wgrantUpgrade scripts/Z06:09
wgrant?06:09
StevenKThe staging/qas new revision scripts06:10
wgrantYeah, they do06:10
wgrantmodules/launchpad/files/staging_restore.sh:    ssh launchpad@asuka "make -C /srv/staging.launchpad.net/staging/launchpad-new build combobuild LPCONFIG=staging" >> $LOGFILE 2>&106:10
wgrantmodules/launchpad/templates/qastaging-update.erb:make combobuild LPCONFIG=qastaging06:10
StevenKRight, so those can die06:11
StevenKHow do you want to proceed?06:11
wgrantWe need to think of anything else that might use build06:11
wgrantAnd kill it06:11
wgrantI think it's just babaco that needs fixing06:11
StevenKDoes it actually need anything from the built tree?06:11
wgrantNAFAIK06:12
wgrantIt uses CSS from launchpad.net, I believe06:12
wgrantYeah06:12
wgrantSo I think it can just use compile06:13
wgrantWhich leaves only the frontends and staging using build06:13
wgrantWhich means we can merge combobuild into jsbuild06:13
StevenKwgrant: I can destroy the combobuild target and move to jsbuild for my sprinkle-in-yui-391 branch if you wish06:13
wgrantWe'll want to leave combobuild as an alias for jsbuild for now, I guess06:13
wgrantUntil we remove references to it06:13
StevenKThat's one puppet branch only, though06:14
wgrantYes06:14
wgrantBut two phases06:14
wgrantMm, I guess not06:14
StevenKAnd we probably need one anyway to add python-convoy06:14
wgrantIf we just deploy it at the right time06:14
StevenKwgrant: I have a meta-lp-deps branch that promotes convoy06:16
StevenKIn fact that shows a problem with 0.12006:17
wgrantStevenK: What's the problem?06:17
StevenK-  python-egenix-mxtools, python-amqplib, python-gmpy, libpq-dev, unzip, lzma06:17
StevenK-  ${misc:Depends}06:17
StevenK+  python-egenix-mxtools, python-amqplib, python-gmpy, libpq-dev, unzip, lzma,06:17
wgrant(and while we don't necessarily need convoy everywhere, it's so trivial that we might as well just install it everyhwere)06:17
StevenK+  python-convoy, ${misc:Depends}06:17
wgrantOops06:17
StevenKHaha06:17
wgrantThat was mine, wasn't it?06:17
StevenKYeah06:17
wgrantBut I bet misc:Depends expands to nothing06:18
wgrantSo it didn't actually matter06:18
StevenKYes, so it's fine06:18
StevenKwgrant: So I should push up my death-of-combobuild commit to sprinkle-in-yui-391 and my meta-lp-deps branch?06:30
wgrantStevenK: Please do06:31
wgrantStevenK: That branch doesn't make 3.9.1 the default, right? Just adds it as an alternate version?06:31
StevenKwgrant: Right06:32
StevenKAnd fixes the 3.9.1 carnage in the JS06:32
wgrantRight06:32
wgrantThough that is safe back to 3.506:32
wgrantAnd possibly even 3.306:32
StevenKI checked 3.5.1, but 3.3.006:32
StevenKwgrant: Shall I just land meta-lp-deps?06:32
wgrant3.3.0 is dead, fortunately :)06:33
wgrantIndeed06:33
StevenKmeta-lp-deps r149 pushed06:33
wgrantStevenK: Is there an MP coming up?06:45
wgrantsprinkle-in-yui-391 looks good, but I can't approve it :)06:46
StevenKhttps://code.launchpad.net/~stevenk/launchpad/sprinkle-in-yui-391/+merge/15780506:46
StevenKwgrant: Oh?06:48
wgrantStevenK: Hm, what's with the test_choiceedit change?06:48
wgrantThat didn't fail on the last buildbot run06:49
StevenKThat was the failure06:49
wgrantWon't that break on 3.5?06:49
StevenKOn 3.9.106:49
wgrantAnd only pass on 3.9?06:49
* StevenK tests again06:50
StevenKwgrant: Failed tests:      006:52
wgrantStevenK: But how06:52
wgrantStevenK: Are you sure your symlinks are correct?06:52
StevenKlrwxrwxrwx 1 steven steven 9 Apr  9 14:56 build/js/yui -> yui-3.5.106:53
StevenKlib/canonical/launchpad/icing/yui -> ../../../../build/js/yui-3.5.106:54
wgrantHmmmmmm06:54
StevenK3.5.1 fails without that change06:59
StevenKOddly07:00
wgrantMaybe it's the CSS?07:00
wgrant'cause it fails for me *with* that change07:00
* StevenK runs make clean && make07:01
wgrantclean_buildout is probably sufficient07:02
StevenKEh07:02
StevenKTests runnning07:03
wgrantI'm looking at upgrading us to a more modern ZTK07:03
wgrantSince ZTK 2 will be out soonish07:04
wgrantAnd we're way behind07:04
StevenKFailed tests:      007:05
wgrantStevenK: Still fails here with 3.5.1: Expected: inline-block (string)\nActual: inline (string)07:09
wgrantAnd buildbot agrees with me07:09
StevenKVery strange07:20
wgrantStevenK: So, do you want to revert the inline-block change so we can get buildbot unbroken?07:52
StevenKwgrant: I did07:56
StevenKI just forgot to ping07:56
wgrantAh, great07:57
wgrantStevenK: r=me, remember to [testfix] it07:58
* wgrant is disentangling ancient zope stuff07:58
StevenKAye, I have not forgotten07:58
StevenKwgrant: I think almost all of our Zope stack is ancient07:59
wgrantWell08:00
wgrantOne bit I just removed has been unused since 200508:00
wgrantWe use so much deprecated stuff that I need to take an axe to a few things before I can upgrade to ZTK 1.1.508:00
StevenKwgrant: testfix is r1655608:01
wgrantOnce we're up to 1.1.5 future upgrades should be relatively painless08:01
wgrantThanks.08:01
* wgrant watches buildbot08:01
StevenKWhich one is ZTK in versions.cfg?08:01
wgrantThe main product of ZTK is the KGS08:02
wgranthttp://download.zope.org/zopetoolkit/index/1.1.5/ztk-versions.cfg08:02
wgrantSo ZTK 1.1.5 is just the aggregate of those version of the zope.* packages08:02
StevenKAh08:02
StevenKzope.testing = 3.9.4-p1708:03
wgrantSo it's most of our Zope stack, except that we have a broken implementation of zope.app.apidoc which is deprecated08:03
StevenKThat's going to be fun08:03
wgrantAnd probably doesn't work08:03
wgrantSo our Zope apidoc (not to be confused with the lazr.restful apidoc) will probably die tonight08:03
StevenKwgrant: And no one will miss it ever.08:05
wgrantI don't think it's worked in a couple of years08:05
wgrantSince our last Zope upgrade08:05
wgrantStevenK: One of the key changes in recent ZTK releases is that zope.app is basically dead08:08
wgrantit08:08
wgrantWe still use bits of08:08
wgrantBut in most cases they're just deprecated imports that have been moved elsewhere08:08
lifelesswgrant: StevenK: btw, new testrepository & subunit are out; you guys may want to consider upgrading at some point11:57
wgrantlifeless: Is that with the v2 protocol?11:58
lifelessyes11:59
lifelessthe testr data store is still v1, but the backend -> coordinator is v212:00
lifelessI'm flushing the last of the 'TestResult' API use within testr's internals12:01
=== matsubara_ is now known as matsubara
=== deryck_ is now known as deryck[lunch]
=== deryck[lunch] is now known as deryck
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
=== gary_poster is now known as gary_poster|away
=== gary_poster|away is now known as gary_poster
=== czajkows1i is now known as czajkowski
=== elmo__ is now known as elmo
=== Ursinha-afk is now known as Ursinha

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