[09:23] Hello! [09:24] Does anyone know if I could get a person's upload permissions through launchpad API somehow? [09:24] Since I'm afraid it's not exported to LP in any way [09:25] sil2100: Sure, though you can only get them on a per-archive basis. See for example the edit-acl tool in lp:ubuntu-archive-tools. [09:25] wgrant: excellent news then, that's exactly what I would need [09:25] Let me look it up [09:25] But if you just want to check whether someone can upload a package, use archive.checkUpload instead. [09:25] Thanks! [09:26] * sil2100 likes when things are so easy [09:28] Yeah, checkUpload seems like the perfect thing, I can just use it when someone will perform an upload for all packages in a silo [09:29] Please don't try to reimplement the upload permission logic yourself. If checkUpload doesn't do exactly what you need, we should adapt it to avoid security issues. [10:17] Indeed, archive.checkUpload is IIRC what I suggested in Malta when somebody asked in a CI Engine session about checking this externally. [17:34] wgrant: What do you think of this layout? http://people.canonical.com/~cjwatson/tmp/new-builders.png [17:36] wgrant: My thinking is that, once scalingstack builders can dispatch both i386/amd64/armel/armhf/arm64 virt and i386/amd64 non-virt, the heading row above them can be two lines and read "Non-virtual: i386 amd64\nVirtual: i386 amd64 armel armhf arm64" [17:36] wgrant: This sacrifices table sorting, but honestly that was mostly a footgun on that page anyway; "oh, I clicked somewhere random, oh god where did all the builders go, reload page" [18:01] Hm, might shuffle the names right a little bit and give the icons their own column back. They don't have much mnemonic value, but I do find they help break things up visually a bit. [18:04] And I hate that sampledata has "386". But you get the general idea. [18:08] It's a bit non-semantic-web given that it's blatantly tables-for-layout, with the artificial rows. But it's that or multiple tables, I think, and then we have to deal with keeping column widths the same. [18:17] seems to style a bit nicer for this. Updated that image [18:46] Also have started on the Processor etc. changes needed [18:46] But EOW now, have a good weekend all [20:30] cjwatson: I don't think they should be labeled as non-virtual at all. [20:31] Rather the x86 Processors have a flag that says they are never virtualised. [20:31] Er, always. [20:39] (but yes, that's roughly how I think the page should look. It may make sense to have filtering, but it's not critical and still much easier to scan) [21:32] wgrant: to be clear, that screenshot's with the current model; I'm thinking of that as something we could do straight away, that's easier to adapt to the new model [21:34] I was indeed planning to add Processor.always_build_virtualized - that seems the natural approach [21:35] cjwatson: Right. I'm wondering how that interacts with DAS.supports_virtualized. [21:35] It probably doesn't change the semantics of Processor.restricted. [21:40] Why was that on DAS to begin with? [21:41] cjwatson: Only some distributions support PPAs, and we used to not enable PPAs for new distroseries until they were usable. [21:42] Distribution now has a flag that could be used to forbid PPA uploads, and new distroseries are less of an issue nowadays. [21:49] Mm. This is about builder dispatch rather than whether it's a PPA, though. [21:49] (But yeah, those two used to be conflated.) [21:52] BinaryPackageBuildSet._getAllowedArchitectures filters out cases where DAS.supports_virtualized and Archive.require_virtualized contradict, so perhaps it would be logically consistent to behave similarly here. [21:52] That is, if the build farm is set up so that we only do virtual builder dispatch for a processor, and DAS.supports_virtualized is false, you just don't get builds. [21:52] Or they never get dispatched. [21:53] The _getAllowedArchitectures semantics would be that you don't get builds at all, I guess. [21:54] They still are conflated to some extent, so the flags are relevant for discussing how this changes things. [21:55] It may make sense to abolish supports_virtualized. [21:56] The unsupported distro filter could then use distribution.official_packages or distribution.supports_ppas. [21:57] The unsupported distro filter could then use distribution.official_packages or distribution.supports_ppas. [21:57] Er, Processor needs supports_virtualized and only_virtualized, or supports_virtualized and supports_nonvirtualized. [21:58] I think it makes sense to have a consistent virtualisation setting on the BuildQueues for a single Archive. [21:58] That is, the flag indicates whether virtualisation is *required*. [21:58] But for Processors with only_virtualized, virtual builders search for non-virtualised builds too.