[00:02] <davecheney> lucky(~/src/launchpad.net/juju-core) % time juju status
[00:02] <davecheney> machines:
[00:02] <davecheney>   0:
[00:02] <davecheney>     agent-version: 1.9.2
[00:02] <davecheney>     dns-name: ec2-54-252-34-17.ap-southeast-2.compute.amazonaws.com
[00:02] <davecheney>     instance-id: i-b9c8ac83
[00:02] <davecheney> services: {}
[00:02] <davecheney> real    0m6.679s
[00:02] <davecheney> user    0m0.148s
[00:02] <davecheney> sys     0m0.020s
[00:02] <davecheney> much better
[00:36] <davecheney> wow, m1.smalls are slow, my arm host can compile faster than it
[08:05] <davecheney> evenin'
[08:06] <davecheney> why is thunderbird so crap ?
[08:06] <davecheney> i could possibly do a better job screaming into an acoustic modem
[08:08] <TheMue> morning
[08:09] <davecheney> hmm, a dopleganger
[08:10] <TheMue> davecheney: hi, original ;)
[08:38] <davecheney> https://codereview.appspot.com/6853048/
[08:38] <davecheney> https://codereview.appspot.com/6846050/
[08:38] <davecheney> 2nd is trivial
[08:38] <davecheney> 1st i feel is straight forward
[08:38] <davecheney> but so few things in this world at these days
[08:55] <rogpeppe> davecheney: 1st LGTM
[08:56] <davecheney> rogpeppe: ty
[08:56] <rogpeppe> davecheney: it seems a pity we have to duplicate all the charm code for a single word change, but i guess that's where we're at
[08:56] <davecheney> didn't think there would be much debate about that one
[08:56] <davecheney> rogpeppe: i could probably do some symlink shenanigans
[08:56] <davecheney> maybe I don't need to duplicate it
[08:56] <davecheney> the charms don't seem to care about their names
[08:57] <davecheney> i've been hapily putting precise charms on quantal all day
[08:57] <rogpeppe> davecheney: i know - it's not surprising, there's actually very little difference between series
[08:57] <davecheney> rogpeppe: having said that, we do need a separate hook/install for each different build of mongo-2.2.0 we do
[08:57] <davecheney> see my email
[08:57] <davecheney> i thought that the logic to choose a vesion of mongo was the same as the toos
[08:58] <davecheney> tools
[08:58] <rogpeppe> davecheney: 2nd CL LGTM too
[09:00] <rogpeppe> davecheney: what's wrong with uploading the version of mongo build for quantal as version 2.2.0 ?
[09:00] <rogpeppe> davecheney: isn't it built from the same source code as the precise build?
[09:01] <rogpeppe> davecheney: and therefore justifies the same version number?
[09:01] <davecheney> it comes from my years as a build engineer
[09:01] <davecheney> you can't reuse a release number
[09:01] <davecheney> not having that 4th digit is the same as reusing juju-core-1.9.2
[09:01] <davecheney> without a -$BUILD suffix
[09:02] <davecheney> you have two things in the world with the same name, that are actually different
[09:02] <davecheney> in this case mongo-2.2.0-quantal-amd64 was not actually that
[09:02] <davecheney> it was renmaed from the precise version
[09:02] <davecheney> so to replace it with the real one compiled on quantal felt wrong
[09:02] <davecheney> not to mention was subject to http caching nonsense
[09:17] <davechen1y> rogpeppe: could i trouble you to putyour LGTM for ap-southeast-2 in writing
[09:17] <davechen1y> for some reason it didn't stick
[09:17] <rogpeppe> np
[09:17] <davechen1y> a
[09:17] <davechen1y> ta
[09:18]  * davechen1y goes to fix the long broken golang-src PPA's
[09:18] <rogpeppe> davechen1y: done
[09:18] <davechen1y> ta muchly
[09:19] <TheMue> davechen1y: Twice LGTM
[09:19] <davechen1y> that zone is ~30 ms away from me
[09:19] <davechen1y> but the cloud archives are being served from the UK for the moment
[09:19] <davechen1y> which makes cloudinit sucky
[10:28] <davechen1y> rogpeppe: in rc
[10:28] <davechen1y> is there an unset ?
[10:28] <davechen1y> ie, unset GOMAXPROCS ?
[10:28] <rogpeppe> davechen1y: x=()
[10:29] <rogpeppe> davechen1y: (the empty list is equivalent to unset)
[10:29] <davechen1y> $GOROOT/src/run.rc:46
[10:29] <davechen1y> so I can do GOMAXPROCS=
[10:29] <rogpeppe> GOMAXPROCS=()
[10:29] <rogpeppe> hold on
[10:30] <rogpeppe> yeah, that works
[10:30] <davechen1y> inside that subshell type thing ?
[10:30] <rogpeppe> or should do
[10:31] <davechen1y> related: windows batch files are hard
[10:31] <rogpeppe> davechen1y: yeah, @{} is equivalent to () in sh
[10:31] <rogpeppe> davechen1y: ha
[10:31] <rogpeppe> davechen1y: paste me the rc script before you submit it and i'll give it a once-over
[10:32] <davechen1y> rogpeppe: https://codereview.appspot.com/6847050
[10:32] <davechen1y> this has come up a few times before
[10:33] <davechen1y> but fullung keeps nagging me about it
[10:34] <rogpeppe> davechen1y: i guess the rc script should probably call the api checking tool like the others too
[10:35] <rogpeppe> davechen1y: BTW GOMAXPROCS=0 is probably equivalent to unset
[10:36] <davechen1y> rogpeppe: the sad thing is Uriel made a C version of run.bash
[10:36] <davechen1y> but it got shot down
[10:37] <rogpeppe> davechen1y: the rc script should do @{ ... } || exit $status, but that's for another CL
[10:38] <rogpeppe> davechen1y: yeah, poor uriel
[10:38] <rogpeppe> davechen1y: one more push.
[10:39] <davechen1y> too painful
[10:39] <davechen1y> rogpeppe: if you want to fix the rc script, it wouldn't hurt
[10:39] <davechen1y> i don't think anyone but ality is working on it
[10:40]  * rogpeppe should probably fire up plan 9 again once in a while...
[10:40] <rogpeppe> actually, i still have a remote login on my old vitanuova account
[10:41]  * rogpeppe avoids getting distracted.
[10:42] <davechen1y> rogpeppe: good man
[11:26] <niemeyer> Mornings!
[11:30] <TheMue> niemeyer: Hello.
[11:31] <fss> niemeyer: morning :-)
[12:16] <TheMue> Aram: Moin.
[13:32] <rogpeppe> niemeyer: hiya
[13:33] <niemeyer> rogpeppe: yo
[13:33] <rogpeppe> anyone up for giving a second opinion on this CL? https://codereview.appspot.com/6811095/
[13:34] <TheMue> rogpeppe: *click*
[13:39] <niemeyer> rogpeppe: Will have a look too
[13:39] <TheMue> rogpeppe: You've got a review.
[13:39] <rogpeppe> TheMue, niemeyer: ta
[13:40] <niemeyer> rogpeppe: CertAndKey?  Is there a PEM format that has both a cert and a private key?
[13:40] <rogpeppe> niemeyer: yes
[13:40] <rogpeppe> niemeyer: PEM includes an arbitrary number of blocks
[13:41] <rogpeppe> niemeyer: we can split 'em up if you'd like
[13:41] <rogpeppe> niemeyer: but this is the format that mongo requires
[13:42] <rogpeppe> niemeyer: which is why i chose it
[13:42] <niemeyer> rogpeppe: If that's the case, sounds good
[13:46] <niemeyer> rogpeppe: Done, cheers
[13:48] <rogpeppe> niemeyer, TheMue: there's a followup if you're in the mood: https://codereview.appspot.com/6819115/
[13:49] <TheMue> rogpeppe: Will have a look.
[13:54] <niemeyer> rogpeppe: Looking
[13:54] <rogpeppe> niemeyer: i have a slight problem with just renaming things to *PEM - the PEM format doesn't have any implications for what might be in it. So actually StateServerCertAndKeyPEM would be more useful, though long-winded. similarly for pemPath vs serverCertAndKeyPath
[13:54] <rogpeppe> niemeyer: not sure though
[13:55] <TheMue> rogpeppe: It seems the arguments of startInstance() grow and grow. ;)
[13:55] <niemeyer> rogpeppe: I don't mind too much myself.. looks better than StateServerCertAndKe
[13:55] <niemeyer> rogpeppe: We know what it is, and it should be documented
[13:55] <rogpeppe> TheMue: yeah, next time it happens, i'll make a struct for it.
[13:55] <rogpeppe> niemeyer: ok, seems reasonable.
[13:56] <TheMue> rogpeppe: You already made.
[13:56] <rogpeppe> TheMue: oh sorry, i thought you meant the public api...
[13:57] <TheMue> rogpeppe: No, the private one.
[13:58] <rogpeppe> niemeyer: the "certificate" thing is awkward, because some places use "certificate" to mean both the private key and the certificate itself (the tls package is a culprit in this respect). i'm happy to be less ambiguous though.
[13:59] <niemeyer_> rogpeppe: That's wrong
[13:59] <niemeyer_> rogpeppe: A certificate doesn't contain a private key
[13:59] <rogpeppe> niemeyer_: yeah, i agree.
[13:59] <rogpeppe> niemeyer_: tls.Certificate.PrivateKey is a wrongness, i think
[14:00] <niemeyer_> rogpeppe: It contains a public key
[14:00] <rogpeppe> niemeyer_: it contains a private key too
[14:00] <rogpeppe> niemeyer_: http://golang.org/pkg/crypto/tls/#Certificate
[14:01] <niemeyer_> rogpeppe: http://en.wikipedia.org/wiki/X.509
[14:01] <niemeyer_> rogpeppe: One can put whatever one pleases in a struct
[14:01] <rogpeppe> niemeyer_: i know that x509 certs don't contain a private key.
[14:01] <niemeyer_> rogpeppe: My point is that a X509 certificate doesn't contain a private key
[14:02] <rogpeppe> niemeyer_: but some places use a "certificate" name to hold both a certificate and a private key. tls being one such place.
[14:02] <niemeyer_> rogpeppe: Where is it doing that?
[14:02] <rogpeppe> niemeyer_: as i said, i'm happy not to do that.
[14:02] <rogpeppe> niemeyer: http://golang.org/pkg/crypto/tls/#Certificate
[14:02] <niemeyer> rogpeppe: This is a struct
[14:02] <niemeyer> rogpeppe: A certificate has a respective private key
[14:02] <rogpeppe> niemeyer: sure. it's a struct called "Certificate" :-)
[14:03] <niemeyer> rogpeppe: It's a fine design to be able to refer to it
[14:04] <niemeyer> rogpeppe: Note that, though:
[14:04] <niemeyer>     Certificate [][]byte
[14:04] <niemeyer>     PrivateKey  crypto.PrivateKey // supported types: *rsa.PrivateKey
[14:04] <rogpeppe> niemeyer: yeah. it did confuse me a little to start with though.
[14:27]  * niemeyer => lunch
[14:37]  * TheMue => lunch too
[15:20] <TheMue> Back again
[15:45] <niemeyer> TheMue: Welcome back
[15:47] <TheMue> niemeyer: u2 ;)
[15:47] <niemeyer> TheMue: Cheers
[15:47] <TheMue> niemeyer: Did you had a good lunch? We today simply had french fries, the kids love them.
[15:48] <TheMue> niemeyer: And their dad. :D
[15:49] <niemeyer> TheMue: LOL
[15:49] <niemeyer> TheMue: Top notch :)
[15:50] <niemeyer> TheMue: It was great here too.. Ale cooked us some great Brazillian style food
[15:51] <TheMue> niemeyer: We definitely have to visit you for a sprint.
[15:51] <niemeyer> TheMue: Agreed! :)
[15:51]  * rogpeppe had a sandwich and a banana :-)
[15:52] <niemeyer> rogpeppe: Not bad, not bad :)
[15:52] <TheMue> rogpeppe: I had a banana and two clementines this morning
[15:52] <rogpeppe> it *was* my special chilli-cheese sandwich, which i never seem to grow tired of
[15:53] <rogpeppe> Brazillian-style food would have been better though :-)
[15:54] <niemeyer> rogpeppe: You guys will have to come over to try that out
[15:54] <rogpeppe> niemeyer: i'd love to
[15:55] <niemeyer> We should prepare something for next year
[15:55] <TheMue> niemeyer: +1
[16:02] <rogpeppe> it's a bit of a pity there appears to be no way to marshal a *x509.Certificate
[17:37] <rogpeppe> niemeyer: juju.Bootstrap implementation. hopefully not *too* crackful :-] https://codereview.appspot.com/6843059/
[17:37] <niemeyer> rogpeppe: Cheers
[17:37] <niemeyer> rogpeppe: I'm in another CL now, but hopefully I can get there today
[17:37] <rogpeppe> niemeyer: thanks
[17:50] <TheMue> rogpeppe: Will also look at it, but will last a bit longer.
[17:51] <rogpeppe> TheMue: thanks
[18:21] <rogpeppe> oh dear, looks like i broke the bootstrap tests in cmd/juju some time ago...
[18:30] <rogpeppe> fairly trivial CL to end the day: https://codereview.appspot.com/6848052
[18:30] <rogpeppe> and with that, i'm off for the evening.
[18:30] <rogpeppe> night all.
[18:41] <TheMue> rogpeppe: N8
[18:44] <niemeyer> rogpeppe: nn
[18:56] <niemeyer> I'll also step out for some time, actually.. will be back later to continue reviewing