=== BradB is now known as BradB|away
sabdflBradB|away: yup12:04
=== Kinnison merges before making a pqm request for the last of his db changes for the day
=== Kinnison does worry that his activity report looks sparse :-(
=== SteveA [~steve@adsl-213-190-44-43.takas.lt] has joined #launchpad
!lilo:*! 1097536034 <+lilo> anyone want to donate a book on nonprofit accounting practices to PDPC? it sure would speed up this process01:12
!lilo:*! (message me for specifics 8)01:13
sabdfldaf: around?01:30
=== stub [~stub@dsl-] has joined #launchpad
kikoddaa, have you been adding to interfaces the methods you need to call?02:01
kikohey stub02:01
ddaakiko: you must me talkng to the wrong person...02:02
kikohow fares it?02:02
kikoddaa, you've been activity-frustrated about zope security issues.02:02
ddaaHa... it's unrelated. Not my code.02:02
kikoddaa, you might just be calling methods that aren't available because they aren't listed in the relevant interfaces.02:03
kikois there such a thing as "not my code" in the big plan of things, though? 02:03
ddaaMy mission is to get a test env for importd.02:03
kikoit could just be you're requiring stuff that hasn't been exposed externally before.02:03
ddaaI have not touched launchpad code in any significant way since the last arch team sprint before oxford.02:03
kikojust from a passers-by POV I mean -- I don't actually know what your problem is, though you might want to write to launchpad-list in hope of answers.02:04
ddaaI am just using the existing launchpad stuff, doing what I remember of lifeless instructions....02:04
kikoyou should write to launchpad for help, usually you get prompt answers and it's nicer than waiting around on IRC :-)02:04
ddaaYeah... I guess so... I expect to be able to annoy lifeless enough so he will consider seriously the issue of setting up a test env for importd...02:05
ddaaThe problem is deeper. I'm not quite sure of what I am supposed to do launchpad-wise... just that I must test the imports with buildbots...02:06
kiko#launchpad should be responsible for launchpad IMHO, not anyone in particular (though particular experts do exist of course), so complain away and we should be able to help.02:06
kikoI see02:06
ddaaquite a frustrating situation...02:07
kikocan't you get someone to spec it for you? rob I suppose?02:07
ddaaI'm going bed now. Thanks for the help though.02:07
kikowish I could have provided more -- night02:07
ddaaI asked him last time, he did not seem to think anything more than getting the right config was troublesome...02:07
!lilo:*! And, in further news, we've found a place with a used copy of that accounting book. It's really much cheaper. Really. Someone want to help out? Message me. 8)02:08
kikoapparently defining the problem well would be a good pre-requisite to explore :)02:08
ddaaThe problem is well defined:02:08
ddaaRun imports for chosen projects, as defined from info files (or some other sources, but that can come later).02:09
ddaaAnd check that the result are sane.02:09
ddaaWell... actually that's just words for me...02:09
ddaaNo idea what are the prerequisites and outputs of the import process...02:09
kikothat's what I mean.02:09
ddaaright... apparently it seemed to be something obvious, so I though I would be able to figure out. Lifeless seemed to expect that much.02:10
ddaaI try to live up to his expectations generally.02:11
kikodo you know how the import process works?02:13
ddaasomething involving cscvs to create arch archives...02:14
ddaawith inputs from sourcesource02:14
kikothat's as much as I know as well.02:14
ddaathe sourcesouce must be moved to a project and enabled02:14
kikodo you know what "sanity" means in the context of a cscvs import?02:14
ddaathen when running a botmaster/slave pair, the slave should get the job and start doing things.02:15
ddaaI'm stuck at the "enable job" point.02:15
ddaaThe sanity check is looking at the generated changelog. Lifeless promises that failures cause obviously wrong changelogs.02:16
kikoI see02:16
ddaabuildbot is deep voodoo...02:16
kikothat it may be02:16
kikobut it appears you're stumbling inside lp, not bb :)02:17
ddaathere's a zillion things that can go wrong there for someone like me who do not know the land. The error messages do not help....02:18
ddaaOnce it gets to buildbot, I should be able to figure out problems, since I expect most failures to come from tla...02:19
ddaa(except conversion problems...)02:19
kikowhat exactly is triggering the Unauthorized errors?02:19
kikocan you show me a code snippet?02:20
ddaaThe first thing I try to do is move a souresource from the do-not-sync project to another project.02:20
ddaaVia the web interface.02:20
ddaaNo code.02:20
kikoit could just be broken from the Great Renaming. 02:21
kikothere is some code, it just might not be written by you :)02:21
ddaaI'm logged in as Foo Bar. I tried importing the sources with owner=Foo Bar, instead of Robert Collins, but then I believe I got some other error...02:21
kikowhat line triggers the error, I mean?02:21
ddaaI do not quite remember...02:22
ddaaThe launchpad stuff is hermetic to me...02:22
ddaaI really appreciate the help, but I need to sleep now.02:22
kikoyou can browse the source code -- we'll let you look at it for free <wink>.02:22
kikosure, we all do eventually.02:22
mdzspiv: #1922-ping?02:35
=== SteveA [~steve@adsl-213-190-44-43.takas.lt] has joined #launchpad
-dmwaters(dmwaters@dmwaters-gentoo.staff.freenode)- {global notice} Hi all! In about 4.5 hours we are going to take a major outage for some server upgrades. Please see 'http://freenode.net/news.shtml' for more info. Thank you for your patience, and thank you for using freenode!03:24
=== SteveA [~steve@adsl-213-190-44-43.takas.lt] has joined #launchpad
dafsabdfl: pong05:43
=== SteveA [~steve@adsl-213-190-44-43.takas.lt] has joined #launchpad
-dmwaters(dmwaters@dmwaters-gentoo.staff.freenode)- {global notice} Hi all! in about half an hour I'm going to start rebooting a few servers for some upgrades. Please see: 'http://freenode.net/news.shtml' for more info.07:34
-dmwaters(dmwaters@dmwaters-gentoo.staff.freenode)- {global notice} Alright guys, Here we go with the updates This shouldn't take long07:59
=== dilys [daf@muse.19inch.net] has joined #launchpad
=== BradB|away [~bradb@modemcable165.196-131-66.mc.videotron.ca] has joined #launchpad
=== lifeless [~robertc@dsl-] has joined #launchpad
=== daf [daf@muse.19inch.net] has joined #launchpad
=== spiv [~andrew@fuchsia.puzzling.org] has joined #launchpad
=== justdave [~dave@] has joined #launchpad
=== ChanServ [ChanServ@services.] has joined #launchpad
=== stub [~stub@dsl-] has joined #launchpad
stubCan someone please tell me that teams cannot contain teams as members?08:40
lifelesswhy shouldn't they? Canonical team includes sysadmin + developers + business dev + distro teams ?09:27
=== ddaa [~ddaa@nemesis.xlii.org] has joined #launchpad
=== sabdfl [~mark@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
sabdflmorning all09:35
=== mdz [~mdz@69-167-148-207.vnnyca.adelphia.net] has joined #launchpad
sabdflhey mdz09:43
sabdfl11 RC bugs?09:44
mdzmore or less09:44
sabdfldaf: around?09:44
mdza few of them are debatable and may end up being downgraded09:44
sabdflok. you get  to say when she ships.09:44
mdz2 of them we have fixes ready to upload, 2 are branding stuff (one of which is blocked on receipt of the artwork)09:45
mdzone live-cd-only bug09:45
mdzwe're actually in fairly good shape09:45
sabdfli will have the plain and plain+logo images today, who should i send them to?09:45
sabdflcalendar image will be in today or tomorrow09:46
mdzspiv reported this bug where his machine catches fire, but it's waiting for yet more information from him09:46
=== mdz winks at spiv
mdzsabdfl: jdub09:46
sabdfltech board meeting this evening / afternoon / morning / 1700 UTC?09:47
sabdflor it it 1600 UTC?09:47
mdz8 hours from now?09:47
mdzit was 1600 last time09:47
sabdfloh, actually, would be cc meeting, right?09:48
mdztech board meeting is going to be very fast unless you have something to bring up09:48
mdz"release tomorrow lots to do kthxbye"09:49
sabdfli think the schedule is actually community council meeting this week09:53
sabdflwas going to invite tech board to participate and have you sign off on the release process with the cc09:53
sabdflsound ok?09:53
sabdflwill have a release process drafted for the meeting09:53
mdzI thought tech board was going to be every two weeks09:55
mdzwhich would make it today09:55
mdzbut it's perfectly OK if I can sleep instead09:55
mdzI can attend a CC meeting if needed09:55
=== limi [~limi@212.80-202-72.nextgentel.com] has joined #launchpad
sabdflmorning limi10:09
limimorning sabdfl :)10:10
=== Kinnison [~dsilvers@haddenham.pepperfish.net] has joined #launchpad
sabdflstub: any chance you can do a regular mapping of tables + comments to HTML and commit it? 10:30
sabdflthere's a useful piece of software to do it10:30
stubI'll do it every schema update, or do you mean more regularly in case people actually update commentssql?10:30
sabdfli guess every schema update would be fine10:31
sabdflupdates to comments.sql would best be handled through the pending queue too, i think10:31
stubHmm.... I suspect that is better handled through cooperation. ie. don't change the meaning of something without discussion, but feel free to comment anything and everything that has no or incomplete definitions.10:33
limiwhere are the valid severity and priority values listed?10:46
sabdfllimi: canonical.lp.dbschema10:47
sabdflstub: doing code review, if those were your vocab patches, then thanks!10:49
sabdflhmm... except maybe for the zcml locations10:51
sabdflyou don't think it's better to keep the vocabulary definition for object foo together with everything else about object foo?10:51
stubNope - the zcml should live with the code since they need to be edited in tandem. 10:52
stubI'm unsure if canonical.widgets should stay where it is or move to canonical.launchpad.widgets10:55
limiwhy do *I* always have to find all the Mozilla rendering bugs? ;)10:57
sabdfllimi: it's a special privilege11:00
limiwhere did I sign up? :] 11:00
KinnisonIt was part of your contract11:01
=== limi didn't read the fine print
Kinnisonsabdfl: I'm currently doing the dbschema.py changes to support the new meaning of {Sourcep,P}ackagePublishing.state. Were the notes I put on the wiki okay? If so; I'll carry on.11:02
sabdflKinnison: rebooting, pls send url when i'm back11:02
=== sabdfl [~mark@host217-37-231-28.in-addr.btopenworld.com] has left #launchpad []
KinnisonMorning ddaa11:32
spivmdz: I'm working on gathering information for #1922 as fast as I can, but it triggers pretty much at random. :)11:34
spivmdz: Sometimes it happens even before booting has finished, sometimes I've gone a whole day without it occuring.11:35
limiah, gotta love bugzilla.mozilla - the bug regarding Moz not supporting multi-line tooltips (title attribute) evolves to the following after 141(!) comments:11:44
limi> One of the questions is should we using \uFFFD if JS/DOM is only UTF-16, if not11:44
limi> then should we go back to using "?"11:44
limiis there any way to say to arch "get rid of all conflicts and get the stuff from rocketfuel as the authoritative versions?"11:57
limiI have an insane amount of conflicts here in files I haven't touched11:57
=== sabdfl [~mark@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
ddaalimi: let's serialize the issues.12:00
limilet's not :] 12:00
limiif it isn't a simple command to do it, I'll ignore it for now12:01
ddaaOkay. All your stuff is merged into rocketfuel and you just want your tree to be set to the latest rocketfuel?12:01
limijust wanted to commit a simple spelling error fix in dbschema12:01
limiwell, most of it is - I can afford to lose what is there12:01
limijust minor edits there now, I believe12:01
Kinnisonlimi: I'm currently prodding at dbschema -- if you want to punt me a diff I'll apply it here while you tidy up12:02
sabdfllimi: i have the subrosasoft cd waiting here for when you come by to install warty. much fast tla performance :-)12:02
ddaaAre there revisions in your branch which were not merged into rocketfuel?12:02
limiKinnison: in BugSeverities, there's a status that says "but" instead of "bug" - I think it was in Severity Major12:02
limiddaa: no idea, if I can just get what's currently in RF, that's fine12:03
Kinnisonlimi: found that12:03
sabdflSteveA: is the password reset supposed to be working?12:03
sabdfli am trying to rset the passwd for mark@hbd.com12:03
Kinnisonlimi: Any others?12:03
Kinnisonsabdfl: https://wiki.canonical.com/Lucille_2fPublishingNotes12:03
Kinnisonsabdfl: https://wiki.canonical.com/Lucille_2fQueueNotes12:03
liminope, that was it12:03
Kinnisonlimi: that'll go into my next pqm request htne12:04
ddaaWell, in any case: % tla undo $(tla revisions --full --reverse rocketfuel@canonical.com/launchpad--devel--0 | head -1) && tla sync-tree $(tla tree-version)12:04
ddaaWill give you a tree which is latest rocketfuel plus any additional patchlog in the latest revision of your branch.12:05
spivddaa: I'm seeing conflicts too, and my tree was previsouly up-to-date with rocketfuel, I though...12:05
ddaaDunno if that qualifies as "one simple command" :-)12:05
Kinnisonddaa: For a value of simple known only to tla developers :-)12:06
spivddaa: also, I've discovered another downside to changing the tagging-method for .rej/.orig -- tla undo now refused to work in the prescnece of conflicts :(12:06
ddaaIt's a bit like photo-touching programs. You have words with which you can make sentences.12:06
limiif you make your sentences in photo programs, you have a problem anyway ;)12:07
ddaaspiv: which makes some sense. You can do "tla inventory -s | grep -e '\.(orig|reg)$' | xargs rm" (untested) to remove the conflict files.12:08
ddaatla inventory -j | grep -e '\.(orig|reg)$' | xargs rm12:08
limiah, why didn't I think of that :] 12:08
ddaaor more simply12:09
ddaatla inventory -j | xargs rm12:09
ddaaWhich _should_ be obvious...12:09
spivddaa: Ah, that's nicer than grepping tla tree-lint's output ;)12:09
=== ddaa hits himself with a cluebat
ddaatla inventory -u12:10
Kinnisonddaa: since when has tla been obvious? </troll>12:10
spivddaa: I'd prefer it if undo just undid anyway, or had a --yes-really-undo optoin, or something.12:10
ddaa-j is "junk", here the rejects are "unrecognized", thus -u12:10
ddaaspiv: your request makes perfect sense.12:10
ddaaFrom a user perspective.12:10
ddaaTla makes sense from a tomlord perspective.12:11
ddaaThat tend to be slightly different things...12:11
spivHow should I put his...12:11
spivI don't care about Tom Lord ;)12:11
ddaathe hct folks supposedly are working towards easing your pain.12:12
spivSeriously, what's the best thing to do here, wrt to getting undo to "do the right thing" for users?12:12
limisabdfl: (SubRosaSoft) yeah, looking forward to see how Warty works on my Powerbook - I believe there is a problem with the WiFi card (Broadcom?)12:12
spivPester g-a-u?  Use raw?12:12
ddaaspiv: you should define "the right thing" a bit more accurately...12:12
spivddaa: Ok, let's start with my naive user's view of what "undo" actually means :)12:13
spivddaa: Then look at where "tla undo" falls short :)12:13
ddaaIn my opinion, the path of least resistence is to implement stuff in a wrapper until we hit the point where we need to reimplement some major tla functionality.12:14
sabdflKinnison: w.r.t. scheduleddeletiondate please check that the date is never too far in the future12:14
spivI expect undo to mean, essentially, "revert".  Restore the working tree to the same state as if I'd just done a few tla get, modulo files tla doesn't care about (,,*, and nested working trees, etc).12:14
sabdflassert (scheduleddeletiondate<now+2 days) sort of thing12:14
Kinnisonsabdfl: do you want that done when it's set; each time it's checked for having expired, or as part of a cruft checker?12:15
sabdflKinnison: your call12:15
sabdflSteveA and i did discuss have an "oscar the grouch" process, which basically runs a set of tests on the db12:15
sabdflsort of higher-level sanity checking than db constraints12:15
=== Kinnison thinks it belongs in a cruft/consistency checker because the distribution will have a stay-of-execution value which we should be asserting against
sabdfland one test might be that.12:16
=== carlos [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #launchpad
=== Kinnison is certainly expecting there to be an 'oscar the grouch' process
=== Kinnison is relying on it
spivddaa: my gripe is that occasionally tla undo refuses to undo for what seems to this naive user to be no good reason.  I'm not sure where the poor conflict handling fits in this picture :)12:16
ddaaare backup and unrecognized, "files tla do not care about". What should happen to them?12:16
KinnisonSo even if there isn't a generic one; there'll be a lucille one12:16
spivddaa: I would expect them to be untouched.12:16
ddaaSo if you undo after conflicts, you'll end up with same conflict files. Which, per your other wish, will prevent commit.12:17
spivddaa: Hence my comment about not being sure where poor conflict handling fits in this ;)12:17
spivddaa: Can I take teh discussion on a tangent for a moment? :)12:18
ddaaNo pb. You are the one asking :)12:18
spivThanks :)12:18
Kinnisonsabdfl: I'll put a note in the wiki that the scheduleddeletiondate should be sanity-checked in 'oscar'12:18
spivThe use of unrecognised for .rej and .orig is a pretty crude hack that I found suggested on g-a-u.  The undo problem highlights just how crude it is :)12:19
ddaaPS: I'm not trying to prove that what want to do is Bad, I'm just trying to make you spell out clearly what you want so I can help more effectively.12:19
spivddaa: Understood -- and appreciated. . I haven't thought these ideas out fully yet, and you're helping me do that :)12:19
ddaaspiv: yup, crude hack is an accurate qualification.12:19
spivWhat I think I'd prefer is something more like SVN's model here.12:20
=== ddaa is svn illiterate
spivi.e. in the metadata about that file in the working tree, flag it as conflicted (in the inventory?)12:20
spivSo that you'd have to say tla resolved-conflict filename12:20
ddaaI think the inventory classification concept is basically a good idea, but they way it is done get very much in the way now.12:21
spivUntil then, tla would keep reporting that file as conflicted, regardless of .rej/.orig files, or evil CVS <<<<< markers, or even if the file is removed :)12:21
=== ddaa push spiv over to the tangent.
spivThen the crdue tagging-method hack I'd use would probably be to mark .rej and .orig as source, sinstead :)12:22
spiv(or maybe I wouldn't use any...)12:23
spiv(aside: I don't know how .rej/.orig cope with multiple conflicts on the same file from multiple merges, because I've never tried doing anything that hard :)12:23
spivSo, back to undo.12:24
ddaametadata is one of those words which reach far into what does not exist yet in Arch, and what is very polemic. For example it touches issues of transcoding, magic tree data munging and so on, which are popular among new users but quite impopular among devel afaitt.12:24
spivYou must have a different definition of metadata to me :)12:24
ddaaWhat is and what is not metadata is not very clear to start with...12:25
spivI'm not looking for a generic "associate value foo to file bar with key x" stuff.  I'm just talking in the sense of what {arch} and .arch-ids already are.12:25
spivi.e. forom the point of view of a user working with their source code, the source is the data, and everything else arch records other than the actual contents of the files is metadata.12:26
ddaaYou are speaking of associating a flag to a file. You have to think about how it works in terms of file ids. For example tagline-tagged file have no associated id file, yet you want to associate a conflict flag to them. How do you do that in a way which is rename-resilient?12:27
=== lifeless [~robertc@dsl-] has joined #launchpad
spivddaa: By using the file's id -- each file has a unique ID, right?12:28
spiv(there's an edge-case when there's a newly-created file locally not commited, then a conflicting merge with the same file name added, but I don't carea bout that case ;)12:29
ddaabtw, multiple conflicts for the same file are not coped with. Older rejects are moved in a precious directory with some random crappy name.12:29
spivSo, with no knowledge of how tla's internals work, I'd expect that, e.g. a {arch}/conflicts directory would do the job.12:30
spivWith a file in that dir per fiel that is conflicted.12:30
spivkeyed by some fs-safe encoding of file-id.12:31
ddaaWould have to be something like {arch}/++conflicts or something.12:31
spivDoes that sound workable and reasonable to you, or am I missing something?12:32
limitoday's Ubuntu misspelling: "Bununtu"12:33
ddaaspiv: that starts to sound like a sane idea. I suggest you poke jblack with the keyword "manifesto" with my recommendation about this idea.12:33
limiCollect them all!12:34
=== lifeless_ [~robertc@dsl-] has joined #launchpad
spivmakes me want to dress a banana up in a tutu ;)12:34
spivddaa: Great.  I'll do that.  Thank you :)12:34
ddaaconsidering the way things are currently not evolving in the gnu arch community, I fear that we will have to do our own sauce sooner or later...12:35
ddaaWhat's great with that name, is that it's recognisable even when horribly misspelt.12:38
=== lifeless [~robertc@dsl-] has joined #launchpad
ddaaspiv: the idea is to have you champion this 12:42
ddaafeature, design a complete, peer-reviewed specification12:43
spivddaa: That's fine by me.12:43
ddaaThen when it's ready put it on the community. That should help save a lot of discussion noise.12:43
SteveAsabdfl: there's a problem with signing up on the ubuntulinux site -- actually two problems.  1. the join form is not linked from the front page.  2. the join form doesn't work because the xml-rpc authentication server hasn't been updated to know about Person.name (the nickname)12:43
spivddaa: So, another issue. :)12:44
sabdfli have an existing account i think in the db12:44
ddaaAnd that will let some time for the devel process situation to get sorted...12:44
spivddaa: why is it I'm getting conflicts in files I've never touched when star-mergeing from rocketfuel?12:45
spivddaa: Even though I don't think I've got any local unmerged changes in my version?12:45
ddaaspiv: probably because you send merge request, then merged before it was completed.12:45
spivddaa: It's possible, but I'd be surprised.  I've been very careful about not doing that :)12:46
spivOf course, I'm only human :)12:46
spiv(But it sounds like what limi saw too)12:46
ddaaI'll look at your tree.12:47
spivddaa: thanks :)12:47
spivddaa: If I have no unmerged changes, then I can wrokaround this with tla tag -S rocketfuel@... andrew.bennetts@canonical.com/launchpad--devel--0, I guess?12:48
ddaaNo need for -S here.12:48
spiv(purely hypothetically at this stage, I'll wait for your diagnosis)12:49
spivOh, of course :)12:49
ddaaspiv: yup that could work.12:49
spiv(plus I'll want to double-check I don't have any unmerged changes)12:49
ddaabut bear with me a minute, I was in the process of typing the name of your version....12:50
ddaa197 patches, that's going to take a while...12:50
spivMaybe now would be a good opportunity to point me at some good docs on cacherevs ;)12:52
ddaaThere was a thread on gau just yesterday about the issue of cachedrevs and mirrors.12:53
spivOk, I'll take a look...12:53
ddaaWell... I think so... maybe that was on #arch.... but there definitely is some cachedrev related talk on gau...12:54
spivThere was, but it didn't seem to involve mirrors.12:55
lifelessraw should autocache rev12:56
lifelesswe need to get everyone using raw.12:56
lifelessthats more and more evident.12:56
ddaaBasically, mirrors do not get cachedrevs after mirroring the revision the first time.12:56
lifelessddaa: integration allows this.12:56
ddaaintegration gives you a way to force updating the mirror for a specific _revision_.12:57
lifelessddaa: yes - which you would then do when you cacherev locally12:57
ddaaThat would work well in your situation since you are the one pushing the mirror.12:57
ddaaOf course that would not help mirrors maintained by other people.12:58
lifelesswell they can mirror locally, its only ever a problem when mirror-name != canonical name12:58
lifelesshows the test-environment ?12:58
ddaaThe archive format is quite stupid in the way it stores cachedrevs, and makes it very expensive to check for what cachedrevs are present.12:58
ddaalifeless: I decided to shortcut lp entirely. Actually when looking at master.cfg and wrapping the sql limit into something human readable things make a lot more sense.01:00
lifelessddaa: are you able to run test-imports yet? thats the crux.01:00
ddaaProbably I'll end up with a handful of scripts and a specific filter.01:00
ddaalifeless: no01:00
ddaaspend waaaay too much time fighting with launchpad.01:00
ddaaI should not have gone down the "keep production filter" road to start with.01:01
ddaalifeless: I'd like if you could bless a "botmaster config for testing" version.01:02
ddaaProlly on rocketfuel, so I could put a configuration useful to everyone there.01:02
lifelessddaa: for this testing, we use the production config.01:02
ddaaThe production dists points to lifelesslap.01:02
lifelesswhich I don't recall making any changes to that aren't in tla already.01:03
ddaaWhich is not really a version where I can put changes.01:03
lifelessddaa: exactly, its production, you're not meant to put changes.01:03
ddaaAnd whose up-to-dateness i question.01:03
lifeless'which I don't recall making any changes to that aren't in tla already'01:03
ddaa(13:02:43) lifeless: ddaa: for this testing, we use the production config.01:03
ddaaYou realise that is wishful thinking?01:04
ddaaI'm not on the production machine, not with the production data, the config has to be different.01:04
ddaaMhh... sounds like there is confusion between "arch config" and "botmaster config"...01:05
lifelessddaa: the database name is imported from canonical.lp, so the botmaster config doesn't need to change at all other than the locations to create archives.01:05
ddaaand private.py stuff, and the name and location of slaves01:06
lifelesstrue, and those are already documented.01:07
ddaaWell, if you insist that I use the production filter I can do, but since I'm going to poke the db w/o using launchpad, I may as well use some hand made filter to make life easire.01:07
ddaaFor some value of "documented"...01:07
ddaaThe ImportProcess page has grown almost completely stale.01:07
lifelessyou can just disable the production filter - set that parameter to ''01:07
lifelessor None01:07
lifelessddaa: the ImportProcess page shouldn't be stale at all, almost nothing has changed.01:08
lifelessnow, these deadlocks.01:08
ddaaThen why was I unable to run buildbot? Either something has changed or i was being stupid.01:08
lifelessddaa: I don't know, I'm happy to help you debug whats going on.01:09
lifelesss/happy/keen to/01:09
ddaaOkay, let's talk about this "deadlock" problem.01:09
ddaaSince I was unable to run imports, I was unable to test that.01:09
lifelessI suspect pyarch, because it didn't happy before, and pyarch is the only buidlbot component in the code path that has changed.01:10
lifelessthe symptoms are:01:10
lifelesswe get an extra python process, not in the group, blocked on a futex.01:10
lifelessthe import process stops cold for one job.01:11
lifelessif I kill -9 that extra process, the import process resumes.01:11
lifelessI wanted to ask, why are you using a Queue ? Its not needed for twistd.01:11
lifelessor at least, I don't think its needed.01:12
ddaaThe queue is used to translate the asynchronous flow of events in the reactor into a synchronous sequence used in the thread using the pyarch API.01:12
lifelessyou should use a deferred for that.01:13
ddaaSince the pyarch API is blocking, the queue is used to block the thread when no data is present.01:13
ddaaI do not see how deferred would help here. I have talked about it with spiv, and he agreed that a synch-queue was the least bad solution there. But then maybe I did not explain the problem properly.01:14
ddaaBesides, if python forks, and your are using TwistedSpawningStrategy, it's all happening in twisted stuff. There should not be _any_ low-level process handling left.01:16
lifelesswell something is deadlocking, and the only thing I can think of is a dropped message01:18
ddaa"dropped message"?01:18
lifelesslets get you able to test this.01:19
lifelesswhat is the current status ?01:19
ddaaBeen talking with lifeless since the last status.01:19
ddaaI'm about to set the filter to the empty string.01:20
lifelesstry that, I'll be here01:20
ddaaAnd import only one info file.01:20
ddaaSo I'm currently resetting the database.01:20
lifelessdon't reset the database01:20
ddaatoo late.01:20
lifelessthat would waste time and lose all your changes01:20
ddaait's running01:21
lifelesssuch as imported archives etc etc etc01:21
ddaaMy changes are unimportant.01:21
lifelessthe database has important persistent data in it.01:21
ddaawhy would imported archives be important? (ignoring for a moment that there are currently none)01:21
lifelesswhen imports complete for instance, they get 'taxied' into the database so that launchpad can see everything about them.01:22
ddaaHow is that useful for testing imports. I'll try to stay away from launchpad for this tests. It's way too much trouble.01:22
lifelessits important because its part of the end to end test.01:23
ddaaa52dec is known to work, right?01:24
lifelessyou'll need this patch - about to commmit is01:25
lifeless--- orig/lib/canonical/arch/broker.py01:25
lifeless+++ mod/lib/canonical/arch/broker.py01:25
lifeless@@ -598,8 +598,7 @@01:25
lifeless     def set_patchlog(self, patchlog):01:25
lifeless         self._patchlog = patchlog01:25
lifeless-        from canonical.database.launchpad import RevisionMapper01:25
lifeless-        mapper = RevisionMapper()01:25
lifeless+        mapper = database.RevisionMapper()01:25
lifeless         mapper.update_log(self, patchlog.summary)01:25
lifeless     def patchlog(self):01:25
ddaaI have to leave to feed the old witch.01:25
limisabdfl: sent you the first version of the portlet/priority/severity scheme, ping me when you have time to give some feedback01:26
lifelessis a53dec running ?01:26
ddaaokay, I'll give a try before leaving :)01:26
lifelesswe've got 30 minutes to the meeting.. you will be back right ?01:26
ddaaThat's the point of leaving now.01:26
ddaaapparently the empty clause causes an error01:29
=== ddaa is out
lifelesstry None when you return please.01:30
lifelessddaa: I found the problem I think01:35
lifelessyeah, wasn't actually using the twisted strategy.01:46
lifelesscan you do the following for me please ?01:46
lifelessIn pyarch's __init__, if there is a top level symbol twisted when you are imported, set the use of twisted automatically ?01:46
=== limi is now known as limi|lunch
=== Kinnison -> town for lunch
stubSteveA: I can do a quick fix for ubuntulinux.org by adding a DEFAULT to Person.name.02:00
=== BradB|away is now known as BradB
stubSteveA: (On the production database)02:01
SteveAstub: I think it is easier if spiv fixes the auth server to do the right thing.02:06
SteveAstub: there seems to some strange interaction between plone and the auth server, like plone is cacheing authentication information for a while.02:07
stubJust offering an alternative ;)02:07
SteveAthe launchpad change-password stuff is working, and putting the new password in the database 02:07
stubexUserFolder has a lot of caching if I remember. It should be tunable (?)02:07
SteveAsometimes, you can't log in to plone with the new password immediately02:08
SteveAso, we should perhaps turn that off, or maybe flush the caches on a new login 02:08
stubFlush the caches, preferably just the affected user.02:08
stubHitting the xml-rpc server every request is a bit mad02:09
SteveABradB: ping02:11
spivBradB: ping02:17
BradBspiv: I can try changing my password and relogging in.02:18
spivBradB: Ok.02:18
spivI've gotten watching the logfile on the authserver down to a fine art ;)02:19
BradBWorked fine.02:19
BradBMaybe SteveA somehow tried authenticating via http://www.ubuntulinux.org/login_form, which won't work.02:20
spivBut unlike SteveA, you changed it via plone... what about via the production launchpad?02:20
spiv(I can tell, because I saw a changePassword call in the authserverlogs)02:21
=== limi|lunch is now known as limi
spivBradB: btw, your SQLObjectGuide changes looked good to me.02:22
BradBspiv: Do you have anyway of verifying the login_form he was hitting when the login failed for him?02:22
spivNo, unfortunately.02:22
spivHe's aware of the http vs. https issue, though, so I presume he was careful to avoid that.02:23
BradBokay, so how about if you try changing it in the prod db?02:23
BradBouch, AttributeError02:25
BradBsecond time through worked fine though02:26
BradBfirst time through i was logged in, just got that error message though02:26
spivI'm stumped... any thoughts?02:28
=== BradB ponders
spivI need to do lunch.02:29
spivAnything you want from me immediately before I disappear? :)02:30
BradBno don't think so :)02:31
lifelessspiv: I could use some help02:34
lifelessbefore you dissapear02:34
spivlifeless: Ok.02:36
spivYou're just in time ;)02:36
ddaalifeless: couple of questions in my queue02:36
lifelessremember the canonical.arch.database module ?02:37
lifelessit had a commit method, and a connect method ?02:37
lifelessI need replacements for those  for buildbot..02:37
spivRight.  You need that for taxi?02:37
ddaa1. okay for archive_mirror_dir, now what is th "slave_home" argument to processDB for?02:37
spivlifeless: Ok, that will be done today, for real this time :)02:37
spivlifeless: Is taht soon enough?02:38
spivi.e. can I have lunch :)02:38
lifelessddaa: that is where the slaves home dir is - which is used to create the .gnupg check scripts and so forth.02:38
lifelessspiv: ok, I'll crash early, and get up early... so I can test it before you go to bed tonight02:38
lifelessis that ok - will you have net at my 8am ?02:38
spivlifeless: I have net 24hrs here :)02:38
lifelessspiv: woohoo.02:38
lifelessand is my 8am ok for you ?02:39
spiv9.5 hrs from now?02:39
ddaa2. about pyarch/twisted you suggest that, when arch._tla is imported, if sys.modules has a key which is "twisted" or starts with "twisted." then spawn is initialized to an instance of TwistedSpawningStrategy instead of PyarchSpawningStrategy. Right?02:39
spivlifeless: Yeah, just :)02:40
lifelessspiv: lynne wakes my @ 7:30 tomorrow, guaranteed.02:40
lifelessI'm pushing my buildbot changes to rf now, so you'll have the latest to play^Wfix.02:40
lifelessddaa: right.02:40
spivlifeless: Great.  Thanks!02:41
ddaa[importd]  slave_home has something to do with os.env['HOME']  should it be the same? Is it used to set the env variable? Should there be a .arch-params directory there?02:41
lifelessddaa: it may differ from os.env['HOME] .02:41
lifelessddaa: you should ahve a directory in the directory slave_home points at called 'gpg'02:42
lifelessin there you need the arch@canonical.com.pub and arch@canonical.com.secret gpg files02:42
lifelessalso you need a dir called 'archives', its in there the imported archives will be created02:43
ddaaThose are the first-stage, undoable archives, right?02:44
lifelessddaa: right.02:44
ddaaWhich have corresponding mirrors in archive_mirror_dir.02:44
=== ddaa is distracted by a little doggy begging for attention.
=== lifeless kicks the doggy
=== lifeless takes that back
ddaaI probably need to get it out... my parents are out so I must attend things like that.02:47
ddaaThe last forseeable issue is the clause argument. I'll try with None.02:48
ddaalifeless: I release you. I'll report back in one hour.02:48
lifelessddaa: I'm going to bed early, to get up early for spiv02:48
lifelessso, if you can, lets burn through now and get it going minimally.02:48
=== ddaa tries to ignore the dog...
lifelessthen you have all the time you need to 'walk the dog'02:49
ddaaWorks better with clause=None. I get job in the slave!02:50
lifelessnow try to run the job02:51
ddaaSure. How?02:51
ddaaNothing seems to happen here.02:51
lifelessclick on the word 'waterfall'02:51
=== ddaa observes some cpu and network activity
lifelessthen on the job the job title02:51
lifelessthat should give you a form with two push buttns02:52
lifelesspush the top button02:52
lifelesswhich should take you back to the waterfall 02:52
lifelesswhat is the top of the waterfall now ?02:52
ddaaThere's a zillion occurences of the same job here... not that slave_home and archive_mirror_dir are not set to something sane yet.02:53
lifelesswhat do you mean ?02:54
ddaaa52dec-HEAD-import.job occurs on the waterfall page something like 100 times.02:54
lifelesswhats the URL02:55
ddaaAfter forcing the build, they all turned to yellow-building02:55
ddaahttp://localhost:8008/, for what it's worth02:55
lifelessthats the site, not the full url unless you've changed something02:55
lifelessit should be /importd/status/ ...02:55
ddaahttp://localhost:8008/importd/status => No such Builder 'importd'02:56
lifelessok, you've changed master.cfg.02:56
lifelessok, the url / for you is the summary view, not the waterfall.02:57
ddaamy slave is called slave, that's what is in the Makefile, and is needed for all the useful targets there.02:57
ddaaAnyway, the slave failed because the slave_home is not set properly.02:57
=== ddaa goes to set that.
lifelessas for the bazjillion jobs, try visiting /reload and see if that helps.02:59
limisabdfl: there?02:59
sabdfllimi: yes, back02:59
lifelessif that doesn't, then your database has a bazjillion jobs in it :)02:59
limilet me wrap up the latest changes02:59
limiand send them to you02:59
Kinnisonspiv: ping?03:00
sabdfllimi: thanks, will review, commit and comment on irc03:00
BradBSteveA: ping03:01
limiprobably not yet in committable state, will fix that shortly03:01
limifocused on the visual representation so far03:01
KinnisonHas anyone encountered an issue with dbconnection not reusing connections?03:02
ddaalifeless: should the gpg keys provide a arch@canonical.com uid, or can they just be everyone's favourite snakeoil signatures?03:02
lifelessddaa: thyey must, or the signing script will fail03:03
sabdfllimi: are you at least doing a regular star-merge from rocketfuel so that what you send me includes everyone elses updates?03:03
=== ddaa totally sucks at using gpg...
limimy arch is not working at the moment, same problems as spiv had03:03
limithese portlets are not in arch at the moment anyway, I believe?03:04
lifelessddaa: gpg --no-default-keyring --keying arch@canonical.com.pub --secret-keyring arch@canonical.com.secret  --gen-key03:05
ddaalifeless: thx, looks sane...03:05
lifelessmay need an extra --no-default-secret-keyring or something, dunno03:05
limisabdfl: sent03:05
KinnisonYou should use ./arch@....03:06
Kinnisonotherwise gpg will create them in ~/.gnupg03:06
lifelessKinnison: err, yea.03:06
sabdfllimi: they are in arch. will revert shortly, thank you!03:06
limiI should probably try to sort out my local repo then03:07
limiwhat I sent you contains everything in one file03:07
limiwill componentify them shortly03:07
limijust need some feedback on the general direction + some guidance on what is most important and placement of things inside Malon03:08
lifelessspiv: found a regression in buildbot, can't merge till I fix it. please do what you were going to do anyway, I'll cherry pick the buildbot bits of the fix from you.03:09
KinnisonAnyone here an sqlobject/sqlconnection/whatever guru?03:10
ddaalifeless: /reload does not help the job duplication03:12
lifelessrun up psql against launchpad_test03:13
lifelessselect count(*) from sourcesource;03:13
ddaaone row only03:14
lifelessnow that is bizarre.03:16
lifelessit suggests something wrong in the query that sqlobject is making03:16
ddaaIt's just the same job being displayed multiple times, it seems.03:16
lifelessyah, theres dedup code in the guts.03:16
ddaaWow, getting somewhere: _sqlite.DatabaseError: no such table: revision03:17
lifelessthats a cscvs failure of some sort.03:17
=== kiko [~kiko@200-206-134-238.async.com.br] has joined #launchpad
lifelesswell, more than some sort.03:17
lifelessits a corrupt cscvs cache.03:17
ddaaFile "/home/david/home/devel/canonical/dists/launchpad/lib/CVS/StorageLayer.py", line 191, in __init__03:17
ddaa    self.getCursor().execute("delete from changeset where csnum in ( select distinct csnum from changeset except select distinct csnum from revision )")03:17
lifelessfind -name 'Catalog.sqlite' | xargs rm03:18
ddaaThat's not the deepest call, but that seems to be the significant one03:18
lifelessthen run the job again.03:18
ddaaCVS.InvalidVersionError: Could not determine CVS version from CVS version string ""03:19
limiI get lots of this when trying to bring my tree up to date:03:19
limiDuplicated ids among each group of files listed here: 03:19
limiE_Stuart_Bishop_<stuart.bishop@canonical.com>_Tue_Oct__5_19:06:48_2004_21645.0 03:19
limidatabase/schema/archive/.arch-ids/patch-2-07-0.sql.id 03:19
limi0357.1 03:20
limilib/canonical/launchpad/templates/.arch-ids/bugtracker-edit.pt.id 03:20
lifelesslimi: do a tla tree-lint03:20
limiI did, doesn't help03:21
lifelessthat will list the problem files.03:21
kikowtf is that, .arch-ids/bugsystem-edit.pt.id03:21
lifelessdid you have any uncommitted changes ?03:21
lifelesskiko: its the equivalent of a CVS Entries file line.03:21
limilifeless: not really, I just want my tree to be the same as current RF03:22
lifelesslimi: ok.03:22
kikoa latin-1 filename with spaces in it?03:22
lifelesskiko: no, I don't se that.03:22
ddaaI see it too.03:23
limikiko: I run UTF-8 on IRC03:23
lifelesslimi: ok, so first we need to fix the lint, then we can undo and correct it.03:23
limilifeless: ok, the lint lists the same files03:23
lifelesslimi: tla tree-lint -d03:23
kikohmmm. odd.03:23
lifelessthat should list just a bunch of filenames IIRC.03:23
limilists everything03:23
lifelessif it does, great, if it doesn't paste a line or two.03:24
limilib/canonical/launchpad/templates/bugsystems-index.pt   x_Mark_Shuttleworth_<mark.shuttleworth@canonical.com>_Mon_Oct__4_21:56:28_2004_8303.003:24
lifelesstla tree-lint -d | awk '{ print $1}' | xargs rm03:25
lifelesstla tree-lint03:25
lifelessthere will be other errors now because I'm brute-forcing the fix.03:27
limiThese files would be source but lack inventory ids (`tla add' or a tagline perhaps?):03:27
lifelessthats ok03:27
limiI assume that is a temp file03:27
limiok, so tree-lint is empty03:27
lifelessany other headings ? (like 'missing files for id') ?03:27
lifelesstree-lint is empty? cool.03:27
lifelessnow tla undo -n03:27
lifelesswhich will undo the local changes that a partial merge may have caused.03:28
limiand sync with RF?03:28
lifelessnow you should be able to star-merge03:28
limiwhoa, it's busy :] 03:28
=== ddaa updates launchpad for lifeless' patch before doing the buildbot thing again.
limi*waits for the star-merge*03:29
=== ddaa remembers he's got spiv on hold. Will take care of your tree once lifeless releases me.
kikoif you don't have a revlib, wait for 70 minutes :)03:30
lifelesskiko: there are cached revs, should never be anywhere near that long.03:30
kikoyeah, I'm just making a snide remark because I blew away mine yesterday and was amazed at how long it took.03:31
BradBspiv: pign03:31
BradBspiv: ping :)03:31
lifelesskiko: oh right, yeah revlibs make order of magnitude differences03:31
BradBthat's a scary thought03:32
BradBconsidering that even with revlibs it takes an hour to star-merge on my machine03:32
lifelessBradB: what ?!?03:32
limiarch is an order of magnitude different in any case :] 03:32
lifelessits < 10 seconds for me.03:32
ddaaStill invalidversionerror... I bet it's something with the duplication of jobs...03:33
BradBwatching tla do its thing with fs_usage is pretty frightening03:33
BradBmakes me glad i'm not a hard drive03:33
ddaaBradB: yeah, same thing here. The initial revlib population is a bit painful, but then it's painless and fast.03:33
=== limi makes scraping sounds
BradBddaa: it never gets painless and fast on os x.03:34
ddaaBradB: Use a greedy non-sparse revlib to avoid all worst-case scenarios.03:34
ddaaBradB: are you using HFS+ or something?03:34
lifelessddaa: macosX's disk io sucks compared to linux on the same hw. something weird in there.03:34
BradBddaa: yep03:34
ddaaBradB: maybe you should use UFS for tla work. It's quite demanding on fs performance.03:35
kikoBradB, but only use a gnsprl IF you have 2G free for it.03:35
BradBddaa: i was thinking of that03:35
ddaaAnd HFS+ sorta sucks big time.03:35
BradBkiko: hehe.03:36
SteveABradB, spiv: see anything interested in the exuserfolder setup ?03:36
BradBSteveA: I need to know what you meant by "it doesn't work." :)03:36
lifelesslimi: did that work ?03:36
BradBSteveA: er, first off, is this a use case we need to support03:37
limistill waiting for the star-merge03:37
limithere we go03:39
ddaakiko: my revlib is a mere 1.2 gig03:40
kikomine is 1.703:40
limijust 10 minutes :] 03:40
limiand I have about 300 conflicts03:40
SteveABradB: did you and spiv talk?03:40
lifelesskiko: unique or shared data ?03:40
BradBSteveA: Yes. Is this a use case we need to support?03:40
kikounique I think 03:40
SteveAis what a use-case we need to support?03:40
lifelesskiko: du by default gives you the shared result03:40
lifelessits smart03:41
BradBSteveA: Changing p/w in the db instead of via the Plone interface.03:41
SteveAyes, of course03:41
lifelessddaa: where is it at for you ?03:41
KinnisonSteveA: When is __del__ invoked?03:41
ddaaalways the same exception03:41
lifelesspaste it ?03:41
ddaaI have imported all info files to try other jobs03:41
BradBSteveA: Okay, so secondly, what did you mean by "doesn't work"? What error message did you see?03:41
BradBI saw an AttributeError, but was still logged in.03:41
ddaaCVS.InvalidVersionError: Could not determine CVS version from CVS version string ""03:41
SteveABradB: I think we are talking at cross-purposes03:42
limilifeless: any easy way I can ditch the conflicts and just get what RF has?03:42
lifelesslimi: sure.03:42
lifelessdo this.03:42
lifelesstla undo -n03:42
lifelesstla get rocketfuel@canonical.com/launchpad--devel--0 ,,temp-dir03:43
SteveAright now, I am not talking about any specific errors.  I am talking about resetting a password using the "lost password" interface, and then being unable to use that password to log into plone for a while, sometimes.03:43
lifelesscd ,,temp-dir03:43
SteveABradB: the behaviour is as if the password is the wrong password.03:43
lifelesstla set-tree version alexander.limi@canonical.com/launchpad--devel--003:43
SteveABradB: but, I expected you and spiv to have talked about this.03:43
BradBAnd we did. :)03:43
BradBHe had to leave shortly after that.03:44
lifelesstla sync-tree $(tla revisions -rf alexander.limi@canonical.com/launchpad--devel--0 | head -n 1)03:44
stubSteveA: Was the exUserFolder caching tunable?03:44
lifelesstla commit -s 'revert to rocketfuel code base'03:44
lifelesscd ..03:44
lifelessrm -rf ,,temp-dir03:44
lifelesstla update03:44
lifelessok whew, done.03:44
=== limi is still waiting for the first command to return anything
lifelessI know thats a little long, its *yet another* thing raw should encapsulate.03:44
=== limi doesn't really care, it's all greek anyway
lifelesswhat that does is check out rocketfuel, tell it it is your branch, and then commits it03:45
SteveAKinnison: http://docs.python.org/ref/customization.html#l2h-17403:45
BradBSteveA: Which "lost password" interface are you referring to?03:45
limiso you can't just blow away what you currently have and get a clean copy from RF?03:46
ddaalifeless: firefox is going made trying to render the summary page... probably a consequence of job duplication. 236MB VM and growing...03:46
lifelessddaa: lol03:46
kikolimi, apparently no.03:46
ddaaBah. I guess I'm going to spend the rest of the day trying to debug that problem.03:47
ddaalifeless: want me to try anything else before I take care of my pets?03:47
lifelessddaa: show me the exception03:47
SteveAstub: I do not know.  I asked Brad and spiv to continue looking into it.03:48
ddaalifeless: already did, twice, I'll flood you the backtrace in private, then.03:48
SteveABradB: let's talk this through off channel -- too noisy here :-)03:48
lifelessddaa: I haven't seen it, for whatever reason03:48
limilifeless: $ tla sync-tree $(tla revisions -rf alexander.limi@canonical.com/launchpad--devel--0 | head -n 1)03:48
limiarchive not registered: alexander.limi@canonical.com03:48
lifelessoh, what is your archive name ?03:49
sabdflbradb: what's wrong with this:03:49
limimaybe it has a --2004?03:49
sabdflwhere self.product is a Product object03:49
BradBsabdfl: nothing, but sqlobject doesn't support that yet :)03:49
stubA quick solution might be to set the cache times to 30 seconds, and stick a sleep(30) between changing the password in the database and sending the email03:50
lifelesslimi: ?03:50
sabdfl>>> for x in ProductSeries.selectBy(product=Product.get(4)): print x03:50
sabdflTraceback (most recent call last):03:50
sabdfl  File "<stdin>", line 1, in ?03:50
sabdfl  File "/home/mark/projects/ubuntu/launchpad/lib/sqlobject/main.py", line 958, in selectBy03:50
sabdfl    cls._connection._SO_columnClause(cls, kw),03:50
sabdfl  File "/home/mark/projects/ubuntu/launchpad/lib/sqlobject/dbconnection.py", line 428, in _SO_columnClause03:50
sabdfl    return ' AND '.join(['%s = %s' %03:50
sabdflKeyError: 'product'03:50
=== ddaa [~ddaa@nemesis.xlii.org] has joined #launchpad
lifelessoh, let me checkf or you03:50
limilifeless: what is the command to find out?03:50
lifelesslimi: tla archives03:50
limitried tla my-archives - aha03:50
limiyup, alexander.limi@canonical.com--200403:51
lifelesslimi: that would be consistent wouldn't it. damn we got that wrong03:51
BradBsabdfl: you'll have to do productID=self.product.id, I think (until that is implemented to work the way you expect.)03:51
lifelessok, you need to redo the set-tree-version too.03:51
BradBthere's a lot of work i could do on sqlobject :)03:51
sabdflBradB: i tried that but get a forbiddenattribute on "id"03:51
BradByou need to add it to the schema03:52
sabdflBradB: ok, will fund some time for you to qork on sqlobject03:52
sabdfllet's get malone, rosetta, soyuz out the door then the lp team gets a bit of itch scratchin' time03:52
BradBsounds like a plan03:52
kikoqorking for funds!03:52
sabdflBradB: would prefer not to expose id's in the schemas03:52
sabdflnobody qorks like kiko qorks03:53
kikonational holidays included03:53
=== elmo [~james@] has joined #launchpad
=== ..[topic/#launchpad:sabdfl] : lunchpad: home of the sandwich sprinters | fogo na bomba | "qorking along happily"
lifelessand one qork said to the other03:53
=== jblack [~jblack@static-209-158-45-74.scr.east.verizon.net] has joined #launchpad
sabdflspanishness day in brazil too? wow03:53
jblackkiko, mind answering a random thought about launchpad ?03:54
kikofor some reason the first holiday in 3 months it rains.03:54
kikojblack, sure03:54
=== jblack waves to sabdfl
sabdflsun is on holiday too, y'know03:54
sabdflhey jblack03:54
jblackkiko: Great. Thanks. I'm thinking about the star-merge bug that you guys hit so often. That got me to wondering why you guys merge so frequently. Is it because everybody's highly dependant upon everybody else for day to day work, or is it just some fear that people will get out of date irt the center of the star? 03:55
jblacki.e. does everybody need everybody's new work, or are people acting as a conflict avoidance system by staying as close to center as possible? 03:56
SteveAthere's lots of moving around of code happening right now03:56
kikojblack, there's been at least some refactoring going on in common areas, but mostly it's because the codebase is small enough and people work together in the projects.03:56
kikoso celso and daniel and I are bound to step on each other's feet unless we merge frequently.03:57
SteveAalso, many people find conflicts very awkward to deal with03:57
kikothis is aggravated by the very unreasonable handling of conflicts03:57
SteveAso they prefer to avoid them 03:57
kikooh, SteveA beat me to it.03:57
jblackOk. so its conflict avoidance.03:57
jblackFor the most part. I had a hunch. :) 03:57
kikojblack, note that this is something that nicer conflicts and a more modular codebase could help, but you can't expect the latter in projects that are only a few months old.03:58
kikono software starts out nicely modular the first time it's written..03:58
jblackOh, actually, rf was more modular, remember? 03:58
SteveAit often starts off wrongly modular03:58
jblackoh, I know what you mean. Yeah.03:58
kikomodularity is not an objective measurement03:58
kikoit has to do with grouping things that *should* be coupled03:59
kikoand that's usually a mix of domain and design-specific knowledge that, well, requires experience.03:59
jblackOh. That's a minihowto I should write. Conflict resolution.03:59
kikosince us people in the software business are always building newfangled things..03:59
lifelessnight all04:00
kikojblack, you could just make tla not commit if unresolved conflicts were present (and clearly indicate them) and I would buy you a house in heaven04:00
lifelessddaa: oh, there is a buildbot test failure you could look at once you get back.04:00
lifelessjust make check in the buildbot dir should show it. its reusing a checked out copy of the revision its reverting,,,04:00
=== ddaa nods from down in the garden
kikoI would much rather have sane behaviour in tla than a howto :)04:00
jblackkiko: Yeah. I'd like that too.04:00
jblackkiko: I know how you could do it. :) 04:01
jblackkiko: make *.rej as unrecognized. :) 04:01
=== debonzi [~debonzi@] has joined #launchpad
kikothat's a hack04:02
jblackThen if you try and commit, arch will abort.04:02
BradBspiv: so n/m, we fixed it. it was the http vs https thing that i mentioned first off04:02
jblackThat's what the unrecognized method is for. 04:02
kikoit shouldn't require local configuration; conflicts are an essential part of SCS! 04:02
jblackYes, I agree. It should be in the boilerplate =tagging-method as well.04:03
=== BradB goes back to loading some new sample data
jblacksorry. Didn't mean to distract you from lp for so long. 04:03
kikothat's not distracting, it's an essential part of lp04:04
jblackOnce arch development is moving again, I'll submit the tagging-method boilerplate change. You'll have to do it for existing branches though.04:05
jblack(users wouldn't like us if we hacked their tagging-methods behind their back!)04:05
kikoyeah, no need to add the complexity of that04:05
sabdflstub: still around?04:12
SteveAKinnison: some things you need to know about __del__: 1. it is called when the last reference to the object with the __del__ method is deleted.  It can be difficult to know when this will be.  2. __del__ is not necessarily called at all, if the interpreter exits.  3. exceptions raised in a __del__ are logged to stderr and swallowed.  4. objects with a __del__ are not collected by the cyclic garbage collector, and so any cycles that involve s04:13
SteveAuch an object will not be collected.  The test runner notices this, and prints a warning.04:13
sabdflneed to add a productseries field to ProductRelease which references ProductSeries04:13
sabdflcan be NULL04:13
sabdflthough i'm tempted (since we have no release data in the db) to make it NOT NULL04:14
sabdflbut that means creating a Series for every Product04:14
stubI like NULL's :-)04:14
sabdflso i've noticed :-)04:15
sabdflwith hindsight you've generally been smarter than me on that front, so I'll put my fascist whip aside for the moment04:15
sabdflthis is going into mark-patch-series04:16
sabdflALTER TABLE ProductRelease ADD COLUMN productseries INT;04:16
jblackGood idea. safdfl is probably taken anyways. :) 04:16
sabdflnow what's the voodoo to make it point at ProductSeries?04:16
sabdfljblack: those guys have all the fun then tanks roll in and their statues get toppled, so it's a short term gig, y'know04:16
=== jblack grins
KinnisonSteveA: Thanks. I'm not considering creating __del__ methods; I was just trying to work out how to cleanly release this transaction04:17
kikoKinnison, SteveA just means to say, don't trust __del__ to do critical work.04:18
=== Kinnison nods
stubsabdfl: ALTER TABLE ProductRelease ADD COLUMN productseries INT REFERENCES ProductSeries(id);04:18
sabdflah... found an example in patch-3.0404:18
sabdflok, works too. thanks!04:18
limilifeless: is this an error message or just "FYI"?04:18
=== jblack [~jblack@static-209-158-45-74.scr.east.verizon.net] has left #launchpad []
limi$ tla commit -s 'revert to rocketfuel code base'04:18
limicommit: tree has no patch log for version04:18
limi    tree: /Users/limi/Work/Canonical/launchpad/launchpad/,,temp-dir04:18
limi    version: alexander.limi@canonical.com/launchpad--devel--004:18
Kinnisonstub: Guess what... I have a couple more tables which need id columns. Fancy adding id columns to binarypackagefile and sourcepackagereleasefile ?04:18
lifelesslimi: you need to re run the set-tree-version04:19
lifelesswith the right archive bit04:19
=== stub lives to patch databases
limilifeless: does not compute, sorry :] 04:20
limire-run the earlier command?04:20
limiinside the temp dir?04:20
=== limi tests
=== justdave_ [~dave@] has joined #launchpad
sabdflkiko: cprov around today?04:25
sabdflelmo: client cert auth?04:26
sabdflSteveA: is there a workaround for the "cannot log in to debugging port" for lp?04:26
SteveAyou should be able to log into port 808604:27
SteveAI need to push a change upstream before you'll be able to log into 808904:28
spivBradB: cool :)04:29
elmosabdfl: I'm working on it - apache2 is breaking me tho04:30
sabdflelmo: turru turru turrrrrrruuuuuu!!!!! (cavalry sirens)04:31
=== sabdfl comes charging in
=== limi is the little drummer boy
sabdflgot a ca cert, and client cert issued by it?04:31
elmosabdfl: yeah04:33
elmowell, signed by it04:33
sabdflelmo: msg me the ca cert and client cert04:34
BradBPresumably "urgency" of a sourcepackagerelease is a column whose value describes how important it is to upgrade to that release? (Or is it the result of a Saturday night codathon?)04:37
sabdflBradB: maps to a field in the debian package toolset04:38
sabdflelmo: thanks04:38
elmosabdfl: these are just mockups btw, for local testing, the details aren't final04:40
KinnisonBradB: It's related to an upload04:40
Kinnisonbradb: uploads have urgencies associated with them to allow for ordering of builds by buildds etc by priority04:41
KinnisonDebian also uses this to help with the 'testing' infrastructure04:41
Kinnison(ICBW, e&oe, etc)04:42
elmo[Debian uses it for testing, but not buildds] 04:42
=== jblack [~jblack@static-209-158-45-74.scr.east.verizon.net] has joined #Launchpad
Kinnisonelmo: Aah; right; ta04:43
jblackOk spiv, what's up? 04:43
limifinally arch is back to a usable state, now to check in my changes :)05:02
SteveAelmo: the redirect from http -> https of http://www.ubuntulinux.org/login_form is not working05:03
spivddaa: Btw, any luck figuring out why my tree conflicts with rocketfuel?05:03
=== limi spoke too soon
limi    ZopeXMLConfigurationError: File "/Users/limi/Work/Canonical/launchpad/launchpad/lib/canonical/lp/configure.zcml", line 32.2-37.805:04
limi    ConfigurationError: ('Invalid value for', 'factory', "Couldn't import canonical.lp.tales, cannot import name IPerson in canonical.lp.tales.RequestAPI")05:04
Kinnisonsabdfl: Are we expecting all derivative distributions to share the same set of package priorities? (base,essential,standard,optional,extra) ?05:04
limimake: *** [run]  Error 105:04
limianything I need to change or update to get rid of that error?05:04
sabdflKinnison: ultimately i guess not05:04
Kinnisonlimi: that's clearly a spelling mistake, s/tales/tables/05:04
sabdflno, not a speling mistake05:04
spivKinnison: Eh?  05:04
limiwhat needs updating?05:05
sabdflthat looks like a circular import05:05
sabdfllimi are you up to date?05:05
limi2 mins ago05:05
Kinnisonsabdfl: Currently the priority in packagepublishing is just an integer which I assume will have a corresponding dbschema.py class.05:05
=== carlos [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #launchpad
=== lifeless [~robertc@dsl-] has joined #launchpad
limistar-merged the launchpad part05:05
limiany changes in Zope or similar?05:05
elmoSteveA: looking05:06
sabdfllimi: yes, there's been an sqlobject rev05:06
=== limi updates
sabdflneed to update your config to 0.605:06
sabdfldelete that dir and re-get it05:06
sabdfllifeless promises not to do that to us again05:06
limiwhat's the line to re-get it?05:06
ddaaspiv: I thought you were sleeping05:09
ddaaUp to not very long ago I was on importd things. Checking your tree will be good for me to relax,05:10
spivddaa: lunching, which turned out to be more effort than expected ;)05:10
ddaaspiv: you've got my token05:13
Kinnisonsabdfl: Is it okay for now for me to assume priority is limited to required,standard,important,optional,extra ?05:13
Kinnisonsabdfl: or would you prefer a table for them?05:13
sabdflKinnison: put them in dbschema with values of 10, 20, 30... etc with required being the highest please05:14
Kinnisonsabdfl: Sure05:14
sabdflwe can remap them to a table if derivatives really want this05:14
=== Kinnison nods
sabdflbut I suspect the toolset has this hardcoded in a lot of places05:15
KinnisonIt's certainly plausible that it may05:15
ddaaspiv: what's the revision of your version you have a problem with?05:16
spivddaa: Whatever the latest revision of andrew.bennetts@canonical.com/launchpad--devel--0 is :)05:17
=== spiv checks that he's fully mirrored
ddaai have patch-19705:17
spivIt seeems patch-198 needs mirroring.05:18
spiv(it's taking a long time for some reason..)05:18
ddaano problem merging that with rocketfuel's patch-581. It just appears massively out of date. It does a honest-to-god cross-version apply-delta, in effect making the tree identical to rocketfuel.05:19
ddaaha, something new in the pipe....05:19
=== lifeless_ [~robertc@dsl-] has joined #launchpad
spivddaa: mirrored.05:21
ddaaunrelated, I just found out about "get --non-sparse". A sparse revlib anh using --non-sparse for initial gets should be a good compromise between performance and disk usage.05:23
jblackddaa: Um, actually, its --sparse that minimizes disk usage.05:25
ddaaokay, i have conflicts05:25
jblack--nonsparse means "grab all of them on the way", which is definitely a drive hog. :) 05:25
ddaajblack: yes, but when you have a big version, you want the initial get to be non-sparse because you want the full revlib there for the next star-merge.05:25
elmoSteveA: should be working now05:25
ddaajblack: then, further commands can populate sparsely.05:26
jblackWhatever works best for you. :) 05:27
jblackI use greedy nonsparse libraries myself.05:27
spivjblack: troublemaker ;)05:27
jblackThen again, it takes 20 minutes for me to check the size of my revision library05:27
=== ddaa thinks about a better heuristic to guess revisions which are potential star-merge ancestors.
SteveAelmo: thanks05:27
spivBradB: SQLObject's SVN repo seems to be broken, btw.05:27
SteveAsabdfl: the "change password" facilities should work for you now05:28
jblackdvd+rw media costs too much05:28
ddaaspiv: okay I have the conflicts05:28
sabdflon the production machine?05:28
BradBspiv: Indeed.05:28
sabdflSteveA: ^?05:28
limican anybody give me the magic command to get the new SQLObject?05:28
spivddaa: Ok, can you tell if it's because I crossed the streams, or something else silly? :)05:29
spivlimi: Hmm, I thought lifeless sent a mail about that to the list a few days ago?05:29
sabdfllimi: i think you need to rm -rf the sqlobject dir in sourcecode dir05:29
limidid he? I must have missed that05:29
sabdflthen you need to make sure your config refers to the new version as per lifeless email05:29
limican someone forward it if they have it handy?05:29
limisorry to be a pain :)05:30
spivlimi: It should be rm -rf sourcecode/sqlobject; tla get rocketfuel@canonical.com/sqlobejct--test--0.6 sourcecode/sqlobject05:30
carloslimi: tla get rocketfuel@canonical.com/sqlobject--test--0.6 sqlobject05:30
limigreat, thanks05:30
sabdfl./launchpad/sourcecode/sqlobject        rocketfuel@canonical.com/sqlobject--test--0.605:30
ddaaspiv: checking05:30
sabdflthen do as carlos says :-)05:30
spivlimi: Unless you rely on the config for anything other than the initial setup.05:30
liminot to my knowledge05:30
carlosspiv's command is better 05:30
spivFrom what you said eariler, it doesn't sound like you do :)05:30
spivlimi: Beware the typo in my spelling of sqlobject in that command, btw ;)05:31
spivcarlos: Shouldn't you be holidaying, or something? :)05:31
carlosspiv: yes, something like that :-P05:32
limispiv: yes, noticed ;)05:32
ddaaspiv: does not look like a cross merge...05:37
SteveAsabdfl: yes, on the ubuntulinux website, that is, the plone server and the "forgotten password" application part of launchpad running on macquarie05:38
spivddaa: Interesting.  But merging from my patch-197 worked... but patch-198 didn't touch the conflicting files.05:38
sabdflSteveA: cool, thanks05:39
ddaaspiv: trying to figure out what is the cause of the duplicate ids, looks very fishy.05:39
spivddaa: Indeed!05:39
spivddaa: Although not all the conflicts were due to that?05:40
spivddaa: All the files that conflicted were touched by Kinnison, from what I can see.05:40
ddaamaybe it's still a cross-merge, I always have a hard time figuring it out.05:42
Kinnisonkiko: ping?05:44
=== justdave_ is now known as justdave
=== debonzi goes for lunch
ddaaspiv's patch-198 merged with rocketfuel's 55905:46
ddaaand rocketfuel's patch-160 merged with spiv's patch-19705:47
ddaaCross merge...05:48
ddaaI'll 05:48
ddaafix it and send you a changeset05:48
spivI guess I must have been careless then :/05:48
spivWell, I'm happy to just retag.05:48
spivIf that's sufficient and simpler.05:49
limiok, dinner time here - back later05:49
ddaaspiv: okay. Does this technique has been validated by lifeless? I'm concerned that it might interact poorly with 05:50
ddaathe broken log-for-merge behaviour.05:50
ddaaIt's really exasperating to see the amount of brokeness we have to work around...05:51
BradBsabdfl: Just curious (now that I'm editing something for which this issue comes up): why do you not want to expose id in the schema, given that there are times when we need to access the id of an SQLObject?05:52
spivddaa: I'm happy to do whatever you tell me is safest :)05:52
ddaaMh... methink it should work okay.05:52
spivddaa: you don't sound certain :)05:53
spivJust send me the changeset ;)05:53
ddaaI remember that the log-for-merge issue was caused by the removal of a patchlog. That should not happen with tag because the revision you are skipping was never added to rocketfuel.05:54
ddaaNah. Tag from rocketfuel.05:54
spivOk, I'll do that.05:55
sabdflBradB: just prefer to keep things like that out of UI, and if its in the schema it usually shows up in UI somewhere05:55
spivThanks for the diagnosis.05:55
sabdflsometimes its necessary but we avoid it as much as possible with name's05:55
ddaastar-merge really ought to provide sensible diagnosis for those cases.05:55
=== spiv nods :)
ddaaBut somehow it seemed we did not manage to get the idea through to tom :-(05:56
spivOh :(05:56
ddaaabentley purportedly implemented that diagnosis in his "improved" merge operator in fai.05:57
BradBsabdfl: Okay, well, I'm thinking I need to have it in there for things like IBugPackageInfestation, because I need to get at ID's when I'm building the little table with edit links to each i9n05:57
ddaahct definitely ought to do it too.05:57
=== ddaa thinks about cca, canonical community arch....
sabdflBradB: understood. highlevel design goal we can defer and come back to once we have our head wrapped around the basics05:58
spivddaa: I guess tagging will solve my cacherev issue ;)05:58
spivSo it's not all bad ;)05:58
ddaaspiv: right, that's another good side effect.05:58
ddaaActually, methink tagging could be subsituted for star-merging in several cases and might lead to less pain.05:59
ddaaOnly problem: tag patchlogs list all patchlogs present in the tagged revision.06:00
ddaaWhich are a few thousands in rocketfuel...06:00
ddaacould very well end up being a disk hog.06:00
=== ddaa retracts the "systematic tagging" idea
spivddaa: Oh, while I've got your token..06:01
spivddaa: Our pqm submit script sends a message saying 'star-merge "$(tla tree-version)" "$(cat {arch}/+upstream)"'06:01
=== ddaa has a custom script here he's been supposed to clean up and merge for months.
spivWould it be a better idea to at the revision on to that?06:02
spivTo catch e.g. trying to merge unmirrored commits.06:02
ddaaActually my custom scripts does the mirroring.06:03
ddaabut you have a very good point.06:03
spivAlso, would this help the cross-merge problem? :)06:03
ddaaThat would not help cross-merge.06:03
spivDrat.  :)06:03
spivI doubted that it would (it'd be just too easy), but I thought I'd ask ;)06:04
ddaaThe cross-merge problem is caused (among other things) by the finite speed of the light...06:04
spivSo, the right way to spell that is :)06:04
spivGah, weird lag issues.06:04
=== ddaa only sees a box with some tiny numbers
spivSo, adding "--$(tla logs | tail -1)" would do the right thing?06:05
ddaaspiv: generally we do $(tla logs --reverse | head -n 1)06:06
spivHeh.  Fair enough.06:06
ddaamight me a bit faster...06:06
ddaayou could just do: star-merge "$(tla logs --full --reverse | head -n 1)" "$(cat {arch}/+upstream)"06:07
ddaaprobably you should request confirmation from lifeless before merging such a change into rocketfuel.06:08
ddaaThe pqm toolset is a very critical infrastructure, I do not see how that could cause a problem (I got his blessing for sending a full revision name as an option) but if I were him I would be quite anal with that.06:09
spivSure :)06:09
ddaaI hope you do not get tired by my bouncing you around to other team members :-)06:10
spivNot at all :)06:10
=== ddaa takes his token back
SteveAelmo: where can I read about the ssh configuration to connect to other machines via chinstrap ?06:17
=== kiko is now known as kiko-fud
spivSteveA: It's on teh wiki somewehre, iirc...06:17
SteveAI've just been looking...06:18
elmoHost chinstrap.warthogs.hbd.com06:18
elmo     ProxyCommand none06:18
elmoHost *.warthogs.hbd.com06:18
elmo     ProxyCommand ssh YOURUSERNAME@chinstrap.warthogs.hbd.com nc -q0 %h %p06:18
elmoin ~/.ssh/config and fix YOURUSERNAME06:18
elmoit may not be on the wiki - it's in the ml archives - someone could fix the wiki if they want - it's (low down) on my TODO list06:18
=== SteveA adds to wiki
BradBThought of the day: why bother saying "no class registered for SourcePackageRelease", when you can simply say "AttributeError: 'BugPackageInfestation' object has no attribute '_SO_class_SourcePackageRelease'"?06:49
=== BradB facepalms
KinnisonBradB: Feel free to add classes for all those tables06:55
=== Kinnison will be very grateful :-)
BradBI have to :)06:56
=== Kinnison stands a chance of a full gina import including librarian files and section/priority in publishing records tonight
=== Kinnison has a few more tweaks to make :-(
=== BradB is now known as BradB|lunch
sabdflKinnison: schweet07:07
[mako(mako@micha.hampshire.edu)] help07:09
[mako(mako@micha.hampshire.edu)] hello07:09
[mako(mako@micha.hampshire.edu)] log07:09
[mako(mako@micha.hampshire.edu)] #ubuntu-meeting07:09
Kinnisonsabdfl: Aye. I'm currently doing a main-only import to get the final feel of what I need to tweak.07:10
Kinnisonsabdfl: I'm *slowly* getting the hang of all this07:10
sabdflhas potential07:10
Kinnisonsqlobject, the dbschema stuff etc.07:10
KinnisonIt's very interesting stuff.07:11
=== Kinnison is currently pondering the Transaction class while waiting for gina
KinnisonIt doesn't have an externally callable method to relinquish a connection to the db which breaks pooling connections07:11
KinnisonAt the moment I have a hack in to call txn._makeObsolete() -- personally I'd be happy to docstring the method and remove the underscore; but I need to talk to someone who knows the code better07:12
spivHmm, where is this?07:13
=== spiv just had a thought
Kinnisonlib/sqlobject/dbconnection.py:class Transaction(object):07:14
spivKinnison: Where are you using the Transaction class?  Inside gina/07:14
spivThe version in rf doesn't seem to?07:15
spivOr perhaps I need to update.07:15
KinnisonI've not merged07:15
KinnisonIt's all local until I work out the nicest way of doing it07:15
spivGrr, lag.07:19
spiv(the DHCP server here has 30s leases!)07:20
spivKinnison: Hmm, is this on a branch I can see anywhere?07:21
Kinnisonspiv: It's in my homedir on zhongshan07:21
spivI'm quite curious about how you're doing it... 07:21
Kinnisonspiv: It's all random hacking I've been doing today to try and build it up07:21
spivI don't think I have an account there...07:21
=== Kinnison pastes into a query to spiv
spivI see.07:23
spivOk, the real problem here isn't SQLObject, I think.07:23
spivOr, perhaps not.07:23
=== spiv thinks
spivWhere's the connection pool?07:24
spivOh, ugh. SQLObject's "Connection" object is actually a ConnectionPool when you use Transaction objects.  Ick.07:25
spivStupid naming.07:25
spivBradB|lunch: When you get back from lunch, please hurt Ian for me ;)07:26
Kinnisonspiv: I'm off to listen to the radio for half an hour, I'll be back then.07:27
spivKinnison: Oh, right :)07:27
Kinnisons'hitchhikers time :-)07:28
spivEnjoy HHGTTG :)07:28
spivI think I already knew this part of sqlobject was... bizarre, but the fullness of it only just hit me.07:29
spivKinnison: What you're doing is the simplest and sanest option for now, I think.07:30
spivBut we should be able to do better at some point.07:31
SteveAspiv: what is the issue?07:37
dafSteveA: did you get the emails I sent you last night?07:45
sabdfldaf: rosetta.warthogs was barfing earlier07:47
sabdflcould you nudge it into action please?07:47
dafsabdfl: sure07:49
dafoh, right, I didn't bring it back up after the reboot07:50
dafok, it's back up now07:54
ddaafirst import running here07:55
ddaathat has cost me a lot in goats...07:55
sabdflddaa great!07:56
sabdflwhat was broken?07:56
ddaaDunno, something prevented the a52dec import here, related to cvs version detection. But it worked with aalib. Then it needed pyarch to automagically choose between classical and twisted process handling (that should have been done in buildbot07:57
ddaabut lifeless did not do it and requested that feature anyway)07:58
ddaaNow it seems to work...07:58
SteveAdaf: yes, it's great, thanks07:58
ddaaStill a lot of various mysterious breakage around...07:58
dafSteveA: any idea about the inconsistencies I was seeing?07:59
=== ddaa is out for dinner
elmoso what do we want client certed?  both the sites on rosetta and the launchpad instance on macquarie - anything else, immediately?08:11
SteveAwhat's rosetta's new name?08:12
SteveAI think only the devel server ought to require certificates, not the rosetta alpha server.  But, daf can confirm that08:13
dafit depends whether we care if people stumble upon the alpha or not08:13
SteveAdo you think all of the alpha users will be competent and willing to add a client certificate?08:14
SteveAI suppose it will stop it getting accidentally slashdotted08:15
SteveAelmo: what certificates do we have?08:15
SteveAis there one for canonical staff, and one for others ?08:15
elmoas many as we want, it's trivial to create them08:16
elmo(on a once off basis)08:16
elmoI'm certainly planning on having at least a 'launchpad' and a 'warthogs' one08:16
elmoif you want more granularity than that, go for it, just let me know what you want to do08:16
SteveAif daf wants one for the rosetta alpha, then we want a "launchpad testers" one too08:17
=== BradB|lunch is now known as BradB
BradBspiv: Sounds nasty. I hope to make things better once Malone's out the door.08:23
=== BradB gets back to writing SourcePackageRelease
=== debonzi [~debonzi@] has joined #launchpad
BradBWhat's a "format" of a source package release? (I'm wanting to describe srcpackageformat in a schema). I'm assuming it's things like "bzipped tarball" or "gzipped tarball".08:36
KinnisonBugger knows; that's not something I've worked out yet08:36
Kinnisongina only ever puts '1' in that column08:37
sabdflSteveA: resetting password...08:40
sabdflA system error occurred08:40
sabdflit might be that my mark@hbd.com account details are in an unusual state because they were created some time ago08:40
sabdflBradB: deb vs rpm08:40
sabdflit should be documented in dbschema.py08:41
spivBradB: dbschema has a SourcePackageFormat08:41
sabdflBradB: is there not a SoyuzSourcePackageRelease that should be ported, rather than a new implementation?08:41
sabdfli've been trying to port Soyuz classes (probably breaking Soyuz horribly - bring on the page tests :-)08:42
SteveAsabdfl: what is the exact URL you are using to try to reset your password?08:42
sabdfldude, it's on my windows PC you want me to type the hash?08:43
sabdflwill mail it to ya :-)08:43
SteveAalthough, I'm more interested in the first part08:43
sabdflon the wire08:43
SteveAI'm sure at thawte you regularly typed in whole certificates ;-)08:44
sabdfldon't freakin joke :-)08:48
BradBsabdfl: Not that I saw.08:48
BradBI'll check again.08:48
BradBI would have though deb vs. rpm is something that a sourcepackage is aware of, rather that all the individual releases.08:48
sabdflmark@slinky ~/projects/ubuntu/launchpad/lib $ grep -ir "class.*sourcepackagerelease" *08:49
sabdflcanonical/launchpad/ikiko.py:class ISourcePackageRelease(Interface):08:49
sabdflcanonical/launchpad/scripts/gina/classes.py:class SourcePackageRelease(AbstractPackageRelease):08:49
sabdflcanonical/launchpad/scripts/gina/grabber.py:from classes import SourcePackageRelease, BinaryPackageRelease08:49
sabdflcanonical/launchpad/database/package.py:class SoyuzSourcePackageRelease(SQLBase):08:49
sabdflcanonical/sourcerer/soyuz/__init__.py:class SourcePackageRelease(ManifestRecordObject):08:49
sabdflcanonical/sourcerer/soyuzwrapper.py:class SourcePackageRelease(object):08:49
sabdflcanonical/soyuz/sql.zcml:  <content class="canonical.soyuz.sql.SoyuzSourcePackageRelease">08:49
BradBargh, I was grepping for "class ..."08:49
BradBno Soyuz08:50
sabdflI.... think there's a little inheritance crack there, haven't looked to see if it's gooooood stuf08:50
sabdflthere are a ton of them08:50
BradBOnly one's an SQLObject though.08:50
BradBI found the non-SQLObject one's already08:50
=== BradB does the SoyuzSourcePackageRelease renaming
dafspiv: the authserver (a) seems to have failing unit tests and (b) seems to be accessing the database inside the unit tests08:52
=== spiv looks
spivOk, I didn't break that test ;)08:54
spivI'm open to ideas on how to better segregate the database-dependent tests without nasty contortions.08:55
elmoSteveA: am I okay to put this on the rosetta devel server now then?08:56
spivdaf: just to confirm, you're only seeing one failing test (test_createUserUnicode)?08:57
dafonly one from authserver, I think, yes08:57
spivOk, good :)08:58
dafoh, also: "Failed doctest test for canonical.database.sqlbase.quote"08:58
BradBsabdfl: So does it make sense that an spr knows it's spf? Shouldn't it be the sp that knows that?09:03
sabdflbradb: good point09:04
sabdflyes, i think that's a winner09:04
sabdflthinko from me on the db model09:04
sabdflcould you move it please?09:05
sabdflalso, mail celso, he'll need to update some code in soyuz09:05
sabdflthough i doubt anything depends on that09:05
=== kiko-fud is now known as kiko
=== kiko is now known as kiko-afk
BradBSteveA, daf: What was still needed before you guys could document on the wiki the process by which we create functional doctests?09:45
dafBradB: I've written a document09:46
dafBradB: Steve wants to make some changes before I send it to the list09:46
dafI don't know what these changes are09:46
dafyou could look in lib/canonical/ftests/{test_pages.py,page-tests/}09:51
SteveABradB: I'll be checking in the first proper ones shortly09:51
SteveABradB: if you want to do some ad-hoc ones while I'm doing these, ask daf for a quick hint on using the script.  You can move yours into the new location after I've send those instructions.09:53
dafBradB: the procedure is basically this:09:53
daf./utilities/page-test-helper > lib/canonical/ftests/page-tests/blah-blah-blah.txt09:54
dafgo to http://localhost:9000/some/page09:54
daf$EDITOR lib/canonical/ftests/test_pages.py09:54
SteveAdaf: I'm confused as to how ftesting.zcml runs at all :-/10:48
SteveAdaf: It is going to take me a bit longer to look into this.  I'll be checking in the full pagetests stuff tomorrow, not tonight.  If you want to start writing some page tests, do it the way you've been doing it, and I'll move them to the new system tomorrow.10:49
SteveAsame goes for you, BradB10:49
BradBer, ok10:50
dafSteveA: ok10:54
dafSteveA: I think I can get by without them for another day10:54
dafSteveA: string.encode('ascii', 'replace') seems to allow non-ASCII characters through, which is unexpected10:55
spivdaf: That's what 'replace' means.10:56
spivPerhaps you mean 'strict'?10:57
spiv(the docs aren't particuarly clear, admittedly)10:58
dafok, I wasn't sure about the behaviour of 'replace' when it doesn't have a replacement10:58
dafyes, the docs could be better10:58
spivActually, file:///usr/share/doc/python2.3/html/lib/string-methods.html is the right docs to read here :)10:58
dafright, I found that one10:58
dafwhich wasn't easy :)10:58
spivAlthough the precise meaning of 'replace' isn't clear unless you read the other doc, too...10:59
spiv...and in fact, it wrongly claims 'strict', 'replace' and 'ignore' are the only possible values...10:59
spiv...when xmlcharrefreplace is also valid.11:00
lifeless_spiv: yoyoyo11:00
spivlifeless_: Yo.11:01
spivHmm, you're an hour earlier than I expected. :)11:01
spivMaybe my arithmetic was wrong.11:01
dafspiv: you are clearly the man to update the docs :)11:02
=== lifeless_ is now known as lifeless
=== ..[topic/#launchpad:daf] : lunchpad: home of the sandwich artists | fogo na bomba | "qorking along happily"
spivlifeless: I take it the importd wants to be able to have multiple db transactions open at once?11:03
spivdaf: I'll add a note about it to my todo list... :)11:03
lifelessspiv: erm, shouldn't11:03
spivlifeless: Oh, really?  That'll make my life easier :)11:04
dafspiv: :)11:05
spivdaf: I've added it, but I'm afraid it's at the bottom :)11:06
dafspiv: and it's reaaally long, right? :)11:06
spivdaf: Not yet, but growing ;)11:07
lifelessspiv: there are 3 sets of transactions.11:07
spivlifeless: Oh, sorry, I'm getting myself confused for no good reason :)11:07
ddaa(23:06:37) ddaa: lifeless: I see that... a bit wary of that... there are a modules called library, log, patch, there... quite common names...11:07
lifelessddaa: yeah, its a todo to tidy up how we get at that code, I didn't want cscvs to specify anything in the canonical namespace.11:08
lifelessas cscvs is -> public soon.11:08
ddaaI'm all with you on that.11:08
lifelessand, it works, so yeah, just add it dude ;)11:09
spivlifeless: I'm rather concerned that taxi appears to want to call canonical.arch.database.nuke()!11:09
=== ddaa drops some holy water on his kbd and ask forgiveness
lifelessspiv: comment that out.11:09
lifelessspiv: it is a test only method, no need for you to fix/replace/be concerned.11:10
spivlifeless: Ok.  *sidelong glance*11:10
=== lifeless grins a huge shit eating grin
spivA comment reassuring me that it's test only would be appreciated.11:10
spivBut anyway :)11:10
ddaaComment to note that this should be removed because it's too dangerous even as a comment?11:11
lifelessyou know, I was going to do that, then I go the merge regression-check-failure, so I didn't.11:11
lifelessjust nuke it if you like as you go.11:11
lifelessnuke the call I mean.11:11
spivRight :)11:11
spivSo, taxi is a module that's called in a single-threaded process?11:12
lifelessspiv: nope11:12
=== ddaa remembers to merge the pyarch hack that's the magic to let buildbot work.
lifelesstaxi is called from a thread of buildbot.11:12
spivlifeless: Drat.11:12
lifelesspossibly concurrently.11:12
spivOk :)11:12
lifeless'm sure there are concurrency bug in there. overhauling that code is on my 'as soon as possible' short-list.11:13
lifelesswhich is distinguished from my long list in some unfathomable manner.11:13
spivOk, I think I know what to do now.11:14
lifelessddaa: what hack are you looking for ?11:14
ddaaNot looking for, providing.11:14
spivThe threadedness make me suspectc that this code was horribly broken before, though :)11:14
lifelessddaa: all the same, 'what one'11:14
ddaaAutomagic choice of spawning strategy.11:14
spivBecause our zopeless sqlobject support hasn't had any support for that.  Ill add it now, because you obviously need it :)11:15
lifelessright, you want to check if there is a twisted module already imported, and if there is, do11:16
lifeless        import arch._tla11:16
lifeless        import arch._twisted11:16
lifeless        arch._tla.spawn = arch._twisted.TwistedSpawningStrategy('tla')11:16
ddaalifeless: that's something much more manly I did.11:17
lifelessspiv: eek. eek. eek. 11:21
spivlifeless: quite.11:22
=== lifeless whispers ok
=== cprov [~cprov@] has joined #launchpad
lifelesselmo: so, am I lucky yet?11:32
lifelessddaa: am I right in saying that _package_revision_param should awlays return a value?11:36
lifelessheheheh then look at the second half of it11:36
lifelessspot the pyarch bug11:36
=== ddaa whines
lifelessreturn p.fullname ?11:37
ddaareturn pkg_rev11:38
ddaacompare with _version_revision_param11:38
sabdflincoming pqm message makes productseries core complete (create, view, edit)11:40
lifelessspiv: ok, those buildbot tweaks are on the wire now that bug is fixed (it was always there, tla improvements just showed it up)11:44
lifeless I'm gonna get some breakfast, if you've no immediate queries for me?11:45
ddaaincoming pqm message brings manly pyarch spawning strategy that makes buildbot happy.11:45
lifelessddaa: YAY!11:45
=== lifeless dances for joy on the way to the kitchen
=== ddaa sticks out tongue to sabdfl
spivlifeless: enjoy your breakfast :)11:47

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