#launchpad-yellow 2011-03-14
<danilos> gmb, hi, did you have a chance to take a look at accordionlayer branch Gary mentioned?
<gmb> danilos: Hi, sorry, missed your ping earlier as my connection was down. So, I've been looking at it and haven't got much further than you (judging by your email). However, I'm wondering if Gavin's changes to the way lp.js is build might have anything to do with it. Probably not but I'll ask him anyway.
<danilos> gmb, right, thanks
<gmb> danilos: So that's a no, then. Hmm.
<danilos> gmb, yep
<gmb> danilos: First up, I think we can drop the activate_collapsible_div code completely, since it's not referenced.
<gmb> Of course, that doesn't solve our other problems, but at least it's one less thing to care about.
<danilos> gmb, right, I did see activate_collapsibles somewhere
<gmb> Yeah, there's activate_collapsibles(), which works, and activate_collapsible_div(), which doesn't appear to exist.
<gmb> The latter is called in product-index.pt
<danilos> ok, so I assume they are unrelated then :)
<gmb> Yep.
<danilos> (I was thinking it might have been a left-over typo from rename or something)
<gmb> I think it might be that someone's reinvented the wheel and then backed out some of their changes.
<gmb> But since nothing broke they never noticed the error.
<gmb> Anyway, I'll remove that code now.
<danilos> gmb, sure
<danilos> gmb, also, I wonder where is the link supposed to show up (so I know what I am looking for, since I haven't looked at the code that deeply :)
<gmb> danilos: It should appear under the "Administer" link in the top portlet, but only if you're logged in as Mark.
<danilos> gmb, mark only, not if I am logged in as admin?
<danilos> admin@canonical.com:test
<gmb> danilos: Mark only, last I checked.
<gmb> ]
<gmb> mark@example.com:test, IIRC
<danilos> ugh, /me hits himself over the head for not following the instructions as written :)
<danilos> and launchpad.net/firefox oopses if you are not logged in :)
<gmb> danilos: Yeah, that's a fun one.
<danilos> gmb, ok to commit the fix for that: https://pastebin.canonical.com/44657/
<gmb> danilos: Yes, go for it.
<gmb> danilos: You'll need to merge the latest ~yellow/launchpad/accordionoverlay
<danilos> gmb, yep
<gary_poster> hi!
<gary_poster> any wondrous solutions? :-) I see the emails showing progress
<gary_poster> btw, danilos, I hope you weren't working on unsubscribe in anger.  I have some significant changes from your branch in a branch of my own.  If you have been, no worries--we can connect in a little while and compare notes
<danilos> gary_poster, hey-hey
<danilos> gary_poster, no, I haven't since I've seen the emails, and that was right away in the morning :)
<gary_poster> hey!  cool.
<danilos> gary_poster, so, I was enjoying the JS debugging :)
<gary_poster> heh
<gary_poster> how was the test?
<gary_poster> also, I was wondering if you and gmb have daylight savings time yet.  US chnged this weekend
<danilos> gary_poster, we'll see, not too happy with it
<danilos> gary_poster, hum, I think we're on only next week
<gary_poster> test: :-( sorry to hear, but hopefully you'll be happily surprised
<gary_poster> ok, next week is not too far away :-)
<danilos> gary_poster, actually, it's two weeks away: http://www.timeanddate.com/news/time/europe-starts-dst-2011.html :)
<gary_poster> :-) ok
<gary_poster> I'll ask around what everyone wants to do for the two weeks--move to the US version of 8:30 now (in 41 min) or wait till you guys have moved
<gary_poster> either way is fine with me
<danilos> gmb, fwiw, even if I ignore the issue of LP.links.me being undefined (and set it manually in the code to "/~mark" :), LP.cache.context causes the next error, so I guess loading order is what we need to fix
<gmb> danilos: Right. And here's a weird thing. If you do
<gmb> console.log(LP);
<gmb> console.log(LP.links.me);
<gmb> The first shows that LP.links.me is set correctly ("/~mark") but the second shows that it's undefined.
<danilos> gmb, I explained that in the email, the first one stores a reference to the object, and you evaluate it only when you look at it
<gmb> Oh.
<gmb> danilos: Sorry, missed that message (or glazed over, one of the two)
<danilos> it's generally a smart idea to ignore me (i.e. 9 out of 10 times), but sometimes I hit the nail on the head :)
<gary_poster> lol
<gary_poster> I'm guessing you guys saw Gavin's email about rebuilding etc?
<gary_poster> emailS
<gmb> gary_poster: Yes. His work seems to have introduced some debugging noise into the JS console, but he's given me a workaround for that and is emailing the list about it.
<danilos> gary_poster, right, I've seen it, and 'make jsbuild' has been functioning correctly for me (and I prefer the non-minified version, so I didn't need the min option)
<danilos> gmb, I am looking forward to that email, but if it's easy enough, I wouldn't mind hearing from you directly about the workaround
<gary_poster> cool
<gmb> danilos: make clean_js; make JS_BUILD=min jsbuild_lazr; make JS_BUILD= -W jsbuild_lazr jsbuild
<gmb> Apparently, if you s/min/raw you get unminified JS, too.
<danilos> ah, nice
<danilos> ok, so the first thing I'll do is try to run setup() from non-domready and see how that works
<danilos> yes, that works
<gmb> danilos: Great minds :)
<gmb> Although it would have been quicker if I'd remembered that syntax matters.
<danilos> so, this is https://pastebin.canonical.com/44658/ what will allow one to get a subscription link by clicking on a big ugly h2 in the middle of the page :)
<gary_poster> :-)
<gary_poster> ship it!
<danilos> heh, yeah, "Click to load" is inviting enough :)
<danilos> it should at least allow some of us to test the real stuff, while others try to figure out the load ordering problem :)
<danilos> anyway, gary_poster, call still in 1h18 mins? (I want to get lunch before that then)
<gary_poster> danilos, you are the first to voice a preference, and we need to make a decision now, so sure, your preference wins. :-)
 * gmb grabs lunch too
<danilos> gary_poster, heh, I am basing my "preference" on what works for me today, but sure, it's fine in general as well :)
<gary_poster> bac and benji, gmb and danilos do not change DST for two more weeks.  For these two weeks, I suggest we let them keep their same times for the morning meeting, and we move to 9:30.  When they switch, we'll switch back.  They have lunch schedules to work with  and such.
<gary_poster> cool danilos :-)
<benji> ok
<benji> daylight saving time is the devil
<gary_poster> :-)
<gary_poster> benji, btw, I made some server side changes that affect your work, particularly in browser/structuralsubscription.py.
<gary_poster> bbs
<benji> k
<gary_poster> (they are pushed to accordion overlay
<gary_poster> )
<gary_poster> bac and benji, danilos and gmb are lunching.  are one of you tackling the JS problem , or both of you?  If you are not tackling that problem, note the pastebin danilos gave above to get something working so you can fix other stuff.
<bac> gary_poster: i'm looking at it
<gary_poster> ok thanks bac
<benji> I'm blistfully ignoring the problem at the moment.
<gary_poster> sounds perfect
<gary_poster> bac benji danilos gmb mumble/kanban in 1-ish
<bac> ok
<gmb> Yarp
<danilos> ack
<benji> gmb: I use a gmail filter to add a label to mail sent directly to me in a colo(u)rful way so it stands out from the sea of in-direct mail I get
<gmb> benji: As do I, but bugmail comes directly to me still. At least I think it does. I'll have a look.
<gmb> (I know I need to fix my filters since everything went to launchpad rather than being in {malone, rosetta, soyuz, etc.} anyway)
<benji> oh, that's why it works for me, I use a different address for bugmail so they don't get the colo(u)rful label
<gary_poster> benji, locally I now have a working (modulo the fix for the onload thing from Friday that's affecting all of us) page https://bugs.launchpad.dev/firefox/+subscriptions that shows subscriptions-per-target using the exact same code of yours as powers https://bugs.launchpad.dev/firefox/+bug/1/+subscriptions .  So, once the other fix is done, I'll commit this and we should be good there.
<_mup_> Bug #1: Microsoft has a majority market share <iso-testing> <ubuntu> <Clubdistro:Confirmed> <Computer Science Ubuntu:Invalid by compscibuntu-bugs> <EasyPeasy Overview:Invalid by ramvi> <GNOME Screensaver:Won't Fix> <Ichthux:Invalid by raphink> <JAK LINUX:Invalid> <The Linux OS Project:In Progress> <metacity:In Progress> <OpenOffice:In Progress by lh-maviya> <Tabuntu:Invalid by tinarussell> <Tivion:Invalid by shakaran> <Tv-Player:New> <Ubunt
<gary_poster> I did see one oddity that was pertinent to our discussion Friday
<benji> nice
<benji> what's that?
<gary_poster> Somehow I managed to make a subscription to  âmozilla-firefoxâ package in Ubuntu that does not have a filter
<danilos> ok, figured out the problem, and it's as simple as us not using a closure for the event handler, so the following fixes it: https://pastebin.canonical.com/44665/ (I fired a special lp-ready event when all the data was set up and still got undefined, which pointed me at the problem)
<gary_poster> Not quite sue how
<gary_poster> ah, danilo!
<danilos> gary_poster, fwiw, I might have forgotten to update the sampledata, so maybe that was just an existing one
<gary_poster> cool danilo, I'll verify
<gary_poster> (sampledata I mean)
<gary_poster> danilo, that patch makes perfect sense now that I see it :-P
<danilos> yeah, so, how do I proceed from here? land this on accordionoverlay branch directly?
<gary_poster> yeah I think so.  We'll give bac a second to have an opinion?
<danilos> gary_poster, heh, yeah, it's nice that JS/YUI lets you do stuff like this
<danilos> sure thing, bac, what do you think of the following fix for the JS load problem: https://pastebin.canonical.com/44665/
<gary_poster> yeah
<bac> sorry was afk for a bit.  reads back.
<bac> danilos: why does that work?
<gary_poster> what we had before calls module.setup({content_box: "#structural-subscription-content-box"}) immediately and registers that result as the domready callback
<danilos> bac, because previous version ran setup() when defining an event handler and set the return value (probably null) as the event handler
<bac> gah
<bac> land away!
<gary_poster> :-)
<danilos> bac, ack, off it goes
<gary_poster> thanks danilos, great
<danilos> it's very "nice" that: 1) YUI lets you do this, 2) this is so obvious from syntax that multiple of us spent hours on it; /me feels sad for JS taking over the world as a de facto programming language
<danilos> anyway, landed, gary_poster, when you've got a minute, it'd be nice to chat about what do I do next :)
<gary_poster> heh
<gary_poster> cool danilos.  what to do next: would one of the two jobs benji listed for you be ok?
<gary_poster> actually, gimme a sec
<gary_poster> I'm applying your fix to those pages too
<danilos> gary_poster, ok, let me read through the proposed tasks in the meantime
<gary_poster> cool
<gary_poster> benji, danilos, ~yellow/... has the code to fix up [bugtarget]/+subscriptions to work, and to make [bug]/+subscriptions to have the new JS fix
<gary_poster> so now I need to know what to do too.  :-)
<benji> :)
<danilos> gary_poster, would one of the two jobs benji listed for you be ok? :P
<gary_poster> actually, I'm going to go see if I can dupe making a structural subscription to a package that does not have a filter
<danilos> ok, never mind that then :)
<gary_poster> danilos, what I'm going to do is just verify.  Then I'll look into one of those two, probably, yeah.  So, tell me which one you are going to work on and I'll try to do the other one
<danilos> gary_poster, just to confirm, that work should be based off ~yellow/.../accordionoverlay
<gary_poster> danilos, you want to chat about the unsubscribe in anger work now for a sec even though we are not focusing on it?
<gary_poster> yes danilos
<danilos> gary_poster, sure thing, that's fine as well
<gary_poster> cool
<gary_poster> I'll push a branch for you then I'll be ready
<gary_poster> danilos, I don't know if we'll need to look at the branch or not, but it is lp:~gary/launchpad/bug728370 .  Also I made changes (mostly additions) to https://dev.launchpad.net/LEP/BetterBugSubscriptionsAndNotifications/DirectSubscriptionsOnBug
<bac> hurrah, danilos, my subscription link has returned!  thanks!
<danilos> bac, cheers :)
<gary_poster> danilos, you're going to give benji the "it's broke" news? :-)
<danilos> benji, hey, I am looking at "Save Changes" button you proposed, but I can't get anything to happen when I click on "Edit subscription" button
<danilos> gary_poster, already on it :)
<gary_poster> yeah :-)
<danilos> benji, (ftr, I am using ~yellow/lp/accordionoverlay branch)
<danilos> benji, if I should use a different branch or debug the problem, just let me know
<benji> danilos: darn; it works in my checkout and I was just about to merge from ~yellow/lp/accordionoverlay and push my changes so I'll be able to look at it momentarily
<danilos> gary_poster, oh, one thing: what do I do on the kanban board? :)
<danilos> gary_poster, (because I am only assigned to stuff that I am not working on :)
<benji> danilos: if you don't want to wait you can work from ~benji/launchpad/yellow-accordionoverlay which should work for you
<danilos> benji, ok, sounds good, thanks
<danilos> benji, this is all feature work 2, right?
<benji> danilos: nope, feature work 1
<danilos> benji, oh, right, thanks
<gary_poster> sorry danilos, yeah, feature 1.
<gary_poster> benji, danilos, I think foo.bar must have had a sample-data subscription, as danilos suspected.  I unsubscribed and resubscribed, and he had a filter.
<gary_poster> (after the resubscription)
<benji> is this for the "âmozilla-firefoxâ package in Ubuntu" subscription?  if so, I believe that comes from sampledata
<gary_poster> yes, benji
<danilos> gary_poster, right, I've add a quick-jobs task to update the sample data (to avoid future confusion), if you don't think that warrants a task, just drop it
<danilos> gary_poster, oh, btw, did the query improvement prove enough?
<gary_poster> task: cool, danilos, sounds like a good idea unless benji decides we don't need to have a filter for every subscription after all
<benji> nope, a filter in every pot^W subscription is here to stay
<gary_poster> query: it seems so.  on staging the two pertinent queries were 1 ms and 30 ms, respectively, so I declared it a victory.  the oops tool is aggregating these timeouts poorly so it's hard to be completely confident, but it looks pretty good
<gary_poster> ok good to know benji, thanks
<danilos> gary_poster, cool, great job there!
<gary_poster> thanks :-)
<gary_poster> benji, your branch is already merged in with ~yellow :-/
<benji> gary_poster: I've merged it before, but since made more changes and plan on merging it again.  Is that problematic?
<gary_poster> benji, no I just meant that, at least as of the version of ~benji/launchpad/yellow-accordionoverlay that I just got, it's already been merged in with ~yellow/launchpad/accordionoverlay/ and the problem that danilos descibes exists there.  Therefore, merging doesn't show us what might be going wrong.
<gary_poster> the diff between those two branches is 36187 lines
<benji> gary_poster: well, I'd hoped that merging would break my working copy (in hopefully the same way) so that I can fix it
<danilos> benji, you've been very productive if it's 36k lines :)
<gary_poster> merging ~yellow into ~benji will probably break ~benji, yes
<gary_poster> :-) I think the 36K is changes in devel since benji branched
<benji> I believe they are.
<gary_poster> or, last merged, I should say
<benji> darn, this looks like something I've already fixed; maybe I fixed it wrong or another merge accidentally clobbered my last fix; I need tests
 * gmb -> run
<gary_poster> bac, did you and jon agree on who will actually remove that bad JS function call, or is that still up in the air?  if it is still up in the air, I'm going to send him a reply thanking him and asking him to clarify if he is going to do it, or if he is just going to file a bug and we should do it.
<bac> gary_poster: yes, i'm removing it in my gallery-accordion update branch.
<gmb> gary_poster, bac: I removed the bad call from the ~yellow branch this morning.
<bac> i've just submitted it for review
<gary_poster> great, thank you bac and gmb
<bac> i think it has been removed about half-dozen times today
<gary_poster> :-)
<gmb> Distributed development FTW.
 * gmb -> really run
