/srv/irclogs.ubuntu.com/2014/12/19/#juju-dev.txt

katcoperrito666: i think i see what's going on00:02
katcoperrito666: http://play.golang.org/p/VzqUYG-D2y00:02
katcoperrito666: the capacity fluctuates depending on how far into the slice you start your window, so you pretty much have to create a new slice and copy into it00:02
perrito666it might be looking into the capacity and trying to get as many objects instead of lenght objects00:03
perrito666man, I lova play.golang so much00:04
katcohehe00:04
katcoit is nice00:04
perrito666love*00:04
perrito666its like a playable pastebin00:05
katco:)00:05
katcosandboxed too00:05
katcoi think rob pike did an interesting write-up on it somewhere00:05
katcoor maybe it was russ cox00:05
wwitzel3wallyworld: got it figured out, the user-data needed to be base64 encoded to be properly stored on GCE00:06
wwitzel3wallyworld: but the cloudinit script doesn't expect it to be base64 encoded (afaict), so that is the issue.00:06
wallyworldwwitzel3: it's been a while since i looked, isn't is base64 encoded for all providers?00:06
wwitzel3wallyworld: it is, but that is actually handled in the provider libraries for most, not in juju00:07
wwitzel3wallyworld: go's gce library doesn't enforce how you insert metadata like go amz00:08
wallyworldso we should update the gce provider then00:08
wwitzel3sorry, api libraries, no the providers00:08
wallyworldi guess we don't have access to api lib00:08
wwitzel3but yes, we updated the provider to base64 encode00:08
wwitzel3but cloud-config is still nil, so we are looking at the cloudinit GCE datastore to see if it does indeed deal with the user-data being base6400:09
wwitzel3wallyworld: so we are on the right path, thanks for letting me bug you earlier :)00:12
wallyworldnp, i didn't help much00:12
wwitzel3I'm used to that when I talk to you00:13
wwitzel3;D00:13
katcowwitzel3: no one disrespects a tanzanite team member without disrespecting all of us! ;)00:13
wwitzel3katco: haha, I'll remember that for next time00:14
perrito666ok, being 9:20 pm I feel I should EOD cheers all00:21
katcoperrito666: tc00:21
katcoperrito666: i'll see you tomorrow yeah?00:21
perrito666indeed00:22
katcook, then no happy holidays for you yet :)00:23
perrito666heh ah true down under people are in their friday00:23
katcoif i'm getting this error: juju.worker exited "environ-provisioner": no state server machines with addresses found00:31
katcobut i have created a machine with the factory and job of JobManageEnviron, what am i doing wrong?00:31
menn0_wallyworld: I get this in any unit after upgrading from 1.20 to 1.2201:27
menn0_exited "uniter": failed to initialize uniter for "unit-mediawiki-0": cannot initialize hook commands in "1.22-alpha1.1-trusty-amd64": symlink 1.22-alpha1.1-trusty-amd64/jujud 1.22-alpha1.1-trusty-amd64/action-fail: no such file or directory01:28
menn0_haven't we seen that before?01:28
=== menn0_ is now known as menn0
thumperyes01:31
thumperyes we have01:32
thumpermenn0: hangout?01:32
thumpermenn0: the 1.20 upgrade worker creates a relative symlink01:33
thumperI think the fix I did for 1.21 didn't get landed in master because "we didn't support 1.20 -> 1.22 upgrades"01:34
thumpernew code expects absolute01:34
thumperthe 1.21 upgrade worker makes an absolute symlink01:34
menn0thumper: sorry, just saw this01:36
menn0thumper: standup channel?01:36
thumperack01:36
* thumper turns off distractions...02:01
thumperif people super need me, text02:01
menn0wallyworld: are you looking at bug 1396099?02:38
mupBug #1396099: AWS/Joyent/HP/manual/maas: juju deploy error "connection is shut down" <api> <ci> <deploy> <ec2-provider> <joyent-provider> <manual-provider> <regression> <juju-core:Triaged> <https://launchpad.net/bugs/1396099>02:38
wallyworldmenn0: yes, but been in meetings for the past 2 hours02:38
wallyworldpartly done, but i'm not happy with the soluton02:38
wallyworldas we can get address changes at any time02:39
wallyworldand there's potential for at least 2 restarts as the state server comes up02:39
menn0wallyworld: is there a way to avoid restarting the API server and just have the new cert be used for new connections?02:39
wallyworldthat's what i need to dig into02:40
wallyworldwhen i first looked, it didn't seem plausible02:40
wallyworldbut i will have to look a bit harder02:40
menn0wallyworld: that would be slickest solution (but I can see how it might be hard/impossible)02:40
wallyworldyes, agreed. i did initially want to do that but since it appeared hard, it was easier to restart02:41
wallyworldi didn't think it would matter02:41
wallyworldas there would only be a very short window when the state server comes up02:41
menn0wallyworld: turns out computers are pretty fast :-p02:48
wallyworldmenn0: scripting, yes02:49
menn0wallyworld: that's what I mean02:49
wallyworldi didn't think we'd be polling state server to jump in and grab a connection02:49
menn0wallyworld: I don't think anything is polling03:17
menn0wallyworld: as soon as the bootstrap command returns the tests (and my script) attempt to deploy a charm03:17
menn0wallyworld: and that's often the same time the API server gets restarted03:17
wwitzel3so if I want to make a change to the cloudinit DataSourceGCE python, is there an easy way to test that with Juju?03:24
thumperok, I have given up on getting this done today03:24
wallyworldmenn0: yeah, sorry, i didn't mean polling in the strictly literal sense, just a client that connected immediately after the state server comes up.03:25
thumperhowever, I do have it to the state where I just need the tests03:25
wallyworldstill in meeting s o i haven't looked anymore yet03:25
thumperand break it in half03:25
thumperfound that I have some state methods needed03:25
thumperso I can land them independantly03:26
katcothumper: sorry, he's all mine!03:57
thumperhe who?03:59
katcothumper: ian03:59
thumperkatco: he's all yours, with my blessing03:59
* thumper ditches him while he has the opportunity03:59
thumperno backsies03:59
katcothumper: i thought you'd be more jealous03:59
katcorofl04:00
thumperhappy holidays everyone04:01
thumperI'll be back Jan 5th04:01
katcothumper: happy holidays04:01
wwitzel3see ya thumper, have a good one04:02
katcothumper: be safe, have fun04:02
thumperI foresee much hacking in the next two weeks04:02
thumperand none of it in go04:02
thumperpython, javascript and C#04:02
thumperlaters04:02
katconice04:03
katcoanastasiamac: oh and i sincerely apologize for monopolizing ian's time. sorry about that05:00
katcook off to bed... tc and happy holidays to all of those for whom it is friday!05:05
menn0katco: thanks... have a good break05:06
katcomenn0: you too good sir!05:06
menn0wallyworld: I think I see a way to swap out certificates on the fly05:06
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
menn0wallyworld: if you look at the implementation of the listener returned by tls.NewListener05:08
menn0wallyworld: you can see that the config (which contains the cert) is passed to Server for each inbound connection05:09
menn0wallyworld: so if you can change the cert in the config, new connections will use the new cert05:09
menn0wallyworld: of course the config is kept private so we'd have to implement our own tls listener05:10
menn0wallyworld: but that's trivial (it's tiny) and the part that does the hard work (Server) is public05:10
wallyworldmenn0: yep, i came to the same conclusion, but haven't been able to finish implementing because i've been ina meeting all day05:28
wallyworldwill complete the fix tonight05:28
wallyworldi was wary of changing the tls config on the fly05:29
wallyworldbut on reading the tsl code in the std lib i think it will be ok05:29
wallyworldit still feels a bit dirty, but hopfully will work05:29
menn0wallyworld: there's a bit of restructuring to do to make the api server accessible to the certupdater isn't there?05:30
wallyworldyes, but i'm part way through doing it05:30
anastasiamackatco: np :) i got the whole 15 min of his time :)05:30
menn0wallyworld: also, you'll probably need a mutex to protect updates to the config05:30
wallyworldprobably yes05:30
wallyworldalthough i'm thinking of using a channel05:31
menn0wallyworld: and I'd be tempted to take copies of the config so that existing connections keep their previous config05:31
wallyworldthere's only one server though05:31
wallyworldthe cert is only ever augmented with new addresses05:32
wallyworldso i should just be able to replace on the fly05:32
menn0wallyworld: there's one server but each time a connection is accepted a new Server instance is created and it gets a pointer to the config05:32
wallyworldreally?05:33
menn0yep05:33
menn0have a look at crypto/tls/tls.go in the stdlib05:33
wallyworldthe worker (which is the server) is run and then stays running05:33
menn0the listener.Accept method05:33
wallyworldit shouldn't matter as a new cert will accepts connections made previosuly05:34
menn0wallyworld: you're probably right05:34
wallyworldas we are just adding to the address list05:34
menn0wallyworld: if that's the only change made to the cert05:34
wallyworldthat's the only change05:35
menn0wallyworld: and the cert probably doesn't even get looked at once the connection is set up05:35
wallyworldi can always iterate if we find an issue05:35
wallyworldyes, that's my understanding05:35
wallyworldi gotta run to relocate, will finish the fix tonight now that all my meetings are done05:36
menn0wallyworld: I am still worried about what happens if the cert gets accessed (for a new connection) just as it's being updated05:36
wallyworldme too, i have to think it through05:36
menn0wallyworld: b/c I think the handling of connection happens in it's own goroutine05:36
menn0wallyworld: np05:36
menn0wallyworld: have a great xmas05:36
menn0wallyworld: i'm about done05:36
wallyworldmenn0: you too, thanks for thinking through this issue with me, good that we converged on a similar approach05:37
wallyworldhave a good break05:37
menn0wallyworld: yep that is a good sign05:37
menn0wallyworld: (or we're both equally stupid)05:37
wallyworldlol, well maybe05:37
menn0wallyworld: it was fun to think about05:37
wallyworldi will do it and test and see how it works05:37
wallyworldi just wish i had more time today out of meetings to actually do the fix05:38
wallyworldanyway, gotta run, be back later05:38
menn0wallyworld: cool, speak later05:39
fwereadedavecheney, was just looking at state/multiwatcher, and wondering what RelationUnitsChange was doing in there?09:10
perrito666morning all10:17
TheMuemorning perrito66610:18
frankbanfwereade: is there already a plan for importing the jenv files generated by "juju user add" to the environments directory of the juju home? perhaps something like "juju user import pat/to/jenv"? I am asking because we added support for using jenv files without a corresponding entry in environments.yaml in quickstart and that would complete the story.10:35
frankbanpath/to/jenv even10:36
fwereadefrankban, yes, that's the heart of it, but I think we're calling it `juju connect`10:38
fwereadefrankban, thumper will have a better idea of when we can expect that than I do, though10:39
wwitzel3fwereade: you know who I should talk to about a cloud-init question? smoser is out already12:27
fwereadewwitzel3, hmm, not really :(12:27
wwitzel3fwereade: dang, ok, thanks :)12:28
fwereadewwitzel3, possibly gsamfira_ might know about it, what with cloudbase-init?12:28
wwitzel3fwereade: ok, cool. I'm trying to figure out why my stored user-data on GCE isn't unpacking in to cloud-config12:32
fwereadewwitzel3, sorry, nothing really springs to mind12:33
wwitzel3fwereade: it is probably my fault, I think I might need package some headers with the base64 blob12:34
wwitzel3fwereade: I will probably talk you throughout this process, you can ignore me, or just make unattentive bu supportive comments12:34
wwitzel3talk at you that is12:35
fwereadewwitzel3, have you tried dephlogisticating the grommets?12:35
fwereade(sorry)12:35
fwereade(talk away :))12:35
wwitzel3fwereade: haha, no, that's perfect12:36
wwitzel3fwereade: at least you weren't on the hangout with me yesterday, after doing nothing but hitting my desk and swearing for 5 minutes I told ericsnow "I should probably take a break"12:36
fwereadewwitzel3, ouch12:37
wwitzel3fwereade: but, when I came back, in like 5 minutes, I sovled the problem12:37
fwereadewwitzel3, yeah, tuning those things is tricky though12:38
fwereadewwitzel3, give up too early and the frustration just comes right back when you return12:38
fwereadewwitzel3, wish I could tell what the optimal take-a-break moments are12:38
wwitzel3fwereade: in my experience, you have to go until you break mentally *lolcry* .. that is how your brain resets and lets you look at the problem from a different view.12:40
wwitzel3fwereade: or add booze ;)12:40
fwereadewwitzel3, haha, yeah12:40
perrito666for me the trigger is when the thought "this cant be done" arises12:44
=== kadams54 is now known as kadams54-away
wwitzel3ericsnow: so looking at ec2's userdata, we send it up Base64 encoded, but it is stores decoded.13:15
wwitzel3ericsnow: so I feel I've done proper due diligence in that we are doing the right thing in the GCE provider.13:16
wwitzel3ericsnow: We need to update DataSourceGCE.py to b64decode the incoming raw user data from GCE.13:16
wallyworldfwereade: hi, i have a fix for the CI blocker, would love it if you could take a look13:30
wallyworldhttp://reviews.vapour.ws/r/667/13:30
wallyworldperrito666: i didn't get a chance to look at the pr you mentioned sorry, spent all day in meetings and then had to fix a CI blocker13:32
perrito666wallyworld: dont worry man13:32
TheMuewallyworld: lgtm13:44
wallyworldTheMue: awesome, tyvm13:44
TheMuewallyworld: yw, nice solution. only stumble first over the call of processCertChanges and the go statement afterwards, but then I saw that it starts an anonymous goroutine too13:45
wallyworldyes, sorry if it was unclear13:46
TheMuewallyworld: it's fine, I like it13:47
fwereadewallyworld, I'm not totally in love with the stop chan, wouldn't a tomb be a bit nicer?13:50
wallyworldguess so, seemed like overkill13:51
wallyworldthe stop chan concept is use delsewhere13:51
hazmatrogpeppe, if you could switch your examples to not being the store charm, it would be nice to send that email to the public list13:51
aznashwan1perrito666: are you by any chance talking about the failing test when you set /utils to the latest commit?13:52
perrito666aznashwan1: I currently have no clue what you are talking about13:52
fwereadewallyworld, yeah, I know, but it's generally vulnerable to panic when double-closed, where tomb is fine with double-killing13:52
rogpeppehazmat: yeah13:53
aznashwan1perrito666: because I ran into that on my latest PR and fixed it13:53
rogpeppehazmat: i need a decent example13:53
wallyworldfwereade: fair point, i was assuming that listener close would only be done once13:53
wallyworldfwereade: can i land to unblock and follow up? the listener is not closed during the normal operation of the state server13:54
aznashwan1perrito666: there was a commit in /utils which changed a message and a test failed in core because of it, thus preventing you to get up to date13:54
fwereadewallyworld, yeah, you're probably right, but that feels to me like exactly the sort of invariant that it's easy to break accidentally13:54
fwereadewallyworld, yeah go for it13:55
wallyworldok, ta. i need to tweak the lxc cache. so i'll fix in that branch13:55
aznashwan1perrito666: nothing major, just an ErrorMatches failing because an error was slightly modified, but it's solved now, and my latest PR will have utils set to its current HEAD13:56
dimiternaznashwan1, that's *exactly* why we need to get utils and other subrepos under CI integration tests with core14:03
aznashwan1dimitern: you make a very good point, /utils needing this most of all the others...14:10
dimiternaznashwan1, we're discussing it and I'll push for it to happen sooner rather than later14:11
aznashwan1dimitern: that would be awesome and I wish you the best of luck towards it :D14:16
dimiternaznashwan1, thanks :)14:16
perrito666natefinch: coming?14:34
TheMuewallyworld: seen, the changeCertListener.Close() panics14:47
TheMuewallyworld: ?14:47
natefinchwallyworld: need someone to pick up that PR and try to push it through?15:16
natefinchmgz_: looks like CI says no space left on device.... want to show me how to fix it so I can do it myself later?15:17
mgz_you mean the gating job?15:33
natefinchmgz_: http://juju-ci.vapour.ws:8080/job/github-merge-juju/1691/console15:33
mgz_that tends to just be a symptom of having got a bad instance on aws15:34
natefinchmgz_: interesting15:34
mgz_I don't think there's anything to do but wait for a bit, then try relanding later15:35
natefinchmgz_: kk15:35
mgz_it may also be the branch is bad15:35
mgz_first panic is "runtime error: close of nil channel"15:36
natefinchhmm15:36
natefinchwhich is the cause and which is the effect?  That's the question.15:37
mgz_it's possible panics are going to a drive on the instance without much room15:37
mgz_which would be why we see it sometimes15:37
mgz_(aart from the known we got a crummy instance thing)15:37
mgz_does go dump itself somewhere by default during tests?15:38
natefinchwhat do you mean dump itself?15:42
mgz_stick anything on disk15:44
mgz_a la segfault15:44
natefinchmgz_: nope, the panic output is all you get15:50
katcoso it sounds like we're still working on getting CI unblocked?16:03
natefinchkatco: alas, yes16:04
katconatefinch: Shower Thought: You and your wife might create a new human before we create the next version of Juju.16:05
natefinchkatco: haha yep16:05
perrito666katco: they will, next version of juju is due jan 916:09
katcoperrito666: :)16:09
natefinchmgz_: I think I see the bug in wallyworld's code.  I'll fix it and see if I can repropose.16:16
mgz_natefinch: ace16:16
natefinchmgz_: he was closing a channel he never gave a value, which is why it was "close of a nil channel"16:20
katconatefinch: that's not an error is it?16:20
natefinchkatco: sorry, when I say "never gave a value", I mean, he never initialized it to a valid channel16:20
katconatefinch: ah gotcha, sorry16:21
natefinchhmm... so my wife is having some contractions, not at all sure it's labor, but it's something.  Can someone else pick this up?  I made a comment at the bottom of the PR: https://github.com/juju/juju/pull/134616:25
katcogood luck natefinch16:26
natefinchthanks... might be nothing, she's had them before, but I probably shouldn't be on the computer ;)16:26
katco:)16:26
katcosomeone will take care of it, go go16:26
katcomgz_: so catching up: will the tests fail on my machine for this bug?16:35
mgz_katco: I expect the first panic to happen for you, the following fallout is mongo dependent, so may all be different16:37
katcoboy this was a catastrophic failure lol16:37
* katco is scrolling through the jenkins log16:38
mgz_katco: yeah, the only bit you really need to care about is the first panic16:39
katcoyeah trying to figure out what the heck package failed first... looks like api?16:39
mgz_the rest is pretty much just mongo falling over due to poor test isolation, which apparently also fills up our allocated /tmp space16:39
mgz_yeah, api16:39
mgz_the pr is 134616:39
wwitzel3ericsnow: https://bugs.launchpad.net/cloud-init/+bug/140431116:39
mupBug #1404311: gce metadata api doesn't properly stream binary data <cloud-init:New> <https://launchpad.net/bugs/1404311>16:39
ericsnowwwitzel3: nice!16:40
katcomgz_: blindly trying nate's suggestion16:41
ericsnowwwitzel3: you posting that to #cloud-init?16:41
=== kadams54 is now known as kadams54-away
katcomgz_: found a few other issues. net.Serve closes the listener so we were also double-closing the channel, also our changeCertListener methods were operating on copies of the struct which meant they were locking copies of mutexes16:57
katcomgz_: api package tests look like they're succeeding; i'll submit a pr after that to let CI run the full suite16:57
perrito666I have a gramatical issue on my code17:00
katcomgz_: PR incoming.17:10
alexisbalrighty all, today is the last day before our holiday shutdown.  Please feel free to start you celebrations early once you get to a good stopping point on what you are working on17:22
alexisband enjoy your time off with family and friends!17:22
katcoalexisb: thank you!17:23
ericsnowalexisb: you too17:23
katcoalexisb: happy holidays to you and your family :)17:23
alexisbI am very much looking forward to the great work we will be doing in 201517:23
alexisbit will be an exciting year!17:23
TheMuealexisb: thanks, also happy holidays to you and your family17:23
TheMuekatco: you added line 162 in apiserver.go based on nates diagnosis?17:27
katcoTheMue: correct17:27
TheMuekatco: ok, then lgtm, seen the other parts earlier17:28
katcoTheMue: as well as a few other things. look like a test in cmd/jujud/agent needs to be updated as well17:28
katcoTheMue: ty17:28
TheMuekatco: yw17:28
katcoTheMue: so you might be more familiar with these changes. i need to pass a channel in cmd/jujud/agent/upgrade_test.go:493: not enough arguments in call to a.apiserverWorkerStarter17:29
katcoTheMue: it doesn't look to me like the test cares, so i was just going to pass in a channel and do nothing with it.17:30
TheMuekatco: looking17:30
katcomgz_: i'm in the process of fixing this, but why does it look like the CI run has frozen? http://juju-ci.vapour.ws:8080/job/github-merge-juju/1693/console17:37
TheMuekatco: machine.go line 798 the method defined in line 838 is used, the channel created one line before17:48
katcoTheMue: hm i see that. but the test that needed updating didn't look like it was trying to test cert upgrades at all, right?17:50
katcoTheMue: so we don't really care if certs are changed, right?17:50
TheMuekatco: we already cared before, by stoping and restarting the apiserver17:51
TheMuekatco: the test for this isn't changed, but the way how it is realized, now w/o a restart17:52
katcoTheMue: i'm sorry, i'm not understanding. i'm looking at TestLoginsDuringUpgrade in upgrade_test.go. I don't see any API server restarts in there?17:55
katcoTheMue: and i'm completely missing why a test for logging in during an upgrade would be concerned with cert changes?17:56
TheMuekatco: the important change is here: http://reviews.vapour.ws/r/667/diff/# machine.go line 80218:01
TheMuekatco: but I have to admit I don't know where it has been tested so far18:01
TheMuekatco: the old version does the restart, the new one signals the cert change, so that the listener reacts18:02
mgz_katco: looks like one hang test, probably the reason for no output for ages18:03
TheMuekatco: that's in apiserver.go line 102, where the goroutine is started18:03
katcoTheMue: i'm still not understanding what all of that has to do with this test though? the test is not compiling because it doesn't have enough arguments anymore, and as far as i can tell it doesn't need to receive anything on this channel to test what it's trying to18:06
TheMuekatco: ah, I see, sorry, yes. This test hasn't been changed or the local change of wallyworld hasn't been checked in. so you have to change the test, sorry.18:10
katcoTheMue: oh no worries. i just was missing what you were trying to communicate :)18:10
TheMuekatco: no, you absolutely have been right, I missed the point regarding the test18:11
katcoTheMue: so my original question is: can you see any reason not to just pass it a channel and then not do anything with that channel? trying that, the tests hang18:11
katcoTheMue: trying to figure out why...18:11
TheMuekatco: if you only pass in a channel and nobody listens a sending will block the system18:13
katcoTheMue: i created a buffered channel18:14
katcomake(<-chan params.StateServingInfo, 1)18:14
TheMuekatco: ok, then I would have to digg deeper too18:15
katcoTheMue: but conceptually, you don't see ignoring that channel as an issue?18:15
TheMuekatco: based on the title of this tests it's focussing the login during upgrade, no cert change18:16
TheMuekatco: so yes, this shouldn't be an issue here18:17
katcoTheMue: great, ty... i'll continue trying to figure out why the test hands with a buffered channel =/18:18
TheMuekatco: I'm lurking here into the channel a bit longer, so feel free to ping me18:19
katcoTheMue: thanks, i appreciate it :)18:19
TheMuekatco: yw18:19
katcoTheMue: if i end up not talking with you again, happy holidays!18:19
TheMuekatco: thanks. also to you happy holidays.18:20
katcoTheMue: ty!18:20
=== mup_ is now known as mup
=== mup_ is now known as mup
katcofound the issue19:05
katcodeleted the closing of the stop channel from the wrong place. re-running api tests now19:06
=== meetingology` is now known as meetingology
=== ev_ is now known as ev
katcoany CI people around? if this fix works, i'd like to open the trunk19:11
katcomgz_: ^19:12
=== mup_ is now known as mup
mgz_katco: go for it19:27
katcomgz_: i didn't realize i could open the trunk. how do i do that?19:28
* perrito666 is back from 2 hs without internet nor power... gotta love summer19:28
katcowb perrito66619:28
mgz_katco: you wait for the rev to get through gating, then go through the rest of the jobs (can track on jenkins or the report site), then mark bug as fix released when the revision is blessed19:30
perrito666ericsnow: ping19:30
perrito666katco: tx19:30
katcomgz_: oh cool. i don't think i've ever done that.19:30
ericsnowperrito666: hey19:30
katcomgz_: will you be around if i have questions? or is anyone else familiar with this process?19:31
katcoi don't know what reports to look at. i'm guessing 1.22-alpha1 for a bless?19:32
katcooh i need to backport this to 1.21 don't i.19:33
katcofor beta 5?19:33
perrito666I tried to make a nap during the blackout but was recruited by my wife -> https://twitter.com/majomalnis/status/546021647632052225 you have no idea how hard is to make those with >30C19:33
katcoperrito666: yum :)19:34
katcowell, the bug is only marked for 1.22, so i guess i don't have to backport this19:34
perrito666katco: oh, they are tasteless :p until you add the white stuff19:34
katcoperrito666: are they sugar cookies?19:34
perrito666katco: no, animal cookies actually19:35
perrito666they must be glaced to have some taste19:35
katcoperrito666: i don't think i know what that is lol19:35
perrito666really? I thought they where fairly common its an english recipe19:35
perrito666small animal shaped cookies19:36
katcoohhh19:36
katcolike animal crackers perhaps?19:36
perrito666http://books.google.com.ar/books?id=OlIOxYU2YWsC&pg=PT73&source=gbs_toc_r&cad=3#v=onepage&q&f=false19:38
* perrito666 shares the source code :p19:38
katcohaha19:38
TheMueso, working with red wine surely is no good base for proper code. ;) working day is over. i wish you all a merry christmas and a happy new year. see you all freshly charged in the new year. o/19:49
perrito666TheMue: likewise, enjoy that wine19:51
katcoTheMue: tc! happy holidays!19:51
perrito666ok, attempt n 19831287319238 to finish today's work without being interrupted20:38
* katco is trying to figure out where a test is hanging, and go test is not giving me any output20:39
bodie_I'm trying to figure out how to get a state testing unit's charm URL20:42
perrito666ericsnow: still here?20:43
ericsnowperrito666: yep20:43
perrito666metadata know about series?20:43
bodie_it seems that the testing unit doesn't have the charm URL in its doc, but I'm not sure how to get that where it needs to go.  I'm using state.AddCustomCharm20:46
perrito666ericsnow: ?20:53
ericsnowhey20:53
katcois anyone familiar with the dummy provider?20:56
ericsnowkatco: other than that we use it in our tests, sorry no20:58
katcobleh20:58
katcowhy is -gocheck.vv not scrolling output for me. it's making it impossible to diagnose this21:04
perrito666katco: the other day nate said that I should also -check.v=true to get that working21:05
katcoperrito666: sweet let me try that21:05
katconothing =|21:09
katcogo test github.com/juju/juju/cmd/jujud/agent/... -check.v=true -check.vv=true -gocheck.f=TestManageEnvironV21:09
katco(note that i modified the name of that test to include a V to differentiate between other tests)21:10
natefinchkatco: I see things are going as well now as when I left earlier21:12
katconatefinch: hey welcome back21:13
katconatefinch: i fixed some things but there is a test hanging somewhere and i can't get any output from go test so i can put tracers in21:13
katconatefinch: if i pepper in panics, i can figure out what's hanging, but c.Log, fmt.Println, doesn't show anything. and no amount of v's coerce gocheck into giving me anything.21:14
natefinchkatco: I think you need to give it test.v before anything shows21:14
katconatefinch: yeah i did21:14
natefinchhmm21:14
katconatefinch: here are the changes: https://github.com/katco-/juju/commit/9e7758f27625a139ee8f8c87827278c2f8b1855921:14
katconatefinch: and something is hanging in MachineSuite in cmd/jujud/agent/machine_test.go; i think it's TestManageEnviron21:15
katconatefinch: i'm toying with the idea of landing my refactoring changes, because it makes it cleaner to get a machineagent which may help this problem along21:16
katconatefinch: b/c right now it appears (???) to be hanging on a newAgent21:17
natefinchhmm the agent tests pass for me on your branch21:22
katcohttp://juju-ci.vapour.ws:8080/job/github-merge-juju/1694/console21:22
katcoi'll submit again in the off chance it was a fluke, but i can't get them to pass on my machine now21:23
natefinchkatco: your comment says net.Server was closing the stop channel already?   I don't see how that's possible21:25
katconatefinch: where did i see that...21:27
katconatefinch: http://golang.org/pkg/net/#Conn21:29
katconatefinch: https://github.com/katco-/juju/commit/9e7758f27625a139ee8f8c87827278c2f8b18559#diff-19f910c28876da8a8d94937e102b2ebeR9621:29
natefinchkatco: yeah but that doesn't close the stop channel, which is what kills that goroutine.  It'll just stick around forever... but I think the close of the channel should be there.21:31
bodie_code freeze is today, yes?21:31
bodie_I had a branch which fwereade requested in rather strong terms to be in the release21:32
bodie_it seems there might have been a miscommunication with TheMue, I was traveling yesterday and thought we were in sync to get it landed21:32
bodie_https://github.com/juju/juju/pull/134121:32
katconatefinch: sorry trying to remember my reasoning. with that in there, we definitely get a double close error21:33
bodie_this is important to me if it's still possible to land -- it's merely a few testing changes to master and the inclusion of a new charm version which includes a MUCH cleaner ux for Actions21:33
natefinchkatco: it's probably the Close() method on changeCertListener getting called more than once.21:33
* bodie_ nudges natefinch in the hopes of getting a pair of in-crowd eyes on this...21:33
katconatefinch: tomb was calling it, and then i though the listener21:33
natefinchkatco: but right now nothing is going to be closing the channel21:34
katcobodie_: trunk is blocked on this bug =/21:34
natefinchand unfortunately I have to run....21:34
bodie_gotya, does that mean this can't land before freeze or what should I expect?21:34
bodie_or who should I talk to?21:35
natefinchbodie_: no idea.  If we want it in, it'll get im/21:35
natefinchin21:35
katcobodie_: i've been trying my best to open trunk, don't know if i'll succeed. i'm running into issues21:35
bodie_okey doke21:35
natefinchbodie_: I've never met a code freeze that wasn't more of a slushy21:35
bodie_the addition of pressure lowers the freezing point of code :P21:36
natefinchlol exactly21:36
natefinchok gotta run before I get divorced21:36
bodie_lol XD21:36
bodie_katco, lmk if I can pitch in anywhere -- I'm with my family, but if it's crucial I'm sure I can squeeze in a couple of hours21:37
katcobodie_: will do... reevaluating what nate said21:37
katcobodie_: do you know what to do when CI runs out of space?21:48
katcomgz_: ^^ on the off chance you're still on21:48
perrito666ohh cmooon again?21:48
perrito666CI was out of space this AM21:48
katco=/21:48
mgz_katco: if you mean the landing job, see the log21:51
katcoperrito666: what fixes it?21:51
mgz_it's an ephemeral image just for the tests21:51
mgz_it doesn't run out of space unless the instance happens to be bad, or the tests fail horribly enough to fill /tmp21:51
mgz_*instance21:51
katcomgz_: ah ok. so then a fresh tests gets a new image?21:52
perrito666well that was failing this am already21:52
mgz_katco: yes21:52
katcomgz_: ok that makes sense21:52
katcomgz_: ty :)21:52
mgz_perrito666: the same branch has been failing21:52
mgz_land anything else it's almost certainly fine21:52
* katco is hoping she finally has it fixed, running tests locally again atm21:52
bodie_mgz_, I made a tweak to charm which fwereade was really keen on, and opened a PR to fix testing in master22:11
bodie_mgz_, I thought TheMue and I were in sync to get it landed yesterday, but I think we had a misunderstanding since I landed the charm changes but not the ones in juju core22:11
bodie_mgz_, I'm wondering how I should make sure this is in 1.22 since it's a user-facing issue we really want to get in22:12
bodie_I don't know who to talk to or what to do about this and it's making my skin crawl.. :S22:12
katcobodie_: i'm submitting another test run. the test is hanging on my machine, but there's no reason not to try it while i fiddle with things. if you want to help out, you can try testing cmd/jujud/agent/... and find out where it's hanging22:15
katcobodie_: sorry on this PR: https://github.com/juju/juju/pull/134722:15
katcobodie_: i cannot for the life of me get gocheck to feed me verbose output.22:16
bodie_sure, let me give that a spin.  can I get a quick glance over RB 661?  it's really quite trivial22:17
katcobodie_: sure22:17
perrito666ok fine gentlemen and ladies, EOD22:20
katcobodie_: not exactly sure what i'm looking at. does the new version of charm change the outfile key to snapshot?22:20
perrito666have all a nice end of year and overall holidays whatever you belief is22:20
katcoperrito666: happy holidays, tc22:20
bodie_katco, basically it just reduces the boilerplate for actions.yaml22:22
bodie_katco, the change to do it is already landed in charm; this just updates master for the required testing changes22:22
katcobodie_: seems benign. lgtm22:23
bodie_^_^22:23
mgz_bodie_: does it have an associated bug on launchpad?22:23
katcobodie_: especially since it is tweaking the tests22:23
mgz_bodie_: if so, target it to the milestone, otherwise you can file a bug to go along with maybe22:23
bodie_that sounds like a good option22:23
bodie_thanks mgz_22:24
bodie_there's not a bug22:24
katcomgz_: ty for being so helpful past your EOD the last day of the year22:24
mgz_:)22:24
bodie_indeed22:25
fwereadekatco, driveby: `go test <whatever> -test.v -gocheck.vv` should give you enough?22:26
katcofwereade: ty, but this gives me nothing until the process times out: go test -v github.com/juju/juju/cmd/jujud/agent/... -check.v=true -check.vv=true22:26
katcobodie_: are you experiencing the same issue with the test hanging?22:32
* bodie_ hails fwereade -- https://bugs.launchpad.net/juju-core/+bug/140439722:32
mupBug #1404397: charm actions.yaml simplification breaks master tests <actions> <charm> <juju-core:New> <https://launchpad.net/bugs/1404397>22:32
bodie_katco, just taking a crack at it after opening the bug22:32
katcobodie_: no worries, thank you22:33
bodie_katco, go version?22:37
bodie_I don't suppose it makes a difference since CI isn't taking it22:37
katcobodie_: 1.3.322:38
katcobodie_: i made 1 change since i resubmitted; we'll see if this latest version works out22:38
* katco sighs22:45
katcothe CI test is now failing in api/watcher22:46
bodie_O.o22:47
katcothat seems fairly random to me22:47
katcoit timed out22:47
bodie_katco, fetching but not seeing your change22:48
katcoit's an ammendment22:49
bodie_ah22:49
bodie_katco, api/watcher/... passes for me on your branch22:52
bodie_let's see what happens when I do a whole-hog juju test22:52
katcobodie_: i also resubmitted the job. again.22:53
katcobodie_: it hadn't failed in those places yet. provider/dummy also failed22:53
katcobodie_: which is currently hung, but with the output i couldn't get from cmd/jujud/agent22:54
katcoeither i really didn't get enough sleep last night or this is all fairly random22:56
bodie_you just haven't sacrificed to the loa recently22:59
katcolol23:00
bodie_fwiw, my laptop is just about exactly as fast as the CI server....23:01
katcolol23:02
katcoif this fails i'm going to EOD. i was on very late last night and i don't think i'll solve this23:02
bodie_so, on that note, my anemic laptop is well past api/watcher23:06
katcoand CI is still on the package after api/watcher23:07
bodie_oh and there we go.  something blew up23:07
katcoi think it's going to time out23:07
bodie_test ran too long on mine.23:08
bodie_:/23:08
bodie_I'll give it a whack on the digitalocean 8-core instance23:08
katcowhere did you time-out?23:11
bodie_still running, but here's the output so far23:11
bodie_not sure why it's still running come to think of it23:11
bodie_looks like apiserver, but not really obvious where or why23:13
bodie_http://paste.ubuntu.com/9574300/23:13
katcothat's where CI is going to hang. there's a bug for sure. it's where the changes are centered23:13
katcoyup CI has failed23:22
bodie_katco, my hunch is that whatever was supposed to release the semaphore hold didn't23:24
bodie_that might be obvious23:25
katcoit's definitely something along those lines23:25
katcoi am too fried to debug threading atm -.-23:25
katcoso i'm going to EOD. sorry i couldn't get trunk unblocked23:26
bodie_it seems there are many goroutines which were in a semacquire state at time of death23:26
bodie_take care :) and merry christmas / happy festivus23:26
katcohappy solstice in my case :)23:26
katcobut happy holidays to you23:26
bodie_perhaps it would be useful in debugging to keep track somehow of who has the lock23:30
bodie_I see only three goroutines which were killed while waiting for lock in apiserver.(*changeCertListener).Close23:31
bodie_which traces to http://golang.org/src/sync/mutex.go line 6623:32
bodie_fwiw23:32
bodie_but that's not where the problem is; that's merely the symptom23:32
bodie_whoever had the lock perhaps was waiting on io23:32
bodie_and there are an enormous number of IO Wait-ing goroutines23:33
bodie_perhaps the cert was never sent23:33
bodie_I sense a perturbance in jujud/agent/upgrade_test.go line newApiserverWorker line 493 (nil channel)23:38
bodie_katco ^ hope that helps23:38
bodie_but I'm not certain what the intent is23:38
bodie_EOD/holiday for me, take care all!23:38
* bodie_ would like someone to vet bug 1404397 since it's a big Actions usability improvement23:40
mupBug #1404397: charm actions.yaml simplification breaks master tests <actions> <charm> <juju-core:New for binary132> <https://launchpad.net/bugs/1404397>23:40

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