[02:33] I still can't figure out why I started hacking on LP before I read about Zope 3. [02:33] Finally I'm reading Zope 3 intros :P [04:53] * StevenK purges 3GiB of postgres logs so that /var actually has some free space. [04:57] * nigelb twitches at GiB [05:00] nigelb: You don't like {K,M,G,T}iB? [05:00] Can't remember what comes after T. E? [05:21] Eca [05:21] bah [05:21] Exa [05:22] Right, so it is E [05:22] or is it P [05:22] Then, P, then Z, and then OMGBBQWTFBIG [05:22] it might be P E [05:22] ah E P [05:24] wgrant: we don't build-in a structure of partitioned namespaces (partly because teams have no project affiliation etc [05:24] wgrant: so folk need to remember [05:32] wgrant: however, this one has me confused too ;P [06:20] StevenK: My dislike is for the 'i' [06:21] nigelb: you're a no i kinda guy ? [06:22] lifeless: Bwahaha. No. [06:26] So, I noticed something weird today. [06:26] Potentialy a mintor security thing. [06:27] When I go to https://launchpad.net/~canonical-sysadmins, I see a under "Subteam of" [06:27] Isn't our policy to to show "its not even there" when something isn't supposed to be seen? [06:28] s/show/do'g [06:28] s/show/do/g [06:35] thats an adapter kicking in and preventing disclosure [06:35] yes, it shouldn't show at all, but its a cosmetic, not a security, concern [06:35] please do file a bug [06:36] cool, will do [06:49] lifeless: It is actually a security concern, slightly. [06:49] I filed it a couple of years ago. [06:49] It's in alphabetical order. [06:49] So you can determine the display name. [06:50] wgrant: there's already a bug? [06:50] I think so. Trying to find it... [06:51] wgrant: you can guess at possible display names ;) [06:51] lifeless: Then you can create teams on staging to do a search. [06:51] wgrant: bug 329132 [06:51] ? [06:51] <_mup_> Bug #329132: Strange string under "Subteam of" in LOSAs' team page < https://launchpad.net/bugs/329132 > [06:52] Hah [06:52] What a fix. [06:52] I thought I filed a similar one, though... [06:53] * nigelb stabs Zope 3 [06:54] Trying to get it to work. Refuses to work. [06:54] What are you doing to the poor creature? [06:54] Using Benji's quick start guide [06:54] nigelb: I guess you should file a new one rather than reopen the old one. [06:55] wgrant: Filing now [06:55] nigelb: You may have some issues with using that. [06:55] Oh. [06:55] nigelb: Since Zope 3 doesn't exist any more. [06:55] wtf. [06:55] It's... complicated. [06:55] Most of the underlying libraries now make up what is known as the Zope Toolkit, or ZTK. [06:56] The UI (ZMI and other stuff that's mentioned there) is not part of the ZTK, and was abandoned for a time. [06:56] But then was made into its own project atop the ZTK, BlueBream. [06:56] All I wanted was to get a hands on feel for zope minus the complications of Launchpad so I can figure out Launchpad faster. [06:56] Not sure if that is still active. [06:56] http://bluebream.zope.org/screencasts.html may be helpful. [06:57] http://bluebream.zope.org/doc/1.0/index.html too [06:57] Looks like the docs don't make me want to die any more. Which is a good start. [06:57] Oh, cool! [06:57] Thank you [06:57] Is that closer to what LP is using? [06:58] LP doesn't use BlueBream, but it uses many components of the ZTK. [06:58] Not all the latest versions, but mostly within the last 18 months. [06:58] It also uses some stuff that BlueBream uses but that is outside the ZTK. [06:58] Ok, so it should give me a good basic idea. [06:58] Yup. [06:59] Right now, I'm coding on LP with extensing grepping and asking here. [06:59] And grepping my logs of asking here. [06:59] Previously I would have suggested that you obtain, by some means, a copy of Web Component Development with Zope 3. But it was already obsolete when I started, and it's going to not be practically usable now. [07:00] Good in-depth teaching of the concepts, though. [07:00] Most LP engineers do what you do, I think :) [07:00] They learn Zope 3 by drowning in LP. [07:00] Hah [07:01] "It is recommended to use a custom-built Python for working with BlueBream." [07:01] Gaaaaah stupid Python people. [07:01] heh [07:02] (if following the bluebream getting started guide, I would use virtualenv to install bluebream without polluting your system) [07:03] I always use virtualenv for this kinda stuff [07:03] wgrant: ah, nifty [07:03] From Wikipedia: "BlueBream is in active development and is now considered a stable framework, used on production projects worldwide, most notably Launchpad." [07:04] WHAT? [07:04] But we don't use the whole thing :( [07:04] Maybe they've altered the scope of BlueBream to be everything that was in Zope 3 that is not in the ZTK. [07:04] Last I heard it was primarily the ZMI. [07:04] nigelb: my preferred solution for 'LP is hard to understand' is to clean things up [07:05] nigelb: e.g. by deleting lots o fcode [07:05] lifeless: My problem is my web development experience is in Django. I'm trying to figure out how is the sort of right way to to do things in zope. [07:05] nigelb: ah [07:05] Its probably a day or two of reading up [07:05] nigelb: so do you want the good news or the bad nes ? [07:05] * StevenK deleted something like 2,800 lines of code yesterday [07:05] I figured its time I invested that [07:05] lifeless: I'll take the bad news first [07:05] nigelb: the right way of doing things is the wrong way for LP [07:06] Expected. [07:06] Yay! [07:06] sorry, that was mistyped. But hilarious. [07:06] nigelb: the right way of doing things in zope is the wrong way for LP [07:06] StevenK: When I meet at some point, I'll buy you a drink for that. [07:06] is what I meant to say. [07:06] Small difference :) [07:06] StevenK: *meet you [07:07] two words, but significant impact :> [07:07] lifeless: Well, everything except persistence is not too bad. [07:07] wgrant: except that *everything* is driven by persistence. [07:07] wgrant: also you forgot configuration. [07:07] Well, so I'm probably looking at bare basic concepts. Like tal thingy or zcml. [07:08] Both of these I still don't really understand, but I can read and guess [07:08] lifeless: Except ZCA and views and TAL and ZCML and the general architecture. [07:08] wgrant: tal and views are impacted by persistence; zcml is because of the model:interfaces interactions. [07:09] Only slightly. [07:09] lifeless: Also, do we want to roll back that spaces in URLs thing? [07:09] wgrant: zca also interacts with persistence in the same way, fwiw [07:09] wgrant: yes, we do. [07:10] Shouldn't have to roll back production, since we're almost deployable. [07:10] Also there's also an additional 1000 Loggerhead OOPSes that we might care about. [07:10] wgrant: are you still on leave ? [07:10] Yes. [07:10] heh [07:10] wgrant: I was going to ask if you felt like doing the rollback [07:10] If wgrant is *this* productive when he's on leave... [07:10] qemu-kvm's broken gdbstub is broken enough that I will look at work, but not do it :) [07:11] lifeless: I saw the wiki LEP. Has it gone stale or is it still alive? [07:11] nigelb: its confused [07:11] Because I'd like to propose extracting stuff from readthedocs and bring it into LP. [07:11] lifeless: Oh, the loggerhead rollback? [07:11] StevenK: not loggerhead, url ascii rules [07:12] loggerhead's broken too, but I think that might be two rollouts ago. [07:12] Not quite sure. [07:12] 993 RuntimeError: dictionary changed size during iteration ? [07:12] probably bzrlib [07:13] We didn't upgrade bzrlib, did we? [07:13] Still 2.3.3 [07:13] We did upgrade loggerhead. [07:15] we need a bug at the least [07:15] and probably a rollback of loggerhead too [07:18] * wgrant curses lifeless a bit. [07:18] wgrant: ? [07:18] The only thing left writing to BugTask's target key attributes directly is the bugsummary tests. [07:19] removeSecurityProxy ftw. [07:19] wgrant: hah. I didn't write those :P [07:19] GUILTY [07:20] We might be able to put NULL Project to sleep on Monday... [07:21] Oh, nice [07:21] wgrant: Can I land populate-bprc now? [07:22] StevenK: why wouldn't you ? [07:22] Well, it almost has a veto. [07:22] (not from me!) [07:22] lifeless: From a certain GSA who won't be named saying it sounded like an epicly bad idea [07:23] how so ? [07:23] what was the concern ? [07:23] https://bugs.launchpad.net/loggerhead/+bug/826136 [07:23] <_mup_> Bug #826136: dictionary changed size during iteration < https://launchpad.net/bugs/826136 > [07:24] lifeless: That the data does not and should not go into the main DB [07:24] StevenK: thats not a concern [07:24] StevenK: thats a conclusion [07:24] :) [07:25] lifeless: After wgrant and I talked about it, we decided to wait for a bit, since if we kick off the migration, it's quite difficult to migrate the data back out again [07:25] StevenK: I don't follow. [07:25] It's slightly awkward. [07:25] Not quite difficult :) [07:27] lifeless: It's a large amount of data that will land into launchpad_main -- it will sit like a red wine stain. Once it's there, it will require persistance to move [07:28] StevenK: so the concern is size? [07:29] StevenK: why isn't deleting it as simple as a loop doing delete LIMIT 50 ? [07:29] lifeless: No. My small concern is migration pain [07:29] My other concern is I'm not clever enough to implement step 3 and 4 of the grand plan [07:30] they being? [07:30] 3. Hook into the publisher to create and delete rows in BPRC and BPP when it publishes or superseded a BPR. [07:31] 4. Hook into the publisher to generate contents file, and turn off the current contents generation script. [07:31] 3 seems bogus [07:31] Both are. [07:31] Eh? [07:31] Neither should be in the publisher, I don't think. [07:32] BPRC lifetime is the same as file lifetime. [07:32] 4 could be in the publisher, or separate [07:32] So they should certainly not be removed by the publisher. [07:32] 4 is possibly OK, but not required, and there's already enough in the publisher IMO :) [07:32] 3 is bogus because there can be N published entries, and trying to add just-in-time or delete just-after-use will be massively racy. [07:34] The garbo job should certainly keep up with new BPRs, but I'm concerned about bloat in BPRC/BPP [07:34] The BPF expiry script will remove them. [07:34] wgrant: Ah, that reminds me. [07:35] wgrant: The populate-bprc garbo job returns BPRs that do not have any BPFs. Do not want. [07:35] Indeed, although in production there shouldn't be any. [07:36] wgrant: Hah, maybe. [07:36] StevenK: so here is a question folk might like to answer [07:36] lifeless, wgrant: So, land the garbo population job and then think about the next step while it populates? [07:36] 'when was /usr/bin/foo introducted to the archive' [07:37] StevenK: we might want to gc things for space considerations [07:37] but having enough data to ssatisfy the use case is the first step [07:37] We certainly do want to GC things [07:37] StevenK: what was the gsa's concern ? [07:37] lifeless: That it doesn't belong in the main DB [07:37] StevenK: You can fit *every* file in *every* arch in *every* published deb, ever, in < 5GB [07:38] [excluding PPAs, but they are (for now) still minimal) [07:38] lifeless: Modulo bugs :-( [07:42] StevenK: yes, but having extra rows would be fairly obvious [07:42] StevenK: I don't think gc is a given. [07:44] * StevenK fixes the conflicts the branch has with devel [08:17] rev 13687 is the rollback [08:18] lifeless: We don't have much QA to do, wallyworld_, bigjools, 2 * danilo [08:18] We might be able to deploy on Monday afternoon UK time [08:26] not morning ? [08:30] lifeless: Depends on how quick the QA is done -- I was being pessimistic. === almaisan-away is now known as al-maisan === al-maisan is now known as almaisan-away [15:00] gah, qastaging is timing out, known? [15:12] nigelb, hey [15:12] nigelb, I don't think it is - perhaps it's just updating? [16:05] jelmer: hm, maybe. [16:05] I'll just try a while later :) [20:08] nigelb: timing out on all pages or just one ? [20:08] nigelb: some timeouts are (unfortunately) 'normal' for [qa]staging [23:30] aieeeee [23:30] IUnloggedException. Sob.