<gary_poster> lol
<benji> danilos, gary_poster: I just pushed my branch to ~yellow which also contains the fix
<gary_poster> yay benji, thanks
<benji> well, it's currently pushing
<gary_poster> heh, SPEED!
<gary_poster> benji, I'm going to tackle the unsubscribe link
<benji> she can'a take no more capt'n
<gary_poster> :-)
<danilos> benji, cool, danke!
<gary_poster> You said "I
<gary_poster> believe the REST collection operations are the way to remove a filter,
<gary_poster> but I'm not sure how, exactly."
<gary_poster> Forgive the flail,
<gary_poster> but do you have any ideas on where to start?
<gary_poster> My thoughs:
<gary_poster> 1) ask leonard
<gary_poster> 2) grep for ... something.  find a collection and then grep js for that name?
<gary_poster> 3) (obvious winner) ask Benji!
<benji> a hint: I would have been more specific if I knew the specifics ;)
<gary_poster> lol, ok, proceeding with #2 and then #1 :-)
<gary_poster> (I can also ask Graham when he returns)
<gary_poster> dang, is the pull *still* going on?
<gary_poster> push I mean
<danilos> bac, hi, it seems you've overwritten a few changes gmb and I put into ~yellow/launchpad/accordionoverlay (and then recommitted them, so no big harm done, but just saying)
<benji> gary_poster: bzr: ERROR: These branches have diverged.
<benji> trying to fix now
<danilos> fwiw, integration branches suck because we all have to behave as pqm
<gary_poster> ah, I think you and Brad got in a race, benji
<benji> that would explain it
<gary_poster> ack danilos.
<danilos> the proper way to merge something would be: (cd shared-accordionoverlay && bzr pull lp:~yellow/launchpad/accordionoverlay && bzr merge my-branch && bzr ci -m "Merge my branch doing foo-bar." && bzr push)
<gary_poster> well, that's still a race condition, just a shorter one, yeah>
<danilos> and never, ever use push --overwrite :)
<danilos> gary_poster, I am suspecting push --overwrite is what happened here
<gary_poster> ah :-/
<benji> gary_poster: push succesful
<gary_poster> benji: "No revisions to pull."  Maybe wrong destination?
<gary_poster> (I used "bzr pull :parent" and then "bzr pull lp:~yellow/launchpad/accordionoverlay/" just for apranoia)
<gary_poster> paranoia
<benji> gary_poster: yep, wrong destination; I guess I should do it the way danilos described instead of pusning directly, so that'll take second
<danilos> that's the problem of an override in locations.conf, I'd love a solution to that (not even --remember helps :()
<benji> gary_poster: this time for sure
<gary_poster> benji, seems to have worked :-)
<gary_poster> thanks
<benji> np
 * danilos -> off, tty tomorrow
<gary_poster> bye danilos, thank you
<bac> danilos: i didn't use overwrite so i figured i was ok
<benji> gary_poster: do you know how much progress danilos made on the save button?  Are you doing the Unsubscribe link?
<gary_poster> no, and yes, benji
<benji> gary_poster: ok, I figured that if he didn't make much (or his work was publicly available) I would pick it up
<gary_poster> I suspect he would have told us if it were publicly available.  I have no idea as to his progress. :-/  If you have something else valuable to tackle, that might make sense.  Otherwise I might be able to come up with ways to divide up mine if you wanted.
<benji> k
<gary_poster> benji, what is the minimum I have to do to get my changes to structural-subscription.js used?  rebuild the js somehow?  do I have to restart LP?
<benji> gary_poster: make jsbuild
<benji> (and reload the page of course)
<gary_poster> I don't have to restart?
<benji> nope
<gary_poster> cool thanks
<benji> I assume the resources are either served by apache or are "resources" in the zope sense and since the server is in developer mode they are reloaded on every request
<gary_poster> right, cool
<gary_poster> Does thismean anything to you?
<gary_poster> https://bugs.launchpad.dev/firefox/+bug/1/+subscriptions
<_mup_> Bug #1: Microsoft has a majority market share <iso-testing> <ubuntu> <Clubdistro:Confirmed> <Computer Science Ubuntu:Invalid by compscibuntu-bugs> <EasyPeasy Overview:Invalid by ramvi> <GNOME Screensaver:Won't Fix> <Ichthux:Invalid by raphink> <JAK LINUX:Invalid> <The Linux OS Project:In Progress> <metacity:In Progress> <OpenOffice:In Progress by lh-maviya> <Tabuntu:Invalid by tinarussell> <Tivion:Invalid by shakaran> <Tv-Player:New> <Ubunt
<gary_poster> meh
<gary_poster> uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.setRequestHeader]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: https://bugs.launchpad.dev/+icing/rev12438/build/launchpad.js :: _setHeaders :: line 29595"  data: no]
<gary_poster> Line 0
<gary_poster> benji ^^^
<gary_poster> running to lunch now though :-P
<benji> nope; the client sets some X headers to pretend to be using PUT, that'd be my first guess.  Why it's not working I don't know.
<gary_poster> k thanks
<benji> do we expect the YUI tests to fail when we run "xvfb-run ./bin/test --layer=RegistryWindmillLayer -cvvt test_yuitests"?
 * gary_poster would expect not, but expects/hopes bac would have a better idea
<bac> hi
<bac> benji: i would expect them to pass but i haven't tried in a while
<bac> i've just been loading up in a browser
<bac> i'll try now.
<benji> It may not be a test failure as much as a test error: AssertionError: Test harness or js failed.
<benji> gary_poster: I guess I need to recruit a new RM now; I suppose an email to lp-dev is the way to go.
<gary_poster> benji, sounds about right.  if there are no replies, Francis/the team leads will bustle about I expect
<bac> benji: that's a great CYA error message
<benji> gary_poster: k
<benji> bac: heh
<bac> i got it too
<bac> benji: it is pretty bad.  it means it got no yui test results
<benji> bad indeed
<gary_poster> benji, if you have more than one subscription on the page, they are all numbered 0.  (e.g., edit-0, unsubscribe-0).  I'm looking into it, but giving you a chance now to tell me in case you've already fixed it or are working on it
<benji> gary_poster: that's a new one
<gary_poster> cool
<benji> gary_poster: is that on the bug subscriptoin listing?  I don't see that behavior.
<gary_poster> benji, yes.  the reason why is that you restart link_id to be 0 for each subscription_info, but you expect link_id to be unique in wire_up_edit_links.  I see why you did it, but it doesn't work well for finding thigs by id, the way it's done now
<benji> ah!
<benji> yeah, I'd be happy for us to find a better way
<benji> until then you could make the counter a global and not reset it
<gary_poster> cool, looking into it
<gary_poster> benji, so here's an odd one.  I am successfully sending "DELETE /api/devel/firefox/+subscription/name16/+filter/1" to the server, and getting back a 200, but they are not actually deleted. :-/
<benji> bac: are you investgating the YUI test failure further or shall I take it on?
<gary_poster> I guess I'll have to pdb in the publisher, 'cause I have no idea what else to do
<bac> benji: i'm looking righ tnow
<benji> k
<benji> I find the use of "constants" in structural-subscription.js overdone.  E.g., option.set(INNER_HTML, team.title);
<bac> benji: some i lifted and probably too many.  others are useful.
<benji> EXPANDER_COLLAPSED and     EXPANDER_EXPANDED = '/@@/treeExpanded',
<bac> i think the pattern is there b/c JS will silently let you use the wrong string literal
<benji>  oops
<benji> EXPANDER_COLLAPSED and EXPANDER_EXPANDED make sense as constants
<benji> silently?
<gary_poster> you can set an attr on a dom node and JS won't complain if you are setting innrHTML rather than innerHTML, I believe he means
<benji> that sounds a lot like how Python will let you set an attribute on an object and won't complain if you are setting innrHTML rather than innerHTML
<bac> benji: i had turned off output to the console for debugging.  that's why the testrunner died.
<benji> bac: interesting; let me know when the fix is available on ~yellow; thanks
<bac> benji: i just pushed a new version to ~yellow but have not been able to verify it.  i'll be afk for a bit so if you could try it out that would be helpful
<benji> cool, will do
<bac> benji: test just finished.  seems to work.
<benji> k
<benji> Does anyone know of a way to run a subset of the YUI tests?
<gary_poster> I think I've heard that you can't.  but you probably shouldn't go by my hearsay.
<benji> I hope it's not true.
<gary_poster> deryck is gone by now...bac is the only person I'd know to ask who might be around at this hour
<gary_poster> I *assume* deryck is gone now
<gary_poster> gary, source of assumptions and hearsay :-P
<bac> benji: no, you cannot run a subset within a group
<bac> i.e. you have to run all registry at once
<benji> ok; thanks for the info
<bac> gary_poster: next to deryck, sinzui has been most involved in yui-test stuff.
<gary_poster> bac, ah good to know thanks
<bac> gary_poster: plus sinzui works extra late now!
<gary_poster> heh, even better
<gary_poster> night all
#launchpad-yellow 2011-03-15
 * gmb lunches
<bac> hi danilos
<danilos> bac, hi
<bac> danilos: you'd already left, but i read your comments about me stepping on the shared branch.  i'm unsure how that happened as i just merged and pushed, definitely no --overwrite.
<danilos> bac, oh, interesting, something weird is going on then, because both gmb and myself have committed stuff to the branch yesterday morning; no big deal, especially if you are doing the right thing
<danilos> bac, (we committed and I couldn't see it in the log after your commits, so I assumed this was what has happened; didn't want to blame you for anything, just wanted to stress that we should not --overwrite stuff :)
<bac> danilos: yeah, i agree.
<danilos> bac, it's quite likely that I got confused and nothing happened
<bac> we need to work together smartly but i assumed bzr was DTRT
<bac> ok, i'll carry on then and hope we don't get into trouble
<danilos> bac, yeah, perhaps it did, which is why it hasn't complained :)
<bac> excellent
<danilos> bac, btw, do you know if accordion widget was supposed to generate form data itself and pass it over to the handler, or not?
<bac> danilos: i'm not sure.  we hooked it up through the overlay submit callback.
<gary_poster> benji, delete functionality works on my branch.  I need to get kids to school then will figure out how I want to get it landed.  I also added code that does not show edit buttons if the subscriber is a team for which you are not an admin.  That probably should be visually improved.
<gary_poster> I'll try to land that separately.
<danilos> bac, ok, it does work, not sure why it hasn't initially shown the data
 * gmb gets ready to mumble
 * gary_poster appreciates reminder
<gary_poster> bac benji danilos gmb mumble/kanban in 2
<danilos> ack
<gary_poster> mm, I will have to let someone into the house; I might be a minute late
<gary_poster> hey danilos, I'm confused about something and I'm hoping you can help. :-)  In bugsubscriptionfilter.delete, I've changed the code as we discussed.  Now, if there are no more filters, I call delete on the parent structural subscription.  As before, if there *are* more filters, I just call Store.of(self).remove(self) .
<gary_poster> The structural subscription delete says
<gary_poster> self.bug_filters.remove()
<gary_poster> I assumed that this would be equivalent to calling remove(filter) for each filter
<gary_poster> However, the test seems to indicate that this is not the case
<gary_poster> because Store.of(self.subscription) is None but
<gary_poster> Store.of(bug_subscription_filter) is the store
<gary_poster> Do I misunderstand the semantics of self.bug_filters.remove() ?
<gary_poster> Should that code iterate over the filters and call remove for each one?
<gary_poster> I guess I could step though self.bug_filters.remove() :-P
<gary_poster> I'll do that next
<gary_poster> until you provide illuminaton :-)
<gary_poster> ah-ha
<gary_poster> .remove() does it in SQL
<gary_poster> so the associated Python objects are not updated
<gary_poster> that looks suspiciously like the cause
<gary_poster> IStore(bug_subscription_filter).find(BugSubscriptionFilter, BugSubscriptionFilter.id==bug_subscription_filter.id).one()
<gary_poster> returns None
<gary_poster> which seems like the proof I am after.
<gary_poster> I'll change the test to do that.
<danilos> gary_poster, no, you should be able to delete SS to get all SSs deleted, but you should use the API, not Store.of(..).remove(self)
<gary_poster> danilos, this is within the API :-)
<gary_poster> unless I misunderstand you?
<danilos> gary_poster, the only thing is that removing final BSF doesn't really remove it
<gary_poster> it does after my change, danilos
<danilos> gary_poster, ah, right, then it should be fine :)
<gary_poster> danilos, one sec, will get a pastebin to make sure we are on the same page
<gary_poster> danilos, lines 77ff of http://pastebin.ubuntu.com/580589/
<gary_poster> benji, I have tests of the serverside changes I made.  I do not have tests of the JS.  Go ahead and land on ~yellow, for you or someone to establish tests for it as a later punchlist item?
<benji> gary_poster: sounds good to me
<gary_poster> ok benji
<gmb> leonardr just described muting as "an anti-subscription." I think we shall use that word henceforth.
<gary_poster> heh
<danilos> gary_poster, right, looks good
<gary_poster> cool, danilos, thank you for looking
<danilos> gary_poster, I believe individual filters are referenced with "ON DELETE CASCADE" in SQL, which is why you don't have to manually remove all the BSFImportance, BSFStatus and similar rows
<danilos> gary_poster, actually, I am wrong, these are removed with the setter
<gary_poster> ok cool
<gary_poster> I'll leave as is then
<gary_poster> To Whom It May Concern, such as benji: ~yellow's branch is updated now.
<gary_poster> bac, benji, I'm an hour early (because I decided to postpone landing on devel till later).  Who has a good high priority punchlist item for me?  I have about 3 hours to work on it left today.
 * bac looks
 * bac does!
<benji> gary_poster: I have "refresh the subscription listing when a subscription is edited", which would be "...when a subscription is deleted" for your case
<gary_poster> benji, btw, do you have the initial flickering of the accordion down as a punchlist item?
<bac> gary_poster: could you look at the REQUIRED punch down and take the first item -- selectively disable the team selector if the user administers no teams -or- do whatever is smart
<benji> gary_poster: nope, I figured bac would have it, but the fix should be easy either way
<bac> gary_poster: or go with benji's since it is work you've done anyway
<gary_poster> bac I'll look at yours
<bac> added initial accordion flicker to my REQ card
<bac> gary_poster: do you want to decompose that card and create a new one for the subtask?
<gary_poster> bac prolly so.  on call, then will fiddle with stuff and ask you questions as I have them
<bac> ok
<gary_poster> bac, you have all four cards in Feature Work 3: Coding in progress right now?
<gary_poster> sorry, 2
<bac> gary_poster: i think three of them are "done" but i'm not sure how to transition them
<bac> the work is all a big blob now
<gary_poster> bac, I was just wondering about that myself.  I decided moving them to Archive:Done was reasonably apt
<gary_poster> (via right click)
<bac> skipping review, etc
<gary_poster> yeah
<bac> ok
<bac> done
<bac> the board looks more sane now
<gary_poster> cool.  I'll add a microcard now, yeah
<gary_poster> bac, I don't understand the diff between
<gary_poster> * Selectively enable team drop down.
<gary_poster> * Handle case for no adminstered teams.
<gary_poster> which makes me suspect I don't understand something important
<gary_poster> could you explain?
<bac> combine them please
<gary_poster> oh ok
<gary_poster> because if you have no administered teams, the drop down should not be there...and anything else changes, or is that it?
<bac> gary_poster: oh, i remember -- at one point i thought i saw an exception from the view when a person had no teams.  i could not reproduce it, though.
<bac> that would've been the 'handle case' task
<gary_poster> ah ok.  combine for now then
<bac> yes.  you may want to double check that nothing weird happens with anon and no-priv users
<gary_poster> ack.  do you want me to push to yellow with the change before I start working on it, or is the kanban card sufficient for your workflow?
<bac> gary_poster: i just saw you question about pushing and i don't understand it
<gary_poster> bac, I just meant pushing the change to TODO.  I didn't think it was necessary so I have not yet done it.  I do have another question you might be able to help me with faster than I can help myself though
<bac> gary_poster: nah, overkill
<gary_poster> cool
<gary_poster> Do you call setup_overlay every time someone clicks an add link, or is the html reused?
<gary_poster> I know I can figure that out eventually, but I'm getting a bit lost in twisty paths
<gary_poster> bac, does this mean that we do not support internet explorer at all?
<gary_poster>     if (Y.UA.ie) {
<gary_poster>         return;
<gary_poster>     }
<gary_poster> line 803 of structural-subscription.js
<bac> gary_poster: i think it does.  it is all over our JS
<gary_poster> wow
<gary_poster> you mean LP, not just this project, right bac?
<bac> yes, all over LP javascript
<gary_poster> wow
<bac> of course, most of LP has <noscript> backup
<gary_poster> right
<bac> we may get bludgeoned by OEM as their customers are IE6 folks
<bac> might be worth making a note
<gary_poster> ow!  IE6 is dramatically worse than later ones, AIUI :-/
<gary_poster> bac, may I have a quick call so I can flail more quickly as I try to understand what is going on for my task?
<bac> sure
<gary_poster> bac, I added all tasks to kanban board individually.  I also added the low priority ones with an corresponding marker.  1) May I delete the "Address remaining REQUIRED tasks" card?  2) Did I understand correctly that the Cancel button styling is in progress?
<bac> no, it is not in progress
<gary_poster> cool, moved it back
<bac> 1) yes
<gary_poster> cool thanks
<gmb> I wonder if we could make the malone.advanced-subscriptions.enabled flag turn off when it encounters an IE user agent.
<gary_poster> gmb, do you know how serious the IE problems are?  Do we really need to turn off *all* IE, or just IE 6 and lower?  This kinda shocks and worries me 'cause of OEM people.  I know that YUI supports IE pretty well...
<gmb> gary_poster: I don't know how serious the problems are with IE>6. sinzui would be the person to ask, I think.
<gary_poster> ok thanks gmb
<gary_poster> bac, I'd like to support IE >= 7 for this feature, particularly since we are not offering an alternative.  sinzui and deryck are +1 on that as a goal for the site generally, for later
<gary_poster> bac, I'm logged in as no-priv.  no-priv does not get the subscribe link, unless I'm doing something wrong.  Is that intentional, or should I verify that I'm not doing something stupid?
<gary_poster> OIC
<gary_poster> that's what you said
<gary_poster> global actions portlet is not there
<gary_poster> benji, I suspect that, when editing, if you change a subscription from yours to a teams (or even if you change the team) things will go awry.  I'm in favor of making it impossible to change the recipient when you are editing.  What do you think?
<bac> gary_poster: what are the issues with supporting IE?
<benji> gary_poster: sounds reasonable, if slightly unfortunate (say you accidentally subscribed the wrong team to a complex filter and have to rebuild the whole thing), but it makes sense for a possible follow-on enhancement
<bac> gary_poster: IIRC the OEM people are on IE6
<gary_poster> bac, apparently YUI did not support it well awhile ago.  Noone knows if recent YUI upgrades have been sufficient to make it OK.  Noone cares enough.  Also, stats, from sinzui: "6% is ie...4% being ie8, 1% ie7, the remaining is 6 and 9"
<gary_poster> It's darn hard to get excited about < 1% :-/
<gary_poster> (IE6)
<gary_poster> I think, even with OEM, we would need a declaration from jml/flacoste to pursue IE6.  IE8 is more definsable.
<gary_poster> ugh
<gary_poster> defensible
<gary_poster> benji, could you add that editing recipient thing as a punch list item wherever you are doing such things?
 * gary_poster leaving in 2
