/srv/irclogs.ubuntu.com/2014/05/22/#juju-dev.txt

menn0_anyone able to do a (likely quick) review: https://codereview.appspot.com/100620046/00:01
=== menn0_ is now known as menn0
perrito666menn0: this is is a purely personal thought, but decodeyaml could escalate that error to decodeyamlfrostdout who could escalateit up and so the actual error assertion would be in the test using it00:12
menn0perrito666: the reason for doing it the way I did is that it avoids boilerplate in each test method00:13
menn0perrito666: there's no backtrace in the failure output is there?00:14
perrito666menn0: iirc no00:14
menn0perrito666: my Python background is showing :)00:14
menn0perrito666: I'll change the tests according to your suggestion.00:15
perrito666oh, I am as pythonish as you, worry not00:15
perrito666menn0: you might want to get a better review, I am relatively new here too00:27
menn0perrito666: understood. thanks for looking.00:28
wallyworldmorning axw01:04
axwhey wallyworld01:05
wallyworldsadly jenkins is not very happy, but the failures are seemingly random, one off things01:05
axw:(01:07
wallyworldfor now though, there's a couple of bugs that need looking at for a 1.19.3 release. i plan to grab one after i run some gccgo tests, so if you are at a loose end, feel free to grab one also01:07
axwsure01:07
axwI was going to fix that utopic one first01:07
axwthen look at gccgo things01:08
wallyworldsure ok01:08
axwwallyworld: turns out 1.18 *does* use juju-mongodb on local, but *only* on trusty01:08
axwshould be trusty onwards01:08
wallyworldlol ok01:08
wallyworldaxw: feel free then to look at gccgo stuff after the mongo fix - first thing we need to do is fully understand how many test failures are left to fix01:10
axwnps01:10
wallyworldhopefully it won't be too much effort to ensure that bugs in lp reflect the situation - one bug tagged ppc64el / test-failure per issue01:12
wallyworldthen we can drive that count down to 001:12
waiganiwallyworld: ping01:47
waiganiwallyworld: JujuConnSuite already calls dummy.Reset() in its TearDownTest. That was basically my fix :(01:48
wallyworldah ok01:48
wallyworldwell there's still something wrong sadly :-(01:49
waiganiyep01:49
wallyworldwe can see how often it comes up01:50
waiganiokay, you know where to fine me01:50
axwwallyworld: https://codereview.appspot.com/99410053/ please02:01
wallyworldlooking02:01
=== jcsackett_ is now known as jcsackett
=== bodie_ is now known as Guest96714
=== Guest96714 is now known as bodie_
bodie_to check whether my dependencies.tsv is suitable for use with gccgo, I can just "make" in the juju-core root directory, right?03:09
jambodie_: are you wanting to check that the dependencies themselves are compatible with gccgo?03:11
jambodie_: AFAICT the Makefile knows nothing about dependencies.tsv, though we should probably fix that03:12
bodie_well, I figured if I've aligned deps with godeps, then if I make with gccgo, I should be able to tell whether the build is broken or not03:13
bodie_I just don't know how to make with gccgo, which I'm sure is something simple :) just not seeing it03:13
jambodie_: so "make" will only switch to gccgo if you aren't on x86, armel or armhf03:13
bodie_yeah, I was just noticing that03:13
jamgo build -compiler=gccgo launchpad.net/juju-core/...03:13
bodie_okay, thanks03:14
jamthe "..." means recursively03:14
bodie_that's simpler than I expected03:14
davecheneyjam: bodie_ that is an accurate summary03:34
davecheneyiff you are using trusty you can test with both compilers on your amd64 machine03:35
davecheneyjust use the -compiler=gccgo flag to switch to gccgo03:35
davecheneyif that passes, that is all that we expect03:35
bodie_hmmm03:37
bodie_I thought I was on 14.04, but I'm on saucy03:37
bodie_I'll have to try on my pc03:37
davecheneybodie_: we can probably get the compiler in a backport ppa03:41
davecheneybut you probably want to upgrade to trusty pretty soon03:41
davecheneya. it'll be easier03:41
davecheneyb. saucy suport expores at the end of JUly ? I think03:41
davecheneyc. it's the smoothest upgrade i've had, it's very polished from saucy -> trusty03:42
bodie_makes sense :) there was some reason I'd set up our dev remote as saucy... I think there was some kind of weird build issue when we were coming onboard03:42
davecheneyand this laptop has gone from P -> Q -> R -> S03:42
bodie_nice03:42
davecheney-> T03:42
davecheneyaxw: did you take https://bugs.launchpad.net/juju-core/+bug/1321492 ?04:15
_mup_Bug #1321492: provider/openstack: gccgo test failures <gccgo> <ppc64el> <test-failure> <juju-core:In Progress by axwalk> <https://launchpad.net/bugs/1321492>04:15
axwdavecheney: I did04:18
axwdavecheney: working through gccgo bugs now04:19
davecheneysorry, just proposed a fix04:19
axwno worries, was trivial anyway04:19
davecheneyaxw: i'm going to fix all the trivials in the ppc tests today04:24
davecheneythen we'll be able to see the underlying problems better04:24
davecheneythere are, roughtly04:24
davecheney304:24
davecheneyone tools related failure04:24
davecheneya timeout with the joyent tests04:24
davecheneyand a runtime or compiler crash04:25
davecheneyi want to expose those as the only failures04:25
davecheneyhttps://codereview.appspot.com/9555004504:25
axwok, cool04:25
davecheneythe rest are just noise04:25
axwdavecheney: the one in worker may not be trivial, if that's the runtime/compiler crash you're referring to04:25
davecheneyyup04:25
axwlooks like it's related to the receive loop in init()04:25
davecheneyaxw: you take a look at https://bugs.launchpad.net/juju-core/+bug/130358304:26
_mup_Bug #1303583: provider/azure: new test failure <gccgo> <juju-core:In Progress by axwalk> <https://launchpad.net/bugs/1303583>04:26
davecheneyi see you've snagged it04:26
axwdavecheney: already proposed04:26
davecheneylink ?04:27
axwhttps://codereview.appspot.com/93520047/04:27
davecheneyaxw: do you use lbox propose -bug=NNN04:27
davecheneythe it links the bug to the branch04:28
axwdavecheney: I don't because of the milestone thing04:28
davecheneyso when you get an email that the branch is merged04:28
axwI usually link manually, but sometimes forget04:28
davecheneyyou can click through to the bug04:28
davecheneyfix the milestone and mark it fix comitted04:28
davecheneyaxw: fwiw i tag all these bugs as gccgo and pcc64el04:30
axwdavecheney: yup, have been looking at the gccgo tag so far04:31
davecheneyi consider them to be synonyms, but others like to track them independanty04:31
bodie_I think my MR is mostly ready to roll, but I'm having some trouble when I try to build with GCCGo.  I'm not sure if I'm doing something wrong.  Can anyone else verify?04:44
bodie_https://codereview.appspot.com/94540044/04:44
bodie_it adds a few dependencies and one of them doesn't seem to be happy.04:44
davecheneybodie_: which one04:45
davecheneyi'll try04:45
bodie_github.com/sigu-399/gojsonpointer04:45
davecheney% cover04:45
davecheneyPASS04:45
davecheneycoverage: 66.7% of statements04:45
davecheneyhmmm ...04:45
davecheney % go test -compiler=gccgo04:46
davecheneyPASS04:46
davecheneyok      github.com/sigu-399/gojsonpointer       0.047s04:46
davecheneylucky(~/src/github.com/sigu-399/gojsonpointer) %04:46
davecheneyworks for me04:46
davecheneybodie_: if you are using saucy04:46
davecheneyyou will have gccgo-4.804:46
davecheneywhich is, sadly, not up to the task04:46
bodie_I'm on Trusty on my PC here04:46
davecheneybodie_: can you show what you see, use paste.ubuntu.com04:47
davecheneyor install pastebinit04:47
bodie_yeah04:47
=== vladk|offline is now known as vladk
bodie_http://paste.ubuntu.com/7500153/04:48
bodie_perhaps it's because I'm using zsh...04:48
davecheneyoh04:49
bodie_negative04:49
bodie_same issue using bash04:49
davecheneythat is a differnt problem04:49
davecheneyhere is what's happened04:49
davecheney1. you did go get -u -v launchpad.net/juju-core/...04:50
davecheneywhich is going to fetch all the _current_ juju dependencies04:50
bodie_right04:50
davecheneythen you switch to your branch04:50
davecheneywhich essentially has new dependencies04:50
davecheneywhich is why godeps is whinging04:50
davecheneythe simplest solution for today would be04:50
davecheneygo get -u -v github.com/sigu-399/gojsonpointer04:50
bodie_I figured I should switch before doing a godeps so that I get the same version I had in my code04:50
davecheneyand the same for the other two new deps04:50
davecheneythen godeps should be happy04:50
bodie_oh.... but it's complaining because my code is an older version of core...?04:51
bodie_wouldn't ... oh04:51
bodie_I see04:51
bodie_could I go get lp:~binary132/juju-core/charm-actions ?04:51
axwdavecheney: I got to the bottom of the issue in worker04:53
axwdavecheney: seems that closing a channel twice in gccgo will abort hte process, even if you recover the error04:53
axwpanic*04:53
davecheneyaxw: hmm04:54
davecheneyis that worth a bug upstream ?04:54
davecheneyone nice thing about gccgo is gdb actuially works04:54
axwdavecheney: http://play.golang.org/p/eUJw-e1GRJ04:54
axwdavecheney: yeah I think so04:54
davecheneyaxw: two secs04:55
davecheneybodie_: are you going ok for the moment ?04:55
waiganihow do I patch name, username and id of the current user for testing? I've tried s.PatchEnvironment("USER", "admin001"), but in the test switch still prints "jesse"04:55
davecheneyaxw: what happens if you make the call stack a bit longer04:55
davecheneyi suspect that the main function, or main gorotuine might be a bit special in gccgo04:56
bodie_yes, I'm about to head to bed actually (UTC-4)04:56
axwdavecheney: it wasn't in the main function in the test, that's just a minimal repro04:56
bodie_would the right way to do things from the beginning be to fetch via lp:~binary132/juju-core/charm-actions directly?04:56
davecheneyaxw: http://play.golang.org/p/VNezaP7ADp04:56
davecheneybang on04:56
axwdavecheney: FYI it's in worker/simpler.go, the Kill method04:57
axwwe can work around it, but a upstream bug is warranted04:57
bodie_hrm, gccgo not found on path on trusty either04:57
davecheneyaxw: do you want to raise it ?04:57
davecheneyor i can do it04:57
axwI can04:58
davecheneycool, excellent04:58
davecheneysurely double closing a channel is a bug04:58
davecheneyand using recover to cover for that is a horrid smell04:58
axwyeah04:58
davecheneyaxw: raise the bug on golang.org/issue04:58
axwwill do04:59
davecheneyi don't think the issuetracker on the gofront-end project is used as much04:59
bodie_can I just apt-get install gccgo?04:59
bodie_will that be suitable?04:59
davecheneybodie_: yes04:59
bodie_okay, that's nice04:59
davecheneybodie_: actually, you'll have to do04:59
davecheneyapt-get install gccgo-4.904:59
bodie_uh oh, already started build.  do I need to clean05:00
bodie_?05:00
bodie_er, it looks like I may have installed gccgo-4.9 by default (since trusty)05:00
davecheneygccgo -v05:01
davecheney% gccgo -v 2>&1 | tail -n105:01
davecheneygcc version 4.9.0 20140405 (experimental) [trunk revision 209157] (Ubuntu 4.9-20140406-0ubuntu1)05:01
bodie_http://paste.ubuntu.com/7500172/05:02
davecheneybodie_: run godeps -u dependencies.tsv05:02
davecheneyif it whinges, fix the problem and run it again05:02
axwdavecheney: filed https://code.google.com/p/go/issues/detail?id=807005:02
axwdavecheney: I can fix it in our code, unless you're already doing that05:03
davecheneyadded some code05:03
davecheneysorry, tags05:03
davecheneyaxw: if you're there have a crack05:03
davecheneyi'm doing another ppc test run to find some more issues05:03
bodie_all righty05:03
bodie_there we go, seems to be working05:04
bodie_thanks05:04
bodie_and built!05:04
davecheneywin05:04
davecheneyis the bot running ?05:04
davecheneyit's been a long time since I marked that change as accepted05:04
davecheneyapproved05:04
bodie_bot?05:04
davecheneybodie_: the commit landing bot05:05
davecheneyaww crap05:05
davecheneyi see the problme05:05
bodie_I need to lbox propose again, right?05:07
davecheneyalways05:08
davecheneypropose early, propose often05:08
jcw4_if in doubt.... propose again05:08
bodie_then propose s'more!05:08
bodie_yeah, my last propose was -wip05:09
bodie_and there it should be05:11
bodie_https://codereview.appspot.com/9454004405:11
davecheneywallyworld: axw what are we going to do about the joyent tests ?05:12
wallyworldwhich bit?05:12
wallyworldthe time taken to run them?05:12
wallyworldi'll got pull requests waiting to be merged by upstream05:13
wallyworldthat will fix the execution tim05:13
wallyworldis there anything else?05:13
davecheneythat's basically it05:15
davecheneythey run so slowly on ppc they always timeout05:15
wallyworldyeah. i did fix it over a week ago05:15
wallyworldjust need to get my changes to upstream libs merged in, hopefully this week05:15
wallyworlddavecheney: axw : so, do you have a feel for how long we need to get the tests running under gccgo and ppc (assuming joyent ones are fixed)? 1 week? 2 weeks?05:16
davecheneywallyworld: today i feel confident that we can close this off in a week05:17
wallyworldo/05:17
wallyworld\o/05:17
davecheneyask me tomrrow, we might have a different answer05:17
wallyworldlol ok05:17
davecheneybut it's looking pretty good so far05:17
wallyworldis there anything outside our control? what's the exposure to compiler issues?05:18
davecheneyask axw, i think it's managable05:18
axwwallyworld: so far seems fine05:18
wallyworldcompiler issues?05:18
axwwallyworld: only one gccgo-specific issue, but that's because our code is a bit crap05:18
axwbrtb05:18
wallyworldok, so we can fix our code hopefully05:19
axwyes I am fixing that one atm05:19
wallyworldaxw: looking at your address polling branch - it seems that DNSName is not really used with the changes made05:20
davecheneyhttp://paste.ubuntu.com/7500164/05:20
davecheneysome of these have fixes waiting to be landed by the bot05:20
axwwallyworld: it's not meant to be anymore05:20
wallyworldaxw: yeah, i had heard that i thin, just wanted to confirm. so we should follow up and remove it i guess05:21
wallyworlddavecheney: that pastebin doesn't look too bad05:21
axwwallyworld: oh sorry, misunderstood05:21
axwwallyworld: if it's not used anywhere, definitely05:21
axwwallyworld: I thought it might still be used in status05:22
wallyworldaxw: it doesn't *seem* to be at first glance. not sure about status05:22
axwbut it wouldn't... it uses machhine's public address now05:22
wallyworldyeah05:22
axwwallyworld: I will follow up and wipe it out05:22
wallyworldonly issue is we would want to give people te dns name to connect to05:22
wallyworldrather than an ip address05:22
axwwe can do that still, with Addresses05:22
axwthere's an address type05:23
wallyworldah yes, true05:23
bodie_'night all05:23
axwnight05:23
wallyworldseeya05:23
wallyworldaxw: ok, i'll get a 2nd opinion on getting rid of dnsname and we can nuke it05:23
axwcool05:24
axwdavecheney: https://codereview.appspot.com/98480046 fixes worker05:30
davecheneyman, that is a nasty code smell05:31
davecheneywhy isn't this code using a tomb ?05:31
davecheneythis is exactly what a tomb is for05:31
* axw shrugs05:32
axwtomb seems a little heavy here, it's pretty trivial code05:33
davecheneylol05:33
jcw4wallyworld: dumb question... jc.DeepEquals is not the same as gc.DeepEquals right?05:47
jcw4wallyworld: if I want to use jc.SameContents what import is that?05:47
jamjcw4: IIRC it differs based on whether []slice(nil) == []slice()05:47
wallyworldjcw4: same end result, but jc.DeepEquals gives far better errors, so use that05:47
jamis the empty slice the same as a nil slice05:47
wallyworldplus the slice difference, yeah05:48
jcw4jam, wallyworld cool thanks05:48
wallyworldgc.DeepEquals is considered deprecated05:48
jcw4what is the import for jc.*05:48
jcw4juju-core?05:48
wallyworldlaunchpad.net/juju-core/checkers i think05:48
jcw4k, tx!05:48
wallyworldno05:49
wallyworldbad memory05:49
wallyworldgithub.com/juju/testing/checkers05:49
jcw4wallyworld: I see it now... it's in a handful of tests already05:50
wallyworldyeah05:50
jcw4_hmm;  gc.DeepEquals is okay for maps, but use jc.SameContents for slices?06:00
jcw4_it looks like even gc.DeepEquals is intended for slices...06:01
jcw4_is there any similar comparison tool for maps?06:01
jcw4_Or do I need to compare the keys and values separately?06:01
dimiternjam, hey06:02
jammorning dimitern06:02
dimiternjam, so everybody else than niemeyer is chickening out of giving me an lgtm for this goamz branch, 3rd day in a row, and i'm starting to get frustrated.. https://codereview.appspot.com/98430044/06:03
wallyworldjcw4: DeepEquals works for slices sure, but it fails if order is different06:03
dimiternand he even gave me a not lgtm, but i fixed what we discussed, and i'll be waiting for him to appear later today and hopefully approve it06:04
wallyworldSameContents doesn't care about order, so you can think of it as treating a slice like a set06:04
wallyworldwell, except sets can't have dupes06:04
jcw4wallyworld: I'm getting an error using SameContents with two maps06:04
wallyworlduse DeepEquals06:05
jcw4wallyworld: ok06:05
jcw4wallyworld: tx!06:05
wallyworldnp06:05
davecheneyhttp://paste.ubuntu.com/7500334/06:21
davecheneyaxw: getting closer06:21
axwnice06:23
jcw4mgz, fwereade : I think this is the last go round: https://codereview.appspot.com/9826004306:23
jamdimitern: I have some comments, but adding reviews just adds more chefs to the pot :). I still feel like you're in the best position to be comfortable with it, and if you are, LGTM06:28
dimiternjam, thank you!06:29
rogpeppemornin' all06:52
dimiternhey rogpeppe06:59
rogpeppedimitern: yo!06:59
dimiternrogpeppe, just back from holiday? or you're hanging in other channels usually?07:00
dimitern:)07:00
rogpeppedimitern: just back from holiday07:00
rogpeppedimitern: was in Cypress for two weeks07:00
dimiternrogpeppe, excellent!07:00
rogpeppedimitern: yeah, it was!07:01
davecheneynight all07:06
dimitern'night davecheney07:06
dimiternjam, so no standups today, just the x-team meeting @14.30 utc?07:10
wallyworld_axw: i will add another test before landing - you're right, it's messy to do07:11
axwwallyworld_: okey dokey07:11
wallyworld_i was being lazy :-)07:11
axwwallyworld_: I just noticed there's a card "TestEnsureAdminUser is still broken"07:12
axwwallyworld_: did CI fail again?07:12
wallyworld_yeah, the latest test run has it failing, and also several over the past few days07:12
wallyworld_not every time07:12
wallyworld_but often enough07:12
wallyworld_the other failures all seem to be one off07:12
axwwallyworld_: latest run of "walk tests" on trusty is buggered, the machine is out of space07:12
wallyworld_this is the one i looked at just before07:13
wallyworld_http://juju-ci.vapour.ws:8080/job/walk-unit-tests-amd64-trusty/330/console07:13
axwok07:13
wallyworld_plus a few others over the past few days07:13
wallyworld_it seems much better but not quite fully fixed07:13
* wallyworld_ -> soccer07:14
axwlater07:14
jamdimitern: right now we didn't have the team standup because of the x-team meeting, I might reintroduce it, but we hadn't talked about it, so I'll skip it today07:50
dimiternjam, ok, do any of us need to be at the x-team?07:52
jamdimitern: the goal is that if you *can* be there you should, as we'd like people to go to 2 out of 3 of the meetings.07:52
jamI will not be able to be there tonight, as it is my 10-year anniversary weekend07:53
jambut I'll probably be going to most of them.07:53
dimiternjam, right, I'll try to attend then - it is one of the poor-quality-voip-conference calls right?07:53
TheMuemorning07:54
jamdimitern: ah sorry, this is the whole team juju meeting at 18:00 UTC07:54
jamdimitern: sorry, the x-team meeting at 14:30UTC is not one you have to be at07:54
jamwe need a smattering of people from Juju to be there.07:54
dimiternjam, ah, ok07:55
jamdimitern: the one at 18:00UTC is the replacement for the weekly whole team meeting that we used to have at 10:00UTC on Thursdays07:55
* TheMue is looking forward to the 1800UTC meeting, see some of the new US colleagues.07:55
dimiternjam, it'll be more difficult to attend the one at 18 utc - it is the only one this week and will rotate next week at another time iirc?07:55
jamI think 18:00 is around 20:00 for you, right?07:56
jamdimitern: right, next week it will be 8 hours later07:56
jam(16 hours earlier, depends on POV)07:56
TheMuejam: it is 20 CEST, yes07:56
dimiternjam, :) so +8h each week?07:56
jamdimitern: right07:56
dimiternhey TheMue07:56
jamwe'd like people to make it to 2 out of 307:56
TheMuedimitern: heya07:56
dimiternjam, ok, so 18 utc, 2 utc and 10 utc07:57
TheMuejam: but don’t expect me to join the 200UTC meeting :D only if I cannot sleep07:57
TheMuedimitern: yep07:57
jamTheMue: yep.07:57
jamIt is at 6am here, so I can *just* make it.07:57
dimiternjam, why 2 out of 3 ?07:57
jamdimitern: it is an approximate, but hopefully we can make that work07:58
TheMue6am is hard enough *yawn*07:58
jamwe want people to see each other as much as we can07:58
jamdimitern: it isn't hard and fast, but we used to see everyone every week, but can't actually do that with 21 people07:59
dimiternjam, i see - that way at least for one of the meetings everyone will make an effort to attend at an inconvenient time07:59
jamit is possible that we could make it at the start of and end of some people's work day08:00
jambut it is too hard to actually try to do the numbers to actually figure out what time of day that would be08:00
jamthis way at least 1 per 3 weeks should definitely be in your normal TZ08:00
dimiternor perhaps make 4 meetings instead of 3, that way the intended goal is easier to achieve i think08:01
dimiterneach one 6h apart08:01
dimiternjam, was that an option?08:02
jamit wasn't ever brought up, it would be something to consider08:03
=== vladk is now known as vladk|offline
=== vladk|offline is now known as vladk
=== vladk is now known as vladk|offline
voidspacemorning all08:34
jamdimitern: the next patch in my API versioning saga: https://codereview.appspot.com/9763004509:09
dimiternjam, looking09:09
=== vladk|offline is now known as vladk
* jam takes his dog to the kennel for the weekend, bb < 1hr09:11
perrito666morning09:15
voidspaceperrito666: morning09:18
* jam is back09:47
jammorning perrito666 and voidspace09:47
voidspacejam: morning09:52
mgzhave I actually got internet right now...10:01
wallyworld_mgz: yes you have :-) you ok for 1:1?10:02
mgznow google is responding, I'm there10:03
voidspacegah, the srvRoot authorizer methods aren't tested10:10
voidspaceI've added a new one10:10
voidspaceso testing it means working out how to test those methods at all10:10
voidspaceunless they're tested elsewhere10:12
voidspacejam: ping10:20
jamvoidspace: ?10:20
voidspacejam: state/apiserver/root.go10:20
voidspacejam: srvRoot represents a client's connection10:20
jamwell, it represents the API10:20
voidspacejam: and it is the main implementation of the Authenticator interface10:21
jamfor clients or agents10:21
voidspacejam: the Authenticator methods on it aren't tested directly that I can find10:21
voidspaceand in fact most tests use the FakeAuthorizer10:21
jamvoidspace: I'm pretty sure they are all tested indirectly, but yes, there are no direct tests of srvRoot behavior10:21
voidspaceI've added a (simple) method to this, and the only test is against the FakeAuthorizer (which also now has this method)10:21
jamvoidspace: so things that test the APIServer directly use FakeAuthorizer, but there are a bunch of client-side tests that go end-to-end that have a real srvRoot in the middle.10:22
jamvoidspace: but if you can write some direct tests, I'd be happier to see them.10:22
voidspacejam: so the only way to make that work would be to create a client that is neither representing a MachineAgent nor a UnitAgent10:22
voidspacejam: and we struggled to do that as it seemed the way to get the API was "OpenAPIAsMachine"10:23
jamvoidspace: we have 3 types of entities that access the API, Client, MachineAgent and UnitAgent10:23
voidspaceright, but how to get a test client entity wasn't obvious10:23
jamvoidspace: so opening the API as the admin user is not a machine or unit agent10:23
voidspaceah, ok10:23
jamvoidspace: things that access the "Client" facade are not machine or units either.10:24
dimiternjam, reviewed10:24
voidspaceif a direct test is preferable (srvRoot is a private type) can you suggest how I would do that or point me at something that gets at it for testing10:24
jamvoidspace: I know of nothing that tests it directly, and I'm working on that right now for some API versioning tests10:24
voidspaceah right10:25
jam*I* like to have direct Unit tests of each layer10:25
jamnot everyone felt the same10:25
jamnamely, the people who implemented this the first time10:25
voidspaceyep, me too - it seems wrong to only indirectly test10:25
jamfelt that it was better to test from the actual client code10:25
voidspacebecause those tests can be changed or removed as it's not obvious what they're testing10:25
jamdimitern: thanks10:25
voidspaceunless you add a note10:25
voidspaceit's also not obvious where to go to find them / update them10:25
fwereadevoidspace, yeah, +1 to direct tests10:26
voidspacewell, +1 in theory10:26
fwereadevoidspace, it helps with interface sanity more than anything else I'm aware of10:26
voidspaceprivate types that are hard to construct make it difficult10:26
voidspaceobviously not built with testability in mind10:26
fwereadevoidspace, +1 also to tiny weeny little packages that don't have internal layers that really need tests but don't have them10:26
jamvoidspace: fwiw I'm currently overhauling srvRoot a *lot* so you may not want to poke at it too much.10:30
voidspacejam: ok, it's literally a one line method10:32
voidspacejam: maybe it's not warranted as there's only one use for it - if I see the need again I'll add it10:33
voidspacejam: and by then it should be easier to test due to your work10:33
jamsgtm10:47
=== vds` is now known as vds
=== vladk|offline is now known as vladk
jamfwereade: don't forget the team leads call in 5min. If you're available, I have a quick question wrt API that I'd like to run by you (if you can join early)10:55
voidspacefwereade: in terms of making GetRsyslogConfig bulky, it takes no params11:00
voidspacefwereade: so is it just a question of renaming to Configs and returning a slice of results?11:00
fwereadevoidspace, shouldn't we be asking for the rsyslog config for ourselves, though,much as we watch the config for ourselves?11:01
jamdimitern: https://codereview.appspot.com/97570051 implements the "Does this Facade return the exact type I expected"11:01
voidspacefwereade: no, units and state servers all need to log to "all the state servers"11:01
voidspacefwereade: so we want "the global config for everything" in all cases11:02
jamvoidspace: fwiw ^^ removes some of the coupling so you can create one with apiserver.TestingSrvRoot(State) which would let you write the tests you wanted. (once all this stuff lands)11:02
voidspacejam: ah, cool11:02
fwereadevoidspace, the answers for "where should machine 7 log to" and "where should machine 9 log to" may happen to always be the same11:02
fwereadevoidspace, but I think they're different questions11:03
fwereadevoidspace, and I think it's a bit nicer to keep the object of the sentence implied by the API call explicit ratherthan implicit in the connection11:03
fwereadevoidspace, any evidence of sanity there?11:03
voidspacefwereade: it sounds like unnecessary complexity in the name of trying to be consistent11:03
voidspacefwereade: the *explicit task* we are achieving is "make sure everything logs to all the state servers"11:04
voidspacethat's the goal of HA - present a single world view with redundancy11:04
voidspaceso to provide an api that looks like we could have multiple world views actually breaks that model11:05
voidspace(conceptually)11:05
fwereadevoidspace, it's more about (1), yes, consistency, but (2) trying to make it easy to build the API out of easily composable chunks: and methods with implicit params don't really help there11:05
fwereadevoidspace, I may have to think about that for a mo, but I'm not sure I agree11:05
voidspaceI defer to you of course, but I'm a bit wary of the "make all API calls bulk calls even when not appropriate" approach11:06
voidspaceI'd rather we think about whether it makes sense for each endpoint (and yes bearing the future in mind because API churn is a pain)11:06
voidspacebut I still defer to you :-)11:06
=== vladk|offline is now known as vladk
voidspacebut we *want* a single logging endpoint for the user - and we want HA to provide redundancy for that *behind the scenes*11:07
dimiternjam, thanks, will look in a bit11:07
voidspaceso it seems to me that the model here is a single call11:07
fwereadevoidspace, it is certainly less compelling than it originally was, because at long last we're getting api versioning, so the cost and complexity of changing an API is much smaller11:07
fwereadevoidspace, there are 2 questions in play though11:07
voidspaceversioning isn't a silver bullet - you still have to maintain the obsolete version, which can be a real nuisance11:08
voidspaceso better to get it right :-)11:08
fwereadevoidspace, one is, should inform the server who's sending the logs when we ask where they should be sent, and I think that's a yes11:08
voidspace"should (?) inform the server" ?11:09
fwereadevoidspace, "we" or "the client" or whoever11:09
fwereadevoidspace, "where do all logs go always" != "where do $entity's logs go", even if the answers are currently the same11:10
voidspacethat's the one I'm disputing I think - we explicitly want all logs to go to the same place11:10
voidspacedoorbell - back in 211:10
wwitzel3_hello11:11
=== wwitzel3_ is now known as wwitzel3
voidspacewwitzel3: hello11:11
fwereadevoidspace, the other is "is the cost/benefit of mandating all-bulk calls likely to pay off" and I *think* they actually are: the consistency argument is stronger than you might think, because people do what they see us doing already; and IMO enough calls are worth bulking that it's a win to provide a consistent API that always allows it even if we don't always use it11:12
voidspacefwereade: if we start sending different logs to different places, we'll be breaking the HA model - which is, all logs are always available and it doesn't matter which state server you contact11:12
voidspacefwereade: right, I certainly don't want to fight strongly on that point11:12
fwereadevoidspace, strawman: additional external logging targets for units of particular services11:13
voidspacefwereade: so, the args should be a slice of entities and the result a slice of configs?11:13
=== vladk|offline is now known as vladk
fwereadevoidspace, yes please11:13
voidspacefwereade: hmmm...11:14
voidspacefwereade: ok11:14
fwereadevoidspace, my argument is not that it always makes sense; it's that it often does, and that the bonus from consistency pushes it past the line to just-always-do-this11:14
voidspacefwereade: ok11:15
=== motter_ is now known as motter
=== vladk|offline is now known as vladk
=== vladk|offline is now known as vladk
voidspacefwereade: for bulk calls, is the convention that, assuming no "global error" (causing the whole call to fail) happens, you return "result, nil" - where result is a collection (.Results) with an Error field for individual errors11:53
rogpeppevoidspace: yes11:54
voidspaceso even where this one call with one error, you return nil for the error - but result.Results[0].Error has the real error11:54
voidspacecool11:54
rogpeppejam, fwereade: hiya, i was talking earlier with frankban about moving store out of core, and we think that it's a reasonable principle that nothing outside juju-core imports juju-core's TestBase. does that seem right to you?11:55
fwereaderogpeppe, agreed; but ideally we'd be moving stuff to github.com/juju/testing rather than duping or  dropping functionality11:56
rogpeppefwereade: yup11:56
fwereaderogpeppe, perfect11:56
rogpeppefwereade: but TestBase in particular has very core-specific functionality11:56
rogpeppefwereade: but packages like filetesting will move too11:57
fwereaderogpeppe, yep, +1 to that11:57
jamrogpeppe: in general we'd rather have things not depend on code inside juju-core, and have things nicely pulled out into smaller modules. I'd be willing to be a bit pragmatic about it11:58
rogpeppejam: i hope we can be good about it. in particular, i very much hope that we can make a strictly non-cyclic dependency graph between repositories.11:59
jamfwereade: https://codereview.appspot.com/100460045/ is the one patch along the way that didn't actually get an LGTM, I think I've finished the work on it that I wanted to do.12:07
jamdimitern: ^^ if you want to give that a look as well12:07
jamit is *mostly* a mechanical application of the previous patches.12:08
voidspacerogpeppe: I didn't notice that reply came from you12:08
voidspacerogpeppe: thanks, and hi12:08
rogpeppevoidspace: hiya :-)12:08
perrito666hey rogpeppe wb12:09
=== psivaa is now known as psivaa-afk
rogpeppeperrito666: ta!12:09
jamfwereade: https://codereview.appspot.com/97630045/ is a followup that Dimiter reviewed, and https://codereview.appspot.com/97570051/ is one that needs reveiew12:10
dimiternjam, reviewed https://codereview.appspot.com/97570051/12:18
jamdimitern: thanks12:18
* perrito666 wonders why ctrl+w doesnt work on the screen he is looking at instead of the one with focus12:19
voidspaceperrito666: heh, I do that all the time12:19
voidspacehah, I wondered why I suddenly had all these failures on our rsyslog branch12:38
voidspacewwitzel3: ping12:38
voidspacewwitzel3: revision 2755 (most recent one) of your rsyslog branch merges a branch of mine that was a dead end12:39
voidspacewwitzel3: I restarted the work in a different branch12:39
voidspacewwitzel3: can you back out that revision?12:39
voidspacewwitzel3: I have further commits so it's harder for me to do12:42
voidspacein the meantime12:44
* voidspace lunches12:44
jamvoidspace: "bzr merge -r 2755..2754" should do what you want, fwiw13:04
wwitzel3voidspace: was eating breakfast and getting Jessa off to work, ping me when you're back, I don't even see that revision on my branch of rsyslog-api13:24
tasdomasfwereade, hi13:32
tasdomasfwereade, I've started working on moving juju-core/cmd to a separate package (github.com/juju/cmd probably) - what is the process of creating a new juju repo on github?13:33
=== psivaa-afk is now known as psivaa
fwereadetasdomas, I'm a bit surprised by cmd... oh, yeah, the store commands use it now13:51
fwereadetasdomas, are you in the team on github?13:51
voidspacewwitzel3: http://bazaar.launchpad.net/~wwitzel3/juju-core/009-ha-rsyslog-api/revision/275513:57
voidspacewwitzel3: is that not your branch? https://code.launchpad.net/~wwitzel3/juju-core/009-ha-rsyslog-api13:58
wwitzel3voidspace: huh, I just don't see it locally I guess13:58
voidspaceheh13:58
voidspacewwitzel3: the command that jam gave is the one you should run13:59
wwitzel3voidspace: it is indeed my branch, but locally when I look at the log, I see 2747 as the latest13:59
voidspaceit would be more painful for me13:59
voidspacehah13:59
wwitzel3voidspace: ok, try now? ..14:01
wwitzel3not sure if I should cross my fingers or plug my ears14:01
wwitzel3both? ..14:01
voidspacehah14:02
voidspacewwitzel3: now I see the latest revision as 2747 (!?) but with the offending revision still in it14:03
voidspaceI believe14:03
voidspacewhen I merged I got no changes anyway14:03
wwitzel3ok what is the offending revision # now?14:03
voidspace274714:03
wwitzel3voidspace: ok, pushed up the revert of that (I hope)14:05
=== hatch__ is now known as hatch
voidspacewwitzel3: ah, I see what happened I think14:22
voidspacewwitzel3: you intended to merge in my changes removing the obsolete check that Port and CACert had changed14:23
voidspacewwitzel3: this was the branch that should have been merged14:23
voidspacehttps://code.launchpad.net/~mfoord/juju-core/ha-rsyslog-shortcut-removal/+merge/22010514:23
voidspacewwitzel3:  lp:~mfoord/juju-core/ha-rsyslog-shortcut-removal14:24
wwitzel3ok, merged and pushed14:26
=== cory_fu2 is now known as cory_fu
voidspacewwitzel3: and rsyslog worker tests are passing again for me!14:29
voidspaceand I don't think we lost anything...14:29
wwitzel3great :)14:30
voidspacehmmm...14:30
voidspaceexcept this on your branch14:30
voidspacewwitzel3:14:30
voidspace    Diff: 12160 lines (+2221/-2600) 262 files modified (has conflicts)14:30
wwitzel3great14:30
voidspacewwitzel3: you may need to merge trunk and resolve conflicts14:30
voidspace:-o14:31
wwitzel3yep, doing that now14:31
wwitzel311 conflicts encountered.14:32
wwitzel3awesome14:32
voidspaceweird14:32
voidspacewwitzel3: files you've not touched you can resolve with --take-other14:32
wwitzel3well that is handy :)14:33
voidspacewwitzel3: and in fact, the conflicts are pretty much all in files we've not touched14:33
wwitzel3voidspace: pushed14:33
voidspacewwitzel3: thanks14:33
wwitzel3voidspace: we should pair after this call14:34
voidspacewwitzel3: ok14:34
voidspaceanyone recognise this error: "missing agent version in environment config"14:37
voidspacein provider/dummy14:37
voidspaceactually comes from testing.AssertStartInstance14:38
perrito666voidspace: your config file is being generated without version ?14:38
voidspaceperrito666: sure, but it's from a test14:38
voidspacesorry, yeah - test failure error14:38
voidspaceah, never mind14:38
voidspaceI have build failures14:39
wwitzel3hah14:39
wwitzel3priorities14:39
wwitzel3:P14:39
voidspacein the openstack provider14:39
voidspaceI wonder if dependencies.tsv wasn't updated on trunk14:40
voidspaceif I merge from trunk it says nothing to do14:41
voidspacebut if I switch to trunk and run godeps it *does* update some dependencies14:42
voidspacewwitzel3: you still have an 11000 line diff14:42
voidspacewwitzel3: I think you somehow collapsed a bunch of changes into that single revision14:42
=== hatch__ is now known as hatch
voidspaceor something14:43
voidspacesomehow our branch has undone a load of changes14:43
voidspacegoddammit14:43
wwitzel3well, I can undo the merge I did earlier14:44
wwitzel3where I jumped back a revision14:44
voidspaceright, that would bring back the unwanted changes from my branch14:44
voidspacelet's look at the revision history and see if we can work out where we want to go back to14:45
voidspacewwitzel3: it seems like you want to go back to 2746 (which I thought was what you'd done previously)14:46
voidspaceand then merge trunk in14:46
voidspacewhich should leave just our changes14:46
voidspaceah14:49
voidspaceso the problem is that trunk has already been merged into your branch14:50
voidspaceso the reverse merge *undoes* trunk revisions14:50
voidspacemerging trunk again says "Nothing to do" because it sees those revisions in the merge history14:50
voidspacemgz: ping14:50
dimiternniemeyer, hey14:51
niemeyerdimitern: Heya14:51
dimiternniemeyer, I fixed what we discussed in https://codereview.appspot.com/98430044/, can you please take a look if it's good to land?14:51
niemeyerdimitern: Will do, thanks14:52
bodie_fwereade / others, looks like all the libs in question are apache2-licensed in their source code but LICEN(S|C)E[.txt] isn't included in the two deps for gojsonschema.  should I open MRs or is it sufficient to have the license in the files themselves?14:54
voidspacewwitzel3: I'm going to try and fix it by branching trunk and merging from revision 2747 of your branch14:54
wwitzel3voidspace: ok14:54
voidspacewwitzel3: that *seems* to have worked14:54
voidspacewwitzel3: we may need to abandon your one - the history seems to be irrevocably screwed now (?)14:55
voidspacewwitzel3: I'm in moonstone by the way14:56
niemeyerdimitern: Does it make sense to have the same domain name for different private IPs?14:56
niemeyerdimitern: Ah, nevermind14:57
niemeyerdimitern: The loop breaks out on the first entry14:57
dimiternniemeyer, right14:57
niemeyerdimitern: Okay, LGTM14:57
dimiternniemeyer, thanks!14:57
voidspacewwitzel3: https://code.launchpad.net/~mfoord/juju-core/ha-rsyslog-good/+merge/22066714:59
voidspacewwitzel3: https://code.launchpad.net/~mfoord/juju-core/ha-rsyslog-good/+merge/22066915:06
wwitzel3voidspace: second link looks right15:07
bodie_someone help me understand what fwereade means by "d" in these comments? https://codereview.appspot.com/94540044/diff/60001/charm/actions_test.go15:09
perrito666bodie_: delete15:10
voidspacewwitzel3: https://code.launchpad.net/~mfoord/juju-core/ha-rsyslog-2/+merge/22060315:15
mgzvoidspace: hey, sorry missed ping earlier15:17
bodie_o/ mgz15:17
mgzhey bodie15:17
voidspacemgz: we have a screwed bazaar branch that we can't recover15:18
voidspacemgz: we've mostly worked round it now and are abandoning the branch15:18
voidspacemgz: but I thought you might be able to help15:18
mgzvoidspace: fallback is just pull out the changes in the tree into a fresh branch normally15:18
voidspacemgz: right, that's what I'm doing15:19
voidspacemgz: except it's changes from three different branches we had consolidated15:19
voidspaceand it was the consolidation that screwed us15:19
mgzwhat fun15:19
voidspaceand then unfortunately there was a merge back the other way - making it hard to back out changes without also reverting a load of trunk changes15:19
voidspacewhich is what we did15:19
voidspaceand why we're screwed15:19
voidspacewe reverted 11000 lines of changes from trunk15:20
voidspaceand the history shows those changes as already merged - so we can't bring them back again15:20
wwitzel3they probably weren't needed anyway15:20
voidspaceyeah, probably15:20
voidspacewwitzel3: this is now the full consolidated branch15:24
voidspacehttps://code.launchpad.net/~mfoord/juju-core/ha-rsyslog-good/+merge/22066915:24
mgzvoidspace: losing the history shouldn't matter much, as we're going to be losing history anyway next week15:26
voidspacemgz: really, we're just dumping into github rather than converting the repo?15:26
hazmatmgz, losing history?15:26
hazmatwhat?15:26
hazmateasy to convert with history15:27
mgzvoidspace: we're converting, but that's a lossy conversion15:27
voidspaceoh, ok15:27
voidspacewe'll just pretend it's git's fault15:27
voidspaceI mean, I'm sure nothing like this will ever happen once we're using git15:27
voidspacegit is not *at all* renowned for mangling repos into completely unusable states15:28
perrito666voidspace: nope, git users are though15:28
sinzuivoidspace, perrito666, bodie_ is anyone planning to land a branch in the next hour? I want to take CI offline to upgrade how it builds test packages15:28
perrito666sinzui: nope15:29
jcw4_sinzui I'm hoping to in a couple hours15:29
bodie_hoping to get one in asap, but struggling a little with tests right now.  I can push it back15:29
voidspaceperrito666: git will happily chainsaw your repo into an unusable mess15:29
voidspaceand smile whilst doing it15:30
voidspacesinzui: an hour should be fine15:30
perrito666voidspace: but will blame me15:30
perrito666so technically its my fault15:30
voidspacesure...15:30
voidspaceI'll happily blame you too if you like :-D15:30
sinzuibodie_, does the landing bot hate you?15:31
perrito666voidspace: usually when I use git, which I like, I feel like barely above using diff+patch+ftp15:31
bodie_I assume I would know if it did15:31
voidspaceheh15:31
bodie_and I don't, so it must not15:31
voidspacefwereade: we've created a new CL as we managed to "break" the other one15:31
voidspacefwereade: https://codereview.appspot.com/91630045/15:31
voidspacefwereade: that addresses your previous review comments as discussed (I believe)15:32
bodie_jcw4, mgz, I'm not certain I'll be able to have a voice session at 1600 -- michelle will be getting home any minute now and i failed to communicate the plan to her so I might have to do text this time15:48
jcw4_I think we're preferring IRC right now anyway15:49
mgzthat's fine15:49
jcw4_#jujuskunkworks to reduce the noise here though?15:49
mgzlets15:49
=== vladk is now known as vladk|offline
=== hatch__ is now known as hatch
jcw4fwereade: I'm assuming this is what you wanted with the err handling and return of newActionID: http://bazaar.launchpad.net/~johnweldon4/juju-core/action/view/head:/state/unit.go#L134316:48
voidspacemgz: ping16:49
fwereadejcw4, yeah, looks good16:52
jcw4fwereade: ta16:52
voidspacefwereade: so I assume that when we release 1.20, what is currently "upgrades/steps118.go" will be changed to "upgrades/steps120.go"16:53
bodie_fwereade, https://codereview.appspot.com/9454004416:54
bodie_hopefully this is satisfactory :)16:54
bodie_I made a few tweaks to the regexp that I'd not caught until I added the param name tests you'd requested16:55
fwereadevoidspace, no? those are needed for anything pre-1.18 to be valid for 1.18; they don't need to be run again from 1.18 to 1.20; others might, and they'd be 1.20 ones (or I guess 1.19 ones, I hope we'd discover them earlier than 1.20...)16:55
mgzvoidspace: hey16:56
voidspacefwereade: but we don't have steps116.go, I thought we only supported 1.18  -> 1.2016:57
voidspacemgz: hi, I was going to ask what I'm asking will16:57
bodie_right -- so the deps I added with gojsonschema have apache v2 license in the source files but not repos themselves16:57
voidspaceI'd better my changes16:58
bodie_do I need to get the author to put LICENSE.txt in the repos or are we good?16:58
voidspace*revert my changes16:58
fwereadevoidspace, the idea is that we *should* be able to support arbitrary upgrades, and that we run them from src->dst in order17:10
coreycbI have a local provider deployment of mysql to kvm that hangs in pending state.  any idea if that is fixed by bug 1317197?17:10
_mup_Bug #1317197: juju deployed services to lxc containers stuck in pending <oil> <juju-core:Fix Committed by axwalk> <https://launchpad.net/bugs/1317197>17:10
voidspacefwereade: ok, I'll leave the syslog port upgrade step in place17:10
coreycbsinzui, maybe you know ^17:11
sinzuicoreycb, sorry, the bug is unrelated. That bug is about a lock dir used when working with lxc templates17:13
coreycbsinzui, ok need a bug for my issue?17:15
sinzuicoreycb, common reasons for localhosts stuck in pending is a bad cloud image cache. I don't know how kvm manages that17:17
sinzuicoreycb, I think we do need a bug https://bugs.launchpad.net/juju-core/+bugs?field.tag=kvm doesn't describe the issue17:17
jcw4fwereade, or mgz : if you get a chance to review -- https://codereview.appspot.com/98260043/17:30
coreycbsinzui, thanks, I opened bug 132228117:30
_mup_Bug #1322281:  local provider deployment of mysql to kvm hangs in pending state <juju-core:New> <https://launchpad.net/bugs/1322281>17:30
sinzuithank you17:30
natefinchAhh, there's nothing like starting the day at 4am with a puking 11 month old.17:37
rick_h_natefinch: all uphill from here17:38
natefinchhaha, yeah17:38
wwitzel3I've ended the night with a puking 30 year old before, if that makes you feel any better :P17:40
rick_h_wwitzel3: yourself doesn't count :P17:40
wwitzel3I'd puke, thats fiscally irresponsible17:41
wwitzel3I don't17:41
jcw4wwitzel3: I don't know... with a 30 yro you can laugh at them17:41
jcw4and... walk awy17:42
wwitzel3I feel like you can laugh at an 11 month old too, doubt they would remember17:42
jcw4haha17:42
wwitzel3oh, yeah, well the walk away part .. not so much17:42
natefinchAt least I didn't have to catch her puke in my hands this time, that was nice.17:43
wwitzel3I see as a parent your definition of nice has to change slightly17:44
natefinchlol yup17:44
jcw4haha yep17:44
voidspacenatefinch: morning17:51
natefinchvoidspace: morning :)17:52
voidspacehmmm... so adding an attribute to the slice of immutableAttributes in config.go isn't sufficient to make it actually immutable17:54
voidspaceI thought that was a bit hopeful17:54
voidspaceah, wait17:54
voidspaceI didn't go install first17:54
voidspacemaybe it still is17:55
voidspaceand it looks like it is17:55
=== vladk|offline is now known as vladk
voidspaceERROR cannot change syslog-port from 6514 to 303017:56
voidspacethat's what I wanted :-)17:56
natefinchnice17:56
voidspaceship it!17:56
voidspaceI should probably test it17:57
bodie_rogpeppe, you around?17:57
voidspacebut that can wait until the morning17:57
voidspaceg'night all17:57
voidspaceEOD17:57
bodie_o/17:57
=== vladk is now known as vladk|offline
=== vladk|offline is now known as vladk
alexisbnatefinch, ping18:56
natefinchalexisb: howdy18:56
alexisbgiven you are the lead that is awake :)18:56
natefinchheh18:57
alexisbcan you take a look at 2 bugs real fast and get them to triaged state18:57
alexisbmost likely they are both critical given they are blocking teams but I want someone to take a quick look first18:57
alexisb1322302 and 132228118:58
natefinchok18:58
alexisbthanks18:58
bodie_natefinch, does that mean you can give some input on whether we should use a dep of relatively unknown quality from github?  rogpeppe indicated some concern18:58
natefinchbodie_:18:58
natefinchbodie_: er yep18:58
natefinchbodie_: what's the repo?18:58
bodie_https://github.com/xeipuuv/gojsonschema18:59
bodie_AFAIK, it's the go-to JSON-Schema implementation for Go -- the only other github repo for gojsonschema is a fork of it which was recently merged18:59
bodie_I could loop you into the MR email thread if you'd like18:59
natefinchbodie_: I think I saw part of it at leasty18:59
bodie_about licensing, right19:00
bodie_I should let you take care of what alexisb wanted, but let me know if you have any input19:00
natefinchbodie_: I'll take a look at it.19:00
natefinchalexisb: I made the first one high, since slow is not the same as "doesn't work"19:20
natefinchalexisb: the second one is "doesn't work" so I made it critical19:20
natefinchalexisb: both need investigation by dev or QA to confirm it's reproducible, though19:20
alexisbnatefinch, thank you, can you make sure to comment on any needs that block forward progress from juju-core in the bug?19:21
natefinchalexisb: sure19:28
perrito666natefinch: here is the everybody is happy patch https://codereview.appspot.com/9232004319:59
natefinchperrito666: nice20:01
=== vladk is now known as vladk|offline
waiganimorning all21:22
waiganihow do you find the current juju user?21:23
arosaleswallyworld_: et'all are folks seeing issues on HP Cloud21:34
arosalesmbruzek: is seeing hex output in juju status21:34
wallyworld_oh really? 1.18.3?21:34
arosaleswallyworld_:  1.19.3 I think21:35
mbruzekI am seeing some very strange output21:35
mbruzekhttp://paste.ubuntu.com/7503161/21:35
mbruzekjuju status21:35
wallyworld_ok, so crappy error message :-( looks like the security group quota may have been exceeded perhaps21:36
wallyworld_let me have a look to see if i can figure it out21:36
wallyworld_mbruzek: so, looking at the hp console, it seems your machine 1 reports an " Error(spawning) "21:40
wallyworld_so at first glance it looks like juju tried to start the machine and got an error back from hp cloud21:40
wallyworld_and reported the error in juju status but in a crappy way21:40
wallyworld_you could try destroying the machine in juju21:41
mbruzekwallyworld_, I will do that now21:41
wallyworld_and possibly manually deleting from hp cloud21:41
wallyworld_perhaps file a bug about the poor error message21:41
mbruzekwallyworld_, this is my second time seeing these problems, I believe they will persist after I destroy-environment and re-bootstrap21:42
wallyworld_mbruzek: it seem though that some machines start ok?21:43
mbruzekcorrect, but there always seems to be one that does not.21:43
wallyworld_i tried clicking on the console log in the hp cloud admin page page it just hung21:43
mbruzek$ juju destroy-machine 121:43
mbruzekERROR no machines were destroyed: machine 1 has unit "cassandra/0" assigned21:43
mbruzekDo I need to --force?21:43
wallyworld_you either need to destroy the unit/service first or i think there's now a --force option?21:44
wallyworld_perhaps the all-machine.log on the start server will give clues21:44
wallyworld_you could juju debug-log in another terminal window as you try and deploy charms21:45
wallyworld_and then see what it says if the machine provisioning on the cloud fails21:45
wallyworld_not start server, state server21:45
wallyworld_arosales: you meeting with the joyent folks today?21:46
mbruzekwallyworld_, I already had juju debug-log running in another window!21:47
wallyworld_what did it say as machine 1 failed to start?21:47
wallyworld_pastebin it if you want21:47
arosaleswallyworld_: they defered till next wed21:50
mbruzekIs there somewhere all-machine.log is on my system?  I am cut and pasting this to pastebin and it is not very fast21:50
arosaleswallyworld_: any traction on your pull requests?21:50
wallyworld_arosales: no :-(, still pending. we really need them merged21:50
wallyworld_mbruzek: the log file is on the state server21:50
mbruzekwallyworld_, Here is the top of the juju debug-log command after I started the deployement21:51
mbruzekhttp://pastebin.ubuntu.com/7503212/21:51
arosaleswallyworld_: ugh. ok I'll ping again. Really they shouldn't have to meet with me to get the pull request merged. I thought they were taking a look.21:51
mbruzekwallyworld_, machine-0: 2014-05-22 19:48:53 ERROR juju.provisioner provisioner_task.go:417 cannot start instance for ma21:51
mbruzekchine "1": cannot run instance: failed to run a server with nova.RunServerOpts21:51
wallyworld_arosales: part of the issue is that the ppc tests keep timing out because of the issue, and we are under prssure to get those sorted out21:52
wallyworld_arosales: maybe they are looking at them :-) i'll check later today to see if they're still pending21:52
wallyworld_mbruzek: so, it's saying that the cloud has reported an error starting the instance but doesn't really say what the error is (eg error code)21:53
arosaleswallyworld_: ok I'll add that into my ping.21:55
wallyworld_thank you :-)21:55
wallyworld_mbruzek: did you just destory environment?21:57
mbruzekwallyworld_, Yes I wanted to try a simpler case.21:57
wallyworld_the console shows just a state server machine now which is green, but also an old machine 121:58
wallyworld_and i think that's the issue21:58
wallyworld_the old machine 1 isn't getting removed because it's broken21:58
mbruzekI am on the hpconsole but not seeing that information what page are you on?21:58
wallyworld_https://console.hpcloud.com/compute/az-1_region-a_geo-1/servers21:58
wallyworld_if the old machine 1 is there, juju can't start another one with the same name21:58
mbruzekOK I see21:59
wallyworld_that would be a logical explanation for the error21:59
mbruzekYes21:59
mbruzekI just bootstrapped so I should only have 1 server out there.  Let me destroy and clean that one up manually21:59
wallyworld_yep, i reckon that will solve your issue (i hope)21:59
arosaleswallyworld_: pinged again re joyent pull requests22:00
wallyworld_awesome, thanks22:00
mbruzekwallyworld_, Terminating juju-hp-mbruzek-machine-1 seems to have done the trick.  My deployment is looking to be in better shape.22:07
wallyworld_great :-)22:08
wallyworld_my guess there was an error starting it in the first place and hence a subsequent desroy env couldn't kill it22:08
mbruzekI agree22:08
wallyworld_hazmat: you around?22:13
hazmatwallyworld_, am now22:16
hazmatwaigani, what's up22:16
waiganihazmat: hey :)22:16
hazmatdoh.22:16
hazmat:-)22:16
waiganiah you wanted wallyworld_22:17
wallyworld_hazmat: with dan's bug report about lxc staying in pending a long time - that's just because the first machine has to download the lxc image22:17
hazmatwallyworld_, hmm..22:17
wallyworld_we added cloning for them so the next one started fast22:17
hazmatwallyworld_, so let me pose it differently22:17
hazmati agree though that's possibly the primary issue there22:17
wallyworld_we could do something like allow juju to copy an image across at bootstrap22:18
hazmatwallyworld_, if i have containers already running (via manual).. it still takes up to a minute for them to show as started22:18
hazmatduring which they go through various odd permutations in status agent-state: (started)22:18
wallyworld_ok, that's a bit different22:18
hazmatit feels like the pinger/heartbeat is a bit schizo there22:18
wallyworld_that seems like a sepaate but legitimate issue22:19
hazmatwallyworld_, the fix there would be lxc template hooks respecting proxy settings22:19
hazmatre dan's issue22:19
hazmatthat would decrease the time22:19
hazmatalternatively downloading the image while giving feedback to the user22:19
wallyworld_adding feedback is on the todo list22:19
hazmatie.. we don't call out 'install' hook running.. we just leave things in pending22:20
wallyworld_i'm not sure if fetching the template honours the proxy settings22:20
wallyworld_you think it doesn't?22:20
hazmatits just doing a wget, but not sure the env variables propagate22:20
hazmatfrom juju's invocation22:20
wallyworld_ok, we can check that22:20
wallyworld_there's no good short term soluation though sadly22:21
wallyworld_apart from the proxy thing22:21
hazmatwallyworld_, any feedback to the user via status would be helpful to users re long running ops22:22
wallyworld_agree +100, but it's not necessarily trivial, it's on the todo list for sure22:22
hazmatack22:22
wallyworld_i hope that dan's group can bear the pain of the initial download and use cloning for speedier deployment for the thers22:23
wallyworld_others22:23
wallyworld_i'll comment on the bug22:23
wallyworld_hazmat: seems also bug 1322281 which was just raised is the same thing22:24
_mup_Bug #1322281:  local provider deployment of mysql to kvm hangs in pending state <cloud-installer> <juju-core:Triaged> <https://launchpad.net/bugs/1322281>22:24
wallyworld_"hangs" might mean slow template download22:24
wallyworld_or no http egress except via proxy perhaps22:25
wallyworld_so i think if we check the proxy thing, that may be what we can do short term22:25
wallyworld_i'm sort a hoping we do not currently use the proxy settings so we have something to fix22:25
hazmatwallyworld_, its more than proxy.. its respect  a cache22:28
* wallyworld_ -> breakfast bbiab22:28
hazmatalthough typically the same22:28
hazmatmost of thse are orange boxes22:28
wallyworld_which cache?22:28
wallyworld_a squid cache?22:28
wallyworld_which i guess the proxy would point to22:28
hazmatwallyworld_, yeah.. squid-deb-proxy cache.. also orange boxes have full archive mirrors22:28
hazmatwhich we don't configure/use22:29
wallyworld_ok, i think we can/should add in proxy support for getting template22:29
wallyworld_that should be a simple fix22:29
hazmatsounds good22:29
wallyworld_thanks for the input22:29
wallyworld_now i am really off to eat and caffeinate myself22:30
wallyworld_hazmat: i've done some checking. the lxc-create which calls wget is invoked via golang's exec.Command(). this does pass through env vars like http_proxy. so obstently, if they were to set http-proxy and /or apt-htty-proxy in their env config, those should be passed through and used when the template is fetched23:20
wallyworld_do you know if they set http-proxy in their env?23:21
hazmatwallyworld_, talking to kirkland atm about setting up a transparent proxy on the orangebox, so everything hits the proxy cache.23:23
hazmatwallyworld_, i've heard different reports from different folks,  i don't have a solid baseline for analysis23:23
wallyworld_hazmat: great, so i hope/expect that will solve the bug23:23
wallyworld_can you let me know how you get on?23:23
wallyworld_so i can schedule juju work if needed23:23
wallyworld_even without a transparent cache, setting http-proxy in env config should work23:24

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