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