<benji> gary_poster: the task being disabling editing the recipient or the task being enabling editing the recipient?
<gary_poster> benji, AFAI am concerned, you can specify either.  the goal is to have it be sane, however it works out.  I'd lean towards disabling myself, but if it is easy enough to make editing work, great.
 * gary_poster has to run
<gary_poster> back in awhile
<benji> gotcha
<gary_poster> bac, my job is done
<bac> gary_poster: great
<danilos> gary_poster, hi
<danilos> I guess he's off, ok, email it is then
<danilos> anyway, emailed
<danilos> cheers all, enjoy the rest of the week
<gary_poster> (I'm back, fwiw)
<gary_poster> bac, in order to have *something* to see when there is not a global actions portlet, I stuffed it in the involvement portlet for now.  I used that for debugging, and until we have a better solution, I propose that we keep it.  You alright with that? ("var portlet = Y.one('#global-actions') || Y.one('#involvement');")
<gary_poster> Done.
<gary_poster> And pushed to ~yellow.
<gary_poster> benji, should I look at save changes now, per the email from danilo that I forwarded you?
<benji> gary_poster: sounds good
<gary_poster> k
<bac> gary_poster: yeah, that is fine.  i think long term we just need to make the global-actions appear for all logged in users
<gary_poster> cool
<gary_poster> where long term is over the next few days ;-)
<bac> ep
<bac> yep
<bac> benji, gary_poster: do you see anything wrong with this:
<gary_poster> on call with flacoste
<bac> var checkboxes = Y.all('input[name="importances"]');
<bac> benji: i'm trying to get all of the checkboxes for a group named "importances".  can't figure out why this is broken.
<bac> benji: also, you may have a problem with your make_edit_handler in that it uses get_input_by_value.  both 'importances' and 'statuses' have an entry with the value of 'Unknown'
<benji> bac: good catch, writing a TODO for myself
<benji> still thinking about the other question
<bac> benji: you can fix it by making the node more restrictive
<benji> bac: Y.all('input[name="importances"]') looks like it should work to me
<benji> I'm not sure why it isn't
<bac> thanks for looking at it
<benji> bac: I just did a down and dirty test of that Y.all call and it worked (returned 7 input elements)
<bac> benji: yeah, i'm suspecting i need to 'wait' to see if the items are created yet
<bac> odd, the selection works inside the main js module but not in the test.  in the test the importances and statuses are not in the DOM
<bac> benji: my selector was correct.  i'd failed to populate LP.cache...
<bac> gary_poster, benji: i've got a NodeList from a selector (as above).  how does one iterate over a NodeList?
<bac> for (i in list) doesn't work, as the NodeList is an object and the actual list is in the _nodes property
<benji> bac: I think it has a .each
<bac> benji: yeah, that's for applying a fcn to each item, i think
<bac> i want to loop over them and check the status of each thing.
<bac> i think i found the answer in timeline.js -- you have to use item(i)
<benji> cool. I think you can also construct a list from the NodeList.
 * gary_poster didn't know
<benji> oh, you can also use the older for construct: for(var i=0; i++; i<l.length)
<benji> also, I'm pretty sure NodeLists let you do square bracket lookups so you don't hae to use item(i)
<bac> benji, gary_poster: here is what i got to work: http://paste.ubuntu.com/580796/
<gary_poster> good to know, though what I will remember is "nodelists are weird"
<bac> benji: list.length does  not exist.  you must use list.size(). likewise list[i] must be written as list.item(i)
<bac> truly a pita
<gary_poster> :-/
<bac> gary_poster: finished the select all/none and pushed
<gary_poster> awesome, bac!  I had the save nominally done
<gary_poster> but it wasn't updating
<gary_poster> the display
<gary_poster> so changing things for that before I merge
<bac> which is that?
<gary_poster> this is for benji
<gary_poster> his save button wasn't hooked up
<gary_poster> for the overlay
<bac> oh, ok
<bac> gary_poster: thanks for making all of those cards
<gary_poster> np bac.  have agreat evening
<benji> sounds like good progress gary_poster; wish I had some of that to report
<gary_poster> benji, do you know how to use merge from http://developer.yahoo.com/yui/3/api/YUI.html ?
<gary_poster> I thought I did
<bac> gary_poster: the OPTIONAL card is still in the backlog.  i'll delete it unless you meant to leave it
<gary_poster> bac, +1 on deleting, thanks.  I didn't see it
<benji> gary_poster: I think like so: new_obj = YUI.merge(obj1, obj2, obj3)
<gary_poster> benji, it is off of the object
<gary_poster> (and it is not on YUI, experientially in firebug console)
<benji> gary_poster: I don't know about that one; what kind of object is it?
<gary_poster> the root JS object (kind of like Python).  but it looks like it is just available in the namespace as a function!
<gary_poster> yeah
<gary_poster> merge({foo:4, bar:5}, {bar:7,bing:8})
<gary_poster> == { foo=4, bar=7, bing=8}
<gary_poster> cool
<gary_poster> well, I'll have to do more later.  time to go make dinner :-)
<gary_poster> night all
<benji> gary_poster: I'm not aware that such a thing exists.
<benji> l8r
<benji> gary_poster: I think that merge is coming from mochikit.
#launchpad-yellow 2011-03-16
<gary_poster> You are right, that is from mochikit.  The merge we want is on the Y object.  You can see it in the console with YUI().merge({foo:4, bar:5}, {bar:7,bing:8})
<gary_poster> night for real :-)
<gary_poster> benji, hi.  "save" nominally works, now even more than it did last night.  Specifically, the save button is hooked up, it saves to the server, and changes to the name and filter are reflected dynamically after a save.
<gary_poster> As Danilo mentioned, there are a number of other related issues, and I'm wondering how many of them I should claim as part of this particular effort/"branch".  Here's a list off the top of my head.
<gary_poster> * state is not loaded properly, especially for the radio button/checkbox divided thing (that is, if your notification level is "everything but comments")
<gary_poster> * patching fails if you try to use the accordion widget (form_data.importances is undefined)
<gary_poster> * the panel is not reset entirely across usages
<gary_poster> (no details available in my head for that one, just a vague memory of encountering the problem)
<gary_poster> I think there are some other ones, but that's what comes to mind now
<gary_poster> do you have a preference as to whether I land as is, and then try to fix some of those; or you tackle some of those (maybe they are in progress already?); or I try to fix them before I land?
<gary_poster> If you are not around to reply, my default will be to commit as is, merge with ~yellow's branch and push, and then try to fix some of those other issues.
 * gary_poster proceeds to do that.
<benji> gary_poster: sorry, I got distracted waiting for the list, pre-coffee attention span is lacking
<gary_poster> np :-)
<benji> +1 on committing what you have (especially with TODOs, I plan on doing a TODO/XXX purge before the end)
<gary_poster> pushed to ~yellow
<gary_poster> benji, I'd like to start keeping the punch list on the kanban board, please.  I have marked the bits that are specific to "unsubscribe in anger" as low.  I've added the two concrete bugs I mentioned above, as well as "Add JS tests".  I think you are working on that one?  If so, and you have no other objections, I'll move it to "coding" for you, and I'll move "load state properly and fully into overlay" into "coding
<gary_poster> If you could then add your other punchlist items to Feature Work 1 tasks I would appreciate it.
<benji> gary_poster: correct and +1 on "Add JS tests"; I'll add my other items as cards.  Do you want the non-required ones low and the required ones regular?
<gary_poster> bac, benji, gmb, flacoste made a suggestion on how we might run our morning meeting a bit differently.  In sum, I'll be reviewing the kanban board and asking questions of you guys and asking for details.  Hopefully that will be faster, it will leverage the kanban board better, and it will maybe even help us with the collaboration thing (we'll see; brief details on call)
<gmb> Cool, works for me.
<gary_poster> cool thanks
<bac> good experiment
<gary_poster> benji, yes, that would be great, thanks
<benji> k
<benji> gary_poster: which part of the backlog should the punchilst items go in?  I've forgotten which of the subdivides was for what.
<gary_poster> benji, feature list 1: tasks
<benji> thanks
<gary_poster> sure
<benji> oh, ok
<bac> gary_poster: do we have a means of testing IE?  i can set up a windows VM here if needed.
<gary_poster> bac, the direction from Francis is to simply remove the "no IE" clauses from our JS
<gary_poster> testing is extra niceness
<bac> hmmm
<gary_poster> his argument is that Firefox is the only browser that is truly officially supported
<gary_poster> Because that's where the Windmill tests live
<gary_poster> We fix webkit because it is in use
<gary_poster> but we don't test any of these exhaustively
<gary_poster> even FF is "most recent version on our test box"
<gary_poster> IE should be given a chance to try and work
<gary_poster> especially when the functionality has no alternative
<gary_poster> Also, the "no IE" was added at a time that YUI 3 had a very poor IE story
<gary_poster> Now AIUI it does not support IE 6
<gary_poster> but later versions of IE are supported reasonably well
<gary_poster> and IE 8 is the primary IE by far on LP
<gary_poster> So anyway, please feel free to argue, but I was alright with it myself
<benji> gary_poster: tasks added, I think there's one or two that I added that you've already done so a glance over them would be appreciated.
<gary_poster> ack, looking
<gary_poster> yes
<benji> I think we need a small but visible warning to people using unsupported browsers.  I can only imagine the feeling of shoddy workmanship a corporate type visiting with IE would get.
<gary_poster> I can see your position
<benji> [in general, not just our latest work ;)]
<benji> we did something like that on a previous project and it helped a great deal to both manage expectations and push people toward using supported browsers
<gary_poster> understood. :-) I'd be happy if you were to advocate that in some appropriate forum.  The only argument against it that I can think of off hand is that, depending on how you define "supported" the list could be *really* small.
<gary_poster> FF works fine for me on Chrome and Safari in addition to FF, but our support of Chrome/Safari is essentially catch-as-catch-can.  I dunno anyone who uses older versions of FF on the team.
<gary_poster> Saying "we'll treat problems in browser X as high priority" might sound nice, but as we know from the size of the open bug collection in our bugtracker, that could be argued to be just hot air.
<gary_poster> bac benji gmb, mumble/kanban in 1-ish
<gmb> Ack
<bac> crickets
<gary_poster> that was not an example of "faster" but hopefully it will become so
<gary_poster> ok, bac, so, you want me to just verify that the functionality works; or look at the code...?  Give me an idea of what you are looking for, please
<gary_poster> standard review?
<bac> gary_poster: just look the presentation, really
<gary_poster> ok cool, trying
<bac> gary_poster: i just put up two <a> links.  nothing fancy
<bac> sanity check, really
<gary_poster> bac, I would say that it is functional and reasonable.  In a perfect world, I'd have some CSS tweaks to change several things about the pane: "Select all" and "Select none" would be smaller...and if LP used underlines to show links like the rest of the world then I'd advocate that too, but nevermind.
<gary_poster> I'd also put in some padding to the whole pane, as well as some horizontal padding for each of the checkbox items.
<gary_poster> So in context, then, my take is "good, and let's maybe send the whole thing to Huw for some polish soon, or spend some time on that ouselves"
<gary_poster> Good enough, or do you want to drillinto any of that?
<benji> gary_poster: I have a ZF meeting on my calendar for today, any idea if that's right?
<gary_poster> benji, might have been cancelled, because the board was all elected?
<gary_poster> I mean, nominations equaled spots available
<gary_poster> so voting was not necessary
<benji> could be; I don't even remember getting the vote email, I wonder if they're still using my zope.com address
<bac> gary_poster: thanks for looking at it.  i agree with your comments but think it may be best to send the whole thing off to huw for tweaking.
<gary_poster> cool, bac
 * gmb -> out for a run
