[00:16] <poolie> hi lifeless !
[00:16] <poolie> happy new year
[00:17] <lifeless> hi poolie, ditto.
[00:18] <lifeless> popping out for food, brb
[00:20] <wgrant> poolie: Did you happen to check if Lucid's python-oauth is fixed too?
[00:20] <poolie> wgrant, i did not, yet
[00:21] <poolie> francis's message led me to suspect it was already installed from an egg?
[00:21] <poolie> that was the next thing i was going to check
[00:21] <wgrant> Ah, I haven't read the MP.
[00:21] <wgrant> I'm just interested because I have been trying to remove contrib/ over the past year or so.
[00:22] <wgrant> Most of it is gone.
[00:22] <wgrant> lib/contrib/oauth should be easily removable. And we for some reason have a version of BeautifulSoup in the tree too, which should be removable.
[00:22]  * wgrant lunches.
[01:10] <StevenK> wgrant: Far too many scripts use contrib.glock :-(
[01:12] <cody-somerville> wgrant, StevenK: With today's soyuz, how difficult would it be to separate the buildd and job dispatch code into a discrete service?
[01:25] <lifeless> cody-somerville: what do you mean by that?
[01:25] <wgrant> Beat me to it.
[01:25] <lifeless> what operations would be 'buildd but not job dispatch'? And vice verca.
[01:26] <poolie> wgrant, there is a download-cache/dist/oauth-1.0.tar.gz
[01:26] <poolie> which i take to mean it's not installed from the distro
[01:26] <lifeless> no
[01:26] <poolie> istm it would be better if more stuff was
[01:26] <lifeless> that just means its in the download cache
[01:26] <wgrant> I think the "buildd and job dispatch code" is a single entity that cody-somerville wants extracted?
[01:26] <lifeless> versions.cfg and setup.py are what you need to consult
[01:26] <cody-somerville> wgrant, aye
[01:26] <wgrant> poolie: It would make sense for lots of stuff to be installed from the distro, I think.
[01:26] <wgrant> But Zope disagrees, so we disagree.
[01:26] <lifeless> poolie: to do more stuff from the distro we need to solve the concurrent version issue I've been harping on about (e.g. see debian-python mails from yesteday)
[01:27] <lifeless> wgrant: its not about zope
[01:27] <poolie> what is that, briefly?
[01:27] <poolie> multiple versions of the same python library?
[01:27] <lifeless> yes
[01:27] <poolie> or for multiple interpreters?
[01:27] <wgrant> lifeless: It is to an extent.
[01:27] <lifeless> former
[01:27] <lifeless> wgrant: if you mean not at all
[01:27] <wgrant> lifeless: Oh?
[01:28] <poolie> ... because, lp needs some things more recent than in lucid, that cannot be upgraded without breaking other packages?
[01:28] <wgrant> Zope people use buildout.
[01:28] <cody-somerville> and actually a more interesting question I have is, how difficult would it be to make the packaging building stuff (exclusively) a service? Ie. I use an API to provide a source package + chroot configuration and I get back the binaries
[01:28] <wgrant> Some other people are starting to use virtualenv, true, but it's not the way things have mostly worked in the past.
[01:28] <lifeless> poolie: because we run multiple versions of launchpad concurrently in the same machine
[01:28] <cody-somerville> *package
[01:29] <wgrant> cody-somerville: With queueing?
[01:29] <lifeless> poolie: such as when we're deploying an upgrade
[01:29] <cody-somerville> wgrant, yes
[01:29] <poolie> hm
[01:29] <lifeless> wgrant: I think you're talking about something else, I know what other zope projects do, I'm talking about what we'd need.
[01:29] <wgrant> cody-somerville: It wouldn't be horrifyingly difficult to write a job to do that. But buildd-manager still depends on most of the rest of Launchpad.
[01:29] <lifeless> poolie: wgrant: one of the first things I did as TA was analyse what we need from buildout, as part of looking to simplify things.
[01:30] <wgrant> lifeless: Most projects do not need to be locked to particular versions of libraries.
[01:30] <poolie> one way to look at this is, probably
[01:30] <lifeless> the primary thing is having dependency V1 and V2 concurrently installed as we transition
[01:30] <cody-somerville> wgrant, just the buildd is already separated out, right?
[01:30] <wgrant> cody-somerville: Right.
[01:30] <lifeless> wgrant: it only takes one.
[01:30] <poolie> if launchpad itself was packaged, you couldn't run multiple (closely related) versions concurrently
[01:30] <wgrant> lifeless: Right.
[01:30] <poolie> therefore, they should actually be in separate chroots or something
[01:31] <poolie> generally speaking debian expects you'll have just one version at a time
[01:31] <lifeless> poolie: huh?
[01:31] <lifeless> poolie: we're talking deps, you're talking application.
[01:31] <lifeless> poolie: for deps debian expects many versions in nearly every other language than python.
[01:31] <lifeless> C, C++, C#, perl (I think), ...
[01:32] <cody-somerville> wgrant, Does it have a well defined, generic API that would make it easy to just use say amazon's simple queue service and some dispatching glue code?
[01:32] <wgrant> cody-somerville: Hee hee.
[01:32] <poolie> mm i agree it would be good to support multiple versions in debian
[01:32] <lifeless> cody-somerville: we have rabbit, why would we use sqs?
[01:33] <poolie> just don't know if that should be a dependency for getting more lp dependencies packaged
[01:33] <lifeless> cody-somerville: perhaps you should talk about what you want to do, now how to do it :) It might be a more effective discussion
[01:33] <cody-somerville> wgrant, Does it have a well defined, generic API that would make it easy to just use an existing queue solution such as rabbitmq and some dispatching glue code?
[01:33] <lifeless> poolie: its not a dpeendency for getting them packaged; its a dependency for *using them from packages*
[01:34] <cody-somerville> lifeless, I am but you're getting hung up on the example I used. :P
[01:34] <wgrant> cody-somerville: My previous rofling stands.
[01:34] <poolie> that's what i meant
[01:34] <cody-somerville> wgrant, seriously? :(
[01:34] <poolie> anyhow, in this particular case, we could use the packaged version?
[01:34] <lifeless> poolie: we will be running 30 or more appservers per physical machine, I shudder at the idea of vm's or chroots in the mix.
[01:34] <wgrant> cody-somerville: It's not impossible.
[01:34] <wgrant> But probably not terribly easy.
[01:34] <poolie> or is there a general thing of keeping it in sourcecode because we might want to change it?
[01:34] <lifeless> poolie: in this case, yes.
[01:35] <poolie> where is the line?
[01:35] <lifeless> poolie: if the packaged version matches our version needs, once its remoed from contrib we should just use the package automatically.
[01:35] <cody-somerville> ffs, why don't people just trust all the books that tell you that people WILL reuse your code :-(
[01:35] <lifeless> cody-somerville: I'm not hung up on it, I don't get your use case.
[01:35] <wgrant> cody-somerville: Probably because this was written in 2004 or so :(
[01:36] <poolie> no, what i meant was, what's the policy on using the packaged version?
[01:36] <poolie> is it as simple as saying if the distro's own package is adequate, we'll use it, otherwise not?
[01:36] <lifeless> poolie: there isn't a hard one, its an engineering decision per package.
[01:36] <lifeless> I wouldn't use a high flux dependency (like bzrlib) from a package today.
[01:36] <cody-somerville> poolie, thats what we do with OEM's image build system
[01:37] <cody-somerville> poolie, we create a virtualenv and pip will only install dependencies that aren't already met by the system's site-packages
[01:38] <poolie> mm i see your point
[01:39] <poolie> in some ways it seems like a kludge not to update the bzr package and install that
[01:39] <poolie> of course it would be difficult to do staged testing then
[01:39] <poolie> i guess also it seems not quite perfectly safe to upgrade packages while they're being used
[01:40] <cody-somerville> lifeless, I want to be able to use the launchpad buildd farm directly to build source packages. ie. I use API to say I want to build this source package using this chroot configuration and it gives me back the binary packages.
[01:41] <lifeless> poolie: ignoring the link-unlink bug, the problem is that we want version 1 running while version 2 is prepped and checked
[01:41] <lifeless> poolie: and during that time, version 1 might restart (log rotation) or import a module it hadn't used before
[01:41] <poolie> right
[01:42] <lifeless> poolie: in fact, for cronscript servers, we're continually starting new processes of version1 all the way until version2 is live
[01:43] <wgrant> cody-somerville: Why?
[01:43] <lifeless> cody-somerville: ok; so you want to not-publish-into-a-ppa and you want to specify the chroot rather than it being inferred from the target ppa
[01:44] <lifeless> cody-somerville: we could certainly refactor to have a dedicated layer for that
[01:44] <poolie> assuming the python multiple version problem is solved, would you use that?
[01:44] <lifeless> poolie: I'm very keen to use more distro packages of python.
[01:44] <poolie> it seems unidiomatic to have separate package names at very fine granularity
[01:44] <wgrant> lifeless: Another requirement is custom sources.list entries.
[01:44] <poolie> but perhaps we would have stable on bzr2.2.2 and staging on bzr2.2.3
[01:44] <lifeless> wgrant: right, we'd need complete parameterisation
[01:45] <wgrant> Which is messy.
[01:45] <cody-somerville> wgrant, we already can do that
[01:45] <wgrant> cody-somerville: Not... really.
[01:45] <lifeless> cody-somerville: we inject those into the chroot, its not a different chroot
[01:45] <lifeless> cody-somerville: *you* might be willing to run with a different chroot, but lp can't sensibly.
[01:45] <lifeless> we'd have thousands
[01:46] <cody-somerville> I don't actually want to use my own chroot with my current use case, just be able to define the sources.list really
[01:46] <poolie> lifeless, i'd like to have a talk sometime today, or tomorrow
[01:47] <lifeless> sure
[01:47] <wgrant> Ideally the build farm would not really be part of LP.
[01:47] <cody-somerville> wgrant, +10000
[01:47] <lifeless> wgrant: why?
[01:47] <cody-somerville> lifeless, makes it easier to reuse the code
[01:47] <poolie> will just do a couple more chores then ping you
[01:47] <poolie> if that suits
[01:48] <lifeless> cody-somerville:  that doesn't really follow :)
[01:48] <lifeless> poolie: sure
[01:48] <cody-somerville> lifeless, it currently sounds like I'd have to setup an entire launchpad instance to reuse the code or to deploy my own instance
[01:49] <cody-somerville> lifeless, plus, the buildd farm stuff really has no need knowing anything about launchpad its self - so why make it? :)
[01:50] <lifeless> theres a bunch of opportunities we haven't capitalised on
[01:50] <lifeless> anyhow
[01:50] <cody-somerville> they can all be done at a higher level
[01:51] <lifeless> something we'd want to make all this done better would be to have web callbacks for things completing
[01:51] <wgrant> lifeless: Because Launchpad is really huge and unnecessarily monolithic. The build farm is sensibly reusable, so it is a good target for ripping out.
[01:51] <lifeless> wgrant: I'm pro that if we sort the interface out properly first
[01:51] <wgrant> lifeless: That would seem to be a requirement regardless.
[01:53] <lifeless> wgrant: The worry I have, is that if the goal is 'rip out' then sorting out the interface becomes secondary and 'good enough' often isn't.
[01:54] <lifeless> wgrant: if the priority is instead 'get a really clean interface and make use of the build farm in better ways' - and if by chance someone can extract it later, thats fine with me.
[01:55] <wgrant> lifeless: If we do not clean up the interface, there is little direct benefit to ripping it out.
[01:55] <cody-somerville> So to reveal my master plan, I know that OEM Services isn't going to run our own deployment of launchpad - we don't want to - and I know that launchpad.net isn't going to be able to meet all of OEM Services's needs while meeting everyone elses at the same time which is why I'd like to be able to build custom services that are a perfect fit for us on top of services provided by Launchpad so I don't have to reinvent the wheel o
[01:55] <cody-somerville> r duplicate resources.
[01:55] <wgrant> That is a large part of my desire to chop LP into little pieces.
[01:55] <wgrant> cody-somerville: Why can we not provide all of your needs?
[01:55] <lifeless> beat me to it this time.
[01:56] <wgrant> We should be trying to fix LP -- whatever that may entail -- before we try to work around it.
[01:56] <cody-somerville> wgrant, because you have to have the same behavior across launchpad and the desired behavior for OEM Services, Ubuntu, and upstream projects conflict.
[01:58] <cody-somerville> Plus some things won't be appropriate in Launchpad at all and you guys would hate us if we made you hack something in and we'd be angry that it wasn't maintained very well and we can't just do it all ourselves as it would duplicate part of something Launchpad does well
[01:58] <cody-somerville> ugh, not typing very well but that seems readable, yes?
[01:59] <lifeless> cody-somerville: we need all projects in lp to be consistent, we don't need distros to be the same as projects
[01:59] <wgrant> lifeless: Yes we dooooooooo.
[01:59] <wgrant> They should be the same object.
[01:59] <wgrant> Anything else is just a mess of pain and user confusion.
[01:59] <lifeless> wgrant: if we sort out project groups, sure.
[01:59] <wgrant> cody-somerville: What sort of things do you want? Your needs are not terribly unique.
[01:59] <wgrant> lifeless: Project groups are a bug.
[02:00] <lifeless> wgrant: one solution to grouping things; one I'm not terribly happy with, but not a bug per se.
[02:00] <cody-somerville> wgrant, Our needs are considerable unique.
[02:00] <lifeless> cody-somerville: will you be @ the rally?
[02:01] <cody-somerville> lifeless, No, sorry.
[02:01] <wgrant> cody-somerville: Some of your specific needs, sure.
[02:01] <lifeless> cody-somerville: I'd like to do this on specifics, not on generic statements.
[02:01] <wgrant> But your need for extensions is not unique.
[02:01] <cody-somerville> lifeless, Agreed.
[02:01] <cody-somerville> wgrant, True which is why I think its entirely possible for launchpad to make it really easy for us to build services on top of launchpad services and everyone be happy.
[02:02] <wgrant> cody-somerville: Exactly.
[02:02] <lifeless> our generic requirement to find good defaults and unconfusing extensions does not mean 'cannot mean OEM's needs'
[02:02] <wgrant> Except that you probably shouldn't be trying to run your own instances of every service.
[02:02] <wgrant> You should probably be able to integrate with Launchpad.net.
[02:03] <wgrant> (argh, I wish the code had been released as "Rocketfuel" or similar, so we didn't have "Launchpad" vs "Launchpad.net" :()
[02:03] <cody-somerville> We don't want to. For example, we want to use the launchpad buildd farm but we want to do our own upload processing. Maybe in the future Soyuz will be able to do what we want to do there but it'll be a long time out. Part of the desire to do this is to improve turn around on meeting our needs and not wanting to bloat Launchpad
[02:04] <cody-somerville> *and also
[02:04] <wgrant> cody-somerville: Why do you need to do your own upload processing? And is there a good reason to run your own build farm?
[02:06] <cody-somerville> wgrant, A good example is that we want to have the project name as the target instead of the Ubuntu release name. It would take a lot of work to make that possible in Soyuz right now but in the future, if this was our only requirement, we'd switch to using Soyuz upload processing again when it became possible.
[02:07] <cody-somerville> wgrant, I can think of no way to justify the cost of hardware for us to set up our own build farm
[02:07] <wgrant> cody-somerville: Then you probably want to integrate with the Launchpad build farm, rather than set up your own.
[02:07] <cody-somerville> wgrant, neither could the c-level execs which is why we are now using PPAs to build our packages instead of traditional debian dak buildds
[02:08] <lifeless> we're /not/ going to run multiple competing control nodes
[02:09] <cody-somerville> wgrant, Sorry if I haven't been clear. We absolutely want to which is why I was asking my previous questions about refractoring the code.
[02:09] <wgrant> cody-somerville: But you don't want it split out so you can run your own.
[02:09] <wgrant> You want to be able to inject your own things into the queue.
[02:10] <cody-somerville> wgrant, in the future, we may want to supplement our own capacity to build packages using a private farm
[02:10] <wgrant> cody-somerville: Then we can probably use builder pools.
[02:10] <wgrant> Which don't exist, but have been devised.
[02:10] <cody-somerville> wgrant, thats fine too
[02:12] <cody-somerville> wgrant, basically I just want to be able to use the buildd farm like one can use pbuilder (in terms of input and output, roughly)
[02:12] <lifeless> so devs will use it directly like that ?
[02:12] <wgrant> Right.
[02:14] <cody-somerville> lifeless, No. What I'm envisioning is that our engineers will upload the source package to our upload processor which will handle our unique constraint checks and then use launchpad API to queue it for building with the right sources.list
[02:14] <cody-somerville> then we'll poll for completed builds, download the binaries, and install them into our archive
[02:14] <lifeless> cody-somerville: so I think you've spent a bunch of time thinking about this *without us*
[02:14] <lifeless> and framed the problem as 'how to workaround launchpad'
[02:15] <lifeless> this isn't helpful :)
[02:15] <lifeless> cody-somerville: What I'd like to do is just design something that directly adds in what you need; it sounds like the first thing you need is a callback for constraint checking
[02:15] <cody-somerville> lifeless, I don't think so. I've shared exactly what I wanted out of Soyuz with the soyuz team almost two years ago.
[02:15] <wgrant> Well, thinking about how to fix Launchpad also isn't entirely helpful.
[02:15] <wgrant> This may change in January.
[02:15] <wgrant> When we are actually capable of responding to requirements.
[02:16] <lifeless> cody-somerville: its not visible to me in my TA role unless it was captured somewhere, which it doesn't seem to have been.
[02:16] <cody-somerville> lifeless, I even reiterated over it in June with Jono Lange and kiko in Lexington.
[02:16] <cody-somerville> lifeless, I don't believe you were the TA then
[02:16] <wgrant> Julian is aware of it.
[02:16] <wgrant> We are aware of it.
[02:16]  * cody-somerville nods.
[02:16] <wgrant> But this is all about to become irrelevant :(
[02:17] <lifeless> cody-somerville: I wasn't.
[02:17] <lifeless> cody-somerville: July :)
[02:18] <lifeless> cody-somerville: so polling is a performance and bandwidth hog
[02:18] <cody-somerville> lifeless, in the future we'd have web callback
[02:18] <lifeless> cody-somerville: would a callback from lp @ the constraint checking stage help you today ?
[02:19] <cody-somerville> lifeless, for some of our requirements, yes
[02:19] <cody-somerville> lifeless, but we still wouldn't be able to use the project name as the target
[02:20] <lifeless> cody-somerville: we may need more than one change to meet all your needs.
[02:20] <wgrant> cody-somerville: Why can't you use separate archives?
[02:20] <cody-somerville> wgrant, we do currently, one for each project
[02:20] <cody-somerville> wgrant, the issue is that the target has to be the Ubuntu series
[02:20] <wgrant> Is this a problem?
[02:21] <cody-somerville> wgrant, and that'll take a lot of work (pretty much rewriting soyuz) to make that work
[02:21] <wgrant> The scale of the problem depends on why it is a problem.
[02:22] <cody-somerville> wgrant, yes. engineers are forever uploading to the wrong series (and then think something is wrong and think soyuz is broken again), its more difficult to track the changes now since we have projects that inherit from other projects, and several times packages have been accidentally uploaded to Ubuntu (but were rejected for other reasons thank goodness).
[02:23] <wgrant> cody-somerville: It sounds like you want series-restricted PPAs, and probably to remove the default dput target...
[02:23] <cody-somerville> its not the dput target I'm talking about
[02:24] <cody-somerville> its the target in the changelog (which is the default value for the Distribution field in the .changes file)
[02:24] <wgrant> The dput target was for the Ubuntu part.
[02:25] <wgrant> Also, even now you can put whatever you want in the Distribution field, if you also add the series to the path.
[02:25] <wgrant> It's not that ingrained.
[02:25] <cody-somerville> re: series-restricted, sorta but I'd rather think of it like being able to create an archive and be able to configure my own suites
[02:25] <wgrant> Right. But that's a little harder.
[02:25] <wgrant> Not *terribly* difficult. But substantially harder.
[02:25] <cody-somerville> cause thats our biggest barrier to using launchpad for our archive management
[02:26] <lifeless> [02:26] <lifeless>     Hard / Soft  Page ID
[02:26] <lifeless>       92 /  266  BugTask:+index
[02:26] <lifeless>       91 / 5150  Archive:+index
[02:26] <lifeless>       41 /  263  Distribution:+bugs
[02:26] <lifeless>       26 /  114  ProjectGroupSet:CollectionResource:#project_groups
[02:26] <lifeless>       17 /   37  MailingListApplication:MailingListAPIView
[02:26] <lifeless>       13 /    4  Product:+filebug-show-similar
[02:26] <wgrant> !! I am no longer winning :D
[02:26] <lifeless>       11 /  190  POFile:+translate
[02:26] <lifeless>       11 /   12  DistroSeriesLanguage:+index
[02:26] <lifeless>        8 /    2  ProjectGroup:+milestones
[02:26] <lifeless>        8 /    2  Distribution:+builds
[02:26] <lifeless> wgrant: so are
[02:26] <wgrant> Soft timeouts don't count.
[02:27] <lifeless> yeah, they do.
[02:27] <wgrant> Shhh
[02:27]  * wgrant finds a recent oops.
[02:30] <wgrant> Oh, that's right.
[02:31] <wgrant> Last time I looked at this I noticed that there were many seconds of Python time which didn't make sense.
[02:31] <wgrant> Presumably single-threading may eliminate that.
[02:33] <lifeless> yes
[02:33] <lifeless> I've mailed flacoste asking him to bump it up now I'm back
[02:34] <wgrant> It's possible that the view is buggy, but 2.5 seconds after a 100ms query that should only return a few dozen objects seems unlikely.
[02:54] <poolie> lifeless, hi, how about now?
[02:55] <lifeless> sure
[05:28] <StevenK> subunit-filter, you make me sad and I hate you
[05:39] <lifeless> StevenK: perhaps a more constructive version of same would garner more useful responses than this
[05:39] <StevenK> lifeless: 'subunit-ls | subunit-filter --no-success' shows me a lot more than the failed tests
[05:39] <StevenK> But I still hate using subunit since it's obtuse
[05:40] <lifeless> subunit-ls does not output subunit
[05:40] <lifeless> you want subunit-filter | subunit-ls
[05:41] <StevenK> Oh, damn it
[05:41] <StevenK> The upgrade in the background played with postgres
[05:43] <StevenK> lifeless: Can I have that tell me which tests failed, without the traceback?
[05:44] <lifeless> what traceback ?
[05:44] <StevenK> Oh, it's a frinxing doctest
[08:53] <adeuring> good morning
[08:59] <bigjools> morning
[09:17] <mrevell> Hello!
[09:21] <al-maisan> Good morning
[09:33] <mrevell> Hey, I've come back after the holiday and now find that when I try to run make schema in devel I get a message asking me to run link-external-sourcecode. devel is usually the target I link to, though, so I'm a bit confused. Any ideas?
[09:35] <wgrant> mrevell: Try 'utilities/link-external-sourcecode ../../lp-sourcedeps'
[09:36] <mrevell> Thanks wgr
[09:36] <mrevell> ugh
[09:36] <mrevell> :)
[09:37] <mrevell> Seems to have done the job, thanks wgrant.
[09:37] <wgrant> Excellent.
[09:53] <mrevell> allenap, Around?
[09:53] <allenap> mrevell: Yep, what's up?
[09:54] <mrevell> allenap, Remember the egg problem I was having last year? (Couldn't find a distribution for 'testtools==0.9.8-r151'.)  I don't suppose you've got any other ideas on how I can get round it?
[09:55] <mrevell> allenap, Don't worry if you don't remember :)
[09:56] <allenap> mrevell: Mmm, I don't really remember the problem. Do you have a paste of it?
[09:57] <mrevell> allenap, Sure: http://pastebin.ubuntu.com/550154/
[09:59] <lifeless>  /win 71
[09:59] <stub> $ ls -al download-cache/dist/testtools-0.9.8-r151.tar.gz
[09:59] <stub> -rw-r--r-- 1 stub stub 83750 2010-12-07 12:34 download-cache/dist/testtools-0.9.8-r151.tar.gz
[09:59] <stub> mrevell: Does your tree have that?
[10:00]  * mrevell checks
[10:01] <lifeless> stub: hi
[10:01] <mrevell> stub, No, it doesn't. I've tried rf-setup in the hope that might pull down whatever's missing but it hasn't helped.
[10:01] <lifeless> stub: wgrant was hoping to talk to you about the archive:+index timeout bug - 400ms queries.
[10:01] <wgrant> Oh, right, forgot about that.
[10:01]  * wgrant finds an OOPS.
[10:01] <lifeless> wgrant: linked in ze bug :)
[10:01] <stub> mthaddon: cd download-cache; bzr up
[10:01] <lifeless> s/mthaddon/mrevell :P
[10:02] <stub> mrevell: ^^^ (sorry mthaddon)
[10:02] <mthaddon> np
[10:02] <mrevell> thanks stuv
[10:02] <mrevell> heh, and I failed to write your name
[10:03] <stub> mrevell: Update scripts should be doing that for you. Perhaps there is one you are not running?
[10:03] <wgrant> rocketfuel-setup should run rocketfuel-get which updates download-cache.
[10:03] <stub> Unless things are misconfigured and it is updating some random location :)
[10:04] <mrevell> stub, Ah, I'm hitting a repository format error: http://pastebin.ubuntu.com/550164/ ... I'm trying a bzr upgrade
[10:04] <wgrant> stub: https://lp-oops.canonical.com/oops.py/?oopsid=OOPS-1817D1186 <- the query count should now be constant, but the remaining queries are being rather slow.
[10:05] <wgrant> stub: Any suggestions?
[10:06] <stub> NoScript update thinks Ubuntu SSO is doing XSS.
[10:07] <wgrant> It probably is.
[10:07] <stub> wgrant: I think we are going to need to eliminate those big IN (list, of, constants) - they used to benchmark fairly well (years ago) but that seems to be the common factor on the slow queries.
[10:08] <wgrant> stub: :(
[10:08] <lifeless> stub: really?
[10:08] <stub> I don't know - just my spidey sense.
[10:08] <lifeless> stub: thats going to play havoc with complex datasets
[10:09] <lifeless> (because prejoining across many tables performs terribly in storm due to deserialisation overheads and cache-replacement-thrashing)
[10:09] <stub> Some unions in there that look suspicious too
[10:10] <stub> And those tables have been getting pretty darn big now we have several whole distro releases in there.
[10:14] <stub> ((seven table join with unnecessary ORDER BY) UNION (five table join with unnecessary ORDER BY)) ORDER BY id
[10:15] <stub> (query 22 at over 1s)
[10:21] <lifeless> gnight
[10:21] <stub> lifeless: We shouldn't have cache replacement issues - the appserver runs with a big cache (10,000). And if that isn't big enough, we can spare some more RAM.
[10:21] <stub> (storm cache that is - the current config specifies size 10000 and generational cache for the appservers.
[12:02] <deryck> Morning, all.
[12:02] <deryck> Happy New Year!
[12:06] <bigjools> Merry New Year!
[13:53] <bac> hi deryck
[13:53] <deryck> hi bac
[13:53] <bac> deryck: hope you had a good break.
[13:53] <bac> deryck: i've got a question for you about QA and bug mail
[13:54] <deryck> bac: indeed, a wonderful break.  Thanks!  and hope your's was good.
[13:54] <deryck> bac: sure, shoot.
[13:54] <bac> so i need to qa the fix for bug 579502
[13:54] <_mup_> Bug #579502: Do not send notifications to registrants (and never if the pillar does not use bugs) <bugjam2010> <lp-bugs> <qa-needstesting> <story-better-bug-notification> <Launchpad itself:Fix Committed by bac> < https://launchpad.net/bugs/579502 >
[13:55] <bac> but bugmail does not appear to be sent from qastaging
[13:55] <bac> and, if i remember what sinzui said yesterday, it isn't sent by staging either
[13:55] <deryck> bac: I thought qastaging mail was sent to the staging mailbox.
[13:55] <bac> deryck: so can you give me some advice on how to QA a bug mail branch?
[13:56] <deryck> bac: we usually do some action, have losas run the send bugmail script, and then check the mail in the staging mailbox.
[13:56] <bac> deryck: really?  sinzui indicated there was a separate qastaging@ mailbox...but the mail sending script wasn't being run
[13:56] <deryck> mail isn't sent via cron, so you need a losa.
[13:56] <bac> deryck: ok, so the script is run on demand?
[13:56] <bac> well, then, that's the missing link
[13:56] <deryck> bac: right.  and I wasn't aware of a separate mailbox, but maybe that's the case now.
[13:57] <bac> deryck: thanks.  those are two good pieces of ammo to move forward!
[13:57] <deryck> bac: np!
[14:53] <jcsackett> henninge: ping.
[14:54] <henninge> Hi jcsackett! ;)
[14:54] <jcsackett> hi, henninge. i was wondering how the qa on recife was going?
[14:55] <henninge> jcsackett: still ongoing but looks good. ;)
[14:55] <jcsackett> henninge: cool, thanks. :-)
[16:18] <bigjools> anyone know if there's a bug filed about the screwy branch diff overlay?
[17:06] <deryck> bigjools: there's one filed about it being too wide on bug pages
[17:07]  * gmb EoDs.
[17:07] <bigjools> deryck: ah I don't think that's the same.  The top of it is off the page for me, and on Chromium it's not even formatted properly.
[17:07] <bigjools> for the latter, it takes up the whole page
[17:08] <deryck> bigjools: the bug I'm think of was Chromium specific, so maybe related then.  but nothing about those issues specifically that I recall.
[17:39] <bigjools> bac: thanks for fixing that has_*_ppa stuff!
[17:39] <bac> bigjools: np.
[18:48] <lifeless> flacoste: We're popping into the hospital this morning, in about 2 hrs for $unknown-duration
[18:48] <lifeless> flacoste: if there's anything more you want to discuss before then would be good :)
[18:49] <flacoste> lifeless: nope, we are good
[20:16] <thumper> morning
[21:35] <maxb> Is there any systematic distinction between lp.code and lp.codehosting ?
[21:52] <mwhudson> maxb: ish
[21:52] <maxb> do tell :-)
[21:53] <mwhudson> i guess you could say that lp.code is the code for the code tab in the webapp
[21:53] <mwhudson> lp.codehosting is for the stuff that deals in bzr branch data
[23:20] <lifeless> mwhudson: / thumper: either of you aware of any reason we can't move from internal-xmlrpc to apis for the code* stuff?
[23:21] <mwhudson> lifeless: there are some that shouldn't be accessible from the wider world
[23:21] <mwhudson> and it would be nice to do authentication more tidily, but that's a bit orthogonal really
[23:21] <lifeless> mwhudson: why not?
[23:21] <lifeless> I mean
[23:21] <lifeless> should they be limited to some service account
[23:22] <lifeless> and we simply don't use from outside
[23:22] <lifeless> or would they be an actual problem if the outside used it even on the service acocunt?
[23:24] <mwhudson> i think limiting to a service account would be ok
[23:24] <lifeless> I'd like to get rid of the internal xmlrpc 'cluster'
[23:24] <lifeless> it requires manual load balancing and complicates haproxy substantially
[23:34] <poolie> i'd like to change bzr to stop using external xmlrpc too
[23:35] <lifeless> the anonymous lp-api interface should permit a crafted url with no indirection.
[23:35] <lifeless> if we bypass all the restful overhead, it should be tolerably fast
[23:39] <lifeless> sinzui: what teams use polls?
[23:40] <wgrant> ~ubuntumembers has in the past.
[23:40] <wgrant> For CC elections.
[23:40] <lifeless> well, its coming back is all
[23:40] <wgrant> Recent DMB elections have used an external Condorcet service, though.
[23:40] <lifeless> yes, I know.
[23:40] <lifeless> wgrant: I'm asking sinzui because of his MP
[23:41] <wgrant> It is tempting to restrict them by FF to grandfather them for certain teams.
[23:41] <wgrant> But that sounds difficult.
[23:41] <lifeless> pretty easy
[23:42] <lifeless> however hard to explain