[12:01] maybe we'll just new a few maintainers (and more of you, of course) to test it offline and then just take the leap at some point in the next few weeks [12:01] s/new a/need a/ [12:02] another possibility would be to have pitti use it for tracking security issues only [12:02] security is the toughest test case for a bug tracker :-) [12:02] cool [12:03] that has the advantage of being a relatively discrete set of bugs [12:04] workrave, back in 10 if you still need me [12:04] ok, thanks for your feedback [12:06] BradB, is it possible to have a debug port in launchpad.ubuntu.com? [12:08] elmo: ^ ? (debug is on 9021) [12:08] is it now? [12:09] kiko_bz: yeah [12:09] ah, neat. [12:09] it won't work though unless elmo does something to the apache config [12:09] BradB, sure? I can't connect in port 9021 [12:10] debonzi: yep it's listening. the firewall'll block you, of course, but it's listening :) [12:10] screaming on deaf ears [12:10] is elmo the responsable for that? [12:11] debonzi: yep [12:11] elmo, ? [12:13] BradB, cprov has an updated gina run for your schema version I believe [12:14] I don't know how you would go about using it though, given you've already got some data in your DB [12:14] kiko_bz: sounds like a problem for the stud [12:16] in any case [12:16] one thing we *could* do is start a run on *your* database if you like. [12:16] it will take 2h. [12:16] i gotta go play the role of gigalo now [12:16] (just for main) [12:16] hm [12:16] he ran it on soyuz_dogfood [12:17] kiko_bz: will running it on launchpad_dogfood blow any data way? i wouldn't expect so. if not, go ahead, i'd say. [12:18] i gotta go out for a while. === BradB is now known as BradB|out [12:18] it probably won't, but I don't know if it will run :) [12:18] BradB|out: heeh it's your last chance to say "please NO" ... [12:19] cprov, what do you think :) [12:19] cprov, make a dump of the current launchpad_dogfood DB in case it goes wrong. [12:19] FOGO NA BOMBA !! [12:19] you can actually dump your DB with inserts only [12:19] heheh [12:19] which would avoid having to re-run gina [12:19] I don't know if that would blow up because of uniqueness constraints though [12:19] may be simpler to just kick gina again [12:19] if you think you might blow away data, just make sure you have a quick way of unblowing it away [12:20] if you need more input from me though, it'll have to wait, i gotta head out nowish [12:20] just dumping the current launcpad_dogfood should avoid future problems [12:22] the only problem is Librarian dependencies ( Kinnison WANTED), once I'm running w/ librarian there is no way to insert its fields latter, so we will need to purge the DB and rerun gina+librarian [12:22] ok, am back, will catch up on scrollback [12:23] shame === salgado [~salgado@200-206-134-238.async.com.br] has joined #launchpad [12:24] sabdfl, meet salgado; he's working with us initially on setting up some agreeable sampledata for soyuz [12:25] hey salgado, welcome aboard [12:25] hello sabdfl [12:25] the current size we've paired it down to is 1.4MB bzipped [12:25] I suspect that's still too big [12:25] how many packages would that include? [12:26] salgado? [12:26] we don't need many [12:26] just four or so packages with four releases of each [12:26] heh [12:26] 121 sourcepackages [12:26] how many releases? [12:27] 303 binarypackages [12:27] where is all that size coming from, damn it? people? [12:27] 50 people [12:27] it's a reasonable sample actually [12:27] salgado, from a visual review of the dumpfile, what's taking up most of the space? [12:28] I haven't take a look at it yet. I'll do it now [12:30] 660K from bziped gpgkeys [12:31] salgado, can you kick all but 50 of those gpgkeys spacewards? I don't care for them, and I suspect sabdfl doesn't either. [12:31] project/product descriptions should be blamed too [12:32] blame cprov, he got the data for us ;) [12:33] kiko_bz: there's 20 gpgkeys [12:34] salgado: have you sliced the packages.gz files ? === kiko_bz is now known as kiko [12:35] salgado: or are following another approach ? [12:35] cprov: I used cascade=True on all ForeignKeys() and then I deleted all but the first 50 Persons [12:36] salgado: so, you worked just on DB not in the code itself, fine [12:42] kiko: next step ? store the new dump in a public place ? or turn it our new-sampledata for lp ? [12:42] I would really like to put this up as the new sample data [12:42] but it needs to be a bit smaller [12:42] I think ~800K uncompressed is the limit of what's acceptable [12:58] stub: up early? are bug attachments up and running? [12:58] kiko: then cut it a bit more, let's say 20 persons [12:58] yes [12:58] salgado, how does that sound? [12:58] for 800k uncompressed I think 10 persons is enough [12:58] shoot then === doko [doko@dsl-084-057-020-211.arcor-ip.net] has joined #launchpad [01:12] Merge to rocketfuel@canonical.com/launchpad--devel--0: template fix to avoid traceback when SourcePackage.distro is NULL. (patch-707) [01:16] debonzi rocks [01:23] Merge to thelove@canonical.com/dists--tla--1.3: seal the branch, not used now the name has been chosen (version-0) [01:24] i think malone is a lot slicker than most bug trackers already, from an end-user point of view [01:24] i want an issue tracker so that as many of the "doh" things as possible are handled by non-developer community members [01:24] but i'm not going to hide malone [01:24] just led users to the issue tracker first [01:24] Merge to thelove@canonical.com/tla-debian--debian--1.0: seal the branch, not used now the name has been chosen (version-0) [01:25] Merge to thelove@canonical.com/tla--devo--1.3: seal the branch, not used now the name has been chosen (version-0) [01:25] Merge to thelove@canonical.com/docs-tla--devo--1.3: seal the branch, not used now the name has been chosen (version-0) [01:25] the ui weirdness was debated between limi and i [01:26] we decided to try it, we can pull it if it's too weird [01:26] this is the bit where the headline assignment is a rownavigation style table [01:26] with links in it, on the package/product and assignee [01:26] and the links take you to different pages than clicking elsewhere on the row [01:26] it's a handy shortcut if you know what you're doing [01:26] but might be too clever for new users [01:44] kiko: 10 persons, 36 products, 13 sourcepackagereleases: 900K uncompressed [01:45] salgado, looks good; let me check it out [01:45] sabdfl, is 900K closer to acceptable? it triplicates the current data. [01:48] fogo na bomba indeed :-) [01:48] let's see [02:00] kiko! you got your name back! [02:09] night guys [02:09] night [02:09] night sabdfl [02:09] hey sync-man! [02:10] lifeless: we vending our branches yet? [02:10] not quite. taxi had a quirk beyond what spiv fixed. [02:10] on my plate for today - I've done the bootstrap heavy lifting for baz now. [02:11] you get roll a deb of baz to play with anytime now :) [02:11] i saw thelove commits sealing off tla [02:11] gotta love thelove [02:11] i crack myself up [02:12] aren't you guys glad we don't work in the same office every day :-) [02:12] night [02:12] hehehe [02:12] night [02:20] heh === stub yawns [03:44] Merge to rocketfuel@canonical.com/arch-pqm--main--0: dont fail pqm if a PQMException is raised (patch-12) [03:55] Merge to thelove@canonical.com/bazaar--devo--1.0: * added directories (patch-3) === doko [doko@dsl-084-057-106-014.arcor-ip.net] has joined #launchpad === kiko_ [~kiko@200-206-134-238.async.com.br] has joined #launchpad === kiko_ [~kiko@200-206-134-238.async.com.br] has joined #launchpad === BradB|out is now known as BradB|zzz [07:20] Merge to thelove@canonical.com/bazaar--devo--1.0: Re-adding the massively pruned patch logs (patch-4) [09:02] Merge to thelove@canonical.com/bazaar--devo--1.0: Nudge the tla help command to the left (Jivera) (patch-5) [09:51] Merge to thelove@canonical.com/bazaar--devo--1.0: Unsigned checking for Asuffield (Jivera) (patch-6) [09:55] Merge to thelove@canonical.com/bazaar--devo--1.0: I believe the update test is finally working (patch-7) [10:01] Merge to thelove@canonical.com/bazaar--devo--1.0: Adding grab file description to help (patch-8) [10:05] Merge to thelove@canonical.com/bazaar--devo--1.0: Fixing grab so that it registeres the remote archive properly (patch-9) === lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad [10:20] Merge to thelove@canonical.com/bazaar--devo--1.0: Various small things, mostly input validations (Abentley) (patch-10) [10:40] Merge to thelove@canonical.com/bazaar--devo--1.0: Selective undo (Monoses) (patch-11) [10:45] Merge to thelove@canonical.com/bazaar--devo--1.0: Path fix for cmd-file-find (patch-12) [11:01] Merge to thelove@canonical.com/bazaar--devo--1.0: Add missing patchlogs from before (patch-13) [11:06] Merge to thelove@canonical.com/bazaar--devo--1.0: Fix for get-changeset and testcase for same (Bentley) (patch-14) [11:13] Merge to thelove@canonical.com/bazaar--devo--1.0: Make tests more solaris friendly (patch-15) [11:19] Merge to thelove@canonical.com/bazaar--devo--1.0: Fixing id for test-get-changeset (patch-16) === ddaa [~ddaa@nemesis.xlii.org] has joined #launchpad [11:50] lifeless: is there a generic command to show the diffs of the last commit? [11:52] Maybe something like "tla get-changeset $(tla logs -r | head -1) ,,last-changeset && find ,,last-changeset/patches -type f | xargs cat" [11:52] stub: what do the new reltriggers do? [11:53] There may be a saner way to do that :) [11:53] spiv_: yowser [11:53] New reltriggers? [11:53] stub: from this morning's refuel: [11:54] @@ -676,6 +679,7 @@ [11:54] UPDATE pg_catalog.pg_class SET reltriggers = 0 WHERE oid = 'sourcepackagerelease'::pg_catalog.regclass; [11:54] to current.sql [11:54] ah, not new [11:54] nonetheless? [11:55] I think that is the code pg_dump puts in there to turn of relational integrity constraints and triggers [11:56] Which needs to be done now, as our sample data has grown in complexity [11:57] sabdfl: This is probably a little saner: "tla delta --diffs $(tla logs | tail -2)" [12:00] sabdfl: You should be able to use archzoom if someone fixes the gpg signing rules for the account it runs as. [12:00] ok [12:02] spiv_: that did the trick nicely, thanks === carlos [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #launchpad [12:04] morning [12:05] hey carlos [12:05] sabdfl: hi [12:06] yo [12:39] sabdfl: could you look at my mail about the statistics and fuzzy flag from yesterday at launchpad mailing list? [12:39] carlos: ok [12:39] sabdfl: thanks === Kinnison attempts to make a short list of everything gina needs to do. I've been reading through the source to familiarise myself with it. [01:32] sabdfl: https://chinstrap.warthogs.hbd.com/~dsilvers/gina.txt === Kinnison thinks that is all we need for dogfooding; the last one probably isn't needed [01:33] Kinnison: only the first one is critical [01:33] single suite, sinlge arch would be fine [01:33] use hoary [01:33] it's getting uploads [01:33] single suite single arch still needs the overrides and removals stuff [01:33] otherwise our copy of hoary won't get cleaned up [01:34] right [01:34] can't just drop the publishing table each run? [01:34] I guess I could do it that way if you'd prefer [01:34] That'll get us up and running faster I guess [01:34] I'll do that === Kinnison fiddles a bit [01:35] how about now? [01:36] rock [01:36] Cool [01:36] Okay; that's what I'm aiming for with gina === Kinnison is going to go and find some lunch (I forfeited breakfast in favour of reading code) [01:37] Then I'll start [01:37] Could I ask you; as a side-line; to look at the database/publishing.py and related files and suggest a split which would be sane? I've not got the hang of predicting these things yet :-) === Kinnison -> lunch [01:45] trying to use str.translate on a unicode string gives an error. [01:46] Can somebody point me at the right thing to use? That may save me some doc-searching time. === lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad === ddaa finds a hack appropriate for the situation [01:57] ddaa: use unicode.translate instead? [01:57] Ha... not quite I was doing... [01:57] Instead I was simply encoding the input to utf8. [01:58] context: I'm writing a job name munging tool to work around the broken shell quoting in cscvs. [01:59] The error was: exceptions.TypeError: character mapping must return integer, None or unicode [02:02] Ho... apparently it's already using unicode.translate since the output is unicode... the trick seems to be it accepts a unicode string as translation table and I gave a plain string... [02:02] stub: thanks [02:07] duh... now that I handle the unicode string okay, it's twistd which complains because it gets a unicode instead of a str... [02:07] unicodeobject.encode('utf-8') -> str object [02:07] str.decode('utf-8') -> unicode object [02:07] approx [02:07] bad twisted! [02:08] Kinnison: ha, simpler than "import codecs; codecs.getencoder('utf8')(text)" [02:08] ddaa: aye === Kinnison uses thingstr = footable.barcolumn.encode('utf-8') all over the place in his db code [02:08] After all, I'm going utf8ize it, then... [02:11] Okay... that works. [02:12] I mean, I'm hitting another bug, but that part works... === cprov [~cprov@200.158.100.251] has joined #launchpad [02:40] sabdfl: Section and Component don't have owner columns -- are they officially shared among all the distributions then? [02:41] Kinnison: yes [02:41] sabdfl: Cool; any complaints if I propose making them unique then? [02:41] ah. very good thinking [02:42] hmm; someone appears to have beaten me to it [02:42] I really must get gina importing into the new db so I stop asking these things :-) === Kinnison ponders some more sleep in the meantime :-) [02:45] Kinnison: hi, can we get Librarian running on mawson ? [02:45] cprov: I started one yesterday I'm sure === Kinnison looks [02:45] lifeless: you are probably asleep, but I straced a hang at "launched local CVS server" [02:46] dsilvers@rosetta:~ $ ps ax | grep libra [02:46] 6976 ? S 0:00 /bin/sh ./run-librarian.sh [02:46] 6977 ? S 0:00 /usr/bin/python2.3 /usr/bin/twistd -noy /srv/launchpad.ubuntu.com/launchpad-dogfood/lib/canonical/librarian/server.tac [02:46] lifeless: one of the threads hangs on select, the other hangs on futex. [02:46] ddaa: mail it to me ? [02:46] Aye. [02:46] Btw, I'm in process of trying to test taxi.py... [02:46] thank you [02:47] I was going to do that today, ended up bazzing all day [02:47] But roadblocks keep popping up... [02:48] I have a "munge job names" hack ready. I want to test it over the whole process before merging. [02:48] lifeless: the robertcollins.net mail is still okay? [02:48] Kinnison: I had already ran gina successfully on mawson, but it is unusefull w/o Librarian, I think [02:48] ddaa: yes [02:48] cprov: librarian is running [02:49] cprov: the uploadfactory is on port 9090 [02:49] cprov: if I star-merge will I get your gina changes to make her run on mawson? [02:50] Kinnison: fine, btw, I'm working on CURRENT srcpkgrelease replacement [02:50] Kinnison: just few minutes, I will request merge for PQM [02:51] cprov: cool; thanks [02:54] lifeless: debugging data sent [02:54] I'll stand by if you want additional in-vivo data. [02:54] ddaa: debug-bomb the native protocol please. [02:55] lifeless: you really should bump down the compression... [02:55] "debug-bomb"? "native protocol"? [02:55] modules/CVS/__init__.py [02:56] start with hasProtocol() and follow your nose [02:56] there is a cvs client implementation [02:56] okay, got the native part... [02:56] if its hung there, then its reading from an empty pipe. [02:56] you want me to spill printlines all over the place, right? [02:56] killing the cvs server should resume the process. [02:56] There is no cvs process. [02:57] "pgrep cvs" gives nothing. [02:57] self.logger().debug statements go to the log, and are useful. [02:57] no cvs process - then what is the select selecting on ? [02:57] you tell me... [02:57] what fd ? [02:58] select(6, [0 5] , [] , [] , NULL [02:58] in the strace, what was opened on that fd most recently ? === ddaa checks if strace has a --time-travel option [03:04] sorry boss, the strace folks do not yet support tracing system calls before the process is attached. [03:05] I suspect this feature is not on top of their todo... [03:13] lol [03:15] speculation: spawning cvs has failed for some reason only known to cvs. The twisted stuff has a intercepted the sighup. The thread is blocking trying to read on a pipe for a dead process. [03:16] or something equally crackful... [03:17] ddaa: no, the spawn succeeded [03:17] 2004/10/28 14:15 CEST [Broker,client] WARNING:root:launched [03:17] local CVS server [03:17] for :local:/home/david/canonical/launchpad/botmaster/slave/buildbot-jobs/vte_HEAD_import.job/vte@arch.ubuntu.com/vte--MAIN--0/cvs_temp_repo [03:17] 'launched' [03:17] that is logged stricly after the the pipes have been created. [03:17] sure, that does not mean cvs did not die immediately after. [03:17] sure. [03:18] it might be a lost signal [03:18] Yup. [03:18] That would be consistent with the insanity that led to arch._twisted. [03:18] so what you need to do is to run strace from before you start the job. [03:18] imho that not really working around a pyarch bug, just working are twisted's lack of tolerance. [03:19] ddaa: iynsho. === ddaa dicts [03:19] its actually a unix process model problem. [03:19] In Your Not So Humble Opinion [03:19] Merge to rocketfuel@canonical.com/launchpad--devel--0: missed clauseTables, people traversed by name, gina/nicole running on mawson (patch-708) [03:19] Well, I may be wrong. [03:20] That's speculation. [03:20] actually, it can't be a dropped signal [03:20] if the signal is recieved, the pipe is closed at the far end, read will generate SIGPIPE [03:20] teisted doesn't AFAIK install SIGPIPE handlers [03:21] ddaa: can you please try this: [03:21] whatever it does, the effect I observer are undistinguishable from that. [03:21] tla register-archive [03:21] http://bazaar.canonical.com/archives/thelove@canonical.com [03:21] ack [03:21] New bug 2150 for Launchpad/Rosetta: Fix the way we store fuzzy strings in the database schema [03:21] https://bugzilla.warthogs.hbd.com/bugzilla/show_bug.cgi?id=2150 [03:22] lifeless: whose key is used there? [03:22] pqm's [03:22] good point. [03:24] Kinnison: new gina merged on RF, please try . [03:24] lifeless: you want be to build and install baz, right? [03:24] no [03:24] just to check that that archive location is abrowse -s 'able for you [03:25] http://bazaar.canonical.com/packages/debs/ [03:25] is up and going now [03:25] cause thom is a legend [03:25] nay, a god even. [03:25] cprov: merged already? [03:25] Looks like abrowse -s is happy. [03:26] Kinnison: yep === ddaa looks on the Bazaar page for an apt-sources line [03:27] cprov: dilys hasn't mentioned it; hence my confustion [03:27] Kinnison: let's plan something for today, we have to run gina and nicole on mawson, definitly, as milestone :) [03:28] cprov: I concur [03:28] Kinnison: dilys doesn't like me :) === Kinnison is doing some gina changes now that sabdfl and I agreed upon === Kinnison workraves; brb [03:29] lifeless: any idea what the apt-sources line should look like? [03:29] lifeless: how are we looking for the automatic sync-testing on galapagos? [03:30] Kinnison: btw, do you have something ready for publishing the query for and update the last CURRENT srcpkgrelease to SUPERCCED before insert a new one, I mean, true publishing system for gina ... [03:31] ddaa: its not a repository [03:32] but I believe you can just do deb path ./ [03:32] No good. I want crack-of-the-day, not crack-of-the-last-time-I-visited-the-page. [03:33] "path" being what? [03:33] sabdfl: haven't heard from james re the account for that. code wise, I want to get the production drop onto macquarie and galapagos done tomorrow, which updates tazi [03:33] and then I'll start on the unattended-scheduling, which I'm estimating @ a couple of days [03:33] ok [03:34] vendor, default branches, done? you're running out of space between 95% and 100% :-) [03:34] no progress at all since last phone call. [03:34] cprov: sabdfl and I agreed that initially gina will just totally repopulate the publishing tables each run === kiko [~kiko@200-206-134-238.async.com.br] has joined #launchpad [03:34] been baz bootstrapping [03:35] cprov: over time; I'll write the code to do superceded etc and at that point we can add support for it into gina [03:35] cprov: for now; sabdfl and I agreed that we just wanted daily imports working :-) [03:35] cprov: see https://chinstrap.warthogs.hbd.com/~dsilvers/gina.txt for the plan :-) [03:35] Kinnison: fine [03:36] Anybody aware of a debug-enabled variant of popen2.Popen3? [03:37] cprov: what did you change in grabber.py ? [03:38] Kinnison: nothing .. I just change back some particular conf [03:38] cprov, Kinnison, it's ok for the moment if it just shows the current set as published, and all older ones are just "there" [03:39] Kinnison: which pass to use on https://chinstrap ? [03:39] in the sense that you can see old releases of a source package in the system, but not superceded info [03:39] for the moment [03:39] sabdfl: yeah; that'd be the side-effect if we blat the publishing records each time [03:39] no problem for this week [03:39] cprov: erm, wartyhoa... I think [03:40] Kinnison: sabdfl: I'm just affaid to have two or more CURRENT srcpkgrelease [03:40] ddaa: anyway, as chinstrap isn't ppc, you need to roll your own anyway :) [03:40] cprov: define 'current' if you mean in the publishing tables then that won't happen [03:40] cprov: not until we do things properly :-) [03:40] lifeless: what does ppc has to do with that??? [03:40] oh right, you have an intel desktop, my bad. [03:42] Kinnison: I do mean publishing tables, yes, gina always insert new packages as published, if I have a new release of it, it will be inserted as published too [03:42] cprov: yeah; but we're going to empty the publishing tables before the gina run [03:42] current gina gives me: [03:42] libpq.OperationalError: ERROR: insert or update on table "sourcepackagerelease" violates foreign key constraint "$4" [03:42] DETAIL: Key (component)=(3) is not present in table "label". [03:42] against the current schema [03:43] somehow the sourcepackagerelease component column has been pointed at the label table === Kinnison boggles [03:45] stub: ping? [03:45] Kinnison: are you running over a DB created by lp-sampledata ? [03:45] Kinnison: it is looking for 'restricted' component [03:45] cprov: No; just a plain 'make' in the schema dir for now [03:46] Kinnison: That dates back to the dawn of the database (database/schema/archives/launchpad-1-00-0.sql) === Kinnison wonders how this ever worked [03:46] cprov: actually; universe :-) [03:46] Kinnison: that is it ... [03:47] stub: can you please commit a fix to make that point at component(id) instead of label(id) ? [03:47] Kinnison: do you have the component entry ? wierd [03:47] It is nullable - I guess people just stick null in it. I think it must have been from an old use of the label table. I assume it is supposed to reference the component table? [03:48] stub: yes please === Kinnison will fix it in his testdb for now; but if you could commit a real fix I'd appreciate it [03:49] yup [03:49] there must have just been entries in the label table before now [03:49] what's the extra bit needed to enable the output of self.logger().debug? [03:49] lifeless: ^ [03:51] yay: libpq.OperationalError: ERROR: current transaction is aborted, commands ignored until end of transaction block [03:51] # TODO convenience for interactive debugging move somewhere importable. [03:51] # import logging [03:51] # logging.basicConfig() [03:51] # logging.getLogger().setLevel(logging.CRITICAL) [03:51] # logger=logging.getLogger('a') [03:51] # logger.setLevel(logging.DEBUG) [03:51] # logger.debug('fooooo') [03:51] Wereizdat? [03:51] thats in test_CMDS.py [03:51] when I needed to do something similar [03:52] in buildbot, if you are running the slave as normal, you can just edit buildbot_slavecommand.py [03:52] and tweak the level there. === ddaa wonders if the buildbot types ever heard of "configuration"... [03:53] ddaa: there is a todo to pass this down as part of the job. [03:53] its not intended to be per-slave. [03:56] Mh... the self.debug=0 bit i guess... [03:57] please, just change your slave level. [03:57] ... === debonzi [~debonzi@200.158.100.251] has joined #launchpad [03:58] what ... is ... a ... slave ... level ... === BradB|zzz is now known as BradB [03:58] in buildbot_slavecommand.py [03:58] look for WARNING [03:58] morning [03:59] ha... was looking at the wrong file... [03:59] Morning [03:59] was looking at buildbot/slavecommand.py... [03:59] heh. we want importd/buildbot_slavecommand.py :) === BradB puts coffee on [04:04] okay, I'll keep that around when building. That will probably prove useful. [04:04] Of course, this time the server is not... [04:04] (me stops and starts the import from scratch, just for kicks) [04:07] Okay; zhongshan has something broken with its cursors or something. disabling them helps a lit [04:07] cprov: I have a gina running now against the new schema; with my build record fixes [04:07] cprov: I'll let you know how it goes [04:08] Kinnison: you rock !! [04:08] cprov: currently running on zhongshan because I have good debug-ability there [04:08] cprov: I'll run it on mawson once I'm satisfied :-) [04:11] Kinnison: ehe zhongshan is gives a pretty better environment the mawson :) [04:12] Kinnison: starting with this crap colored prompt [04:13] lol [04:13] man I am SLEEPY today [04:13] kiko: I know what you mean === Kinnison ponders the elixir of life [04:21] yay, it failed to build. [04:26] cprov: I think it's about 10% of the way through the import [04:27] Kinnison: everything working ?? I mean Librarian and so on ... are you importing just main and restricted ? [04:29] cprov: everything working; I'm importing it all for a test [04:29] cprov: I'm about to go prodding at the build table (I have a perioding commit in gina so if she stops; she doesn't lose all her hard work) === Kinnison worries [04:30] dsilvers@petitemort:~ $ ssh snogshan [04:30] ssh: snogshan: Name or service not known [04:30] where did *that* misspelling come from? [04:31] ork [04:32] boo hiss; my build patch didn't work === Kinnison kills gina === debonzi [~debonzi@200.158.100.251] has joined #launchpad [04:39] Canonical Productions presents, a new entertainment series on your channel: "Who Killed Gina". Starring: Ubuntu, Linux, Zope, Twisted, Plone... [04:39] ...and Daniel (the wider) [04:39] ... The Sushi Place Near Mark's... [04:39] and cartman [04:39] cprov: ok, I have the .sql you gave me imported into the database, do you have it already connected with our arch repository? === ddaa raises on eyebrow === ddaa googles cartman [04:40] I mean, from the package information, how could I construct a "tla get" command? [04:40] carlos: not yet, but Kinnison is working on it [04:41] hmm, is there a bug report for that task? [04:41] lifeless: ha... I meant something else, but nm :-) [04:42] So... pyarch/baz [04:42] Kinnison: ? [04:43] whomewhat where? === Kinnison hunts for his teflon shoulderpads [04:43] Kinnison: about the soyuz <-> arch connection [04:43] Python way to look for a command in the path w/o running it? Get the exit status of sh -c 'which baz > /dev/null', or is there something more pythonic? [04:44] Kinnison: cprov said you are working on it, is there a bug report for that task so I can be notified when it's ready? [04:44] carlos: why would I be working on that? [04:44] Kinnison: cprov say that :-P [04:44] carlos: *KEYBUK* is doing arch stuff; dunno who's doing the soyuz integration :-) [04:44] cprov: stop giving me new work to do or I shall fly out to brazil and tickle you [04:44] :-P [04:47] lifeless: Do you know anything about the soyuz/arch integration? [04:47] carlos: keybuk [04:47] ok [04:48] perfect, thanks === ddaa ponders how he's going to make that fit with the current spawning strategy stuff... [04:50] Kinnison: you are welcome to see waht is waiting for you :) [04:50] s\waht\what [04:51] ? [04:55] How about adding a arch.config module which stores the spawing strategy name, the command name (and maybe other things) and a .config() [04:55] and a .configure() method in various modules. How does that sound? [04:56] ddaa: context ? [04:56] Want to make the name of the command spawned for arch operations configurable. [04:57] The current spawning strategy stuff works with an object which gives no way to modify that after the object is created. [04:57] Because spawning strategies store the command name. No good reason for that though... [04:58] I cannot be a module variable though because it would make testing problematic. [04:59] Ha yeah, the name is stored in the strategy to avoid redundant data. The command name is given only once at object creation. [05:00] An easy way is running the command-name tests at module import-time, when the strategy is created, but that sucks, because it gives no clean to customize the command name. [05:01] So, considering my recent canonical.lp experience, I'd rather move the configuration stuff in a separate, low-level module. === debonzi is now known as debonzi|lunch [05:01] There is also the fact that the command name should be configurable easily w/o having to import arch._tla [05:01] Therefore arch.config sounds good. [05:02] having the name is fine, IMO, just have multiple instances of the strategy/. [05:02] what prevents that ? [05:02] I do not parse you: "having the name is fine" [05:02] in the instance. [05:02] 'this is a spawning strategy for tla' === cprov -> lunch [05:02] Yeah exactly. [05:02] 'this is a spawning strategy for cvs' [05:03] so I don't think you need to change anything. [05:03] That's it's meant to be. [05:03] Yes. [05:03] or are you looking at how to detect baz ? [05:03] Actually, I want to decouple command name choice from spawning strategy choice. [05:04] right. [05:04] so refactoring this is easy.... [05:04] start be replacing all hardcoded 'tla' that needs to change with a call to a method [05:04] hardcode that method to return 'tla' [05:04] w00 [05:04] builds [05:04] -------- [05:04] 44 [05:05] packages [05:05] ---------- [05:05] 71 [05:05] that method can be a module level one in this case, as you don't really have an appropiate class handy. === ddaa withhold objections until he sees the end [05:05] so this is correctness preserving. === Kinnison has gina seemingly preserving the connection between the builds of binary packages :-) [05:05] lifeless: EOF [05:05] ? [05:05] step two. in that method, put your policy for determining the name. (i.e. search the path for baz, then for tla) [05:06] this adds baz support. [05:06] Yeah, that's the obvious thing to do so far... [05:06] but: knowing the name is baz won't be enough over time [05:06] you need to couple the tla version information you have with the name. === ddaa winces [05:07] lifeless: will baz have the cacherev/revlib fix? [05:07] Kinnison: eh? [05:07] lifeless: you are done? [05:07] lifeless: the one to make revlibs use cacherevs; or is that in already? [05:07] ddaa: well no, but you see where I'm going [05:07] I think [05:07] Kinnison: don't know, right now, 1am, don't care. :) [05:07] Now the pb is that 'tla' is hard coded in only one place. At the top-level of arch._tla and it reads "spawn = DelayedGuessedSpawningStrategy('tla')" [05:07] most importantly, we will be bugfixing everythng we can lay our hangs on. [05:08] lifeless: fair enough [05:08] so a question like 'will baz fix foo' - the answer is 'duh'. === Kinnison giggles [05:08] which means that going down the road you point does not make it possible to decouple spawning strategy and command name. [05:09] ddaa: well, I'm suggesting they be completely decoupled. you have a command description object, and a spawn strategy object, and one uses the other. [05:09] Except if there is a way to rebuild the command strategy with the right name w/o requiring knowledge of either. That would be the job of the arch.configure() [05:10] Yeah. I see. [05:10] Just said that way it makes sense. [05:10] ddaa: I'm fading, can't focus well enough - but arch.configure feels wrong to me - wrong enough not to ignore. [05:11] Mh... [05:11] So... it's about mutating the command description object, so the spawning object needs not know anything, right? [05:12] right [05:12] And giving a reference at some module level to access the command desc object. [05:12] you just need a new command description object instance for baz, and select that when you want it. [05:12] Hu? [05:12] i.e. arch.implemention [05:13] we're saying the same thing [05:13] That's the "select that" part which is causing me trouble. [05:13] From the start. [05:14] The spawning strategy gives no access to the command desc so far. [05:14] thats what I was stepping you through refactoring [05:14] Which I could change, but I sorta like that way because it made DelayedGuessedSpawningStrategy transparent... [05:15] it would stay transparent. this is api preserving. === ddaa rereads the refactoring steps [05:16] tell you what. this might be best shown collaboratively. I can show you on a shared screen session, or in irc pastes, after I sleep [05:16] Go bed pal. I need to sit on it for a bit. [05:24] mh... the arch._arch thing turns out it was a bad idea after all... [05:24] should be something like... arch.implementation... [05:28] oh yeah. [05:28] arch.backend would be a better name though. [05:28] http://bazaar.canonical.com/packages/src/ [05:28] Merge to thelove@canonical.com/bazaar--devo--1.0: add unit test dead chickens to libarch (patch-17) [05:28] auto updates on commit :_) [05:29] get your crack of the minute right here folk === ddaa thinks the server clock should be set to UTC... === lifeless could care less [05:30] get your debs here baby! [05:30] 16:28... have to know it's the UK tz. [05:30] dude, it so doesn't matter. [05:30] Yeah... [05:30] the http timestamp is in UTC regardless. [05:31] I'd have to annoy tom to he makes that a proper repository. [05:31] try this as an apt repo: [05:31] kewl === ddaa runs to /etc/apt/sources.list [05:31] deb http://bazaar.canonical.com/packages/debs/ ./ === ddaa sigsevs aptitude [05:33] ouchies. [05:34] maybe it's not a repo, after all. [05:34] no [05:34] I'll need to create a Packages file [05:34] ho... === ddaa forgot the "deb " prefix === ddaa goes back to brood over arch.backend in the meantime === carlos goes to the university [05:38] see you later [05:39] properties are cute... but they blow the seamlessness of modules and instances. === ddaa wants module properties [05:42] yet another reason that modules should simply be class instnaces [05:42] or better yet, instances of 'namespace', and do away with the whole module nonsense :) [05:42] sounds like smalltalk :-) [05:42] only if you get rid of the class concept too and have namespaces only please [05:42] ddaa: Just insert an instance into sys.modules directly. [05:43] ;) [05:43] Kinnison: you lisper at heart === ddaa sees the winkle and puts down the lart === lifeless shakes at kinnison [05:43] (state 'pah (lifeless)) [05:44] lost me [05:44] random broken lispish equivalent of 'lifeless: pah' [05:44] ah [05:45] pah -> lifeless [05:45] or however you'd do it in smalltalk [05:45] That sounds good so far, but implementation is something that is totally private... [05:46] A arch.backend object should not give the user access to all the crap behind. That's the reason because arch._arch is protected. The arch classes provide abstraction over the backend. [05:47] Therefore, a arch.config which does not expose the actual backend internal would be more appropriate. === ddaa has been round full-circle. [05:48] not... if I add a level of indirection :-) [05:48] ddaa: a) nothing in python is private, by definition. b) occams razor so applies here === ddaa burns a candle Dijkstra [05:49] ddaa: even then its still not private, then you are just playing namespace games to stop users getting at what they can get at anytime they want. [05:49] Sure, _protected is a convention. But conventions are operational. [05:49] tomorrow, I won't make sense till then [05:49] Merge to rocketfuel@canonical.com/launchpad--devel--0: SourcepackageRelease.component foreign key fix, index for kiko, drop decoy BugInfestation table (patch-709) [05:50] The point being the backend configuration is public, not the backend guts is private to pyarch. I can access my own private parts.... Demeter. [05:50] stub: is the 'foreign key fix' there the component fix we discussed earlier? [05:50] yup [05:50] coolie === Kinnison hugs stub [05:51] lifeless: no need for you to make sense, I'm starting to make sense myself. [05:51] cprov: gina exploded at me with a librarian error; I'm looking into it [05:51] One reason that issue is suddenly acute, is that there also the arch._tla.logger, the arch._tla.spawn which should not be there. [05:51] cprov: also; sabdfl wants us to import hoary not warty to begin with :-) [05:52] So, with the command name, than makes three. Time to clean it up. === debonzi|lunch is now known as debonzi [06:16] Kinnison: which librarian error ? [06:16] Argh; the librarian is returning an alias which isn't in the db [06:17] Kinnison: hoary really looks more interesting to for dogfood and also quite easy to do [06:17] cprov: yeah; but until I work out why the librarian is returning aliases not in the db I'm not sure what to do [06:17] Kinnison: uhm, wierd as the entire librarian behavior [06:17] Kinnison: Strange :/ [06:18] spiv_: aye; strange indeed :-( [06:18] spiv_: hi, dude ... how is it going ? [06:18] spiv_: how can I get debugging info out of the librarian? === Kinnison can currently reproduce the issue; so clues greatly appreciated [06:22] By any chance are you getting the file id, not the alias id? [06:22] Kinnison: Hmm, what sort of info do you need? [06:23] Kinnison: It's probably already dumping various messages into twistd.log. [06:24] Kinnison: If you're desperate, you can get it to open a port that you can telnet into and get a (pseudo) python prompt on the running process. [06:24] (I think Twisted SVN may support sshing for that, too ;) [06:25] stub: nup; the file id didn't come out either :-( [06:25] spiv_: I'll look in twistd.log [06:25] cprov: Pretty good. [06:26] spiv_: Hmm, no twistd.log [06:26] How did you start it? [06:26] twistd -noy ...../server.tac [06:26] also, is it connecting to the correct database? [06:26] yes; correct db [06:26] Oh, -n... so it didn't fork. In that case it logs to stdout. [06:27] right; so I'm seeing no useful logging info then [06:27] how can I turn up the verbosity? [06:27] seeing the sql would be a great boon [06:27] vim a_file.py; (insert print statements) ;) [06:27] It's using SQLObject? [06:28] Yes === spiv_ looks up the relevant flag. [06:28] turn on statement logging in postgresql [06:28] How do I do that? [06:29] And where does it log to? and can I get to that place on zhongshan? [06:29] oh - thought you were on a local box. [06:30] nup :-( [06:30] I need an archive; and I don't have the bw to burn to mirror it to home [06:30] Ugh, it's actually kinda messy accessing that with the initZopeless stuff. Hmm... [06:31] Can I not set something simple like SQLBase.loglevel or something? [06:32] think so, but I don't remember the attribute to set. I'm sure it is documented somewhere ;) [06:32] Kinnison: The simplest way atm is probably to edit sqlobject/dbconnection.py, line 28, and hard-code that line to True.. [06:33] Unfortunately, the sqlos/sqlbase layers get in the way of doing this nicely atm. [06:33] Argh, in fact sqlos hard-codes it to 0. === sabdfl [~mark@host217-37-231-28.in-addr.btopenworld.com] has left #launchpad [] [06:34] So, edit lib/sqlos/adapter.py, line 46, and set that to True. Ick. === spiv_ looks into adding a debug flag to initZopeless === spiv_ is now known as spiv [06:38] Okay; it's getting stuck on an insert failing [06:38] I think [06:39] maybe not === Kinnison grrs; now it won't reproduce [06:42] Kinnison: I'm about to merge andrew.bennetts@canonical.com/launchpad--devel--0--patch-223, it adds a debug flag to initZopeless. [06:43] Which will turn on the SQLObject debugging, i.e. sql statement logging. [06:43] right [06:45] Hopefully it will help you figure out what's going on, assuming you can reproduce it... [06:46] Irritatingly it's now running okay [06:46] I need to wait for it to fail again === Kinnison mumbles something about heisenbugs [06:51] Merge to rocketfuel@canonical.com/launchpad--devel--0: Add debug flag to initZopeless (patch-710) [06:53] Kinnison: If you merge that, you can change server.tac to say "initZopeless(debug=True)". [06:53] spiv: once I can get the bastard to fail again I'll do that; thanks === Kinnison has 1h30m to get things to break; fix the breakage; and get an import running on mawson :-) [06:55] stub: can you update mawson's db with that foreign key fix? [06:56] That would be naughty (running bits of the database upgrade without a code update), but I think we can get away with it in this case. [06:58] done === Kinnison restarts this import in an attempt to reproduce the issue [07:12] night [07:12] stub: G'night. === debonzi [~debonzi@200.158.100.251] has joined #launchpad [07:16] Right, I can reproduce it [07:16] but the sql log is just showing that it goes through the motions and doesn't commit the transaction for some reason [07:19] I think I know what it is === Kinnison tries something [07:22] cprov: ping [07:25] Okay; I can fix it if I cause addAlias to generate a transaction if it didn't have one === ChanServ [ChanServ@services.] has joined #launchpad === lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has left #launchpad [] === BradB is now known as BradB|lunch [07:48] cprov: ping? [07:50] Kinnison: pong [07:50] cprov: I have a few librarian fixes to finish and then I'll be in a position to get things going with a hoary import on mawson [07:51] Kinnison: fantastic ! [07:51] Kinnison: do you need help ? [07:51] cprov: things will be fine as long as the katie db on mawson is ready [07:55] Kinnison: fine === Kinnison star-merges and runs a final test run === Kinnison is 1/3 of the way to knowing if his fix will do the trick === Kinnison bounces excitedly as gina imports more and more of warty [08:14] rah; it worked === Kinnison commits [08:14] Kinnison: great === Kinnison invokes the power of pqm-chinstrap-merge === Kinnison taps his fingers impatiently while pqm weaves its magic [08:22] Merge to rocketfuel@canonical.com/launchpad--devel--0: librarian transaction fixes and gina build fix (patch-711) [08:22] w00p === kiko [~kiko@200.144.121.120] has joined #launchpad [08:24] hihi kiko === Kinnison logs into mawson to do his bit [08:26] kiko the brave [08:29] What's the right way to create a distrorelease and distroarchrelease in the dogfood db? [08:29] do I just go in and do it with SQL; or do we have a UI for it? [08:31] there is UI for that in Soyuz [08:32] "" A system error occurred."" [08:32] If this can't be fixed in the next couple of minutes; I'm gonna hand-fiddle the db 'til I can run gina === Kinnison has to go out in the next 5 minutes [08:33] or I can leave gina until later to start === Kinnison can pop back here after he gets back from town [08:34] kiko, cprov: your call [08:34] Kinnison, can you provide a traceback at least? [08:34] kiko: how? [08:34] your DB is cracked up somehow, btw [08:34] using the debug port? [08:35] debug port? How do I get at that? this is launchpad on mawson [08:36] BradB|lunch, didn't elmo set us up to allow access to the debug port? [08:36] Kinnison, there's a port listening HTTP that can fix that up === Kinnison goes to get ready in the hope that you'll have an answer pretty soon [08:38] cprov? [08:38] Kinnison: forget it and create distro and distrorelease by hand, please [08:38] cprov, is creating a distro broken? [08:39] kiko: yes [08:39] cprov: okay [08:39] May I blat the warty distrorelease? [08:39] It'll save time [08:40] bah [08:41] I'll take that as 'yes' [08:42] yeah. [08:42] why the fuck are there things published to this distrorelease? [08:42] was that just random test data? can I blat it? === carlos [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #launchpad [08:43] well; since sabdfl wants me to blat publishing data each time; I guess I can... [08:43] noone should be using the publishing records outside of lucille/etc anyway [08:45] libpq.DatabaseError: FATAL: database "katie" does not exist [08:45] who told me katie was ready? === Kinnison imports the katie db [08:52] Grr, the mirror lacks hoary properly [08:53] I can't do this now [08:53] Moan at elmo about how the tagfiles for hoary are empty === Kinnison -> town === debonzi [~debonzi@200.158.100.251] has joined #launchpad === debonzi is now known as lalo === lalo is now known as debonzi [09:29] !lilo:*! Hi all. If you're involved with accounting and/or bookkeeping for a small FOSS community (or other) not-for-profit entity, please consider maintaining a presence on #accounting .... support and consultation about accounting issues. Thanks! === cprov [~cprov@200.158.100.251] has joined #launchpad === BradB|lunch is now known as BradB === BradB reads (some) scrollback [10:18] kiko: it does look like it. 9021 should be open, but isn't. === carlos -> dinner [10:20] kiko: when do you want to talk about what you guys can work on in malone btw? [10:20] BradB, I'll write to admins [10:20] ok [10:20] hum hum [10:21] I'm at a client today and tomorrow [10:21] it'll be a short conversation [10:21] ok [10:21] but cprov and debonzi are happily hacking away till them [10:21] hmm [10:21] maybe tonight a bit later if I catch you on [10:21] ok