<benji> gary_poster: ZF meeting /is/ on (the time zone change made me be off by an hour); #zope-foundation
<gary_poster> benji, ah, k
<benji> gary_poster: are there any other ZF members at Canonical that we should remind?
<gary_poster> ...
<gary_poster> is sidnei?
<bac> jml is doing a TDD presentation today at noon:  https://wiki.canonical.com/KnowledgeSharing/TDD
<gary_poster> bac, you were asking for confirmation of whether the thunderdome was going to be in Ireland.  I asked Francis.  Still no confirmation, but he said it was a reasonable time to check back in with Marianna about it.
<bac> thx
<gary_poster> lunch
<gary_poster> benji, ~yellow now has proper rendering of data (loading of state) in edit forms.  It may have fixed "patching fails if you try to use the accordion widget" on the way; not sure.
<gary_poster> I'm now going to a card I added, "Normalize "any status" and "any importance" so that if all checkboxes are checked, or none, they are the same in summary display and checkbox redraw."
<gary_poster> Notice I added another card too: "Make help links work (tags, subscription name)"
<benji> k
<gary_poster> or, bac, is there something I can do to help you?  "Make sure that clicking add subscription after an add or cancel displays a clean form " would suit me fine.
<bac> gary_poster: that is a good one
<gary_poster> ok, doing that
<bac> gary_poster: i talked to curtis and getting our link in that portlet is best done by creating a hidden link.  that's going to require some surgery on the Link rendering
<gary_poster> bac, brain surgery, or ear piercing?
<bac> gary_poster: i hope it isn't too bad.  will need to add a new attribute to ILink and teach the renderer to include display:none or something similar
<gary_poster> ok, yeah, doesn't sound awful
<bac> should be straightforwardish but all of the abstraction around menuing makes my head hurt
<gary_poster> yeah, I hear you. :-/
<bac> gary_poster: so i plan to make a separately landable branch to do that and then wire it into our branch
<gary_poster> sounds perfect
<gary_poster> bac, if you open an overlay with "Subscribe to bug mail," make some changes, click cancel or click away to make the overlay vanish, and then click on "Subscribe to bug mail" again, what do you think should happen? 1) your changes are remembered or 2) you get a fresh start?  I have an opinion, but I'd like to hear yours and compare notes.
<gary_poster> I'm going to make a decision, but I'll keep quiet on what it is until I hear from you...or until I have to land. :-)
<bac> hey gary_poster
<gary_poster> hey bac
<gary_poster> I hope we agree ;-)
<bac> sorry, my house is all tore up and a guy is here installing new floors.  sometimes it is distracting.
<gary_poster> lol, np
<bac> two rooms worth of stuff have been crammed into my office.  :(
<gary_poster> hey, same here!
<bac> gary_poster: i guess a cancel should wipe out your work and you get a fresh start
<gary_poster> stuff that was in the baby-room-when-we-don't-have-a-baby was dumped out here
<bac> same for reopening after a successful submit
<gary_poster> bac, cool, agree, that's what I did.  Almost done.
<bac> is click-away a different scenario?
<bac> i guess not
<gary_poster> It could be--I see why you ask, I think--but making it one might be annoying
<bac> i can just see the 'i did lots of stuff and then it ate my work' bug
<bac> probably from wgrant. :)
<gary_poster> heh
<gary_poster> I still think the desired behavior in that case is ambigious at most
<bac> we're having an NC launchpad dinner tomorrow
<gary_poster> and so implementing the easier one makes sense
<bac> yeah
<gary_poster> NC launchpad, huh?
<bac> well, sackett wanted to try lantern
<gary_poster> :-)
<gary_poster> If that's an invitation, I could see if Karyn is up for it and we could get a babysitter
<bac> oh, you're more than welcome if you can possibly come
<bac> i assumed you were not doing a lot of social stuff these days
<gary_poster> no, not so much, but K has wanted to go to Lantern
<bac> oh.  well find out and i'll up the reservation.  it is currently at 6:15
<bac> and i promise they will not have green beer
<gary_poster> heh
<gary_poster> cool.  I should know in half an hour or less; I suspect the answer is probably no, but thank you for mentioning it.  We'd definitely like to get together more often, though things will probably be more challenging, not less, for at least a few months after the delivery.
<gary_poster> bac, enjoy.  We won't be able to do it this time.  K says maybe we can have you guys over sometime soon.
<bac> that sounds great
<benji> from the looks of it, it's not safe to run the tests on the ~yellow branch; right?
<gary_poster> I'm probably guilty
<gary_poster> I have no idea how to run the tests
<gary_poster> which is probably bad, what with me changing things and stuff
<gary_poster> how do I run the tests, benji?  I'll see if I can fix in a sec
<benji> gary_poster: I was just running bin/test -c lp.bugs.browser and got a wall of errors
<gary_poster> ah, those tests
<gary_poster> yeah, I got scared of those earlier.
<benji> (the JS tests are run like so xvfb-run ./bin/test --layer=RegistryWindmillLayer -cvvt test_yuitests)
<benji> while I have your attention, did you write person_is_team_admin?
<gary_poster> yeah, I've almost exclusively been touching the JS lately
<gary_poster> benji, yes, and it is fixed in my branch.  sorry about that.
<gary_poster> I can commit in just a sec
<benji> heh, ok; sounds good
<gary_poster> benji, pushed, along with fixes for a another related item or two you might have encountered.
<benji> cool, pulling now
<gary_poster> (the deletion of filters within subscriptions had been a bit hosed)
<gary_poster> I'll see if I can see what lp.bugs.browser does...
<gary_poster> benji: AttributeError: 'BugSubscriptionListView' object has no attribute 'structural_subscriptions' and AttributeError: 'TargetSubscriptionView' object has no attribute 'structural_subscriptions' are trivial.  I had set up an attribute for you to use when building your views, and you ignored it. :-P  I ripped it off locally, and forgot to remove the test.
<gary_poster> That said, I've seen "UnknownEntryAdapter: No IEntry adapter found for Interface (web service version: devel).  Encountered as a result of the entry interface None, field ''." when I run LP.  That one is mildly scary to me and has been around for a little while.  I'll look into it.
<benji> yeah, the IEntry one worried me a bit too
<gary_poster> benji, looking at the diff with devel, this seems like the most likely culprit.
<gary_poster> @export_factory_operation(Interface, []) # Really IBugSubscriptionFilter
<gary_poster> That's on def addBugSubscriptionFilter(subscriber, subscribed_by):
<gary_poster> I assume there's supposed to be a fix for a circular import.  I'm not entirely sure how to do that, but I think I know where to look.  If you already have an idea of what to do, though, I'm all ears.
<gary_poster> yeah, I think I see it...
<gary_poster> yeah, benji, that was it, and I have a fix.  I'll push it and a merge with devel in just a few, hopefully.
<gary_poster> benji, pushed.  bin/test -c lp.bugs.browser passes and devel is merged
<gary_poster> off to dinner
<benji> gary_poster: cool; that was less painful than I expected
#launchpad-yellow 2011-03-17
<gary_poster> hiya.  getting breakfast for kids.  bac, got your message.  I'll be in touch in a few to touch base on what you might want me to work on today.  On your list I was thinking about looking at the flicker, though I might not be able to pull it off quickly.
<bac> gary_poster: ok
<gary_poster> https://dev.launchpad.net/TestingJavaScript
<gary_poster> https://dev.launchpad.net/Windmill
<bac> https://dev.launchpad.net/JavascriptUnitTesting
<gary_poster> hi gmb and benji.  I see you in mumble already.  I'll be ready in a min.
<benji> gary_poster: a slightly expanded version of my comment from the call: do you know if the representation for subscribing to all (e.g.) statuses is different than just enumerating all the (current) statuses?  If so we should be sure to use it instead of just including all the statuses in the list.
<gary_poster> benji, ah!
<gary_poster> so, an empty list of statuses/importances means matching all importances
<gary_poster> that's what my card is about
<gary_poster> (matching all status/importances respectively, I should have said)
<gary_poster> IMO this is what we should do:
<gary_poster> 1) on the server side, if we are told that we are supposed to subscribe to all statuses/importances, we convert that to an absence of statuses/importances in order to keep database records low
<gary_poster> (each status/importance checkmark per filter == a row in a table)
<gary_poster> 2) in our JS for the form overlay, convert an absence of checkmarks to all checkmarks; I think we might do that already, not sure
<gary_poster> 3) in our JS for summarizing, I think the changes above will make the display "just work" but we should make sure that the summaries do not list all importances/statuses--if they are all selected, then that means there is no filtering on them.
<gary_poster> (done)
<benji> I don't think 2 is neccesary, if they haven't checked anything then they'll get an empty list which means everything (right?)
<benji> 3) it does list every one if they are all present at the moment, but if we do 1 then that won't happen
<gary_poster> I think it is much clearer to the end user that all checkboxes means that they get all statuses/importances
<gary_poster> That's the way it was mocked up for user testing, and that's the way it works in our cyrrent add form
<benji> oh, you meant in the UI for 2, yeah, that makes sense; I was talking about the API
<gary_poster> 3: right, that's what I was thinking
<gary_poster> 2: oh, cool, we're on the same page then
<benji> i.e., if you check all of them in the UI the API call should include none (meaning all)
<benji> 1) may be a challenge, I don't know if there's a place we can add that logic
<gary_poster> 2: I don't care about us sending "the right thing" over the API actually, because 1) should make it work the way we want anyway.  That's good because we want people other than ourselves to not create unnecessary records too.
<gary_poster> #1 can go in the model logic.  It's all already done with properties so it should be pretty straightforward.
<benji> cool
<gmb> gary_poster: I'm ready whenever you are.
<gary_poster> gmb, setting duration to 0 appears to set it to some default speed, rather than "immediate" :-/
<gmb> Boo.
<gary_poster> agreed
<gary_poster> ok, I'm off to "lunch" (helping out wife with stuff out in the car).  Back in a bit.
<benji> I keep getting: WindmillTestClientException: {u'suite_name': u'RegistryYUIUnitTests', u'result': False, u'starttime': u'2011-2-17T20:44:18.244Z...
<benji> I've seen it before but rerunning the tests made it go away.  I've gotten it three times in a row now.
 * gmb -> errands; bbiab
<gary_poster> bac, ready for call when you are.  When there, I have this question for you (for reminding myself): can you explain what node.set(SRC, EXPANDER_COLLAPSED); does?
<bac> ok.  1 minute, let me beverage-up
<gary_poster> cool
<benji> bac: do the windmill tests currently pass for you?
<bac> benji: i haven't tried in a while.  OTP but will try later
<benji> thanks; they consistently fail for me, but I think I'm homing in on the problem
<gary_poster> https://bugs.launchpad.dev/firefox/+subscriptions
<gary_poster> https://bugs.launchpad.dev/firefox/+bug/1/+subscriptions
<_mup_> Bug #1: Microsoft has a majority market share <iso-testing> <ubuntu> <Clubdistro:Confirmed> <Computer Science Ubuntu:Invalid by compscibuntu-bugs> <EasyPeasy Overview:Invalid by ramvi> <GNOME Screensaver:Won't Fix> <Ichthux:Invalid by raphink> <JAK LINUX:Invalid> <The Linux OS Project:In Progress> <metacity:In Progress> <OpenOffice:In Progress by lh-maviya> <Tabuntu:Invalid by tinarussell> <Tivion:Invalid by shakaran> <Tv-Player:New> <Ubunt
<bac> hi gary_poster
<gary_poster> hey bac.  otp
<bac> gary_poster: ok.  can you ping me when you're off?  i'd like a quick chat
<gary_poster> sure
<bac> gary_poster: any idea how long?
<gary_poster> bac, 5?
<bac> great
<bac> er, 5:00pm or 5 minutes?
<gary_poster> minutes
<gary_poster> bac, mumble, skype, ...?
<bac> mumble
<benji> gary_poster: I'm almost ready to land the test fixes.  It will have one odd bit, I removed one set of tests that the branch I'll land later replaces.  I tried to fix them for the time being but it took too long to warrent putting into tests I was going to rework anyway.
<benji> gary_poster: ok, finally pushed
<gary_poster> awesome, thanks benji.  I'll try finish getting the help pages sorted out, and then try to merge, test, & push.
#launchpad-yellow 2011-03-18
<gary_poster> I fixed tests after my changes and pushed also.
<gary_poster> bac, for JS templating, did you see Y.substitute? http://developer.yahoo.com/yui/3/api/YUI~substitute.html and http://developer.yahoo.com/yui/theater/video.php?v=kloots-yuiconf2009-sugar @ 22:30
<bac> gary_poster: no
<gary_poster> it looks like it might be a nice way to go forward
<gary_poster> or at least stateof the art, such as it is
<gary_poster> my kingdom for a multiline JS string :-/
<bac> gary_poster: that does look nice...quite an improvement on my awful contatenation
<gary_poster> :-) maybe we can get around to switching at some point...or maybe we just learn for next time.
<gary_poster> bac benji gmb mumble/kanban/weekly in 2
<gmb> Ack
<bac> gmb: done!
<gmb> Haha!
<benji> yay! I finally got my JS test branch merged, working, and pushed.
 * benji goes to find a punch list item to do.
<benji> Is the thing to do with the "Add JS tests" card just move it to review until the whole shebang is reviewed/landed or move it somewhere else?
<gary_poster> yay benji
<gary_poster> we are using the review lane now for punch list tasks as "things to show that I did in the morning meeting"
<gary_poster> s/that/what
<gary_poster> so move it to "reviewed" now
<benji> k
<gary_poster> and after Monday's morning meeting, send it to Achived/Done
<benji> gary_poster: "reviewed" or "review"?
<benji> (I don't see a "reviewed")
<gary_poster> sorry, "review"
<benji> k
 * gmb -> errands; afk for a while
<gary_poster> I pushed a branch with these changes:
<gary_poster> "more" ellipsis hints are added; you can click on the text for checkboxes and radio buttons to change the value; subscription titles are correct when editing; saving and viewing subscriptions that do not have the radio buttons to enable bug filtering actively clear out those values when saving.
<gary_poster> gmb, please let me know when you are available.  I have a couple of questions if I can catch you before EoD
<gmb> gary_poster: I'm available now. Mumble or IRC?
<gary_poster> well, I was going to try IRC, but mumble is faster.  Let's do that, thank you.  I'm looking at the "Must" section of https://dev.launchpad.net/LEP/BetterBugSubscriptionsAndNotifications and wanted to verify my answers.
<gmb> Ok
<gary_poster> uh-oh, I'm at < 3G free on my hard drive :-/
<gary_poster> Beter find something to delete
<gary_poster> t
<gary_poster> bac, benji, gmb, here's the plan for presenting to jml, so you know.
<gary_poster> I'm going to write up a wiki page for jml with our status, and what he needs to do to look at the varioud features
<gary_poster> he will review that on his own time his monday morning
<gary_poster> this will include checking out the ~yellow branch
<gary_poster> so we'll want that to be ready to go--as well as anything else he'll be looking at--by that time.
<benji> where "his monday" is this upcoming Monday?
<gmb> ok
<gary_poster> yeah, benji
<gary_poster> I'll have a call with him 1600 UTC, our noon
<gary_poster> to review his opinions on what he's seen
<benji> Does that change our short-term approach any?  Is there anything that really needs to get done by then?
<gary_poster> benji, AFAIK the only thing this means is that we should doublecheck ~yellow before we sign off for the weekend
<benji> k
<gary_poster> boo hoo, could someone make me an administrator of https://launchpad.net/~malone-alpha :-D .  Maybe Brad too.  Benji, Danilo, and Graham are administrators now.
<gmb> Heh.
<gmb> I'll fix it.
<gary_poster> thank you
<gmb> Done
 * gary_poster feels ever so slightly more infused with the power of LAUNCHPAD
<gary_poster> thanks again
<gmb> np
<gary_poster> biab
<benji> man, tests really are wonderful
<gary_poster> heh, yes
<bac> gary_poster: i'm landing that menuing branch now.  will update and push to yellow when it hits devel
<gary_poster> awesome bac, thanks.
<gary_poster> FWIW, https://dev.launchpad.net/LEP/BetterBugSubscriptionsAndNotifications/FeatureReviewNotes has the notes I've compiled for Jono.  I'm sending the email now.
<bac> my brain is mush so i'm checking out and going for a walk.
<bac> great
<gary_poster> cool
<gary_poster> If I get any more steam I'm going to tackle "Disable editing of the notification recipient" in feature lane 1.  If someone else has steam sooner than me, feel free: it would be good to have cleaned up for Jono's review so that he doesn't get the wrong idea.  Don't feel obliged to do anything though.  Meanwhile, my brain feels kinda mushy too, so I'm going to sign off for now.  Have a great weekend.
#launchpad-yellow 2012-03-12
<frankban> gmb: good morning, what do you think about start pairing on Gary's email after some coffee?
<gmb> frankban, Hi, sorry, was afk and missed your ping...
<gmb> frankban, Have you had a chance to look at Gary's changes to lxc-start-ephemeral yet?
<frankban> gmb: no, I was trying to start buildbot master without success
<gmb> frankban, Ah, okay. Well, I was thinking that we might be better off splitting the tasks rather than pairing... what are the problems you've been having with the -master?
<frankban> gmb: I started a juju oneiric instance, apt-get update doesn't work: errors are like:
<frankban> W: Failed to fetch copy:/var/lib/apt/lists/partial/us-east-1.ec2.archive.ubuntu.com_ubuntu_dists_oneiric_main_i18n_Index  Encountered a section with no Package: header
<gmb> Wow.
<frankban> gmb: is oneiric the right choice for juju instances?
<gmb> frankban, Might be worth checking with the guys in #is to see if this is a wider problem. That looks like a broken archive.
<gmb> frankban, I don't know; I've got precise was the default-series for my ec2 environment. Let me see if I can bring one up.
<gmb> frankban, Is this error happening during the charm's install hook, then?
<frankban> gmb: yes
<gmb> Okay.
<frankban> the install hook adds a ppa and the runs apt-get update
 * gmb keeps watching the precise instance he just created.
<gmb> Huh. So, the instance never seems to get out of "pending"
<gmb> I can't ssh to it.
 * gmb tries oneiric
<frankban> thanks gmb,a nd please use a large instance
<gmb> frankban, Okay... what do I need to do to make sure that I get a large instance?
<frankban> gmb:  in ~/.juju/environments.yaml I have:
<frankban>  default-instance-type: m1.large and default-image-id: ami-ff975496
<gmb> Ah.
<gmb> Thanks.
<frankban> (inside the ec2 env)
<frankban> gmb: I've got the master running using precise: default-instance-type: m1.large, default-image-id: ami-e0ca1689
<gmb> frankban, Hmm. My machines aren't evening coming out of "pending". And that's not for the charm, that's for juju itself.
<frankban> gmb: a time will come when what works today will work tomorrow...
<gmb> Hah, yes.
<frankban> however, I have started the slave installation (with setuplxc), and that will take about an hour
<gmb> Okay.
<gmb> frankban, I need to go and do some more work on the packaging - I may have solved my problems over the weekend. Can you check out Gary's changes to lxc-start-ephemeral? I've looked at the diff and it looks fine, but I haven't actually tried using it yet.
<frankban> gmb: sure
<gmb> I'll also keep kicking at juju, see if I can get something working. Maybe I need to update and upgrade...
 * gary_poster is still sick, and now two out of three children have it too. :-/  Meanwhile, upgrading.  Will restart and then prep for call
<gmb> gary_poster, Um, isn't the call at 13:10 UTC?
<gary_poster> gmb, oh!  we had daylight savings time, or whatever you all call it on that side of the pond ("summer time"?)
<gary_poster> you have that next week gmb?
<gmb> gary_poster, Yeah, I think it's the 25 that ours go forward.
<gmb> In the UK anyway.
 * gmb checks
<gmb> yup
<gary_poster> ok so this week still 1310
<gmb> ok
<gary_poster> we'll switch when you all switch
<gmb> In that case, ugrades & lunch...
<gary_poster> k :-)
<gary_poster> benji, we'll have call @ 9:10 (europe didn't switch yet and this is their lunch time)
<benji> k
 * benji hates changing time zones and wishes we'd do daylight saving time all year.
<gary_poster> :-)
 * gary_poster can imagine the political slogans:
