/srv/irclogs.ubuntu.com/2010/07/30/#launchpad-dev.txt

mtaylorlifeless: it's running 7.04... probably no suspend :)00:01
mtaylorbenji: I'm with lifeless and rockstar... you can't reboot that bad boy right now00:01
benjiok, bowing to popular opinion he gets a stay of execution until next week00:02
benjiwe'll have a small memorial service with light refreshments to follow00:02
lifelessand whoever said peer pressure didn't work00:02
mtaylorthumper: the commit count on https://code.edge.launchpad.net/nova ... that's counting unmerged revs? cause in a branch if I run  'bzr log -n0 | grep revno | wc -l' I get 52700:24
mtaylorthumper: so I'm just curious what the number on the site means00:24
* thumper looks00:24
thumper1171  commits by 22  people in the last month00:24
thumperthat bit?00:24
mtayloryup00:24
thumpercounts all commits into branches related to that project00:25
thumperin the last 30 days00:25
thumpernot just mainline commits00:25
mtaylordoes it de-dup?00:25
thumperyep00:25
thumperdistinct revisions00:25
mtaylorcool00:25
mtaylorthanks00:25
thumpernp00:25
wgrantHrmph.01:29
wgrantThe python-debian upgrade overnight seems to have blown everything up.01:29
wgrantStarting the test suite fails with a DeprecationWarning.01:29
wgrantCommenting it out makes it work fine.01:29
wgrantBut I don't see why a DeprecationWarning would be fatal...01:30
wgrantAh, I wonder if that latest bzr-builder-related revision fixes it.01:32
wgrantHow do people manage to file Ubuntu bugs against malone using apport?01:38
lifelesshmm01:45
lifelessis it just malone?01:45
lifelesscould be a buggy apport script pointing at malone directly somewhere01:45
wgrantlifeless: It's just a single accidental bug.01:53
wgrantBut it's amazing that people still manage it.01:53
* mwhudson lunches01:58
lifelesswgrant: theres been a few I thought01:58
wgrantlifeless: Not normally filed with apport.01:59
wgrantFuuuck.03:03
wgrantThe upload processor was just really delayed.03:04
wgrantSo I now have the same package accepted twice into the same PPA.03:04
wgrantSomehow the cocoplum and germanium upload processors managed to run at just the same time.03:05
wgrantAfter not running for an extended period.03:05
wgrantNow my PPA is going to be all broken :(03:06
wgrantooooohdear.03:07
StevenKwgrant: What have we told you about breaking the world? :-P03:07
wgrantAt least it's only the staging PPA, not the production one...03:07
wgrantThe result of these builds could be, um, interesting.03:08
wgranthttps://edge.launchpad.net/~unimelb-ivle/+archive/staging/+packages03:09
wgrantStart 2010-08-01 (2505) What's this?03:18
wgrantGrrrrr.03:18
wgrantCan I convince someone to give me a score bump?03:18
wgranthttps://edge.launchpad.net/~unimelb-ivle/+archive/staging/+build/1896715 is very sad and would love a bump.03:22
wgrantOh.03:23
wgrantThere are no builders.03:23
wgrantGrr.03:23
wgrantWhy must the builders disappear when the queue is days long?03:24
wgrantIt really makes PPAs a whole lot less useful.03:24
wgrantWhen you have to wait 48 hours for a build.03:25
wgrantSomething is seriously wrong with the upload processors. I just got a rejection for an upload that I did an hour ago.03:34
lifelesslosa ping03:37
lifeless^03:37
thumpermwhudson: ping03:38
mwhudsonthumper: pong03:41
thumpermwhudson: can I have a pre-impl thing with you?03:41
thumperalthough thinking it through, I think I almost have it :)03:41
mwhudsonthumper: heh, ok, skype?03:42
thumperyeah03:42
mwhudsongoing online...03:42
wgrantBlah.03:53
wgrantJust got another three rejections.03:53
wgrant1.5 hours later.03:53
lifelesswgrant: are they valid & slow, or invalid rejections ?03:58
wgrantlifeless: They're valid, but really really slow.03:58
wgrantHeh.03:59
wgrantActually, the rejection reason is broken, because the PPA is now broken. but they should have been rejected anyway.03:59
* wgrant sometimes wonders how Launchpad hopes to be taken seriously.04:09
mwhudsonwgrant: surprisingly, there exists software that sucks much more than launchpad04:16
wgrantmwhudson: Yes, but other stuff generally doesn't make me regret moving to it for deployments every time I try to make a release.04:16
wgrantAnd other stuff doesn't have 3 day build queues.04:16
mwhudsonyeah, the build queue is pretty insane currently04:18
wgrantAnd often is.04:18
wgrantAnd nobody seems to care.04:18
thumperwgrant: we do care04:22
thumperwgrant: perhaps we should show you our scars where we cut ourselves each time a user complains04:22
wgrantthumper: The build queue has reached the 2-3 day mark at least once every couple of weeks, lately.04:26
wgrantThat makes one of Launchpad's big features just about useless.04:26
wgrantA couple of years ago, a bad PPA build wait might be a couple of hours. Now it's often 24 times that.04:27
magciusDoes anybody even work on Loggerhead anymore?04:30
thumpermagcius: yes, but not an active LP dev04:33
magciusthumper: argh. There are several UX issues with it that are so annoying.04:33
magciusthumper: is there a slated replacement or similar for the code browsing?04:34
thumpermagcius: more a fixing than replacement04:41
thumpermagcius: what is it that annoys you so much?04:41
magciusthumper: the lack of left margin for code, especially annoying with Python04:41
magciusthumper: and the blame lines are not monospaced and centered, which makes it even more annoying04:42
thumpermagcius: can you give me a concrete example?04:42
thumpermagcius: a link maybe?04:42
magciusthumper: http://bazaar.launchpad.net/~loggerhead-team/loggerhead/trunk-rich/annotate/head%3A/loggerhead/apps/config.py04:42
magciusthumper: (the URLs are my second complaint)04:43
magciusthumper: if you scroll down a bit, it's easy to lose your place in the indentation04:43
magciusthumper: also, if I want to go up to the directory that that is in04:44
magciusthumper: I can't just edit the URL to remove the "config.py", it gives an error04:44
magciusthumper: the 'head:' that is encoded is annoying when passing around, and the URL is needlessly long.04:44
magciusthumper: I logged these: #569355 and #56935804:47
_mup_Bug #569355: Left margin in code view. <loggerhead:New> <https://launchpad.net/bugs/569355>04:47
_mup_Bug #569358: Code viewer URLs have problems <loggerhead:New> <https://launchpad.net/bugs/569358>04:47
magciusAfter a month or two, they're still both "New"04:47
thumpermagcius: I'm sure loggerhead could use some keen devs :)04:51
magciusthumper: it looks to be a Django app.04:51
thumpermagcius: I think it is pretty vanilla wsgi04:51
lifelessits pastedeploy specifically, which is pretty stock wsgi04:52
magciusoh hey, it's broken too04:52
magciushttp://bazaar.launchpad.net/~loggerhead-team/loggerhead/trunk-rich/annotate/head%3A/loggerhead/apps/config.py04:52
magciusif you click on one of the parent directories at the top, it takes you to a weird URL where none of the files from then on work04:53
magciuslike http://bazaar.launchpad.net/~loggerhead-team/loggerhead/trunk-rich/files/428?file_id=apps-20080618010429-n87ewcyimdwsx90g-304:53
lifelessmwhudson: ping; I've just done a microreview about string formatting ;)05:03
lifelessmwhudson: if you want to discuss in realtime, let me know.05:03
mwhudsonlifeless: you have? where?05:06
lifelesshttps://code.edge.launchpad.net/~mwhudson/launchpad/vostok-traverse-distro/+merge/3124105:07
mwhudsonlifeless: branch_type is an enum05:08
mwhudsonor value from an enum, really i guess05:08
lifelessmwhudson: _always_, reliably, even when its gone wrong ?05:08
mwhudsonlifeless: i think so05:08
mwhudsonlifeless: however05:08
mwhudsonlifeless: this isn't my change and i'm happy to revert it05:08
lifelessIt seems to me that the reflex of 'this can go wrong' is one worth making easy to apply05:09
mwhudsonyeah, i agree i think05:09
mwhudsonhey!05:09
mwhudsonsomeone review this: https://code.edge.launchpad.net/~mwhudson/launchpad/kill-launchbag.site/+merge/3134805:09
StevenKO hai! thumper, mwhudson: Could one (or both, I don't mind) have a look at an MP that I've pushed up that uses the job infrastructure?05:09
StevenKhttps://code.edge.launchpad.net/~stevenk/launchpad/db-add-ifp-job/+merge/3134905:11
lifelessmwhudson: can you let whomever made that change know about this discussion ?05:11
mwhudsonlifeless: sure05:12
StevenKlifeless: You too, if you wouldn't mind, but you tend to stalk new MPs anyway05:12
lifelessStevenK: I stalk everyones05:12
lifelessStevenK: I'm subscribed to the feed05:12
lifelessStevenK: but I'll pass today, today is jetlad day #2.05:12
lifelessStevenK: I will look monday05:12
StevenKlifeless: You'll need to do a DB review in any case, but Monday is cool05:13
mwhudsonStevenK: + -- The particular type of foo job05:13
StevenKOh, damn it05:13
mwhudsondo you need the job_type anyway?05:13
StevenKI knew I should have grep'd the diff for 'foo'05:13
mwhudsoni can't really imagine InitialiseDistroSeriesJob containing other kinds of job, somehow...05:14
StevenKmwhudson: TBH, I was following the wiki page -- so I'm not certain. I can forsee the need to change it later to add the ability to, for example, do a scorched-earth rebuild.05:15
mwhudsonok05:17
StevenKmwhudson: So is that a use-case for job_type, or that can be fed in via the JSON metadata?05:18
mwhudsonStevenK: i guess it depends on details05:21
mwhudsonStevenK: the point of job_type not being in the json is that you can query it05:21
mwhudsonwould you have a different cron job for that kind of ifp job?05:21
StevenKNope, they should be handled by one cron job05:22
mwhudsonthen i don't think you need a job_type at this stage05:25
mwhudsonStevenK: similarly, i'm a bit suspicious of the json_data05:26
StevenKmwhudson: Well, I think there is a need (although, not right now) to feed in some more data, so leaving it in sounds fair.05:27
StevenKmwhudson: However, I agree re: death to job_type, and have added to that my list05:28
lifelessStevenK: json is json05:28
lifelesswhy have two fields?05:28
lifelessassuming I read the chatter here correctly05:28
wgrantIsn't someone else working on copy archive population jobs?05:28
wgrantIsn't that pretty similar to i-f-p?05:28
mwhudsonwgrant: it was james_w05:29
* StevenK reads through james' MP05:30
StevenKThat's for an entire archive, whereas my MP covers distroseries05:31
wgrantStevenK: They seem very, very similar.05:32
wgrantpopulate-archive just happens to not copy binaries.05:32
* StevenK will talk to Julian05:36
thumperStevenK: and while you're at it, please another blood-letting for the lack of builders making wgrant's build take two days05:58
StevenKthumper: I would, but I value my ears05:59
* StevenK heads out to the bank06:00
mwhudsonthumper: did you know that the view returned by test_traverse() is security proxied?06:11
thumpermwhudson: nope06:18
mwhudsonor at least in this case06:18
wgrantI am confusede.07:10
StevenKIs that Ye Olde English confused?07:10
wgrantIt's "I'm doing too many things to state my confusion" :P07:13
wgrantI don't understand why dailies have priority to destroy the build farm even more than it is already.07:14
wgrantI would have thought they would be the last things, apart from rebuilds, that should be built in a situation of the worst resource starvation we've seen in a looong time.07:14
wgrantThe queue is three days long.07:15
wgrantIt will take more than that to clear.07:15
StevenKwgrant: So, I had already admitted I had privledges, and would bump builds. Am I supposed to reply back with "Your builds aren't important enough, sod off" ?07:16
wgrantI think there needs to be a policy.07:17
wgrantBecause this starvation happens frequently.07:17
wgrantAnd long-running new crack builds are surely not the things that need to be prioritised.07:17
StevenKAlpha 3 is around the corner, which is where I suspect the builders have gone.07:17
StevenKwgrant: Which still ends up with people being told "Your builds aren't important enough, sod off"; but they are, to *them*07:18
wgrantStevenK: I don't see how dailies could possibly be important.07:18
wgrantThey are dailies.07:18
wgrantThey happen daily.07:18
StevenKThey attempt to happen daily07:19
wgrantNobody is going to be pissed off if one delivery of the new daily crack is delayed by 24 hours.07:19
wgrantPeople *are* going to be pissed off if their first builds in weeks take five days.07:19
StevenKExcept, say, fta, who is well-documented about his feelings of the build farm07:19
wgrantSee, I have a build which will take less than a minute.07:20
wgrantAnd it won't be done for five days. Because the dailies are prioritised.07:20
wgrantWhen there could be hundreds of other builds done in the time a single daily takes.07:20
StevenKBut I can't bump that one07:20
StevenKSadly07:20
* wgrant now has to advise the admins to use a repository elsewhere, because the PPA can't be populated with the new release within a week.07:22
StevenKwgrant: I can bump builds if you ask, but I was under the impression recipe builds can't be bumped07:23
wgrantStevenK: A score bump for https://edge.launchpad.net/~unimelb-ivle/+archive/staging/+build/1896715 would be most appreciated.07:25
wgrantOtherwise, I'll make my arch-indep packages arch-dep, and just let it build on amd64 in a few hours...07:25
StevenKwgrant: Bumped; with a score above the other builds I bumped07:27
wgrantStevenK: Thankyou muchly.07:27
StevenKCan you even buy beer yet?07:28
wgrantHopefully the other builders will reappear at some point.07:28
* StevenK cackles07:28
wgrantNot in the US :P07:28
StevenKI wasn't in the US, last I checked :-)07:28
wgrantTarue.07:29
wgrantHmm.07:29
wgrantDouble form submission.07:29
wgrantI clicked the button once, but it submitted twice.07:29
wgrantThat's a bit scary.07:29
StevenKBrowser bug? :-P07:30
wgrantPossible...07:30
* StevenK is also distracted, arguing with Telstra over a bill :-/07:32
wgrantKILL THEM.07:32
StevenKHaha07:32
wgrantAt least with NBN that might all go away...07:33
wgrantTelstra will become irrelevant and fade away :)07:33
wgrantOr so we can hope...07:33
adeuringgood morning08:30
mrevellNi hao09:09
=== stub1 is now known as stub
=== jelmer_ is now known as jelmer
wgrantbigjools: I wonder if current_source_publication should be latest_source_publication.11:54
bigjoolswgrant: it could be an additional method11:55
wgrantAh, good idea.11:55
bigjoolscurrent_ is very valid11:55
deryckMorning, all.12:05
jmlpqm could be much better.12:36
jmlderyck, good morning12:37
mrevellThanks for the blog post deryck12:43
deryckmrevell, glad to do it.  Now to actually get that bug fixed. :-)12:43
mrevell:)12:43
=== mrevell is now known as mrevell-lunch
wgrantbigjools: Any chance of a score bump for https://edge.launchpad.net/~unimelb-ivle/+archive/staging/+packages?13:07
=== matsubara-afk is now known as matsubara
=== mrevell-lunch is now known as mrevell
bigjoolswgrant: still around?14:22
wgrantbigjools: Indeedily.14:22
bigjoolswgrant: seen /builders for nonvirt i386?14:22
bigjools149 jobs (eight minutes)14:22
wgrantIt's translations jobs.14:22
bigjoolsI think not - and nothing was getting dispatched earlier14:23
wgrantThey appear in the wrong queue, and their estimated duration is screwed.14:23
bigjoolsstill not14:23
wgrantOh?14:23
bigjoolsah14:23
bigjoolsTTBJs?14:23
wgrantTranslations jobs.14:23
wgrantYes.14:23
wgrantI filed a bug about the incorrect queue earlier this week.14:24
wgrantAnd they have a low score, so they'll sit there until the i386 virt queue clears.14:24
wgrantI don't know of a bug for the bad duration estimate.14:24
bigjoolswgrant: are they also in the PPA queue length?14:33
wgrantbigjools: No.14:33
bigjoolsah14:33
bigjoolswow, I wonder why there;s so many14:33
wgrantIt's not that many.14:34
wgrantit's a couple of days' worth, at least...14:34
bigjools150!14:35
bigjoolswe need to score them up a bit14:35
bigjoolsthey're quick14:35
bigjoolsI'm also toying with the idea of scoring people's builds -1 for each outstanding build they have14:35
wgrantPossibly.14:36
wgrantI think we need to rethink scheduling.14:36
wgrantSince the current system obvious doesn't work.14:36
wgrantAt all.14:36
wgrant+ly14:36
bigjoolswell, it does work14:37
bigjoolsthe problem is that there;s more work than the builders can handle14:37
bigjoolswe're due 7 more PPA builders  soon-ish14:37
wgrantYou've been saying that since Wellington :P14:38
wgrantBut the problem also manifests itself when the daily wave appears.14:38
* bigjools can't comment on why they're not instaled14:38
wgrantThe dailies drown out other builds for a few hours.14:38
bigjoolsyes14:38
bigjoolsand if we score those down, someone else complains14:38
bigjools*shrug*14:38
wgrantIf they don't build for a while, sure.14:39
wgrantBut there should be no issue with a wait of a few hours.14:39
wgrantWhich allows a much more realtime experience for the people who actually upload things.14:39
bigjoolsso the next piece of work will be to add some knobs and dials to bias scores on the fly14:41
wgrantHmm. I'm not sure that a more automated solution could not be devised.14:45
wgrantBut first, sleep.14:45
wgrantDid they just steal samarium too?14:46
StevenKUnlikely14:51
james_whi StevenK14:52
StevenKjames_w: O hai!14:52
james_wStevenK: I'll take a look today at how much the two job types can be coalesced14:53
james_wI'm pretty sure we don't need two db tables at least14:53
StevenKjames_w: That sounds great. We could probably get away with 2 job types14:53
james_wI'm not sure what's so different that they can't share some of the same code as well14:54
wgrantI think they can share an awful lot of code.14:54
wgrantPopulating a copy archive is just a subset of i-f-p.14:54
=== matsubara is now known as matsubara-lunch
* bigjools high fives james_w, StevenK and wgrant14:55
StevenKwgrant: samarium is back15:11
=== salgado is now known as salgado-lunch
jelmersinzui, hi17:03
=== matsubara-lunch is now known as matsubara
sinzuihi jelmer17:03
jelmersinzui: The PPA appears to be lacking a copy of pocket-lint for hardy, is that intentional?17:04
maxbI mentioned this on the mailing list17:05
* maxb finds thread17:05
sinzuijelmer. Sort of. I think all developers are on lucid or maverick, and pocket-lint is only used by developers17:07
sinzuiAmu I wrong17:07
sinzui?17:07
sinzuiam I wrong?17:07
jelmersinzui: The ec2 image is still hardy-based so it's impossible to update at the moment.17:08
sinzuibugger17:08
maxbsinzui: We should not preclude developing on the distro that production uses, nor should launchpad-developer-dependencies be uninstallable in any ppa series, IMO17:08
sinzuiwell I do not know if pocket-lint works on hardy. We could copy it and see if it builds17:09
jelmersinzui: I'll try17:09
sinzuihas 0.5 been built yet?17:09
jelmerno, the PPA has 0.4 at the moment17:10
sinzuijelmer, I think it will work since python 2.5 was backported for lp. pocket-lint includes its external deps in a contrib dir.17:12
=== deryck is now known as deryck[lunch]
sinzuihas anyone put any thought about what for do about LaunchpadObjectFactory.makeDistributionSourcePackage returns an unproxied object17:43
sinzuiIt is simple class that differs to database classes. I cannot image how to get a proxied version of a DSP17:44
=== salgado-lunch is now known as salgado
bigjoolssinzui: construct it from proxied objects?17:51
bigjoolss/from/inside/17:51
sinzuiI am look for that actually17:51
sinzuiI think distribution.getSourcePackage() is the only way to get a proxies object17:52
=== deryck[lunch] is now known as deryck
=== Ursinha is now known as Ursinha-lunch
rockstarmars, so what's the deal with the lazr-js branches?18:05
=== beuno is now known as beuno-lunch
jmlderyck, hi18:12
deryckjml, hi.  on call right now.18:12
jmlderyck, np. I'll use email to achieve my nefarious purpose18:13
jmlsinzui, ProxyFactory18:16
sinzuijml: distribution.getSourcePackage() a nice one line change18:17
jmlsinzui, cool.18:17
jmlfwiw, my branch that turns the print outs into Python warnings has landed18:17
jmlif it sucks, revert it & send me an email.18:18
* rockstar lunches18:41
=== beuno-lunch is now known as beuno
=== matsubara is now known as matsubara-brb
james_wso, we were asked to make sure that it is possible to delete all artefacts of copy archives from the librarian. Could anyone point me to any code that I could read about the cleanup process and how it is decided what to delete?19:27
bigjoolsjames_w: it's not easy19:32
bigjoolsjames_w: start at the publishing records, then cascade down through builds, librarian files and spr/bpr if they're not published elsewhere19:33
bigjoolswe added some ON DELETE CASCADEs to the model but some of it's dangerous19:34
james_wbigjools: so it's merely that the archive is deleted, and that cascades down to delete the librarian files at the end of the chain?19:36
bigjoolsjames_w: in an ideal world yes, but remember that stuff was copied from other archives so a lot of the files may be shared19:36
=== gary_poster_ is now known as gary_poster
bigjoolsyour binaries won't in the case of copy archives of course, but if we apply this work to PPAs as well then it will19:37
james_wbigjools: right, I'm just trying to understand the process first19:37
bigjoolsjames_w: the db cascade only goes so far, it stops at the stuff that might be shared19:37
lifelessmoin19:39
james_wbigjools: so we need another process, as we can't rely on the database to do this for us19:40
bigjoolsjames_w: yes - we've implemented some of it in the publisher, which is the right place to do this19:40
bigjoolshello lifeless, working on the weekend19:40
bigjoolsjames_w: there's an archive status of DELETING and DELETED19:41
bigjoolsjames_w: the former is set by the webapp request and the publisher picks that up, deletes the repo, and sets status to DELETED19:41
james_wbigjools: the publisher deletes the published files and the librarian files too?19:42
bigjoolsjames_w: no, just the repo area right now19:42
bigjoolsthere's a separate process that deletes librarian files19:43
bigjoolswe need to extend it to pick up copy archive files19:43
james_wok, and where is that process?19:43
bigjoolscronscripts/expire-archive-files.py19:44
bigjoolsjames_w: it picks up superseded and deleted publications19:45
bigjoolsjames_w: you can just make a one line change to that script :)19:45
james_wand deleting a copy archive will delete the publications from that archive?19:45
bigjoolsyes19:45
bigjoolswell19:46
bigjoolsactually, if you delete the publishing records then the librarian files will be orphaned and the GC will get them19:46
bigjoolsso don't worry about that expiration script19:46
james_wso we want to make deletion of copy archives delete the binary publishing records for that archive?19:47
james_w(and the associated builds presumably)19:47
bigjoolsand source publications19:48
bigjoolsand any binarypackagereleasefile / sourcepackagereleasefile19:48
bigjoolsthat is not published elsewhere19:49
rockstarmars, ping19:51
james_wbigjools: so it already deletes all sources, we should just make it do the same for the other objects?19:51
james_wwell requestDeletion() of all published sources at least19:51
bigjoolsjames_w: when I say delete, I mean remove the database row, not mark the publication deleted19:52
james_wok19:52
bigjoolswe want to completely blow any trace of this archive away19:52
james_wbut still in Archive.delete?19:52
bigjoolsno19:52
bigjoolsyou have to do it in the publisher19:52
=== matsubara-brb is now known as matsubara
james_wwhy?19:53
james_wjust so it's only done when it goes DELETING->DELETED?19:54
bigjoolsyes19:54
bigjoolsit would take too long to do in a webapp request19:54
bigjoolswe might even need to move that bit of code that marks all the source publications as deleted into the handler in the publisher, I suspect it'll take too long for copy archives19:55
james_wheh19:55
james_wyou can't actually delete copy archives right now any way19:56
james_wso what is actually done right now?19:56
bigjoolsall the publications are marked as deleted and the repository is removed19:56
james_wI guess it's because they aren't published19:56
james_wthe repository is not removed via the standard mechanism that PPAs are, so I don't want to change something that isn't actually used.19:57
bigjoolsI don't understand what you mean19:57
james_wif copy archives are set to DELETING then they are not set to DELETED by the publisher as it stands. So either there is some other mechanism used, or we just have a bunch of copy archives in the DELETING state.19:58
bigjoolsoh - I don't know if anyone set those as deleted yet19:58
james_wwell, they go inaccessible from the web19:59
bigjoolsthey get disabled19:59
james_wso maybe they are just disabled?19:59
james_wright19:59
bigjoolsjelmer is fixing that so we can still see disabled copy archives :)19:59
james_wso we want to change it such that an admin can go to +edit and delete them?20:00
james_wat which point the publisher will remove them from disk if they have been published and set them to DELETED.20:00
bigjoolsright, so if you see the bottom of lib/lp/soyuz/scripts/publishdistro.py20:01
james_wand in addition extend it such that if it is a copy archive all publications are deleted, and other things such as SPRs are deleted if they are only references by this archive?20:01
bigjoolsit only considers PPAs before calling publisher.deleteArchive20:01
james_wright, that's what I was saying a minute ago20:01
bigjoolsyes :)20:01
=== Ursinha-lunch is now known as Ursinha
bigjoolssorry it's late and I am slow :)20:01
james_wshould that be the same for all archives, or just copy archives?20:01
bigjoolsshould be the same for copy archives too20:01
bigjoolsso20:02
bigjoolsI would take a look at the foreign key chain off the publishing records and you'll see quite quickly what you need to delete :)20:02
james_wno, I mean, should the deletion of publications and SPRs etc. happen for all DELETING archives?20:02
james_wor just copy archives?20:02
bigjoolsyes, we need to blow them away entirely20:02
bigjoolswe do a half-assed job at the moment so that people can rename their accounts20:03
sinzuiI have a test that does20:03
sinzuinaked_productseries.datecreated = test_date20:03
james_wok, so no ArchivePurpose check.20:03
sinzuito test a value that cannot be written via the interfaces20:03
james_wbigjools: thanks, I'll show you some code tomorrow so you can verify the direction20:03
bigjoolsnot tomorrow you won't :)20:03
bigjoolsjames_w: the only trick part is where packages are published in more than one archive20:04
bigjoolstricky even20:04
bigjoolsonce you get past that it's easy20:04
james_wbigjools: I'll show you tomorrow, but you won't look :-)20:04
bigjoolsheh20:04
bigjoolsI'm about to upgrade my hardy server to lucid, I might not be looking at anything20:04
barrysinzui: ping20:51
sinzuihi barry20:51
barrysinzui: hi!  say, i'm trying to set up another branch mirror but lp isn't happy.  could you double check this for me?  https://code.edge.launchpad.net/~python-dev/python/2.720:52
barrysinzui: i can svn ls http://svn.python.org/projects/python/branches/release27-maint20:52
james_wbarry: you want an import not a mirror. Mirror is for native bzr branches, import for foreign VCS.20:53
barryd'oh!20:53
sinzuiah! I was wonder why the page looks so strange20:54
lifelesswe should eliminate that difference20:56
lifelessits implementation not intent20:56
barryjames_w, sinzui: thanks.  i just did an approved import request20:56
barrylifeless: yes, or add import to the list of options in "register a branch" and explain the difference ;)20:56
lifelessbarry: file a bug pleasE?20:57
barrylifeless: already started... :)20:57
sinzuiI believe there is already several bug about "Register a branch" and a discussion to remove it20:57
barrylifeless, sinzui: you are the triagemasters, please do your magic: https://bugs.edge.launchpad.net/launchpad/+bug/61183721:00
_mup_Bug #611837: Confusions between import and mirror branches <Launchpad itself:New> <https://launchpad.net/bugs/611837>21:00
barrythanks guys!21:01
sinzuiI am sure that is a dup I wonder if it would have shown up as a dup if the bug was reported against launchpad-code21:01
james_wbigjools: still around? How is the uploadpolicy context set for uploads from users. Apparently all the process-upload calls in lp-production-configs use the buildd policy.21:02
bigjoolsjames_w: it uses the insecure policy for general uploads, it's set in the crontab entry21:03
james_wah, crontabs, thanks21:03
barrysinzui: possibly!21:03
sinzuiThe +setbranch form shows a unified view of all the nonsense. It does a better job of explaining the difference21:04
sinzuiThat view is for registration *add* setting it to a series, so it is not always the right link to use21:05
james_woh crap, a car crash of concerns21:41
james_wdid jtv's GenericCollection ever land?21:54
lifelessyes21:54
james_whum21:58
wgrantsinzui: ProxyFactory lets you proxy any proxiable object. You don't need to get it from anywhere special.22:05
sinzuiwgrant, thanks. I have applied that to the objects I cared about22:05
james_whi wgrant22:09
wgrantHi james_w.22:10
james_wso, deleting an archive disables it, which means that the publisher tends to ignore it22:10
wgrantThat's correct.22:11
james_wso we have to teach the publisher to consider disabled archives in the DELETING state22:11
wgrantI thought that was already the case.22:11
wgrantThere is a special DELETING path in there...22:11
james_whowever, the methods it uses for finding archives aren't very suitable for this22:11
james_wwgrant: I'm extending it beyond PPAs, it works fine for them22:11
wgrantAh, right.22:11
wgrantCopy archives are going to be materialised soon?22:12
james_wyeah22:12
james_wwell, it's more about librarian, but yes, that too22:12
james_wI've been asked to make the publisher delete artefacts in the db from deleted archives22:12
wgrantAh...22:13
wgrantIt would be nice if LP permissions didn't suck.22:13
wgrantOnce you do that, anyone with upload rights can completely destroy the archive and all its history irretrievably.22:14
james_wthat applies to PRIMARY too?22:14
lifelessthat sounds undesirable22:14
wgrantNo. It's special.22:14
wgrantBut anyone in ~ubuntu-drivers could.22:15
james_wright22:15
wgrantWhich is far too large a group of people, but that causes other more gravely concerning issues.22:15
james_wstill not particularly desirable in general22:15
wgrantNo.22:15
james_wwe could limit this to COPY archives for now22:15
wgrantThat sounds good.22:15
james_wI got the impression that this is wanted for PPA as well so that they can be properly deleted22:16
james_wis that right?22:16
wgrantI cannot support PPAs' inclusion in it until it's more restricted.22:16
wgrantIt is, yes.22:16
james_wwhat would a good interface for the general case of this look like?22:17
james_wa way to query deleted archives and purge them?22:17
wgrantPossibly.22:17
wgrantIt's unobvious, though, due to the various criteria that need to be used to select the archives.22:18
james_wDELETE just refers to the published state right now?22:18
wgrantNot just purpose, but privacy.22:18
wgrantHm?22:18
james_wdeleting an archive just removes the published files, the archive is still in the db, disabled?22:18
james_wI assumed that the purging of the archives would be an admin-controlled task.22:19
lifelessmmm22:19
lifelessreally we want the $-distro admins, not the lp-instance admins22:20
wgrantRight. The publications are Deleted, then the archive status is set to DELETING, then the archive is purged from archive disk, then the status is set to DELETED.22:20
wgrantlifeless: Distro doesn't care about PPAs.22:20
lifelesswgrant: true22:21
james_wso with some surgery something in DELETED could be resurrected22:22
lifelessfor ppas why not immediate delete? or time-based ?22:22
wgrantjames_w: Exactly.22:22
wgrantOr its latest contents at least downloaded.22:22
james_wthough the publications would all be deleted too, so it would be a convoluted process22:22
wgrantRight. The librarian files would disappear in a week, too.22:22
james_wright22:22
james_wso perhaps we have another state PURGED that has a delay of a week too, and removes the DB rows for the publications etc. as well?22:23
wgrantPossibly. But I don't really see the pressing need to delete that stuff.22:23
lifelesswgrant: dead data costs to keep around; its not free.22:23
lifelesswgrant: neither in a dollars sense, nor a performance sense.22:24
wgrantTrue.22:24
lifelessif the users does not want it22:24
lifelessand we don't have a legal obligation to keep it22:24
lifelesswhy would we incur that overhead?22:24
james_wCOPY archives is what we have been asked to implement this for, Julian said that I should do it for everything22:24
james_wI'm fine with putting the infrastructure there and using it for COPY archives, as it will be easy to use it for other types later if desired22:25
wgrantjames_w: It doesn't look like any filtering is done on copy archives.22:27
james_wwgrant: where?22:27
wgrantjames_w: lib/lp/soyuz/scripts/publishdistro.py22:27
james_wno, it's getArchivesForDistribution that is the problem22:27
wgrantSo you probably just have to change the archivepurpose guard around the deleteArchive call.22:28
wgrantOh.22:28
james_wit only lets you see enabled archives unless you pass in an admin22:28
wgrantAh.22:28
wgrantOr you say exclude_disabled=False...22:28
james_wnope22:28
james_wyou have to say that *and* pass in an admin22:28
wgrantOh.22:29
wgrantIndeed.22:29
wgrantHow stupid.22:29
james_windeed22:29
james_wI can't see an easy way to unthread it without checking all callers22:29
james_whence my question about GenericCollection, I wondered if implementing an ArchiveCollection would make sense, but that's a bit large for me to take on right now22:29
wgrantI think that would be a good idea. But it's probably too big for a small change like this.22:30
james_whttp://paste.ubuntu.com/471263/ is the horrible hack that I am using for now22:36
wgrantjames_w: You could call it filter_visible or something like that.22:37
james_wyeah, that's a better name22:37
wgrantjames_w: But the callsites for the method number only three, so it's not too bad if you have to change it in other ways.22:39
james_wgood to know22:40
james_wnot sure how I would change it other than this or going for a collection22:40
james_wanyway, I think that's enough for this week, I'll tackle the hard bit of this on Monday22:40
james_wand a nice illustration of the perils of purging deleted archives just now :-)22:41
wgrantSounds good. I think the Collection pattern needs to be used more widely.22:41
wgrantIn that case I think purging (or just renaming) would have fixed it.22:41
wgrantHe doesn't want the content -- just to be able to upload to it again.22:42
james_wthanks for your help22:42
wgrantnp22:43
=== matsubara is now known as matsubara-afk
* jelmer laughs reading the summary for bug 23593923:36
_mup_Bug #235939: X-Launchpad-Message-Rationale header for code import emails too human friendly <code-import> <email> <Launchpad Bazaar Integration:Triaged> <https://launchpad.net/bugs/235939>23:36

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