[02:09] <thumper> I'm sure writing this test would be easier if I actually understood the jujuc commands
[02:12] <hazmat> lots of good stuff on the merge proposals page
[02:14] <hazmat> putcharm/env life/svc owners/status api/ssh key mgmt
[02:22] <thumper> wallyworld: back from the dentist yet?
[02:22] <wallyworld> yep
[02:24] <thumper> wallyworld: were you not well yesterday, didn't hear from you
[02:24] <wallyworld> thumper: no all good. just busy
[02:24] <wallyworld> head stuck in code
[02:24] <thumper> wallyworld: ok, why didn't you land the approved code?
[02:24] <thumper> busy further down the pipe?
[02:24] <wallyworld> yeah
[02:24]  * thumper nods
[02:25] <wallyworld> waiting till more stuff done in case of upstream tweaks
[02:25] <wallyworld> got about 5 branches with more tocome
[02:25] <thumper> how's it all going?
[02:25] <thumper> why so many?
[02:25] <wallyworld> hangout?
[02:25] <thumper> sure
[02:25] <wallyworld> https://plus.google.com/hangouts/_/d3f48db1cccf0d24b0573a02f3a46f709af109a6
[02:26] <thumper> wallyworld: the party is over
[02:26] <thumper> so it says
[02:27] <wallyworld> hmmm. i'm in
[02:27] <thumper> is the link right?
[02:27] <wallyworld> just sent an invite
[02:27] <wallyworld> https://plus.google.com/hangouts/_/72cpjqoho8enpq0msp9kbjj06s
[02:27] <wallyworld> wrong link
[02:48] <wallyworld> thumper: lost you?
[02:52] <_thumper_> wallyworld: sorry, lost connectivity for some reason
[02:52] <wallyworld> same habgout url :-)
[02:52] <wallyworld> hangout even
[04:42] <axw_> davecheney: say if we wanted a fallback SSH for Juju CLI on Windows, would go.crypto/ssh be suitable? not necessarily for interactive usage, but for bootstrapping
[04:45] <davecheney> axw_: sure
[04:45] <davecheney> i wouldnt' use it for histing an ssh server
[04:45] <davecheney> by as a client, no worries
[04:45] <axw_> cool.
[04:45]  * davecheney celebrates a birthday while juju bootstraps
[04:47] <davecheney> % juju add-relation w1 p1
[04:47] <davecheney> ERROR no relations found
[04:47] <davecheney> fuck me
[04:47] <davecheney> people people stop fucking with the haproxy charm
[05:09] <davecheney> why, why does nothing work today ?
[05:09] <davecheney> https://gist.github.com/davecheney/7905375
[05:09] <davecheney> what am I doing wrong ?
[07:36] <axw_> fwereade_: when you're awake, can you please take a look at https://codereview.appspot.com/28880043/diff/80001/state/environ.go#newcode90 and https://codereview.appspot.com/28880043/diff/80001/state/state.go#newcode492
[07:37]  * fwereade_ will not be distracted from booking travel, but will look as soon as he can
[08:00] <dimitern> morning all
[08:01] <jam> morning dimitern
[08:40] <dimitern> fwereade_, hey
[08:41] <dimitern> fwereade_, i see you're reviewing - perhaps you can take a look at my 2 CLs as well? https://codereview.appspot.com/40160043/ https://codereview.appspot.com/40290044/
[09:31] <fwereade_> dimitern, I'm just getting there, but I've got to go out for a couple of hours I'm afraid :(
[09:31] <fwereade_> dimitern, if someone else gets there first that's fine, otherwise they're atthe topof my list when I get back
[09:34] <dimitern> fwereade_, sure, thanks
[09:34] <fwereade_> dimitern, probably won't make the standupbut I'll stick my headin incase anyone's still there
[09:39] <dimitern> fwereade_, ok
[09:49] <jamespage> any of the juju-core dev team interested in blogging about how juju uses mongodb?  czajkowski asked if we would - they will federate it to the mongodb blog
[09:50] <jamespage> happy to co-author but I don't know all of the cool stuff we are doing in detail
[09:59] <rogpeppe> jamespage: i'm not entirely sure it's something to shout about - our usage is somewhat odd and not the most... efficient.
[10:09] <rogpeppe> dimitern: i just sent another review of  https://codereview.appspot.com/40160043/
[10:09] <dimitern> rogpeppe, thanks, looking
[10:11] <dimitern> rogpeppe, I think you said to panic if curl==nil, no?
[10:11] <dimitern> rogpeppe, or you're now suggesting to remove the whole test + the panic?
[10:12] <rogpeppe> dimitern: yeah, but you don't need an explicit test - the panic will happen anyway as a matter of course, just like using any nil pointer
[10:12] <rogpeppe> dimitern: yes
[10:12] <dimitern> rogpeppe, ok then
[10:12] <rogpeppe> dimitern: sorry if i wasn't clear
[10:13] <dimitern> rogpeppe, it was one of "perhaps this or perhaps that" and I picked one :)
[10:13] <rogpeppe> dimitern: np
[10:47] <jam> fwereade_: dimitern: standup time
[10:47] <jam> https://plus.google.com/hangouts/_/calendar/am9obi5tZWluZWxAY2Fub25pY2FsLmNvbQ.mf0d8r5pfb44m16v9b2n5i29ig
[11:37]  * dimitern lunch
[11:54] <jam> dimitern: for when you get back. If PendingUpload is false by default, then old clients will not set it (and it will be nil), I'm guessing that works correctly for compatibility? I just wanted to verify that.
[11:56] <jam> jamespage: interestingly, you can't just "go get launchpad.net/juju-core/..." because mgo is labix.org/v2/mgo redirected to launchpad.net, so you have to go check that bit out manually. Anyway, I should have a working juju dev tool there now
[11:56] <jam> rogpeppe: does godeps help get you to the right versions? or does it just populate the file?
[11:58] <jam> I guess godeps -u does the right thing. ISTR that I tried it in the past and it didn't work, but looks like it did this time
[12:01] <jam> mgz: it would appear that 'go test' still requires that you have a ~/.ssh/id_rsa.pub :(
[12:03] <natefinch> jam,: FWIW, go get labix.org/v2/mgo works just fine.
[12:03] <jam> natefinch: not on the bastion host with firewalled/proxied egress
[12:03] <jam> which is what james set up for us
[12:04] <jam> natefinch: but you're right that it does usually work
[12:04] <natefinch> jam: ahh, ok, I missed that context
[12:04] <mgz> jam: that was fixed and reintroduced several times I think
[12:05] <rogpeppe> jam: godeps -u doesn't pull the right versions if they're not currently available
[12:05] <jam> mgz: do you get 'strip' from build-essential?
[12:06] <jam> it seems we have a part of the test suite that complains if there isn't an executable 'strip' in your path
[12:07] <jam> mgz: ah, go bot *has* an ssh key because it has to to push stuff to LP, shame we don't enforce that stuff there.
[12:07] <jam> well, installing build-essential got it for me, though we shouldn't really depend on it. And I thought strip wasn't safe on go binaries anyway (because it uses the debug info for reflect stuff)
[12:08] <mgz> jam: I get it from binutils
[12:08] <jam> fwereade_: did you get your destroy-machine changes from 1.16 into trunk?
[12:09] <mgz> which doeswhich comes in via dpkg-dev
[12:10] <jam> mgz: which certainly isn't what *we* should depend on for testing juju-core, right ? :)
[12:11] <mgz> well, it's fine(ish) with build-essential
[12:12] <jam> mgz: but isn't that stuff to build C/C++ stuff, which Go doesn't need?
[12:12] <jam> also, for someone with more experience with local provider, does 'juju destroy-environment  local' properly nuke the Charm cache? There was discussion in #juju that it wasn't
[12:13] <mgz> yeeeas
[12:22] <fwereade_> jam, yes, they're in
[12:31] <dimitern> jam, it should work even if PendingUpload is missing, when unmarshalled it will be false; that's the idea
[13:10] <dimitern> rogpeppe, take a final look at this before I trow it away, will you? :) https://codereview.appspot.com/40290044/
[13:10] <dimitern> *throw
[13:10] <rogpeppe> dimitern: i've been on it :-)
[13:10] <rogpeppe> dimitern: not far off posting the review
[13:11] <dimitern> rogpeppe, cheers!
[13:11] <rogpeppe> dimitern: i suggest evolving it not throwing it away, BTW...
[13:11] <dimitern> rogpeppe, you mean devolving it like 40% and evolving another 15%
[13:11] <dimitern> :)
[13:12] <jam> dimitern: I don't think you would throw away much. The only bit that changes in "processPost" isn't it?
[13:12] <jam> all of the work to move the auth stuff around you still need
[13:12] <rogpeppe> dimitern: i think the changes (in charms.go anyway) will pretty much amount to throwing away 20 lines of code
[13:13] <jam> and as rogpeppe mentions, the change is that you don't use a MultipartReader but something that checks the contet type and then reads the bytes into the temp file.
[13:14] <rogpeppe> dimitern: we should chat with gary about the change too
[13:14] <dimitern> yeah
[13:15] <dimitern> i'm looking into it to minimize the damage
[13:15] <jam> dimitern: arguably you just get ird of MultipartReader and go straight to the application/zip handler
[13:26] <rogpeppe> dimitern: reviewed
[13:27] <dimitern> rogpeppe, thanks
[13:28] <jam> dimitern: rogpeppe: any idea why "juju deploy ubuntu" in trunk against a local 1.16.4 environment would give "service already exists" ? I'm seeing failure to deploy with trunk, but success with /usr/bin/juju ==1.16.4
[13:28] <rogpeppe> jam: what does juju status show?
[13:28] <jam> rogpeppe: juju status shows only machine-0 running
[13:28] <jam> and then juju deploy gives me "service already exists"
[13:29] <dimitern> jam, no idea off hand
[13:29] <rogpeppe> dimitern: that does seem odd
[13:30] <rogpeppe> jam: ^
[13:30] <jam> dimitern: yeah, since you haven't actually finished what you're working on, I would have thought deploy in trunk is essentially unchanged
[13:30] <jam> but it definitely seems repeatably broken :(
[13:30] <rogpeppe> jam: yeah, i'd have thought that too
[13:30] <rogpeppe> jam: i'd put some printfs into trunk and see what's going on...
[13:31] <rogpeppe> jam: what does deply --debug print?
[13:31] <dimitern> jam, it is unchanged
[13:38] <jam> rogpeppe: nothing particularly helpful in this case
[13:39] <jam> rogpeppe: you can see the --debug output here: https://bugs.launchpad.net/juju-core/+bug/1259925
[13:39] <_mup_> Bug #1259925: juju destroy-environment does not delete the local charm cache <destroy-environment> <local-provider> <juju-core:Triaged> <https://launchpad.net/bugs/1259925>
[13:40] <jam> rogpeppe: interestingly, after having called "juju destroy-service -e local ubuntu" and then trying again I get a slightly different (but still unhelpful) log: http://paste.ubuntu.com/6556054/
[13:40] <jam> so now it is clearly not trying to upload the charm (good), but it still says the service already exists (bad)
[13:41] <rogpeppe> jam: what do you see if you connect directly to the mongo instance and look in the settingsRefs and services collections?
[13:41] <dimitern> rogpeppe, it seems you edited https://docs.google.com/a/canonical.com/document/d/1TxnOCLPDqG6y3kCzmUGIkDr0tywXk1XQnHx7G6gO5tI/edit#heading=h.t7svtxl846ha and most of the implementation got lost
[13:42] <rogpeppe> dimitern: oops, will check
[13:43] <dimitern> rogpeppe, ah, sorry, you just reformatted it to the top
[13:43] <dimitern> rogpeppe, perhaps we can remove the footnotes and the history and leave only the implementation description
[13:43] <rogpeppe> dimitern: i did, but i think i did miss some stuff
[13:44] <rogpeppe> dimitern: i'd do that
[13:44] <dimitern> rogpeppe, cheers
[13:44] <jam> rogpeppe: "mongo localhost:37017/admin" doesn't actually let me do anything, am I spelling somethingwrong? (it gives me failures running 'whatsmyurl")
[13:44] <rogpeppe> dimitern: it's all still available
[13:44] <rogpeppe> dimitern: even if we remove it from the current version
[13:44] <dimitern> rogpeppe, yeah, good point
[13:44] <rogpeppe> jam: you probably need to connect in auth mode
[13:45] <dimitern> rogpeppe, it actually much easier to handle binary post uploads and to test them in go than in javascript it seems
[13:46] <rogpeppe> dimitern: you chatted to gary?
[13:49] <dimitern> rogpeppe, just doing so now, as you see :)
[13:49] <rogpeppe> dimitern: :-)
[13:56] <rogpeppe> dimitern: i updated the charm upload doc to cut out all the old stuff
[13:56] <dimitern> rogpeppe, cheers, looking
[14:22] <rogpeppe> lunch
[14:23] <mgz> gobblegobble
[14:23] <dimitern> rogpeppe, URL vs Url comes from my C# days I guess :) and I didn't like it one bit then, glad to unlearn it!
[14:37] <natefinch> rogpeppe, let me know when you're back and when you'd like to talk about next steps
[15:12] <abentley> jcsackett, sinzui: AFAICT, the "Build Failure Analyzer" plugin does expose the failure type into the API.  I am disappointed.
[15:12] <sinzui> :(
[15:13] <abentley> s/does/does *not*/
[15:17] <abentley> sinzui: If you have a chance, I'd like to do a pre-imp on the i386 thing.
[15:17] <rogpeppe> natefinch: back
[15:17] <rogpeppe> natefinch: hangout?
[15:17] <natefinch> rogpeppe, sure
[15:18] <rogpeppe> natefinch: https://plus.google.com/hangouts/_/calendar/am9obi5tZWluZWxAY2Fub25pY2FsLmNvbQ.mf0d8r5pfb44m16v9b2n5i29ig
[15:20] <natefinch> did I miss you?  Sorry, my wife asked for help at an inopportune time
[15:21] <natefinch> hmm.... seems to not be joining... weird
[15:21] <sinzui> abentley, okay
[15:23] <abentley> sinzui: https://plus.google.com/hangouts/_/76cpihrgnbqj3fqb0hu5umjbso?authuser=1&hl=en
[15:23] <rogpeppe> natefinch: my machine display driver has just died
[15:23] <rogpeppe> natefinch: i need to reboot, sorry
[15:32] <jcsackett> abentley: ack. i share your disappointment.
[15:39] <dimitern> gah, just finished with https://codereview.appspot.com/40290044/ and rogpeppe disappeared
[15:39] <nate_finch> he's here
[15:39] <nate_finch> in a hangout with me
[15:40] <dimitern> send him the link pls nate_finch
[15:40] <nate_finch> sure
[16:13] <rogpeppe> grrr
[16:31] <dimitern> rogpeppe, review poke
[16:31] <rogpeppe> dimitern: ah, looking
[16:41] <rogpeppe> dimitern: LGTM
[16:41] <dimitern> rogpeppe, cheers
[16:45] <dimitern> rogpeppe, you're sure about defer req.Body.Close() ? req.Body is a ReadCloser
[16:46] <rogpeppe> dimitern: yeah
[16:47] <rogpeppe> dimitern: from the docs for Request:
[16:47] <rogpeppe> // The Server will close the request body. The ServeHTTP
[16:47] <rogpeppe>         // Handler does not need to.
[16:47] <dimitern> rogpeppe, yeah, was just about to say that
[16:47] <dimitern> :) good to know
[16:54] <sinzui> I am losing a fight with lbox. It complains I don't have vet. This probably relates to the fact I have a most of golang now in my local path to do cross-compiling
[16:57] <rogpeppe> sinzui: if in doubt, you can do what i do, which is have an entirely separate golang repo and GOPATH. then go get lbox with GOPATH set to that
[16:58] <rogpeppe> sinzui: with CGO_ENABLED to true or unset
[16:58] <sinzui> rogpeppe, I think I have done that
[16:59] <rogpeppe> sinzui: hmm
[16:59] <sinzui> well GOROOT is pointing to system installed path. that looks like what is blocking me from go install
[16:59] <rogpeppe> what do you see if you do go get code.google.com/p/go.tools/cmd/vet ?
[17:00] <sinzui> rogpeppe, go install code.google.com/p/go.tools/cmd/vet: open /usr/lib/go/pkg/tool/linux_amd64/vet: permission denied
[17:00] <rogpeppe> sinzui: BTW there's nothing in lbox itself that requires govet
[17:00] <sinzui> ^ obviously not my intent
[17:00] <sinzui> :(
[17:00] <sinzui> lbox propose -cr -for=xxx seems to think I need it
[17:01] <rogpeppe> sinzui: it's called by the .lbox.check script
[17:02] <rogpeppe> sinzui: if you're using the system installed go, i'm surprised that vet isn't installed
[17:02] <sinzui> maybe I am a victim of trusty
[17:03]  * sinzui looks at packages
[17:06] <rogpeppe> sinzui: i have to say i haven't used the system-installed go much - i usually pull the mercurial archive
[17:07] <rogpeppe> sinzui: what if you chmod a+w /usr/lib/go/pkg/tool/linux_amd64, then run the go install command again?
[17:07] <sinzui> ah, I will move my gopath to the start of my path to see if the right binaries are found
[17:09] <rogpeppe> sinzui: unfortunately there's a special case in the go tool for installing tools
[17:10] <rogpeppe> sinzui: it always installs them to $GOROOT/pkg/tool/$arch
[17:10] <sinzui> rogpeppe, I don't want to touch /usr. I want to work in my $GOPATH. I may need to build out more go in my work dirs, or just remove the system go for now
[17:10] <rogpeppe> sinzui: i suggest downloading the go distribution and having an entirely separate thing
[17:11] <sinzui> rogpeppe, I think I did that to setup cross-compiling. I see vet in the src, but I don't think everything was built and installed
[17:12] <rogpeppe> sinzui: what does "go env" print for you?
[17:13] <sinzui> rogpeppe, informative: http://pastebin.ubuntu.com/6556978/
[17:13] <TheMue> rogpeppe: the Tailer is in again *phew*
[17:14] <TheMue> rogpeppe: and me is off for dinner, but will look again later for a possible review result ;)
[17:15] <rogpeppe> sinzui: if you want to build go vet without sudo, you'll need to use a go binary from a different go root
[17:16] <sinzui> agreed
[17:16] <sinzui> still I wonder about where vet went to
[17:16] <rogpeppe> sinzui: because "go get code.google.com/p/go.tools/cmd/vet" will always install to /usr/lib
[17:16] <rogpeppe> sinzui: yeah, i'm surprised it didn't come with the package
[17:27] <nate_finch> rogpeppe: back, sorry.... turns out we had the time wrong, so were a half hour early and had to wait around.
[17:27] <rogpeppe> nate_finch: that's ok
[17:28] <rogpeppe> nate_finch: just on a review currently but we can continue in a bit if you'd like
[17:28] <rogpeppe> nate_finch: (i'll need to reboot again though :-[)
[17:28] <nate_finch> yeah, no problem, sounds good
[17:28] <nate_finch> (except for the reboot :)
[18:29] <rogpeppe> TheMue: you have a review
[18:30] <rogpeppe> nate_finch: that took longer than i thought it would, sorry, and now it's getting a bit too late
[18:30] <rogpeppe> nate_finch: i've updated the Juju HA Notes document a reasonable amount
[18:30] <nate_finch> rogpeppe,  yeah, I figured
[18:31] <nate_finch> cool
[18:32] <rogpeppe> nate_finch: since, you've been dealing closely with starting mongo recently, how would you feel about doing EnsureMongoServer ?
[18:32] <rogpeppe> nate_finch: it would replace the existing cloudinit shell script logic
[18:32] <rogpeppe> nate_finch: (eventually)
[18:32] <nate_finch> yeah, that's what I was thinking
[18:33] <rogpeppe> nate_finch: cool
[19:28] <bac> hi negronjl, i've just proposed a branch for merging into the mongodb charm.  you seem like the right guy to review it and i'd like your feedback.
[19:29] <negronjl> bac: I'll review it in a few ... thx for the heads up
[19:29] <bac> np
[19:44] <sinzui> I think trusty has hexed me. I am on go 1.2 now.
[19:54] <sinzui> natefinch, do you have a few minutes to review https://codereview.appspot.com/41030044
[19:56] <natefinch> sinzui, sure
[20:01] <thumper> mramm: morning, there is no hangout associated with the meeting
[21:33] <wallyworld> fwereade_: hi
[21:34] <fwereade_> wallyworld, hey dude
[21:34] <wallyworld> did you want a quick chat about that review?
[21:34] <fwereade_> wallyworld, damn, I was meant to have thought more about something before I talked to you ;p
[21:35] <fwereade_> wallyworld, yes, I will have to figure it out as I go along, just a sec ;)
[21:35] <wallyworld> ok
[21:35] <wallyworld> https://plus.google.com/hangouts/_/76cpiot72i7502oceu38mint0k
[21:40] <wallyworld> fwereade_: https://codereview.appspot.com/39790043/
[23:20] <wallyworld> davecheney: hey
[23:20] <davecheney> wallyworld: o/
[23:20] <wallyworld> i have a go yaml question
[23:21] <davecheney> shoot
[23:21] <wallyworld> i have a long string with a space in it. when go yaml marshalls it, it splits the string over two lines. this is bad
[23:21] <wallyworld> since it breaks cloud init
[23:22] <davecheney> wallyworld: so it's converting it to the | long form ?
[23:22] <wallyworld> long form?
[23:22] <davecheney> you can do
[23:22] <davecheney> descriptoin: some string
[23:22] <davecheney> or
[23:22] <davecheney> description: |
[23:22] <davecheney>    some really long string
[23:22] <davecheney>    that rivals war and peace
[23:22] <wallyworld> it's doing this....
[23:23] <wallyworld> #cloud-config
[23:23] <wallyworld> ssh-auth-keys:
[23:23] <wallyworld>   - some really long string
[23:23] <wallyworld>    some more of the string
[23:23] <davecheney> hmm, that smells like a bug
[23:24] <davecheney> can you email me the deatils
[23:24] <davecheney> or something
[23:24] <davecheney> and i'll make a test case
[23:24] <davecheney> then i can fix the bug and have it reverted the next day \o/
[23:24] <wallyworld> sure, will do. i want the whole string on the one line starting with the -
[23:24] <wallyworld> what?
[23:24] <wallyworld> did your --- fix get reverted?
[23:28] <davecheney> wallyworld: i'm guessing the key you're having problems with is your own
[23:28] <davecheney> so i guess you can't paste it :)
[23:35] <wallyworld> davecheney: well, it's the public portion
[23:35] <wallyworld> but the difference is that now i'm adding a key comment
[23:35] <wallyworld> which is ppending to the key blob with a space
[23:36] <wallyworld> and the yaml marshalling is splitting the string at the space
[23:36] <wallyworld> but i need it all on one line
[23:36] <davecheney> you sure do
[23:36] <davecheney> that is where I thought it was braking
[23:36]  * davecheney adds a test case