<gary_poster> "save more daylight!"
<benji> "Won't someone think of the chi...daylight!"
<benji> I've considered pusing to ban stop signs on the (made up) basis that yields are more environmentally friendly.  I'm sure I could roll DST in there somehow.
<gary_poster> heh
<benji> gmb: should I fire up a slave instance or are you guys lovingly preparing one for us to use later?
<frankban> benji: I have started juju master and slave, I am adding your ssh key to both, ok?
<frankban> gary_poster: please see https://code.launchpad.net/~frankban/ubuntu/precise/lxc/bug-951150 for a working version of start-ephemeral (some small fixes)
<benji> frankban: cool; with even more overlap beteen our days today, I wonder how we're going to collaborate. Ideas?
<frankban> benji: master: ec2-107-21-145-254.compute-1.amazonaws.com
<frankban> slave:ec2-23-20-53-135.compute-1.amazonaws.com
<frankban> benji: please add gary_poster's key, going to lunch now
<benji> frankban: "Permission denied (publickey)." I wonder if my LP key(s) are correct; checking.
<gary_poster> overlap is only higher for one week
<gary_poster> frankban, cool.  Are those changes actually fixes (things didn't work without them) or just cleanups?
 * benji tries to figure out a polite way of saying "I knew that." :)
<gary_poster> (I know you are at lunch, just queuing questions :-) )
<gary_poster> heh
<gary_poster> ok
<gary_poster> benji, I'd be surprised if your LP keys were incorrect, because IIRC that's what Canonical's IS uses to set you up on machines
<benji> gary_poster: yeah, I've verified they are right.  I'm still looking at why I can't log in.  I'm only assuming my user name is "benji", but that seems like a safe assumption.
<benji> that being said, even if I could log in, I don't know what I'm expected to do
<gary_poster> yeah...no idea.  You could try "ubuntu," benji
<benji> ooh, good idea
<gary_poster> you are supposed to add my key too, of course! ;-)
<gary_poster> (don't ask me what to do after that)
<benji> gary_poster: you are a genious
<gary_poster> heh
<benji> and I am not a good speller
<gary_poster> :-)
<gary_poster> benji, one question would be to see how the tests are running.  that would be http://ec2-107-21-145-254.compute-1.amazonaws.com:8010/ right?  that's not resolving for me yet...
<benji> gary_poster: if exposed (which is likely), yes
<gary_poster> t'ain't visible to me
<frankban> gary_poster, benji: sorry, I forgot to add the relation between charms, doing now
<benji> frankban: does the slave have your lxc-start-ephemeral fixes?
<frankban> benji: no
<gary_poster> frankban, you'll want to change lxc-start-ephemeral and also the test script as I described in the email (removing -b).  Do this after lunch though :-)
<frankban> gary_poster: the test script should be the correct one, since I've used your new version of setuplxc in the charm config file
<gary_poster> oh, cool
<gary_poster> benji, frankban gmb call in 2
<benji> if anyone finds the waterfall display suboptimal, I prefer the build info page: http://ec2-107-21-145-254.compute-1.amazonaws.com:8010/builders/lucid_lp/builds/0
<gary_poster> And now I have a link to refer to once I return from restarting my machine! :-)
<benji> :)
<benji> I wonder what I did to get into this "Partial Upgrade" state.
<gary_poster> benji, does --list usually take this long (http://ec2-107-21-145-254.compute-1.amazonaws.com:8010/builders/lucid_lp/builds/0/steps/shell_8/logs/stdio)
<gary_poster> I suppose we could be waiting for stdout's buffer to fill with something...
<benji> gary_poster: it takes longer than I would expect, but I think it should be done by now
<gary_poster> hm.  The canary was fine
<benji> we can look to see if it is in a select() live-lock
<gary_poster> ah right
<gary_poster> that would be a mite disheartening
<benji> I'll look.
<gary_poster> benji, have you added my key, btw?  and frankban please don't forget to add us (or at least benji) to the other two machines, so we can shut them off
<benji> gary_poster: nope; I'll do that too
<gary_poster> ty
<gary_poster> benji, it made progress
<benji> heh; ok
<gary_poster> so far so good
<benji> gary_poster: you should be set up on the master and slave; I don't have access to the ZK machine yet
<gary_poster> benji, great thank you
<frankban> gary_poster and benji: you are allowed on the zookeeper instance: ubuntu@ec2-50-17-161-43.compute-1.amazonaws.com
<gary_poster> great, thanks frankban
<benji> frankban: thanks
 * benji reboots
 * gmb -> reboot, tea
<benji> you guys may have remarked on this while I was away fighting the "Partial Upgrade" dragon: I'm seeing the same tmp-dir-centric failure we saw earlier: http://ec2-107-21-145-254.compute-1.amazonaws.com:8010/builders/lucid_lp/builds/0/steps/shell_8/logs/stdio
<gary_poster> benji, we had not discussed, but I was thinking about it.  I was just about to log onto the slave and see what the container's /var/tmp looks like.
 * benji fills his coffee cup.
<gary_poster> benji, tmpCXj9IX is the missing part.  everything else is there.  hallyn is calling me...
<benji> it is encouraging that the tests seem to be CPU bound
<benji> gary_poster: missing part?
<gary_poster> benji, "OSError: [Errno 2] No such file or directory: '/var/tmp/ppa/joe/myppa/tmpCXj9IX'"
<benji> ah!
<benji> hmm
<gary_poster> everything is there except the last part
<gary_poster> uh-oh, time to change the cat litter!
<gary_poster> (I figure everyone would want to know that)
<gary_poster> biab
<gary_poster> (back,btw)
<benji> frankban: I was going to review https://code.launchpad.net/~frankban/lpsetup/split-files/+merge/97028 but since there were code changes and moves mixed together, I don't think I can realistically figure out what code actually changed.  I'm fine with rubber-stamping it (i.e., approve it without actually seeing what has changed) or you can make a branch with just the moves and make that a prerequisite branch so this MP will show th
<gary_poster> benji, afaict only one test process is running :-( investigating to confirm...
<gary_poster> why did that happen on friday again?  can't remember
<frankban> benji: thank you, actually that branch is just about splitting the lpsetup script into several files. The code is already reviewed, but I'd like suggestions on the project structure.
<benji> gary_poster: I don't think we know why it happened, the symptom was a selct() live-lock, if I recall correctly
<gary_poster> right
<benji> frankban: oh; the MP says there were other changes
<gary_poster> I had hoped that this parallel thing would fix it :-( :-(
<gary_poster> I mean, ephemeral thing
<benji> me too
<benji> gary_poster: earlier when viewing top output I got the impression that two test processes were running
<benji> gary_poster: see processes 23716 and 22426
<gary_poster> benji, maybe my expectations are broken then--I expected to see two files in .testrepository, one for each process; maybe that's the combo
<benji> gary_poster: I would have (baselessly) expected the same thing.
<frankban> benji: the other changes are really minor fixes, and only in how file_append is used.
<benji> frankban: is the subcommand structure new?  I don't see the value-add in doing it that way versus runnable scripts.
<gary_poster> benji, I confirmed that the .testrepository/tmp... file contains tests from both lists.  So, yay, afaict
<benji> cool
<frankban> benji: the file structure is new, the subcommands layer over argparse was already present.
<benji> frankban: ok, thanks
<frankban> benji: thank you
<gary_poster> benji, http://ec2-107-21-145-254.compute-1.amazonaws.com:8010/builders/lucid_lp/builds/0/steps/shell_8/logs/stdio readonly issues remain
<gary_poster> as well as others
<gary_poster> looks very similar
<benji> >:(
<gary_poster> Nothing has changed in the root directory...
<gary_poster> benji, uh-oh: http://pastebin.ubuntu.com/880494/
<benji> gary_poster: what have you done?!  ;)
<gary_poster> :-)
<gary_poster> benji, uh, any ideas?
<benji> gary_poster: only the obvious: there was a problem binding
<gary_poster> tests are spewing wildly
<benji> we should look in the fstab
<gary_poster> benji, well it worked initially
<gary_poster> or else the tests would not have started
<benji> yeah, that is odd
<gary_poster> so it fell over, it seems
<frankban> gary_poster: what's the problem?
<gary_poster> frankban, the mounted directories have disappeared
<benji> we had the Daniel Silverstone error and then things really went off the rails
<gary_poster> benji, if you look in syslog you see overlayfs talking about being unable to whiteout files
<benji> darn, a whiteout underflow
<gary_poster> which corresponds to errors we see in our test log
<gary_poster> postheld.txt comes right after daniel silverstone
<gary_poster> and is in syslog
<gary_poster> that syslog looks kind of unhealthy also just with lines seeming to get munged together
<gary_poster> benji, I'm also concerned about "non-accessible hardlink creation was attempted by: Xvfb (fsuid 110)": it looks a lot like a variant of that overlayfs bug I filed with the chmod 0444 + ln story
<benji> gary_poster: that error seems to be associated with not having the kernel config CONFIG_TMPFS_XATTR enabled
<gary_poster> benji, the whiteout or the hardlink?
<benji> gary_poster: it does; is that just a warning, or an error?
<benji> gary_poster: white
<benji> out
<gary_poster> ah ok.  that sounds promising then
<gary_poster> warning or error: neither, simply reported
<gary_poster> syslog not being healthy: look at the first line of these three as an example:
<gary_poster> Mar 12 13:40:54 ip-10-78-193-250 kernel: [12073197.514949] eth0: no IPv6 outers peent
<gary_poster> Mar 12 13:40:54 ip-10-78-193-250 kernel: [12073197.766450] vethVsavoK: no IPv6 routers present
<gary_poster> Mar 12 13:40:55 ip-10-78-193-250 kernel: [12073198.355046] vethexeo2M: no IPv6 routers present
<gary_poster> someone ate two "r"s and an "s"
<gary_poster> other similar examples in there too
<gary_poster> benji, did you see/do you know how to check current value of CONFIG_TMPFS_XATTR?
<benji> that is quite odd
<benji> gary_poster: nope, let me see
<benji> gary_poster: are we using a tmpfs as the upper filesystem?
<gary_poster> benji, yes.  also saw "Xattrs are also needed for overlayfs."
<benji> gary_poster: it seems that tmpfs doesn't support xattrs; so... we need a different upper fs
<benji> (someone at least proposed adding it, but it apparently hasn't happened yet)
<gary_poster> benji, it does if that thing you found is turned on.  it was a patch specifically for this purpose
<benji> ah!
<benji> (the discussion I am reading is from 2011: http://www.serverphorums.com/read.php?12,301386)
<gary_poster> It looks like it is available: http://cateee.net/lkddb/web-lkddb/TMPFS_XATTR.html
<gary_poster> but...not sure...
<gary_poster> also http://kernel.xc.net/html/linux-2.6.11/i386/TMPFS_XATTR
<benji> gary_poster: it looks like a compile-time option :(
<gary_poster> I wondered about that; that's what it looked like to me too...
<gary_poster> benji, what's our kernel version in precise?
<benji> gary_poster: 3.2.0-18-virtual #29-Ubuntu
<gary_poster> ah 3.2.0-17.27
<gary_poster> or thereabouts
<gary_poster> cool
<benji> :)
<gary_poster> how does one check that
<gary_poster> I looked in release notes
<benji> uname -a
<gary_poster> ah right uname
<frankban> gary_poster: it seems that xattr is enabled for tmpfs: grep TMPFS_XATTR /boot/config-3.2.0-18-virtual
<gary_poster> ah, good call frankban
<frankban> benji: thanks for the review
<benji> frankban: my pleasure, I hope it was helpful
<benji> frankban: ooh, good find! in that case, we're back to tryign to figure out why we're getting whiteout errors
<frankban> benji: about the author, that was someting I wanted to ask, thank you... Can I use launchpad as mantainer and driver for the lp project too?
<gary_poster> benji, frankban, the one thing that I know I did in a crazy way is that we are using an overlayfs as the upper part of an overlayfs
<gary_poster> there's an easy fix for that
<gary_poster> make a new tmpfs
<gary_poster> and use that
<benji> frankban: I /think/ so, for the lazr projects we have a maintainer of https://launchpad.net/~lazr-developers and no driver; it couldn't hurt to use https://launchpad.net/~launchpad as the maintainer
<gary_poster> biab
<benji> frankban: we could also set Owner to https://launchpad.net/~launchpad-leader, like LP
<frankban> benji: ok
<gary_poster> benji, I need to step away.  Want to try adjusting the branch to make a separate tempfs for the bound bits?  should be relatvely easy
<gary_poster> or I can tackle when I return
<benji> gary_poster: I'm stepping away for lunch too.  The first one back gets to make as many tempfs-s as he likes.
<gary_poster> cool
<gary_poster> I'm giving it a try
<frankban> pycon us, all the videos: http://pyvideo.org/category/17/pycon-us-2012
<gmb> gary_poster, benji, frankban: Can one of you run `sudo apt-add-repository ppa:gmb/canonical-ppa && sudo apt-get update` and then tell me what the latest version reported by `apt-cache show charm-tools` is please?
<frankban> sure gmb
<gmb> Thanks
<frankban> 0.3+bzr130-1-pythonhelpers~precise1
<gmb> Argh.
<gmb> frankban: Thanks.
<frankban> gmb ^^^^, but I've got 131 for the source package
<gmb> frankban: Ah, cool. So it's probably just that the recipe's built but that doesn't actually mean that the binary has built.
<gmb> E_CONFUSED_GMB
<frankban> gmb: I think so
<frankban> I've seen that the binary takes more time
<gmb> Okay, I can live with that.
 * gmb digs a bit to find out more
<frankban> gmb: you should find a cheating countdown in launchpad
<gmb> frankban: I have "Start in 11 minutes" for precise
<gmb> I can live with that.
<gmb> I'll go and do some admin stuff in the meantime.
<gary_poster> <hallyn> gary_poster: my understanding is that the rationale/justification for overlayfs's simplicity is precisely that you can overly on top of an overlay
<gary_poster> * koolhead17|away (~beermon@117.193.251.230) has joined #ubuntu-server
<gary_poster> <hallyn> gary_poster: so doing what you suggest is good for verifying that that's the problem, but if there's a problem then it's a bug
<gary_poster> not sure that's particularly reassuring
 * benji is back.
<gary_poster> benji, hallyn said using overlayfs within overlayfs is fine (see immediately above), but I could experiment anyway.  I have done so, and I have a version that makes a tempfs on the slave now
<benji> gary_poster: cool; is that version on the slave (or easily transferable) so we can test it?
<gary_poster> benji ^^ on the slave now :-)
<gary_poster> benji, I am still getting the "I'm not really mounted" weirdness
<benji> gary_poster: where "I'm not really mounted" is the empty /var/lib/buildbot?
<gary_poster> benji, right
<gary_poster> benji, pretty sure it was working before
<gary_poster> just with my /home/gary
<gary_poster> but should be the same
<gary_poster> benji, mind is blown.  Completely confused.
<benji> gary_poster: do you want to pair on this?
<gary_poster> oh! of course!
<gary_poster> benji, sure
<gary_poster> mm, confused again
<benji> :)
<gary_poster> benji, https://talkgadget.google.com/hangouts/extras/canonical.com/goldenhorde
<gary_poster> https://code.launchpad.net/~gary/ubuntu/precise/lxc/bug-951150/+merge/97021
<gary_poster> benji, lp:~launchpad/zope.testing/3.9.4-p5
 * gary_poster lunches
<gary_poster> benji, btw, hallyn added a -d (daemon) to script which changed the look of it significantly.  The version of the script with my most recent changes is https://code.launchpad.net/~gary/ubuntu/precise/lxc/bug-951150-2/+merge/97077
<benji> I suspect lxc-start, lxc-start-ephemeral, and lxc-clone are on a collision course (i.e., there should be a refactoring project that looks at all three and how they are related to one another)
<benji> gary_poster: I've been doing reviews and haven't really made any progress on bug 9slhlsdffjlisdhdf
<_mup_> Bug #9: Rosetta's po parser is too strict <lp-translations> <Launchpad itself:Fix Released by carlos> < https://launchpad.net/bugs/9 >
<benji> pfft, thanks mup
<gary_poster> benji :-) on call
<gary_poster> so far this looks virtually identical...we are not to the crazy bits yet, I guess: http://ec2-107-21-145-254.compute-1.amazonaws.com:8010/builders/lucid_lp/builds/1/steps/shell_8/logs/stdio
<benji> gary_poster: I've verified that the testDryrunOption failure is because of lack of test isolation (running the test by itself produces the same failure)
<benji> both lp.archivepublisher.tests.test_generate_ppa_htaccess.TestPPAHtaccessTokenGeneration.testDryrunOption
<benji> and lp.archivepublisher.tests.test_generate_ppa_htaccess.TestPPAHtaccessTokenGeneration.testGenerateHtpasswd
<gary_poster> benji, it blew up again, with the same errors.  :-/  Mm, idea...
<benji> in the last test run, lp.services.webapp.tests.test_dbpolicy.LayerDatabasePolicyTestCase.test_WebServiceRequest_uses_LaunchpadDatabasePolicy
<benji> is the first test that doesn't fail when run in isolation (on a regular dev machine)
<gary_poster> well, that's good-ish
<benji> the way it fails does suggest some inter-container state bleeding: AssertionError: newInteraction called while another interaction is active.
<gary_poster> That's in-memory though!
<gary_poster> that's a security thing
<gary_poster> Mar 12 17:16:33 is the last time we had a "failed to whiteout" problem
<benji> that's a good point
<gary_poster> and we are now at 20:12
<benji> that's good!
<gary_poster> so I tentatively suggest that that particular problem might be resolved
<gary_poster> yeah
<gary_poster> I still see a lot of these:
<gary_poster> non-accessible hardlink creation was attempted by: Xvfb
<gary_poster> I think we ought to try
<gary_poster> non-accessible hardlink creation was attempted by: Xvfb
<gary_poster> eh
<benji> gary_poster: the word "attempted" worries me
<gary_poster> I think we ought to try
<gary_poster> echo 0 > /proc/sys/kernel/yama/protected_nonaccess_hardlinks
<gary_poster> per bug 944386
<_mup_> Bug #944386: Making a hard link of a 0444 permission file fails in overlayfs [Precise] <bot-stop-nagging> <precise> <linux (Ubuntu):In Progress by apw> <linux (Ubuntu Precise):In Progress by apw> < https://launchpad.net/bugs/944386 >
<benji> gary_poster: can't hurt
<gary_poster> yeah
<benji> gary_poster: do you want to do that and I'll kill the current run?
<gary_poster> ok sure benji
<gary_poster> done benji
<benji> new build running: http://ec2-107-21-145-254.compute-1.amazonaws.com:8010/builders/lucid_lp/builds/2
<gary_poster> data point: my machine has not yet hung today!
<gary_poster> benji, did you try running lp.services.webapp.tests.test_dbpolicy.LayerDatabasePolicyTestCase.test_WebServiceRequest_uses_ReadOnlyDatabasePolicy in isolation?
<benji> gary_poster: I think so, let me check.
<benji> gary_poster: it passes
<gary_poster> benji, darn.  it could so easily be explained by isolation also
<gary_poster> benji, the last time we saw the xvfb error was 18:11:58.  Now 20:46.  I'm hopeful that the echo removed that error message at least, even if it does not actually fix any of these test failures.
<benji> I hope so.
<benji> I'm trying to reproduce the first non-simple isolation failure (test_read_only_mode_uses_ReadOnlyLaunchpadDatabasePolicy)
<gary_poster> cool benji.  It would be nice to see what order the processes ran tests.  Actually...
<gary_poster> you know, we could copy over those lists of tests
<gary_poster> and use them to specify what tests to run
<gary_poster> and run them normally, without the parallel stuff
<gary_poster> and see if they fail that way
<gary_poster> the testrunner does not appear to run the tests in the file in first-to-last order, or last-to-first, though I could be wrong.
<benji> gary_poster: yep, that's what I'm trying
<gary_poster> ah, cool!
<benji> I suspect the divisino of the tests into the two lists and the order within those lists is stable between runs
<benji> the first non-reproducable failure is about one-eighth of the way into the file
<gary_poster> yes, it is stable, I'm pretty sure.  benji, which is the non-reproducable one?
<gary_poster> and benji, are you running them in isolation, or all together with the list?
<benji> gary_poster: lp.services.webapp.tests.test_dbpolicy.LayerDatabasePolicyTestCase.test_read_only_mode_uses_ReadOnlyLaunchpadDatabasePolicy
<benji> I tried running just the one before it and it together, then a few more before it, but now I'm running the list of all 1000-odd tests that lead up to it (plus it) to see if I get the error
<benji> if so, I'm tempted to write a little script to search for the minimal set of tests that reproduce the error
<benji> I'm also tempted to stop work now and make dinner. :)
<gary_poster> benji, go for dinner. :-) I'll shut down the machines in a bit
<gary_poster> thanks & have a good evening
<benji> gary_poster: you too, see you tomorrow
#launchpad-yellow 2012-03-13
<frankban> hi gmb: how are you doing?
<gmb> Hi frankban. I'm not bad, thanks. I'm just trying to clear the OCR queue. I've just approved your setuplxc branch :).
<frankban> wow
<frankban> ty gmb
<gmb> np
<frankban> gmb: I hate PQM: Commit message [[r=gmb][no-qa] setuplxc: Added a workaround to disable hardlink protection.] does not match commit_re [(?is)^\s*\[testfix\]\s*\[(?:release-critical=[^\]]+|rs?=[^\]]+)\]]
<frankban> oh! maybe because we are in testfix mode\
<gmb> frankban, Yep, looks that way.
<frankban> gmb: I think we should file bugs for the 4 test errors reported by Gary
<gmb> frankban, Agreed. Can you take care of that? I'm hip-deep in a sharing policy review.
<frankban> ok gmb
<frankban> gmb: is it ok to file them like this one?
<frankban> https://bugs.launchpad.net/launchpad/+bug/953902
<_mup_> Bug #953902: Isolation failure for TestPPAHtaccessTokenGeneration.testDryrunOption <paralleltest> <Launchpad itself:Triaged> < https://launchpad.net/bugs/953902 >
<gmb> frankban, Yes, that looks fine.
<frankban> gmb: and putting '...' in kanban still works?
<gmb> frankban, It should.
<frankban> gmb: ok thanks
<frankban> gmb: do you think we should set up juju instances (like yesterday)?
<gmb> frankban, Sounds like a plan. I'll do it today - or at least try. Let me see if I can bootstrap this time.
<frankban> ok
 * gmb -> lunch
 * gary_poster thought he had a call now, again
