/srv/irclogs.ubuntu.com/2013/12/11/#juju-dev.txt

=== gary_poster is now known as gary_poster|away
thumperI'm sure writing this test would be easier if I actually understood the jujuc commands02:09
hazmatlots of good stuff on the merge proposals page02:12
hazmatputcharm/env life/svc owners/status api/ssh key mgmt02:14
thumperwallyworld: back from the dentist yet?02:22
wallyworldyep02:22
thumperwallyworld: were you not well yesterday, didn't hear from you02:24
wallyworldthumper: no all good. just busy02:24
wallyworldhead stuck in code02:24
thumperwallyworld: ok, why didn't you land the approved code?02:24
thumperbusy further down the pipe?02:24
wallyworldyeah02:24
* thumper nods02:24
wallyworldwaiting till more stuff done in case of upstream tweaks02:25
wallyworldgot about 5 branches with more tocome02:25
thumperhow's it all going?02:25
thumperwhy so many?02:25
wallyworldhangout?02:25
thumpersure02:25
wallyworldhttps://plus.google.com/hangouts/_/d3f48db1cccf0d24b0573a02f3a46f709af109a602:25
thumperwallyworld: the party is over02:26
thumperso it says02:26
wallyworldhmmm. i'm in02:27
thumperis the link right?02:27
wallyworldjust sent an invite02:27
wallyworldhttps://plus.google.com/hangouts/_/72cpjqoho8enpq0msp9kbjj06s02:27
wallyworldwrong link02:27
wallyworldthumper: lost you?02:48
_thumper_wallyworld: sorry, lost connectivity for some reason02:52
wallyworldsame habgout url :-)02:52
wallyworldhangout even02:52
=== _thumper_ is now known as thumper
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 bootstrapping04:42
davecheneyaxw_: sure04:45
davecheneyi wouldnt' use it for histing an ssh server04:45
davecheneyby as a client, no worries04:45
axw_cool.04:45
* davecheney celebrates a birthday while juju bootstraps04:45
davecheney% juju add-relation w1 p104:47
davecheneyERROR no relations found04:47
davecheneyfuck me04:47
davecheneypeople people stop fucking with the haproxy charm04:47
davecheneywhy, why does nothing work today ?05:09
davecheneyhttps://gist.github.com/davecheney/790537505:09
davecheneywhat am I doing wrong ?05:09
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#newcode49207:36
* fwereade_ will not be distracted from booking travel, but will look as soon as he can07:37
dimiternmorning all08:00
jammorning dimitern08:01
dimiternfwereade_, hey08:40
dimiternfwereade_, 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/08:41
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 back09:31
dimiternfwereade_, sure, thanks09:34
fwereade_dimitern, probably won't make the standupbut I'll stick my headin incase anyone's still there09:34
dimiternfwereade_, ok09:39
jamespageany 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 blog09:49
jamespagehappy to co-author but I don't know all of the cool stuff we are doing in detail09:50
rogpeppejamespage: i'm not entirely sure it's something to shout about - our usage is somewhat odd and not the most... efficient.09:59
rogpeppedimitern: i just sent another review of  https://codereview.appspot.com/40160043/10:09
dimiternrogpeppe, thanks, looking10:09
dimiternrogpeppe, I think you said to panic if curl==nil, no?10:11
dimiternrogpeppe, or you're now suggesting to remove the whole test + the panic?10:11
rogpeppedimitern: yeah, but you don't need an explicit test - the panic will happen anyway as a matter of course, just like using any nil pointer10:12
rogpeppedimitern: yes10:12
dimiternrogpeppe, ok then10:12
rogpeppedimitern: sorry if i wasn't clear10:12
dimiternrogpeppe, it was one of "perhaps this or perhaps that" and I picked one :)10:13
rogpeppedimitern: np10:13
jamfwereade_: dimitern: standup time10:47
jamhttps://plus.google.com/hangouts/_/calendar/am9obi5tZWluZWxAY2Fub25pY2FsLmNvbQ.mf0d8r5pfb44m16v9b2n5i29ig10:47
* dimitern lunch11:37
jamdimitern: 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:54
jamjamespage: 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 now11:56
jamrogpeppe: does godeps help get you to the right versions? or does it just populate the file?11:56
jamI 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 time11:58
jammgz: it would appear that 'go test' still requires that you have a ~/.ssh/id_rsa.pub :(12:01
natefinchjam,: FWIW, go get labix.org/v2/mgo works just fine.12:03
jamnatefinch: not on the bastion host with firewalled/proxied egress12:03
jamwhich is what james set up for us12:03
jamnatefinch: but you're right that it does usually work12:04
natefinchjam: ahh, ok, I missed that context12:04
mgzjam: that was fixed and reintroduced several times I think12:04
rogpeppejam: godeps -u doesn't pull the right versions if they're not currently available12:05
jammgz: do you get 'strip' from build-essential?12:05
jamit seems we have a part of the test suite that complains if there isn't an executable 'strip' in your path12:06
jammgz: 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
jamwell, 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:07
mgzjam: I get it from binutils12:08
jamfwereade_: did you get your destroy-machine changes from 1.16 into trunk?12:08
mgzwhich doeswhich comes in via dpkg-dev12:09
jammgz: which certainly isn't what *we* should depend on for testing juju-core, right ? :)12:10
mgzwell, it's fine(ish) with build-essential12:11
jammgz: but isn't that stuff to build C/C++ stuff, which Go doesn't need?12:12
jamalso, 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't12:12
mgzyeeeas12:13
fwereade_jam, yes, they're in12:22
dimiternjam, it should work even if PendingUpload is missing, when unmarshalled it will be false; that's the idea12:31
=== gary_poster|away is now known as gary_poster
dimiternrogpeppe, take a final look at this before I trow it away, will you? :) https://codereview.appspot.com/40290044/13:10
dimitern*throw13:10
rogpeppedimitern: i've been on it :-)13:10
rogpeppedimitern: not far off posting the review13:10
dimiternrogpeppe, cheers!13:11
rogpeppedimitern: i suggest evolving it not throwing it away, BTW...13:11
dimiternrogpeppe, you mean devolving it like 40% and evolving another 15%13:11
dimitern:)13:11
jamdimitern: I don't think you would throw away much. The only bit that changes in "processPost" isn't it?13:12
jamall of the work to move the auth stuff around you still need13:12
rogpeppedimitern: i think the changes (in charms.go anyway) will pretty much amount to throwing away 20 lines of code13:12
jamand 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:13
rogpeppedimitern: we should chat with gary about the change too13:14
dimiternyeah13:14
dimiterni'm looking into it to minimize the damage13:15
jamdimitern: arguably you just get ird of MultipartReader and go straight to the application/zip handler13:15
rogpeppedimitern: reviewed13:26
dimiternrogpeppe, thanks13:27
jamdimitern: 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.413:28
rogpeppejam: what does juju status show?13:28
jamrogpeppe: juju status shows only machine-0 running13:28
jamand then juju deploy gives me "service already exists"13:28
dimiternjam, no idea off hand13:29
rogpeppedimitern: that does seem odd13:29
rogpeppejam: ^13:30
jamdimitern: yeah, since you haven't actually finished what you're working on, I would have thought deploy in trunk is essentially unchanged13:30
jambut it definitely seems repeatably broken :(13:30
rogpeppejam: yeah, i'd have thought that too13:30
rogpeppejam: i'd put some printfs into trunk and see what's going on...13:30
rogpeppejam: what does deply --debug print?13:31
dimiternjam, it is unchanged13:31
jamrogpeppe: nothing particularly helpful in this case13:38
jamrogpeppe: you can see the --debug output here: https://bugs.launchpad.net/juju-core/+bug/125992513: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:39
jamrogpeppe: 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
jamso now it is clearly not trying to upload the charm (good), but it still says the service already exists (bad)13:40
rogpeppejam: what do you see if you connect directly to the mongo instance and look in the settingsRefs and services collections?13:41
dimiternrogpeppe, it seems you edited https://docs.google.com/a/canonical.com/document/d/1TxnOCLPDqG6y3kCzmUGIkDr0tywXk1XQnHx7G6gO5tI/edit#heading=h.t7svtxl846ha and most of the implementation got lost13:41
rogpeppedimitern: oops, will check13:42
dimiternrogpeppe, ah, sorry, you just reformatted it to the top13:43
dimiternrogpeppe, perhaps we can remove the footnotes and the history and leave only the implementation description13:43
rogpeppedimitern: i did, but i think i did miss some stuff13:43
rogpeppedimitern: i'd do that13:44
dimiternrogpeppe, cheers13:44
jamrogpeppe: "mongo localhost:37017/admin" doesn't actually let me do anything, am I spelling somethingwrong? (it gives me failures running 'whatsmyurl")13:44
rogpeppedimitern: it's all still available13:44
rogpeppedimitern: even if we remove it from the current version13:44
dimiternrogpeppe, yeah, good point13:44
rogpeppejam: you probably need to connect in auth mode13:44
dimiternrogpeppe, it actually much easier to handle binary post uploads and to test them in go than in javascript it seems13:45
rogpeppedimitern: you chatted to gary?13:46
dimiternrogpeppe, just doing so now, as you see :)13:49
rogpeppedimitern: :-)13:49
=== sidnei` is now known as sidnei
rogpeppedimitern: i updated the charm upload doc to cut out all the old stuff13:56
dimiternrogpeppe, cheers, looking13:56
rogpeppelunch14:22
mgzgobblegobble14:23
dimiternrogpeppe, URL vs Url comes from my C# days I guess :) and I didn't like it one bit then, glad to unlearn it!14:23
natefinchrogpeppe, let me know when you're back and when you'd like to talk about next steps14:37
abentleyjcsackett, sinzui: AFAICT, the "Build Failure Analyzer" plugin does expose the failure type into the API.  I am disappointed.15:12
sinzui:(15:12
abentleys/does/does *not*/15:13
abentleysinzui: If you have a chance, I'd like to do a pre-imp on the i386 thing.15:17
rogpeppenatefinch: back15:17
rogpeppenatefinch: hangout?15:17
natefinchrogpeppe, sure15:17
rogpeppenatefinch: https://plus.google.com/hangouts/_/calendar/am9obi5tZWluZWxAY2Fub25pY2FsLmNvbQ.mf0d8r5pfb44m16v9b2n5i29ig15:18
natefinchdid I miss you?  Sorry, my wife asked for help at an inopportune time15:20
natefinchhmm.... seems to not be joining... weird15:21
sinzuiabentley, okay15:21
abentleysinzui: https://plus.google.com/hangouts/_/76cpihrgnbqj3fqb0hu5umjbso?authuser=1&hl=en15:23
rogpeppenatefinch: my machine display driver has just died15:23
rogpeppenatefinch: i need to reboot, sorry15:23
jcsackettabentley: ack. i share your disappointment.15:32
dimiterngah, just finished with https://codereview.appspot.com/40290044/ and rogpeppe disappeared15:39
nate_finchhe's here15:39
nate_finchin a hangout with me15:39
dimiternsend him the link pls nate_finch15:40
nate_finchsure15:40
rogpeppegrrr16:13
dimiternrogpeppe, review poke16:31
rogpeppedimitern: ah, looking16:31
rogpeppedimitern: LGTM16:41
dimiternrogpeppe, cheers16:41
dimiternrogpeppe, you're sure about defer req.Body.Close() ? req.Body is a ReadCloser16:45
rogpeppedimitern: yeah16:46
rogpeppedimitern: from the docs for Request:16:47
rogpeppe// The Server will close the request body. The ServeHTTP16:47
rogpeppe        // Handler does not need to.16:47
dimiternrogpeppe, yeah, was just about to say that16:47
dimitern:) good to know16:47
sinzuiI 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-compiling16:54
rogpeppesinzui: 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 that16:57
rogpeppesinzui: with CGO_ENABLED to true or unset16:58
sinzuirogpeppe, I think I have done that16:58
rogpeppesinzui: hmm16:59
sinzuiwell GOROOT is pointing to system installed path. that looks like what is blocking me from go install16:59
rogpeppewhat do you see if you do go get code.google.com/p/go.tools/cmd/vet ?16:59
sinzuirogpeppe, go install code.google.com/p/go.tools/cmd/vet: open /usr/lib/go/pkg/tool/linux_amd64/vet: permission denied17:00
rogpeppesinzui: BTW there's nothing in lbox itself that requires govet17:00
sinzui^ obviously not my intent17:00
sinzui:(17:00
sinzuilbox propose -cr -for=xxx seems to think I need it17:00
rogpeppesinzui: it's called by the .lbox.check script17:01
rogpeppesinzui: if you're using the system installed go, i'm surprised that vet isn't installed17:02
sinzuimaybe I am a victim of trusty17:02
* sinzui looks at packages17:03
rogpeppesinzui: i have to say i haven't used the system-installed go much - i usually pull the mercurial archive17:06
rogpeppesinzui: what if you chmod a+w /usr/lib/go/pkg/tool/linux_amd64, then run the go install command again?17:07
sinzuiah, I will move my gopath to the start of my path to see if the right binaries are found17:07
rogpeppesinzui: unfortunately there's a special case in the go tool for installing tools17:09
rogpeppesinzui: it always installs them to $GOROOT/pkg/tool/$arch17:10
sinzuirogpeppe, 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 now17:10
rogpeppesinzui: i suggest downloading the go distribution and having an entirely separate thing17:10
sinzuirogpeppe, I think I did that to setup cross-compiling. I see vet in the src, but I don't think everything was built and installed17:11
rogpeppesinzui: what does "go env" print for you?17:12
sinzuirogpeppe, informative: http://pastebin.ubuntu.com/6556978/17:13
TheMuerogpeppe: the Tailer is in again *phew*17:13
TheMuerogpeppe: and me is off for dinner, but will look again later for a possible review result ;)17:14
rogpeppesinzui: if you want to build go vet without sudo, you'll need to use a go binary from a different go root17:15
sinzuiagreed17:16
sinzuistill I wonder about where vet went to17:16
rogpeppesinzui: because "go get code.google.com/p/go.tools/cmd/vet" will always install to /usr/lib17:16
rogpeppesinzui: yeah, i'm surprised it didn't come with the package17:16
nate_finchrogpeppe: back, sorry.... turns out we had the time wrong, so were a half hour early and had to wait around.17:27
rogpeppenate_finch: that's ok17:27
rogpeppenate_finch: just on a review currently but we can continue in a bit if you'd like17:28
rogpeppenate_finch: (i'll need to reboot again though :-[)17:28
nate_finchyeah, no problem, sounds good17:28
nate_finch(except for the reboot :)17:28
rogpeppeTheMue: you have a review18:29
rogpeppenate_finch: that took longer than i thought it would, sorry, and now it's getting a bit too late18:30
rogpeppenate_finch: i've updated the Juju HA Notes document a reasonable amount18:30
nate_finchrogpeppe,  yeah, I figured18:30
nate_finchcool18:31
rogpeppenate_finch: since, you've been dealing closely with starting mongo recently, how would you feel about doing EnsureMongoServer ?18:32
rogpeppenate_finch: it would replace the existing cloudinit shell script logic18:32
rogpeppenate_finch: (eventually)18:32
nate_finchyeah, that's what I was thinking18:32
rogpeppenate_finch: cool18:33
=== nate_finch is now known as natefinch
bachi 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:28
negronjlbac: I'll review it in a few ... thx for the heads up19:29
bacnp19:29
sinzuiI think trusty has hexed me. I am on go 1.2 now.19:44
sinzuinatefinch, do you have a few minutes to review https://codereview.appspot.com/4103004419:54
natefinchsinzui, sure19:56
thumpermramm: morning, there is no hangout associated with the meeting20:01
wallyworldfwereade_: hi21:33
fwereade_wallyworld, hey dude21:34
wallyworlddid 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 ;p21:34
fwereade_wallyworld, yes, I will have to figure it out as I go along, just a sec ;)21:35
wallyworldok21:35
wallyworldhttps://plus.google.com/hangouts/_/76cpiot72i7502oceu38mint0k21:35
wallyworldfwereade_: https://codereview.appspot.com/39790043/21:40
=== gary_poster is now known as gary_poster|away
=== _mup__ is now known as _mup_
wallyworlddavecheney: hey23:20
davecheneywallyworld: o/23:20
wallyworldi have a go yaml question23:20
davecheneyshoot23:21
wallyworldi have a long string with a space in it. when go yaml marshalls it, it splits the string over two lines. this is bad23:21
wallyworldsince it breaks cloud init23:21
davecheneywallyworld: so it's converting it to the | long form ?23:22
wallyworldlong form?23:22
davecheneyyou can do23:22
davecheneydescriptoin: some string23:22
davecheneyor23:22
davecheneydescription: |23:22
davecheney   some really long string23:22
davecheney   that rivals war and peace23:22
wallyworldit's doing this....23:22
wallyworld#cloud-config23:23
wallyworldssh-auth-keys:23:23
wallyworld  - some really long string23:23
wallyworld   some more of the string23:23
davecheneyhmm, that smells like a bug23:23
davecheneycan you email me the deatils23:24
davecheneyor something23:24
davecheneyand i'll make a test case23:24
davecheneythen i can fix the bug and have it reverted the next day \o/23:24
wallyworldsure, will do. i want the whole string on the one line starting with the -23:24
wallyworldwhat?23:24
wallyworlddid your --- fix get reverted?23:24
davecheneywallyworld: i'm guessing the key you're having problems with is your own23:28
davecheneyso i guess you can't paste it :)23:28
wallyworlddavecheney: well, it's the public portion23:35
wallyworldbut the difference is that now i'm adding a key comment23:35
wallyworldwhich is ppending to the key blob with a space23:35
wallyworldand the yaml marshalling is splitting the string at the space23:36
wallyworldbut i need it all on one line23:36
davecheneyyou sure do23:36
davecheneythat is where I thought it was braking23:36
* davecheney adds a test case23:36

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!