[00:00] <wgrant> Blah, smartmeter installation
[00:00] <wgrant> No power for an hour
[00:01] <wallyworld> you have solar?
[00:01] <wgrant> No
[00:01] <wallyworld> i only got my smart meter because i got solar
[00:01] <wgrant> They're replacing them nation-wide eventually. And state-wide now
[00:29] <bigjools> wgrant is going to feel like he's had an arm cut off with no interwebs
[00:36]  * StevenK peers at Jenkins
[00:43] <wallyworld> wgrant: StevenK: +7/-4 https://code.launchpad.net/~wallyworld/launchpad/edit-sharing-policies-1040336/+merge/120894
[00:43] <StevenK> You can't keep but add lines :-P
[00:44] <wallyworld> i know :-(
[00:44] <wallyworld> little choice here though
[00:47] <StevenK> wallyworld: r=me, with one thing to keep in mind.
[00:47]  * wallyworld looks
[00:47] <wallyworld> thanks
[00:48] <wallyworld> StevenK: i looked at the other choice source popups which have descriptions (there are only a few on bugtask), and they are all ok
[01:17] <StevenK> wgrant: BAH, tharwted by your factory.makeBug(target=) rather than product=
[01:31] <wgrant> StevenK: Oh?
[01:34] <StevenK> wgrant: Muscle prompted makeBug(product=product)
[01:34] <StevenK> Muscle memory, rather
[01:53]  * wallyworld needs to go buy coffee. !caffeine [01:54] <bigjools> see you in 5 :)
[02:46] <StevenK> Hmmm, wasn't test_getAllPermissions_constant_query_count failing about a week ago?
[03:24] <wgrant> StevenK: Yes
[03:42] <StevenK> wgrant: It failed in my destruction of security_contact with 19 != 20
[03:44] <wgrant> Hmm
[03:47] <StevenK> Hmm, it may not be failing locally.
[03:48] <StevenK> wgrant: I can paste the query log from the ec2 failure if you wish.
[03:56] <wgrant> Probably spurious
[03:56] <wgrant> Land :)
[03:59] <StevenK> wgrant: Hmmm, I may have introduced an unintended change.
[03:59] <StevenK> I think that the bug supervisor will be subscribed to private bugs.
[03:59] <StevenK> Er, PRIVATESECURITY bugs
[03:59] <wgrant> That would be bad
[04:02] <StevenK> Right, the bug supervisor is subscribed to PRIVATESECURITY bugs if the pillar has private_bugs.
[04:02] <StevenK> Still bad?
[04:04] <wgrant> If it's a regression, yes.
[04:04] <wgrant> But it might not be
[04:06] <StevenK> wgrant: In createBug it used to be if information_type in SECURITY_RELATED, grab security_contact, else if pillar.private_bugs, grab the bug_supervisor
[04:07] <wgrant> Hum hum
[04:08] <wgrant> I'd restore the old behaviour
[04:08] <wgrant> Subscribe the supervisor if pillar.private_bugs and it's not in SECURITY_RELATED
[04:08] <StevenK> RIght
[04:18] <StevenK> wgrant: xx-upstream-bug-privacy.txt is also dumb. I had to change it from name12 to name16 because name12 was no longer subscribed
[05:03] <StevenK> wallyworld, wgrant: https://code.launchpad.net/~stevenk/launchpad/sanity-for-rafa/+merge/120912
[05:06] <wallyworld> StevenK: i think it looks ok. i think we want a business exception rather than a ValueError though
[05:07] <wallyworld> actually, the logic may be a bit out
[05:08] <wallyworld> ah, no, ok
[05:11] <StevenK> wallyworld: Happy to do so, I just couldn't think of a name, so went for ValueError
[05:11] <wallyworld> yeah, i'm not sure if we have one already
[05:12] <StevenK> raise SharingViolation("wgrant is very displeased with you.")
[05:12] <wallyworld> it's more a SharingIntegrityError perhaps?
[05:14] <StevenK> wgrant: ^
[05:16] <wgrant> I think an assertionerror is probably correct
[05:16] <wgrant> It's not a valueerror or typeerror
[05:16] <wgrant> something is just broken
[05:16] <wgrant> It certainly doesn't deserve its own Exception subclass
[05:17] <wgrant> It'll hopefully never happen
[05:17] <StevenK> Oh, then I'll just assert
[05:17] <wgrant> No
[05:17] <wgrant> Do not just assert
[05:17] <wgrant> Raise AssertionError
[05:17] <wgrant> asserts are skipped sometimes, eg if running optimised
[05:17] <wgrant> Which we don't but still
[05:17] <wgrant> We prefer to raise AssertionError explicitly for important sanity checks, I believe
[05:26] <wallyworld> StevenK: i should have asked this up front sorry - could we include the info type in the message? not sure if we want to list the pillar names also?
[05:27] <StevenK> Hmmm
[05:28] <StevenK> Just trying to figure out how to phrase it
[05:28] <wgrant> raise AssertionError("oh shit") :)
[05:28] <StevenK>         raise AssertionError("All pillars require access policies.")
[05:28] <wallyworld> It's more for us so we can look into the problem easier
[05:28] <StevenK> Which is what I have now.
[05:29] <wgrant> Right
[05:29] <wgrant> So a list of pillars and APs might be useful
[05:29] <wallyworld> These pillars (ccc, xxx, ccc) required access policies for information type xxxx but do not have one
[05:29] <wallyworld> s/required/require
[05:29] <wallyworld> or something
[05:29] <StevenK> Well, I don't know which one is missing, I just know one is.
[05:30] <wallyworld> you can figure out which one(s)
[05:30] <wallyworld> the returned polices have pillars
[05:30] <wallyworld> and compare that to the pillars parameter
[05:45] <StevenK> wallyworld: http://pastebin.ubuntu.com/1162099/
[05:47] <wallyworld> StevenK: look good. perhaps  ", ".join(...
[05:47] <StevenK> wallyworld: http://pastebin.ubuntu.com/1162104/
[05:47] <wallyworld> StevenK: great, thanks for the changes. +1 from me
[05:56] <StevenK> wallyworld: Pushing it up now, since I got distracted.
[05:56] <wallyworld> that's ok, i already +1
[05:56] <StevenK> Yeah, I just saw, thanks.
[07:44] <adeuring> good morning
[08:29] <cjwatson> StevenK: I thought I'd testfixed test_getAllPermissions_constant_query_count.
[08:29] <cjwatson> StevenK: Try sticking an extra list(self.main_archive.getAllPermissions()) before the record_two_runs call and see if that tickles it into appearing locally.
[08:31] <StevenK> cjwatson: So far, I'm ignoring it hoping that buildbot doesn't get infected.
[08:33] <cjwatson> The previous failure depended on test ordering.
[08:33] <cjwatson> I'll be away for the next week, so your problem to fix it if it breaks. :-P
[08:34] <czajkowski> heh
[08:37] <czajkowski> cjwatson: random non LP question.  when I plug my laptop into charge, it does start to charge, however the screen brightness doesnt change, if I reboot machine it picks this up, any ideas ?
[08:38] <cjwatson> No idea.  Not a kernel guy
[08:38] <czajkowski> cjwatson: you're also not a LP guy either but know a fair deal, so just thought I'd chance my arm :)
[08:38] <cjwatson> The kernel is a total blind spot for me
[08:52] <bigjools> czajkowski: check to see if the acpi events are picked up in scripts in /etc/acpi/
[08:52] <bigjools> night all
[08:52] <czajkowski> bigjools: nn
[08:52] <czajkowski> will do
[13:58] <sinzui> sorry wallyworld. I see you have discovered that anything that adds a reference to the Person table require code to manage merges
[14:00] <rick_h_> deryck: abentley adeuring I forgot to ask int he stand up, any JS issues? Thinking of flipping 3.5.1 for ~launchpad?
[14:00] <abentley> rick_h_: I haven't noticed any issues.
[14:00] <adeuring> rick_h_: i haven't noticed any
[14:00] <deryck> rick_h_none that I've found
[14:01] <rick_h_> ok thanks
[14:01] <rick_h_> deryck: any reason to hold off on increasing the range on the FF then?
[14:01] <rick_h_> I think we've been on it 1.5wk
[14:02] <deryck> rick_h_no, I think it's safe.  flacoste, any concerns about turning lp on to yuk 3.5 for everyone on launchpad?
[14:02] <deryck> yui rather
[14:03] <sinzui> deryck: JFDI. We can always change the flag if we are proven wrong
[14:04] <deryck> sinzui, ah, good advice.  Thanks :)
[14:04] <deryck> rick_h_^^
[14:04]  * sinzui wishes how could say the same about sharing flags
[14:04] <rick_h_> ok, will do
[14:14] <sinzui> jcsackett: once again fate pulls the chair out from under sharing
[14:15] <jcsackett> sinzui: oh no.
[14:15] <sinzui> jcsackett: Lp still does not permit structural subscriptions on ubuntu. It is not possible for the security team to subscribe to private security in ubuntu
[14:17] <jcsackett> sinzui: can we rectify that? what is/was the reason for no structsubs on ubuntu?
[14:17] <sinzui> I have hacked a url: https://bugs.launchpad.net/ubuntu/+subscriptions
[14:20] <jcsackett> sinzui: so it's possible, we just don't have the UI in place?
[14:21] <sinzui> jcsackett: I do not have permission to compete the change
[14:21] <jcsackett> sinzui: ah, yes. i just did that same experiment.
[14:21] <sinzui> So the question, is, If a webops did that, can he select the ubuntu-security, and can he save
[14:23] <sinzui> Well, I will try this in a dev instance to verify if the security contact role role can create its own subscription
[14:23] <sinzui> then I will try admin
[14:23] <sinzui> then I will ponder the value of going on immediate vacation
[14:27]  * jcsackett laughs
[14:27] <sinzui> bugger. Dev permits anyone to subscribe to ubuntu
[14:27] <sinzui> Ubuntu is configured different;y in production
[14:27] <jcsackett> oh goody.
[14:35] <flacoste> deryck: +1 to what sinzui said
[14:38] <sinzui> gary_poster: benji: gmb: bac: can any of you remember what controls/blocks structural subscriptions on Ubuntu? Alas our own stories in dev show it can be done. I think a config option is preventing me (well I want ubuntu-security team) from creating a subscription to all private security bugs in Ubuntu
[14:40] <gary_poster> sinzui, I don't but maybe if I tried to duplicate what you want to do it would ring a bell.
[14:42] <sinzui> gary_poster: there is not link to subscribe to bug on ubuntu. not on the front page or on the bugs page. I can hack the url https://bugs.launchpad.net/ubuntu/+subscriptions and I can say what I want, but I get permission denied on save
[14:42] <sinzui> http://people.canonical.com/~curtis/configure-ubuntu-security-notifications.png
[14:43]  * benji hears bells far, far in the distance.
[14:45] <gary_poster> sinzui, I duped.  ISTR something hard coded about subscribing to all ubuntu bugs. I don't think we touched it, and I could be making it up.  IOW, I'm not much help.
[14:45] <sinzui> gary_poster: Indeed that is what I thought...but our dev instance lets me do it. I think I will try API or SQL to prevent ubuntu-security from getting a regression
[14:46] <wgrant> sinzui: Looks like you need to be in the bug supervisor
[14:46] <wgrant>         if IDistribution.providedBy(self) and self.bug_supervisor is not None:
[14:46] <wgrant>             if subscriber is None or subscribed_by is None:
[14:46] <wgrant>                 return False
[14:46] <wgrant>             elif (subscriber != self.bug_supervisor
[14:46] <wgrant>                 and not subscriber.inTeam(self.bug_supervisor)
[14:46] <wgrant>                 and not subscribed_by.inTeam(admins)):
[14:46] <sinzui> ah, thank you
[14:46] <wgrant>                 return False
[14:46] <wgrant> Oh, not just you, but the subscriber
[14:46] <wgrant> I suspect an admin will have to do it through the API
[14:47] <wgrant> Except ubuntu-security is in ~ubuntu-bugcontrol
[14:47] <sinzui> fab
[14:47] <wgrant> So an ~ubuntu-security admin can probably do it
[14:47] <sinzui> They can do it.
[14:47] <sinzui> I will show them my picture of what I recommend
[14:49] <jcsackett> sinzui: so we can pick the chair pack up for sharing?
[15:15] <sinzui> jcsackett: anyone with a clear head actually. wallyworld set a pre-emptive testfix to rollback a bad revision in db-devel. But since buildbot was running, it was ignored. Do I want to force a build to land a trivial testfix change to make the buildbot restart
[15:17] <jcsackett> sinzui: i think so, yes. i mean, right now db-devel buildbot isn't running, right?
[15:17] <sinzui> not running
[15:29] <sinzui> ^ jcsackett does forcing a build pul the latest revision? if not I want to land a trivial testfix change to poke buildbot
[15:29] <jcsackett> sinzui: i think you're right. forcing doesn't pull, it just restarts the known build.
[15:29] <sinzui> okay. I will find a trivial text change to act as the test fix.
[15:43] <sinzui> flacoste: Do you approve enabling writable sharing for everyone in production? https://pastebin.canonical.com/72918/
[15:43] <flacoste> sinzui: of course!
[15:43] <sinzui> This is just a formality
[15:58] <sinzui> flacoste: sharing is one for everyone. I am making change to /launchpad now to repeat my qastaging activities to very all is well
[15:59] <flacoste> \o/
[16:03] <sinzui> ha, yes, I can finally get rid of all the deactivated user and structural subscription spies on ~launchpad's projects
[16:04] <lifeless> sinzui: congrats
[16:05] <sinzui> wtf? lifeless baby alarm go off?
[16:06] <sinzui> I think I could celebrate by writing a api script that will share with a team, then unshare with the team members to cleanup any project's shares
[16:09] <lifeless> sinzui: lifeless' alarm baby went off
[16:09] <lifeless> Its like a baby alarm but organic.
[16:13] <sinzui> :0
[16:13] <sinzui> :)
[19:44] <cody-somerville> What is the 'findReferencedOOPS' API call on projects about?
[21:09] <lifeless> cody-somerville: it finds reference OOPS.
[21:09] <lifeless> cody-somerville: OOPS that are not referenced are gcable by oops-tools.
[21:10] <lifeless> if we had a generic fast RE engine across all project content, that method could go.
[21:13] <cody-somerville> lifeless, What does it mean for an OOPS to be 'referenced' in this context though? I didn't think Launchpad itself stored information about OOPs?
[21:14] <lifeless> If the text OOPS-123456 etc is in a text field in an asset relevant to the project.
[21:15] <cody-somerville> ah, ok. So if someone mentions an OOPS in, for example, a bug report?
[21:16] <lifeless> yes
[21:17] <lifeless> oops.c.c sees I dunno, 40/50K per day
[21:17] <lifeless> we toss most
[21:17] <lifeless> ones folk put in bugs we keep
[21:17] <lifeless> we keep them long enough for short term datamining
[21:17] <lifeless> just long term we toss
[21:17] <lifeless> after (IIRC) 5 days
[21:18] <cody-somerville> Ok, Cool.
[21:42] <sinzui> does anyone know if there is a team representing former canonical staff?
[21:45] <sinzui> I have written a script that shares a project with a team, the revokes the direct access for the team members so that it is easy convert from subscriptions to shares
[22:07] <jcsackett> sinzui: https://code.launchpad.net/~jcsackett/launchpad/kill-lazr-1/+merge/121079
[22:12] <lifeless> sinzui: there is
[22:14] <lifeless> http://lmgtfy.com/?q=launchpad+not+canonical :P
[22:21] <sinzui> thank you lifeless
[22:21]  * mwhudson learns from that about a couple of people who've left...
[22:36] <cjwatson> not-canonical includes people who never were