<benji> I assume I don't neet to start a slave instance again today, right?
<gary_poster> frankban, ^^^ ?
<gary_poster> gmb, frankban, benji, I have test list files and failure list from yesterday if anyone wants them.  I tried to send them yesterday to the list and failed.
<gary_poster> benji, I have two goals for today, which I share with you to see if you are interested. :-)  First, I want to see what the test results look like if I run "./bin/test -vv --load-list [one of two lists from buildbot instance]" and then also with the other file.
<benji> gary_poster: here's some results from last night, when I ran the first 1000+ tests from one of the containers I got a failure earlier than the container (apparently): http://paste.ubuntu.com/881768/
<gary_poster> Second, and possibly more interestingly, I *really* want to see the tests run to completion on buildbot.  Even though the text of the failures file is 8.6M, and that's more than a bit daunting, I'd like to see us get to the end of a test run.  That means trying to solve the last traceback, the one that comes from stderr (getting...)
<gary_poster> http://pastebin.ubuntu.com/881772/
<gary_poster> looking at failures...
<gary_poster> huh
<gary_poster> did you run make schema locally before the test benji?
<benji> gary_poster: if rocketfuel-branch is working correctly... I'll run it manually and try again just to be sure
<gary_poster> I'm trying "./bin/test -vv --load-list=/home/gary/tmp5lGXVR"
<gmb> gary_poster, Crap, I was working on getting the buildbot-master and -slave up and running, and then got sidetracked by a review.
<gary_poster> gmb, ok.  we might as well do it now then, since we'll have to shut it down
<gmb> Okay.
<gary_poster> benji, do you want to do the honors, or shall I?  I'd like us to use the setuplxc from frankban's branch of this morning, and the lxc-start-ephemeral from my second branch yesterday (https://code.launchpad.net/~gary/ubuntu/precise/lxc/bug-951150-2/+merge/97077)
<gary_poster> frankban's branch/MP is https://code.launchpad.net/~frankban/launchpad/setuplxc-944386/+merge/97171
<gary_poster> we could maybe just land that?
<benji> gary_poster: since you know what you want maybe you should do it but either way is fine with me
<gary_poster> benji, ok cool.
<gary_poster> gmb, do you know of any reason why we should not just go ahead and merge frankban's setuplxc LP branch?
<gmb> gary_poster, No. It only didn't get merged because of testfix.
<gary_poster> gmb, ah! :-/  /me checks if we are still in testfix
<gary_poster> oh yeah, big ole red blocks
<gmb> gary_poster, I have news about packaging by the way:
<gmb> <StevenK> Doing the python bit in Make will cause you to put your keyboard cord around your neck and yank hard.
<gary_poster> heh
<gmb> Received wisdom is that the python stuff needs to be in a separate package.
<gary_poster> So...what do we do instead?
<gary_poster> oh
<gmb> (which hitherto no-one had suggested)
<gary_poster> heh
<gmb> So, we'll have python-charm-helpers, and make that a dependency of charm-tools.
<gary_poster> gmb, before you do that, could you talk to Clint about it
<gmb> I plan to.
<gary_poster> cool thank you gmb
<benji> gary_poster: "make schema" helped; why was that necessary after rocketfuel-branch?
<gary_poster> gmb, frankban, benji, if you try to start juju, be aware that there's a nasty annoyance that may bite you.  If you see "Invalid value for cache: False" ask me about it
<benji> k
<frankban> gary_poster: seen yesterday, some other invalid charms, isn't it?
<gary_poster> benji, it used to be that the schema changed rarely--once a month
<gary_poster> frankban, yeah, yaml boolean thing combined with poor backwards compat story for juju
<gary_poster> benji, so running make schema frequently was not valuable
<gary_poster> plus, sometimes your local db is valuable to you for some reason, at least temporarily
<gary_poster> so make schema has been and is a separate step benji
<benji> oh!  I had assumed otherwise and I suppose circumstances let me continue in that bad assumption.  Good to know.
<gary_poster> argh
<gary_poster> charm update . did not fix
<gary_poster> benji frankban gmb hangout as soon as convenient, no later than 2 min from now please
<gary_poster> I had no crash yesterday, which is a very welcome improvement
<gary_poster> camera still doesn't work though
<benji> gary_poster: did you want me to continue working on identifying the test isolation failures along with you or are you going to take it?
<gary_poster> benji, mm...here's an idea.  I'm only running one list of tests atm
<gary_poster> you could run the other
<gary_poster> I can send it to you
<gary_poster> but I like the full test run
<benji> I was thinking the same thing, sounds good
<gary_poster> because it is...authoritative
<gary_poster> cool
<gary_poster> sill send it to you now
<benji> you are going to send me a boundry layer between rock stridations?
<gary_poster> :-P
<benji> heh
 * benji gets some coffee
<gary_poster> benji, I sent a zip with both, identifying the one I'm doing and the other one for you.
<benji> gary_poster: thanks
<benji> heh, "lucky you"
<benji> I think my first tatoo will simply say "tmpXctd5i".
<gary_poster> heh
<gary_poster> From the failures yesterday:
<gary_poster> gary@garubtosh:~$ cat failures.txt | grep 'FAIL:' | wc -l74
<gary_poster> gary@garubtosh:~$ cat failures.txt | grep 'ERROR:' | wc -l
<gary_poster> 2833
<gary_poster> 74 failures, 2833 errors :-P
<gary_poster> so far :-P
 * gary_poster didn't even think we had that many tests!
<benji> one thing I noticed was that some ERRORs are actually test isolation bugs
<gary_poster> yeah
<benji> gary_poster: here's something that surprised me: if you do the --load-list --list trick on the output of the trick, the order changes slightly
<gary_poster> benji, :-/
<benji> it looks like the sort isn't stable (in the technical sense of "stable")
<benji> so the tests are still grouped by layer (or maybe even test file) but the order inside that grouping may change
<gary_poster> right
<frankban> aargh, I'm encountering problems with the new ec2 (land) script: http://pastebin.ubuntu.com/881911/
<gmb> frankban, Looks like the remote bzr might be out of date.
<gmb> Which seems... unlikely.
<gary_poster> frankban, it looks local to me.  is this in Lucid?  I bet it is an example of only supporting the most recent Ubuntu
<gary_poster> Maybe try Lucid?
<frankban> gary_poster: this is in lucid lxc yes
<gary_poster> frankban, I meant, maybe try precise
<gary_poster> frankban, and if that fixes it let me know
<frankban> gary_poster: ok
<gary_poster> and I'll send the "support the distribution we deploy on" sooner rather than later
<benji> gary_poster: I wonder if we should (and can easily) hack the test runner to just run the tests in the order given or at least be stable when sorting the tests
<gary_poster> benji, I only have two errors/failures so far in my --load-list run (lp.archiveuploader.tests.test_uploadprocessor.TestUploadProcessor.testUploadToFrozenDistro &  lp.translations.tests.test_translationpackagingjob.TestTranslationTemplateChangeJob.test_splits_and_merge).  OTOH, a lot of the other failures don't appear in my list
<gary_poster> The majority of them seem like they might be in your list, at least as far as lp.answers.browser.tests.test_breadcrumbs.TestQuestionTargetProjectAndPersonBreadcrumbOnAnswersVHost.test_project
<benji> hmm, I wonder if the unexpected passing indicates 1) a problem running the tests in the ephemeral container, 2) a problem running the tests in parallel, or 3) a problem running the tests in the particular order the container ran them in
<gary_poster> benji, sure, but, did you catch that so far, every failure that I've run, I've failed?  It just so happens that the count is only 2
<gary_poster> you appear to have the lion's share, at least of all those readonly bugs
<benji> gary_poster: no I misunderstood, let me get it straight: the only failures you've seen thus far were also failures when run in the container, right?
<gary_poster> right, benji; *and* vice versa.  That is, I have not yet passed a single test locally that passed in the container.
<gary_poster> well, as far as I can tell with a manual check.
<gary_poster> I'm about to break out the Python :-)
<benji> gary_poster: wait, what?  all the testts that passed in the container fail for you?
<gary_poster> ugh
<gary_poster> sorry
<gary_poster> no
<gary_poster>  I have not yet passed a single test locally that failed in the container.
<benji> ah! that's good
<gary_poster> yes :-)
<gary_poster> what about you?
<gary_poster> mine is good, but the data is minimal: I only have run two of the failing tests, AFAICT!
<benji> I'm doing a big run at the moment and have only had a few failures.  So far they all look like simple isolation bugs.
<benji> I really wish I could get lxc working on my dev box.
<gary_poster> benji, have you looked to see if any of the odd failures in the buildbot run have passed for you?
<gary_poster> I mean, within the big run?
<gary_poster> lxc: it doesn't work for you at all?
<benji> nope; let me take a look
<benji> it's flaky, sometimes it works and sometimes starting a container hangs
<gary_poster> hm. :-/ Have not seen this
<benji> I suspect I could get it to work if I spent a little time on it (which I need to do because I don't have a Precise dev VM and I either need this to work or I need to spend the time to set one up)
<benji> gary_poster: I'm getting similar results to you (things that failed in the container fail here, and no new failures), except that I see a failure in lp.archiveuploader.tests.test_uploadprocessor.TestUploadProcessor.testLZMADebUpload which wasn't in the last container run
<benji> I don't know if it's because the container didn't get that far or what
<gary_poster> huh
<gary_poster> how many failures do you have, approx?
<gary_poster> benji, lol
<gary_poster> You know how I said you were the lucky one?
<gary_poster> We have 2907 failures
<gary_poster> 2 of them were in my list
<gary_poster> 2899 of them were in your list
<gary_poster> (I'm not sure where the discrepancy of 6 comes from; my analysis was pretty basic)
<benji> heh, I only count three thus far, but maybe the worst is yet to come :)
<gary_poster> I hope so, sort of :-)
<benji> I'm starting to think that there will be a small number of poison tests.
<gary_poster> I'm hoping so
<gary_poster> If not this will be a long slog :-)
<gary_poster> OTOH, if these are merely isolation issues, I will be very pleased generally
<gary_poster> OK, I finished my half of the test run, benji.  My 2 (!) failures matched perfectly what we saw in buildbot.
<benji> you lucky duck ;)
<gary_poster> :-)
<frankban> gary_poster: same ec2 error on precise...
<gary_poster> benji, what environment are you running the tests in?  Oneiric?
<gary_poster> frankban, :-( lemme scroll back to see symptoms
<benji> gary_poster: yes
<benji> (I'm setting up a Precise lxc as we speak)
<gary_poster> benji, cool.  I'm going to run your tests over here too, in a lucid lxc container.  That might give us a good contrast.
<benji> sounds good
<frankban> gary_poster: https://bugs.launchpad.net/lp-dev-utils/+bug/952988
<_mup_> Bug #952988: Crashes with bzrlib GlobalConfig error <bzr> <bzrlib> <Launchpad Developer Utilities:Triaged> < https://launchpad.net/bugs/952988 >
<frankban> so... since I only need to land isolation fixes, I can wait
<gary_poster> frankban, you saw patch?  I'd do that myself
<frankban> gary_poster: nice idea, just one line
<gary_poster> -> lunch & babysitting
<gmb> gary_poster, Quick update: Clint seems to think it's "Not as hard as all that" to mix Python & shell stuff in a package. I'm waiting for him to deliver wisdom once he gets out of a meeting.
<benji> gary_poster: the tests went way off the reservation, checkign to see if it looks like the container test run
<frankban> benji, gary_poster: on the next run, could you please check if https://code.launchpad.net/~frankban/+junk/testrepository-encoding-error solves the encoding problem in testrepository?
<benji> frankban: cool, sure
<gmb> gary_poster, Encouragement from Clint:
<gmb> <SpamapS> gmb: pain is the sense of weakness leaving the body :)
<gmb> But he did offer a solution that sounded worryingly feasible.
<gary_poster> frankban, testrepository: great
<gary_poster> benji, mine too
<gary_poster> gmb, frightening :-)
<gary_poster> ooh, benji, I think these correlate.  just eyeballing so far, but oh, that would make me happy
<gary_poster> 2898 failures/errors!  oh, happy day
<gary_poster> (because that approximately correlates with expected numbers
<gary_poster> )
<benji> :)
<benji> mine seem to be about going into read-only mode and not coming back out (which is what we saw on the container run too)
<gary_poster> right
<gary_poster> benji, did yours appear to hang?
<gary_poster> that is, is yours currently hanging?
<benji> gary_poster: indeterminate: I was afraid of loosing the good info too the scroll-back black hole so I stopped it (but I ended up loosing that run anyway, so it was for nought)
<gary_poster> ack benji.  Mine has been sitting here for quite some time: http://pastebin.ubuntu.com/882107/
 * benji looks
