[09:15] <wgrant> 07:55:29 < wgrant> rockstar: Hm, why was I dropped from the queue?
[09:15] <wgrant> Er.
[09:15] <wgrant> Didn't mean to paste that bit.
[22:27] <rockstar> sinzui, might you be around for a quick review?
[22:30] <rockstar> EdwinGrubbs, maybe you?
[22:30] <EdwinGrubbs> rockstar, sure
[22:30] <rockstar> EdwinGrubbs, cool, sending your way now.
[22:35] <rockstar> https://code.edge.launchpad.net/~rockstar/launchpad/no-arm-recipe-build/+merge/25364
[22:35] <rockstar> EdwinGrubbs, ^^
[22:43] <EdwinGrubbs> rockstar, what code looks at the SourcePackageRecipeBuild.processor and decides whether to use the ARM builder
[22:43] <rockstar> EdwinGrubbs, it happens when creating the BuildQueue.  One sec.
[22:44] <rockstar> EdwinGrubbs, see lp.buildmaster.models.buildbase:422
[22:45] <rockstar> It creates the BuildQueue with processor=specific_job.processor
[22:45] <rockstar> So what I do is make sure that specific_job.processor points to an actual processor for the distroseries, and is not None.
[22:45] <rockstar> Using None means "use whatever's available"
[22:46] <rockstar> Which was safe until we got an ARM builder.
[22:48] <EdwinGrubbs> rockstar, I guess there are other tests to ensure that the Builder actually checks the processor in the BuildQueue.
[22:49] <rockstar> EdwinGrubbs, well, I'd assume that as well.  If the builders weren't honoring processor, we'd have a lot more other problems.
[22:50] <rockstar> EdwinGrubbs, I'm almost sure there are tests, because I remember working on some of them at our Wellington sprint with the soyuz folk.
[22:51] <wgrant> See lp.buildmaster.tests.test_builder. There's quite a bit of it there.
[22:51] <wgrant> And yes, if it didn't work then the build farm would explode even more than it did yesterday.
[22:51] <rockstar> wgrant, :)
[22:55] <EdwinGrubbs> rockstar, wgrant: how do we know that the distroseries.nominatedarchindep attribute will have x86 as its processor family?
[22:56] <wgrant> EdwinGrubbs: This whole thing is a hack.
[22:56] <rockstar> EdwinGrubbs, we don't really, but if the distroseries isn't set up properly, more things would break than just this.
[22:57] <wgrant> It will be superseded by proper restrictedness checks later.
[22:57] <rockstar> wgrant, right.  The real solution is in Soyuz's hands.
[22:57] <wgrant> And yes, I don't think we've worked that out yet. We've discussed a few possibilities.
[22:58] <EdwinGrubbs> rockstar, wgrant: I guess I don't understand why you don't just return Processor.select(id=1) if it's a hack anyway.
[22:59] <rockstar> EdwinGrubbs, because we want to make sure we're honoring the distroseries.
[22:59] <rockstar> EdwinGrubbs, bigjools said I should use it this way.
[22:59] <rockstar> (And it made sense to use the data already available)
[22:59] <rockstar> EdwinGrubbs, here's danilo's CP candidate that fixes a similar issue: https://code.edge.launchpad.net/~danilo/launchpad/bug-580016/+merge/25293
[22:59] <EdwinGrubbs> rockstar, so we have different distroseries for ARM?'
[23:00] <rockstar> EdwinGrubbs, I don't think so, but it's not the default_processor - Also, ARM is really only for OEM ATM.
[23:04] <EdwinGrubbs> rockstar, well, since it's temporary it should be fine. If we don't have different distroseries for ARM, then I think the property is misleading, because it will always choose x86. My understanding of the problem is that some of the archindep packages really are dependent on the architecture. So, r=me ambivalently.
[23:05] <rockstar> EdwinGrubbs, we want it to always choose x86 for SourcePackageRecipeBuildJobs
[23:05] <rockstar> EdwinGrubbs, yeah, it's not really as "archindep" as we say.
[23:05] <rockstar> EdwinGrubbs, thanks.
[23:07] <wgrant> EdwinGrubbs: So, we have an armel distro*arch*series in multiple distroseries.
[23:08] <wgrant> Each distroseries has a set of architectures. These are generally inherited from the series' parent, resulting in the creation of a set of new DASes.
[23:08] <wgrant> So there are generally several distroarchseries for any particular architecture.
[23:08] <wgrant> nominatedarchindep is the architecture on which we will build architecture independent package components.
[23:09] <wgrant> (and we now reuse it for truly architecture-independent builds. but we should probably stop that now that armel is in the picture)
[23:09] <rockstar> In the case of Lucid, there's no lpia arch series, but there is an ARM arch series
[23:13] <wgrant> Right.
[23:13] <wgrant> We occasionally drop or gain an arch, but they are largely preserved betwen series.