<gary_poster> Investigating...
<benji> gary_poster: interesting; strace and/or ltrace might be helpful
<gary_poster> ack
<benji> mwa ha ha!  after a "make clean" and "make schema" I was getting new ReadOnlyModeDisallowedStore errors where I wasn't before, but after removing read-only.txt I'm back to the previous state; someone isn't cleaning up and it's making things go south
<gary_poster> sounds like it
<gary_poster> strace for the subprocess running the layer: Process 21272 attached - interrupt to quit
<gary_poster> [ Process PID=21272 runs in 32 bit mode. ]
<gary_poster> write(2, "lp.bugs.model.tests.test_bugtask"..., 120
<gary_poster> never moved from there
<gary_poster> ltrace gave me nothing
<gary_poster> parent process is in an eternal loop
<gary_poster> select loop that is
<gary_poster> benji, is that what you saw on the ec2 instance? ^^^
<benji> gary_poster: precisely
<gary_poster> benji, weird, but *somewhat* reassuring
<gary_poster> at least this isn't parallel stuff affecting anything
<benji> yep, it's another problem that's at least removed from lxc
<benji> yep
<gary_poster> benji, it is not removed from lxc actually
<benji> no?
<benji> oh, you're running in lxc?
<gary_poster> but it is removed from ephemeral lxc, and from parallelization
<gary_poster> yeah, lxc is all I have
<gary_poster> so it would be good to have you (or someone) verifying the behavior outside of lxc.
<gary_poster> I'm going to try and correlate the failures I got with the failures on ec2
<gary_poster> I maybe should have run with --subunit
<gary_poster> I kind of wanted that out of the equation too though
<benji> re. sans --subunit: yeah, I think being as close to the status quo for reproducing these failures is smart
<gary_poster> benji, so, I had some distractions, but even with rough approximations, the difference in failures between today's local run on your list and yesterday's parallel run is five tests, some of which we've already addressed.
<gary_poster> This was local, but not parallel:
<gary_poster> set(['lp.translations.tests.test_translationtemplatescollection.TestSomething.test_restrict_SourcePackage'])
<gary_poster> This was parallel, but not local:
<gary_poster> ['lp.registry.tests.test_distribution.TestDistribution.test_distribution_creation_creates_accesspolicies', 'lp.archivepublisher.tests.test_generate_ppa_htaccess.TestPPAHtaccessTokenGeneration.testDryrunOption', 'lib/lp/blueprints/doc/specgraph.txt', 'lp.archivepublisher.tests.test_generate_ppa_htaccess.TestPPAHtaccessTokenGeneration.testGenerateHtpasswd']
<benji> gary_poster: cool; I'm getting close to the falls-into-read-only-and-can't-get-up set of tests
<gary_poster> heh
<gary_poster> Francesco fixed two of those five already
<benji> gary_poster: I think I'm ready to file a bug.  Thoughts on this: https://pastebin.canonical.com/62253/
<gary_poster> benji, I was prepping my "filing a bug" comment too :-)  looking...
<benji> :)
 * benji goes to get a snack.
<gary_poster> benji, awesome.  Please modify https://bugs.launchpad.net/launchpad/+bug/954319 as desired
<_mup_> Bug #954319: Test isolation: some test is switching to readonly mode and not switching back on teardown <paralleltest> <Launchpad itself:Triaged> < https://launchpad.net/bugs/954319 >
<benji> gary_poster: edited (with less cute than in the paste): https://bugs.launchpad.net/launchpad/+bug/954319
<_mup_> Bug #954319: Test isolation: some test is switching to readonly mode and not switching back on teardown <paralleltest> <Launchpad itself:Triaged> < https://launchpad.net/bugs/954319 >
<gary_poster> great benji thanks
<benji> I'd like to thank Julia Nunes (http://www.youtube.com/watch?v=U-lt3vVA-4I) for her indispensable help in figuring that out.
<benji> I think I'm going to switch gears and try to figure out how to fix it now.
<gary_poster> benji, you and my dad should have a youtube video meetup :-)
<benji> lol
<gary_poster> I watched that one to the end, so that must have meant I liked it pretty well :-)
<benji> <still laughing>
<gary_poster> My dad has compiled this "yes I'm retired and obsessive compulsive, what are you going to do about it?" collection of youtube music videos, arranged in french-style multi-course meals (appetizer videos, aperatif videos, entre videos, etc)
<gary_poster> It's...large
<benji> LOL
<benji> I'll side-swipe him with my encyclopedic knowlege of web comics: http://xkcd.com/920/
<gary_poster> lol
<benji> "aperatif videos"
<gary_poster> you betcha
<gary_poster> benji, all your kanban are belong to us...by which I mean, I updated the kanban board to reflect the fact that you are working on that bug
<benji> gary_poster: thanks (and how lame is it that just yesterday I was lamenting the fact that no one makes all-your-base references any more)
<benji> Someone set us up the Card!
<gary_poster> lol
#launchpad-yellow 2012-03-14
<gary_poster> benji, frankban gmb, my older son lost more than a cup of blood today from a mongo nose bleed.  (On Sunday a friend of his pushed him off a trampoline and he landed on his nose, which may be related.)  I'm not sure what my schedule is yet--the bleed has stopped, but we're trying to get a dr appt for him asap.  In any case, whether it's with me or not, the people who are available for a call in a bit over an hour
<gary_poster> should have a call
<benji> gary_poster: will do; good luck with the nose bleed
<gary_poster> thank you
<gary_poster> frankban, I'm going to file a bug for the testrepository unicode issue and then you can offer your branch as a possible solution.  Have you or gmb started a juju instance or shall I?
<gmb> gary_poster, I haven't; I'm having juju bootstrap problems after upgrading.
<gmb> (again)
<gary_poster> gmb, the one I mentioned yesterday, with the booleans?
<gary_poster> I ended up removing all charms except the buildbot ones from the local repo
<gmb> gary_poster, No, bootstrap just hangs, at least for ec2.
<gary_poster> ugh
<gmb> I need to actually poke it with a stick to find out what's going on.
<gmb> s/stick/strace/
<gary_poster> :-)
<gary_poster> gmb, I'll see if I dupe
<gary_poster> gmb, so, you mean, you say "juju bootstrap" and the command never exits?  If so, that's not happening for me
<gmb> gary_poster, Yeah, that's what I mean. Hmm. I'll break out strace after a call.
<gmb> s/a/the
<gary_poster> ok
<benji> gmb and frankban: the horde awaits: https://talkgadget.google.com/hangouts/extras/canonical.com/goldenhorde
<benji> gary_poster: you probably aren't here, but you can join too if you are
<gary_poster> thank you all.  I'll be able to attend too.  ignore the sounds of baby crying in the background
<gary_poster> dr appt is 10:45
<gmb> gary_poster, Firefox went bye-bye.
<gmb> In fact  it looks like a lot have things have gone  a bit sideways...
<gary_poster> ack gmb :-/
<gmb> Yay, power socket.
 * gmb -> lunch
<benji> gary_poster: have you seen this in any of your test runs?
<benji> **********************************************************************
<benji> Could not communicate with subprocess
<benji> **********************************************************************
<gary_poster> benji I don't think so but will search through tee'd results from yesterday, one sec
<benji> gary_poster: oops, it looks like the OOM killer got me
<gary_poster> benji, oh :-/
<gary_poster> benji, actually, yes
<gary_poster> benji, twice in my run, not in yours
<benji> hmm
<gary_poster> benji, http://pastebin.ubuntu.com/883280/
<gary_poster> benji, I'm making a card for that
<gary_poster> benji, could be xvfb issue
<gary_poster> benji, it would be very interesting to have you run list 1 locally *not* in an lxc
<gary_poster> to see if that shows up
<benji> gary_poster: yep
<benji> gary_poster: I may have an opportunity to do that soonish (I might have just fixed the read-only problem (with a one-line change to a test tearDown))
<gary_poster> go you, benji  :-)
<benji> :)
<gary_poster> though the read-only thing is a run list 2 issue
<benji> gary_poster: right, I meant that once I fix this (list 1) issue, I could do a run of list 2
<gary_poster> There was something else like that I saw yesterday that I did not put a card in for...looking through results again
<benji> er, swap 1 and 2 above
<gary_poster> cool :-)
<frankban> gary_poster: should I handle the subtle differences in leases path between lucid and oneiric/precise in setuplxc? Or can I just assume the lxc is lucid?
<gary_poster> frankban...it would be nice to handle precise because that will be what we use within a few months.  If it is not easy now, put a card in slack time for the precise version
<gary_poster> Maybe that's the right thing to do either way; I'll leave it up to you
<frankban> gary_poster: ok thanks
<gary_poster> np
<gary_poster> gmb, I hain't fergotten ya.
<gary_poster> (that's in "random silly accent Gary made up" to be clear)
<gary_poster> Almost ready, hopefully
<gmb> gary_poster, Okay. I've not finished lunch yet though :)
<gary_poster> gmb, lol, ok
<gary_poster> benji, this happend on my testlist 2 run (yours) locally, but did *not* show up in the buildbot failure output from two days ago.  Did you see anything like this? http://pastebin.ubuntu.com/883307/
 * benji looks
<gary_poster> s/ my testlist 2 run (yours)/ my testlist 2 run (the one you ran first)/
<benji> gary_poster: I haven't seen that failure.
<gary_poster> ok, benji, I'll say it was unique to something on my system then.  Thanks
<gary_poster> barry's absence will make it difficult to pick his brain
<gary_poster> gmb, I'm doing a bzr branch lp:~gmb/charm-tools/add-charm-helpers on the assumption that this is the right thing to do
<gmb> gary_poster, It is; you'll also need to get lp:~gmb/ubuntu/precise/charm-tools/new-packaging for the debian stuff that I'm currently using
<gmb> (Since charm-tools has separate source and packaging branches)
<gary_poster> ah ok
<gmb> https://code.launchpad.net/~gmb/+recipe/charm-tools-daily has some of the details.
<gary_poster> ack
 * gary_poster decides he's still sick enough to be allowed to sit down while staring at build logs
<benji> The review season begins.
 * gary_poster doesn't understand why a "successful build" would contain something that failed to build
<gmb> gary_poster, Because the recipe built successfully - creating the source package - but the binary didn't :)
<gary_poster> gmb, bah :-)
<gmb> :)
<gary_poster> benji frankban gmb, I added miscellaneous, high priority, dated cards to represent the work each of us needs to do for the reviews.  We should look at this on every call to make sure we are making sufficient and timely progress on it.
<benji> k
<gary_poster> We now, relatively suddenly, have a *lot* of miscellaneous cards. :-) To get rid of one...
<gary_poster> gmb, what's up with lp2kanban?  Did you get that running, or is Brad still doing it, or...?
<gmb> gary_poster, I got it running; let me check it.
<gary_poster> thanks
<gary_poster> the "..." cards from Francesco ought to have had their titles filled afaik
<gary_poster> frankban, I'm trying to decide whether I feel qualified reviewing your branch. ;-) Meanwhile though, I did see one thing that I learned this week.  In this line...
<gary_poster> while [ $delay -gt 0 -a ! -s {leases1} -a ! -s {leases2} ]
<gary_poster> I suggest quoting "$delay"
<gary_poster> If you do not, in some edge cases the "[" command will get upset and confused, in my experience and per some advice I've read recently.
<gary_poster> (in particular, the case in which $delay is empty...which will probably never happen here since I assume 0 is not empty, but it is supposedly just good practice to quote substitutions because of this kind of fragility)
<frankban> gary_poster: humm, maybe when $delay is something starting with "-"?
<gary_poster> yeah maybe that too
<frankban> gary_poster: ok thanks for the hint
<gary_poster> sure
<gmb> gary_poster, I've run it manually; looks like it's not running on cron for some reason; I'll poke around.
<gary_poster> thanks gmb
<gmb> Anyway; /me -> afk for a short while
<gmb> (Bus home)
<gary_poster> What the heck, I'll claim this review frankban :-)
<frankban> :-D
<gary_poster> frankban, what does this mean: "truncate -c -s0 {leases1}"
<frankban> gary_poster: if the file exists, truncate it at size 0, otherwise, do nothing
<gary_poster> gotcha
<gary_poster> back in a few
 * gary_poster is lunching now
<gmb> gary_poster, Okay, so I'll catch you when you get back, but interesting aside: if I build the package manually using Brad's steps, I get something that actually installs the python files. Not to anywhere useful, but it does _actually_ install them instead of ignoring them.
<gmb> s/you/I/
<gary_poster> gmb, I'm here, but reviewing and emailing and stuff
<gary_poster> and, interesting
<gmb> gary_poster, Ah, okay. I'm going to be heading out shortly anyway. Haven't spoken to Barry yet; I'll ping him now and see if he'll be free for a chat later.
<gary_poster> gmb, cool.  barry doesn't seem to be around today
<gmb> gary_poster, Ah, yes, I just noticed. Darnit.
<gary_poster> gmb, so what should our plan be?
<gmb> gary_poster, My first choice is to get the python stuff out of charm tools and package that. This other way is proving unrewarding.
<gary_poster> and in particular, what are our goals for the handover, and what are our goals for when I'm working.
<gary_poster> gmb, that's fine with me, but Clint is the maintainer of the charm helpers project
<gary_poster> so I'd like to convince him
<gary_poster> I'm happy to give him an ultimatum, of sorts:
<gary_poster> either focus on helping us get his preferred approach to work, or let us do what you propose
<gary_poster> we've spent (via you primarily and brad secondarily) a *lot* of time on this
<gary_poster> and we should wrap it up one way or the other
<gary_poster> I'm happy to speak managerially about this to Clint ;-)
<gary_poster> also, what is your schedule for the next few hours work-wise, again?
<gmb> gary_poster, Okay. I agree with you. My thought was that having a separate package that works would be a nice convincer :).
<gary_poster> heh
<gmb> gary_poster, I'll be afk until about 20:30 UTC, and will then finish my day ~1h.
<gary_poster> gmb, afk starting when? now-ish?
<gmb> But TBH I'll likely be around quite late; Sarah's got reports to write, so she pretty much needs me to shut up and get on with other things.
<gmb> gary_poster, Yes.
<gary_poster> :-)
<gary_poster> ok gmb, I'll see if I can corral SpamapS while you are gone
<gmb> Thanks :).
<gary_poster> :-) welcome.  ttyl
 * gmb -> exeunt to divers alarums
<gary_poster> heh
<gary_poster> frankban, bash-as-programming-language frightens me more and more as I learn more and more about it ;-) but what you've done looks very good.  There are some constructs that I understand from context but will simply trust you on (case in point: why the initial dollar sign in "delay=$(( $delay - 1 ))"?  Why can't it be "delay=( $delay - 1 )"?)
<gary_poster> So, will approve :-)
<gary_poster> Done
<frankban> gary_poster: thanks. that block was taken as is from start-ephemeral... so, no idea either, and I am not curious...
<gary_poster> lol
<gary_poster> cool
<gary_poster> I'm somewhat amazed that people still program in this stuff :-)
<frankban> yes, only perl is worse than this...
<frankban> ;-)
<gary_poster> heh
<frankban> gary_poster: landing, and, I am not a buildout expert, so maybe you could take a quick look at https://code.launchpad.net/~frankban/lpsetup/add-buildout/+merge/97466
<gary_poster> frankban, will do.
<frankban> ty gary_poster
<gary_poster> frankban, approved buildbot branch conditionally
<gary_poster> ./bin/test doesn't work
<gary_poster> other ideas in my reply
<frankban> gary_poster: we still don't have unit tests in lpsetup: it is actually the next step. Having test, bin/test should work
<gary_poster> frankban, :-) ok cool
<frankban> gary_poster: buildout was suggested by benji (basically to have a test runner for free I think). I think pip is already supported (setup.py), once the project will be registered to PyPI
<gary_poster> frankban, ok cool
<frankban> ty gary_poster, EOD, have a nice evening
<gary_poster> you too frankban, bye
<benji> ok, my list is down to 36 failures and 126 errors; submitting MP for read-only fix now
<gary_poster> awesome benji!
<gary_poster> very large number
<gary_poster> but not as large as 3000 :-)
<benji> gary_poster: I'm persuing making bugs for all of the test isolation failurs, but I wonder if that's the right thing to do.  Thoughts?
<gary_poster> benji, that's fine as long as it doesn't take too long.  I've identified four "high" priority cards
<gary_poster> you and frankban have addressed two
<gary_poster> the other two on board are, as you'd expect, the next things I'd like to see
<gary_poster> because they prevent us from getting a true full run of test
<gary_poster> s
<benji> I am in a state of kanban conflict: the board is now not over the limit (with me moving my branch into landing) but we can't add anything else without going back over
<gary_poster> benji, if there is a high card, there is clear visible reason for why we would do so
<gary_poster> I don't normally encourage this
<gary_poster> but the high cards, and the reasoning/concern behind them, warrant it in my opinion
<benji> ok, that sounds reasonable to me; I'll take one of the two remaining high cards
<gary_poster> cool
<gary_poster> benji, does test list 2 still hang at the end even with your isolation fix?  It would have been nice if... :-)
<benji> gary_poster: if test list 2 is tmpXctd5i, then no
<benji> so, you're suggesting that bug 954384 may already be fixed?
<_mup_> Bug #954384: test teardown can hang <paralleltest> <Launchpad itself:Triaged> < https://launchpad.net/bugs/954384 >
<gary_poster> benji, it doesn't hang?  yes!  that is what I am suggesting!  With glee in my heart!
 * benji watches as gary_poster skips through a meadow and whistles with songbirds.
<gary_poster> :-)
<gary_poster> yeah, I've been kind of a ball of tension this week for one reason and another.
<gary_poster> this relieves a big reason
<benji> I can say definitively that it didn't hang, but I can't say for sure that it hung before my fix.... hmm, or can I; let me look at something.
<gary_poster> right, it could still be lxc
<gary_poster> unless it hung for you before
<benji> nope, I don't have any evidence that it hung before
<benji> I can do another test run, maybe late tonight (because it takes forever, 199 minutes last time) to try to get it to hang (running the pre-fix code).
<benji> all this casts doubt on whether or not I can or should work on 954384 (which I planned on doing)
<benji> I could try to reproduce the hang wiht a smaller test subset.  That seems like a smart thing to do.
<benji> I also really need to get a precise lxc or vm up.
<gary_poster> benji, why don't you do the precise vm/lxc
<gary_poster> If we don't have the hang anymore then trying to repro doesn't make a lot of sense to me
<gary_poster> oh
<gary_poster> right
<gary_poster> you don't have any evidence that it hung before
<gary_poster> which means it could still be an lxc thing
<benji> right, since I haven't provoked it, we can't be sure that me not seeing it is evidence that it is gone
<benji> but the not having a vm thing is really hurting me too, for example, I can't land the fix for the read-only bug until I have one.  I have to depend on the kindness of strangers, hint hint.
<benji> speaking of, is lpsetup supposed to work?  I get TypeError: unsupported operand type(s) for +: 'NoneType' and 'str' when I run it
<gary_poster> benji, lpsetup it is not supposed to work
<gary_poster> benji, kindness of strangers, lol, ok
<benji> ok, good, I guess :)
<benji> thanks!
<gary_poster> benji, I am setting up my juju buildbot to run your branch, then will land
<gary_poster> I mean, I will land it once I have started the tests, not after they have run
<gary_poster> well
<gary_poster> oh heck, yes
<gary_poster> lxc-wait is really a drag
<benji> heh
<benji> ok... it is apparently both required that we devleop on precise (because we can't land otherwise) and impossible to set LP up on precise (email thread started by 	
<benji> Deryck	
<benji> bang! bang!
 * benji shoots the ferral tabs that got in here.
 * benji is orthographically challenged, but can still spell "orthographically challenged"
<gary_poster> benji, lxc works :-)
<benji> gary_poster: I don't follow.
<gary_poster> benji, which is what I do (precise host, lucid lxc instances)
<gary_poster> and that appears to work
<gary_poster> benji, on another note
<gary_poster> lxc-start-ephemeral is adding to the number of days of my life that I have lost this week from stress :-P
<benji> heh
<benji> wait, you develop on lucid?  I thought we were supposed to use precise?
<gary_poster> benji, I edit my code on precise.  I run my tests and my dev tools on lucid
<gary_poster> which is AOK
<gary_poster> benji, back on my stress-inducing topic...take a glance at http://ec2-50-16-1-238.compute-1.amazonaws.com:8010/builders/lucid_lp/builds/2/steps/shell_8/logs/stdio
<benji> oh!  I needed that bit of info!  I'll try to set up a lucid lxc container then.
<gary_poster> notice the __init__ complaint, #1.  Where the heck did that come from?
<benji> hmm "exit code 3"
<gary_poster> #2, I try to run the given command on the slave
<gary_poster> This fails, complaining that xvfb fails
<gary_poster> #3, I try to run the "start a ephemeral container and then I'll log into it".  This works.  Then I log in, become buildbot, and run the other part of the command.  This succeeds
<benji> ooh, I didn't see that.  That is odd.
<gary_poster> So...I'm about to try duping the ssh command
<gary_poster> And all I *really* want to do is verify that frankban's fix from yesterday fixes our problem, and verify that your fix from today fixes the majority of our tests, and might or might not fix the hang problem
<gary_poster> but instead I keep getting "one step forward two steps back" issues
<gary_poster> ok, venting over.  thanks benji. ;-) now I'll go back to trying to do the ssh
<benji> good luck :)
<gary_poster> ;-) thanks
<gary_poster> benji argh:
<gary_poster> ssh -n -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i /var/lib/buildbot/.ssh/launchpad_lxc_id_rsa buildbot@10.0.3.104 -- 'xvfb-run --error-file=/var/tmp/xvfb-errors.log --server-args=-screen 0 1024x768x24 -a /var/lib/buildbot/slaves/slave/lucid-devel/build/bin/test --subunit'
<gary_poster> notice the lack of quotes that we so carefully added
<benji> pfft
<gary_poster> benji, what did we do to fix that again?  I forgot
<benji> I'm trying to remember.
<benji> gary_poster: I think this was the very long line and regex to remove extra spaces in setuplxc.
<gary_poster> benji, this is what we are producing now, from the setuplxc script:
<gary_poster> lxc-start-ephemeral -u buildbot -S /var/lib/buildbot/.ssh/launchpad_lxc_id_rsa -o lptests -- xvfb-run --error-file=/var/tmp/xvfb-errors.log --server-args='-screen 0 1024x768x24' -a /var/lib/buildbot/slaves/slave/lucid-devel/build/bin/test --subunit
<gary_poster> IOW, it is good
<gary_poster> afaict
<gary_poster> I'm going to try random quoting in lxc-start-ephemeral...
<benji> gary_poster: I don't think that's good.  Remember that ssh handles the arguments incorrectly, we need to put everythin after -- in double-quotes.
<gary_poster> benji, well...
<gary_poster> benji, maybe that's what we did.  I don't remember, but we could dig it up.  BUT...
<gary_poster> If I call this
<gary_poster> lxc-start-ephemeral -u buildbot -S /var/lib/buildbot/.ssh/launchpad_lxc_id_rsa -o lptests -- xvfb-run --error-file=/var/tmp/xvfb-errors.log --server-args='-screen 0 1024x768x24' -a /var/lib/buildbot/slaves/slave/lucid-devel/build/bin/test --subunit
<gary_poster> then ISTM that lxc-start-ephemeral ought to be able to quote everything itself
<gary_poster> however
<gary_poster> if you run that command
<gary_poster> $@ (in lxc-start-ephemeral) is this
<gary_poster> xvfb-run --error-file=/var/tmp/xvfb-errors.log --server-args=-screen 0 1024x768x24 -a /var/lib/buildbot/slaves/slave/lucid-devel/build/bin/test --subunit
<gary_poster> that is, the quotes have been lost already
<gary_poster> before we even get to ssh
<benji> well, not exactly, the "--server-args=-screen 0 1024x768x24" bit is in a single arugment, but $@ formats the arguments as a string, loosing the grouping information which is then re-interpreted by ssh (incorrectly)
<benji> setuplxc on devel looks like it should do the right thing to me.  I suggest looking at the setuplxc on your box to be sure it has the latest code
<gary_poster> benji, what I believe is supposed to be the fix is there:
<gary_poster> http://pastebin.ubuntu.com/883900/
<benji> gary_poster: yeah, that looks right to me... hmm, at one point we also put double-quotes around the $@ passed to ssh inside lxc-start-ephemeral; I can't remember if that was part of the fina fix or not, but that'd be the next thing I try
<benji> this is irritating, reasoning about this stuff shouldn't be this hard
<gary_poster> benji, on late team lead call
<gary_poster> benji, I'm still on call
<gary_poster> but
<gary_poster> oh
<gary_poster> I bet you have stopped :-)
<benji> gary_poster: I'm trying to stop. ;)
<gary_poster> benji, :-) ok.  So, I think that might have been a red herring.  I'll explain last :-)
<gary_poster> later I mean
<gmb> gary_poster, So, did you hear anything back from Spamaps?
<gary_poster> gmb, ugh, no, I've been deep into my private hell of buildbot no longer working, sorry.  Let me see if he is still around
<gmb> gary_poster, No worries. Seems like this week is a week of private hells.
<gary_poster> yeah :-/
<gmb> If we all had a hangout, at least we'd be toasty together.
<gary_poster> heh, yeah :-)
<gary_poster> gmb, you on #juju?
<gmb> gary_poster, yes; I was looking at the wrong #juju :)
<gary_poster> :-)
<gmb> gary_poster, Awesomesauce.
<gmb> Also, never saying "awesomesauce" again.
<gary_poster> lol
<gary_poster> gmb, do you have any champagne?
 * gary_poster steps away
<gmb> gary_poster, No, but I'll sleep better tonight :)
<gary_poster> gmb, cool :-)
#launchpad-yellow 2012-03-15
 * benji reboots.
<benji> after having to reset my OS key bindings for the fourty-eighth time and recovering from two compiz crashes, I'm back
<benji> grrr; now something is eating alt-tab.  I can press shift-alt-tab to switch windows backwards, but no alt-tab
<benji> gmb and frankban:  the golden horde awaits: https://talkgadget.google.com/hangouts/extras/canonical.com/goldenhorde
<gmb> bootstraping firefox now...
 * gmb lunches
<gary_poster> hey y'all
<gary_poster> kind of nauseous :-(
<gary_poster> so is Karyn
<gary_poster> so maybe food poisoning?  Can't figure out what it would be
<gary_poster> but trying to proceed anyway :-)
<gary_poster> benji, did you have a fix for that test failure that we got with your branch?  Or is that test failure bogus?
<gary_poster> (IOW, what should I do to land your branch)
<gary_poster> gmb, hey.  Is the charm helpers stuff squarely in Clint's hands now, or is there still a bit more to do?
<gary_poster> frankban, I'm assuming I should try the new testrepository change on buildout
<gary_poster> I'll start that
<benji> gary_poster: sorry, the IV supplies people called... I can't reproduce the failure so I'm hoping that it's transient; I can't say that it's one I've seen before though
<frankban> gary_poster: yes, testrepository contains the change you suggested
<gary_poster> benji, np.  ok.  I'm inclined to run ec2 test again.  Agree?  Or should I just land?
<benji> gary_poster: I'd do the run; if it fails again then we need to investigte, if not we need to file a bug about the flaky test
<gary_poster> frankban, cool thanks.  (You probably noticed that I can't use the file exactly--I have to manually apply the patch to the different version in precise right now
<gary_poster> benji, ok, on it
<frankban> gary_poster: yes I did, I hope the new version will land in precise, it seems that the other error you mentioned is fixed in newer version. Do you want me to create a branch for the version currently in precise?
<gary_poster> frankban, mm, maybe if this works we can.  We'll need some kind of automation one way or the other, once we find something that works.
<gary_poster> but don't worry about it for now
<frankban> gary_poster: ok
<gary_poster> benji, I noticed you were working on hang.  did you dupe?
<gary_poster> or you are still working on getting an lxc going?
<benji> gary_poster: that card should probably be in a blocked state or something since we decided yesterday that I should work on getting a working vm/container for LP development before addressing the hang
<gary_poster> benji, ok
<benji> I'll mark it as blocked on me having a VM to attempt to reproduce.
<benji> gary_poster: did you manage to get a lucid lxc container running LP?
<gary_poster> benji, yeah, that's what I use
<benji> gary_poster: did you use the normal setup steps (rocketfuel-setup) or did you do something else?
<gary_poster> benji, I used setuplxc IIRC
<gary_poster> benji though I also used the wiki page
<benji> maybe I should try that... this is a disaster
<gary_poster> rocketfuel-setup *did* work
<gary_poster> benji, what's going on now?
<benji> the most interesting errors are:
<benji> ***** Distutils is not available or is incomplete for /home/benji/launchpad/lp-branches/devel/bin/py
<benji> ***** If you installed Python from RPM (or other package manager)
<benji> ***** be sure to install the -devel package, or install Python
<benji> ***** from source.  See sec. 15.1 of the Installation Manual for
<benji> ***** details
<benji> and
<benji> ***** No "benji" user found!
<benji> ***** Your system must have a "benji" user defined
<benji> ***** (usually in your /etc/passwd file).  Please see the INSTALL
<benji> ***** file for details.
<gary_poster> benji, how did you start?
<gary_poster> wiki page?
<gary_poster> https://dev.launchpad.net/Running/LXC ?
<benji> yep (https://dev.launchpad.net/Getting)
<gary_poster> benji, don't know.  On the bright side, setuplxc does most of the right thing about every day
<benji> (I started writing "It was a warm summer night in 1975 on a farm in rural Tennessee..." but then you clarified.)
<gary_poster> lol
<benji> setuplxc, take me away
<gary_poster> good luck.  we don't test the developer options nearly as much, of course
<gary_poster> that's part of the idea of the lpsetup slack time project
<gary_poster> I might try to dupe the wiki instructions to see what happens...though...I pretty much never use rocketfuel-setup, because I already have checkouts...
<benji> we really need a CI system for rocketfuel-setup/setuplxc/lpsetup
<gary_poster> I sugested that
<gary_poster> but Francis did not want to invest in it
<gary_poster> benji, I think I will postpone all calls till tomorrow, so no call for u in 10.  s'ok?
<benji> s'ok
<gary_poster> thx
<benji> that doesn't look good: E: Unable to locate package python-shell-toolbox
<gary_poster> :-(
<gary_poster> it's in a ppa
<gary_poster> but we run this virtually every day...
<gary_poster> ugh, nausea...
<gary_poster> benji, going off line.  Don't feel good.  Talked with Francis.  If I can I'll be back later.  TTYL
<benji> :(
<benji> I don't suppose anyone knows why this is happening (after running setuplxc): https://pastebin.canonical.com/62422/
<benji> yay! I have a working lucid container.
<benji> If I smoked I'd need a cigarette now.  I'll have some yogurt instead.
#launchpad-yellow 2012-03-16
<benji> frankban and gmb: do you guys have a slave going that I can use or should I start my own
<gmb> No gary today?
<benji> gmb: he was pretty sick yesterday afternoon, so I guess not
<gmb> Ah, right.
<gmb> :/
<benji> gmb and frankban: https://talkgadget.google.com/hangouts/extras/canonical.com/goldenhorde
<gmb> Yarp
<gary_poster> benji, frankban, gmb, hi.  I have a pretty nasty stomach issue.  I haven't had anything except water since yesterday morning.  I'm taking a sick day, as you might have guessed already--or at least a half day.  I think I'm getting better, though I'm definitely not out of the woods yet.  I saw that benji's branch landed, which is great.  frankban is doing good stuff on lpsetup.  gmb, what's up with you?  Did Spamap
<gary_poster> S ask for a lot of changes?  I have a juju instance from yesterday that I'll try to get a full test run from if I can.  That's all I'm really hoping for from myself tbh
<gmb> gary_poster, He asked for tests, which I'm working on. Should be done this afternoon. You get better.
<gary_poster> Thanks gmb
<gary_poster> I'm heading off again.  I probably will check mail now and then, so write me if you need to.
<gmb> Yay, weird, non-deterministic ordering! Always fun.
 * gmb fixes
