/srv/irclogs.ubuntu.com/2013/06/18/#juju-dev.txt

thumpergrr00:07
thumperdavecheney: I'm getting grumpy at go right now...00:11
thumperhttp://paste.ubuntu.com/5775663/00:11
thumperhttp://paste.ubuntu.com/5775665/00:12
thumperdavecheney: any idea what I'm doing wrong?00:12
thumperhttp://paste.ubuntu.com/5775667/00:12
thumperfile.go:10:2: import "launchpad.net/testing/checkers": cannot find package00:13
thumperhmm...00:13
thumperah...00:14
thumperforgot the juju-core bit00:14
thumperworks now00:15
thumpernm00:15
davecheneythumper: glad you solved it00:21
bigjoolshow much attention is getting paid to locking critical sections in providers for non re-entrant code?01:21
thumperbigjools: lots01:34
thumperbigjools: AFAIK, providers should be reentrant01:34
bigjoolsthey can try to be :)01:34
thumpercan accessible from multiple go routines01:34
thumperbigjools: right, just not dying is a good start01:35
bigjoolsone of my esteemed colleagues was whinging about something01:35
bigjoolsI figured it can't be that bad01:35
bigjoolsthumper: oh the actual whinge was that concurrency/locking was not tested01:36
bigjoolsis that right?01:36
thumperprobably01:36
bigjoolsok01:37
thumperwallyworld: can I get you to look at https://codereview.appspot.com/10344044/ ?01:47
thumperwallyworld: also, I have made an IsTrue checker01:47
wallyworldok01:54
wallyworld+100000 for the IsTrue checker01:59
thumperwallyworld: it will land with my lxc-container branch02:18
wallyworldkk02:20
thumperwallyworld: so... fake vs mock03:10
wallyworldyeees?03:10
thumperactually, those instances are neither fakes nor mocks03:11
thumperin the traditional sense03:11
* wallyworld doesn't really care about the name03:12
wallyworldland it i say03:12
thumperso, tests say... Mocks have internal assertions03:12
thumperfakes fake it03:12
wallyworldyeah03:12
thumperstubs are always dumb and the same03:12
thumperso kinda fakes03:12
* thumper lands it03:13
wallyworld\o/03:13
* thumper proposes the lxc-container branch03:17
hallynthumper: well, that figures.  today raring is bootstrapping fine.   !   Thanks anyway :)03:19
thumperheh03:33
thumperwallyworld: Rietveld: https://codereview.appspot.com/1037004403:41
* wallyworld looks03:42
wallyworldthumper: i gotta take the dog to the vet, i'll finish the review when i get back soon03:46
thumperwallyworld: kk03:47
thumperwallyworld: todo with the claw?03:47
wallyworldthumper: yes, it is almost better04:25
=== tasdomas_afk is now known as tasdomas
* thumper sighs04:49
thumper...04:49
wallyworldthumper: for lxcFactory, did you consider making the containerfactory embedded? i can't see a need for the lxc attribute, just confuses things05:07
thumperno, didn't consider that05:07
thumperexcept I use separation at time05:07
thumperparticularly in the tests05:07
thumperbut perhaps it doesn't matter?05:08
* thumper is EODing to make dinner05:08
thumperlxc-broker review coming too05:08
wallyworldthumper: ok, i'll make the comment in the review05:08
jamthumper, wallyworld: it looks like the stability stuff has been handled on go-bot. Have either of you had a patch rejected? (I don't see anything in the logs)06:26
wallyworldjam: nope, so far so good \o/06:27
rvbaHi fwereade… I'm not sure I understand your comments on this branch… should I mark the MP on launchpad approved and get this landed or is there something wrong somewhere?06:59
rvbas/this branch/my branch/06:59
fwereadervba, it looks like there's a storage-list-files branch that's the same as az-config-207:00
fwereadervba, please get another review from someone on whichever you wish, then land it07:00
rvbafwereade: that's probably the result of me messing with lbox.07:00
rvbaOh, I thought one review was enough these days.07:01
rvbaBut okay.07:01
TheMuemorning07:09
jammorning TheMue07:10
rvbaHi guys, could I please get a second review of https://code.launchpad.net/~rvb/juju-core/az-config-items2/+merge/169759 / https://codereview.appspot.com/10340044/ ?07:10
TheMuervba: *click*07:11
TheMuejam: hiya07:11
rvbaTheMue: thanks!07:11
fwereadervba, if you get a "LGTM trivial", that's good enough, but for everything else wait for 2xLGTM please07:20
rvbaAll right.07:21
=== tasdomas is now known as tasdomas_afk
fwereadeso, guys, I'll be off for most of the morning because (1) I have an appointment at 10 and (2) I was up way past my bedtime last night doing https://codereview.appspot.com/1025104707:22
TheMuervba: another lgtm07:23
rvbaTheMue: ta07:23
TheMuefwereade: oh, will take a look. and you take care for yourself and recover07:24
fwereadefwiw I now have 6 branches up on https://code.launchpad.net/juju-core/+activereviews and, while I could probably just land state-testable-transaction as is, even that one would apreciate a second pair of eyes (because it changed a lot since the first lgtms)07:24
fwereadeTheMue, thanks07:24
fwereadeTheMue, cheers :)07:25
TheMuefwereade: i've got duty today, so i'll walk through your cls07:25
fwereadeTheMue, great, ta07:25
=== ChanServ changed the topic of #juju-dev to: https://juju.ubuntu.com | On-call reviewer: TheMue | Bugs: 9 Critical, 79 High - https://bugs.launchpad.net/juju-core/
rogpeppe1mornin' all07:42
TheMuerogpeppe1: morning roger07:44
rogpeppe2fwereade, TheMue: pretty trivial (but with nice effects!): https://codereview.appspot.com/1037504307:54
TheMuerogpeppe2: just working on a different one by thumper, but then I'll take yours08:10
rogpeppe2TheMue: thanks08:10
=== rogpeppe2 is now known as rogpeppe
TheMuerogpeppe: you've got a lgtm09:36
rogpeppeTheMue: thanks09:40
rogpeppefwereade: TheMue says trivial but I'd like your LGTM just to OK where I've put the tweaks, if you're around. https://codereview.appspot.com/1037504309:41
fwereaderogpeppe, concur, but maybe call it FastInsecureHash or something, just to be clear10:05
rvbaTheMue: thanks for the review, I'll land that branch as it's definitely a trivial change :).10:05
rogpeppefwereade: ok10:05
rogpeppefwereade: thanks10:05
TheMuervba: it is, yes10:19
hazmatg'morning.. getting some odd failures trying out a fresh juju environment on ec2 today. new machines after bootstrap aren't being created10:53
hazmatsound familiar? this is on trunk10:53
hazmathmmm. go 1.1 issue maybe10:54
mgzwhat sort of failures?10:54
hazmatmgz, that's the odd part, no failures, just failure to converge on state. i've had a machine pending for 10m, but nothing of note in the logs10:55
fwereadehazmat, there is currently an incompatibility with 1.10/1.11, so unless you --upload-tools it won't work10:56
fwereadehazmat, it's in review now10:56
hazmatah, ic10:56
hazmatfwereade, thanks10:56
hazmatfwereade, fwiw  --upload-tools didn't do the trick, i'll wait for the config incompatibility mp11:06
hazmatoh.. maybe it did11:10
* hazmat retries w/ patience11:11
jammgz, danilos, wallyworld_: I think my son just hurt his knee, so I have to take him to the ER. I'm going to miss the standup11:13
mgzjam: okay11:14
danilosjam: ack, I hope it's not something serious, good luck11:14
hazmatfwereade, so with --upload-tools, and deploying a service, i end up with a second machine, that tries to loops on a connect to mongodb on localhost, which is correct per its cloudinit data.11:25
fwereadehazmat, hmmmmm, that sounds as though it might be an issue with tim's provisioner stuff11:44
fwereadehazmat, thanks for flagging it, I'll investigate11:44
fwereaderogpeppe, btw, what's the ETA on having agents actually connecting to the API? I have a feeling you were working a branch a little while ago..?12:20
FunnyLookinHatseen Dave Cheney ?12:23
fwereadeFunnyLookinHat, bad time of day for him, I think; maybe I can help?12:26
FunnyLookinHatfwereade, Just had some back an forth with him on this bug and didn't want to be updating it / bugging him about it if invalid... I know you guys have lots to do  :)  https://bugs.launchpad.net/juju-core/+bug/112456112:26
_mup_Bug #1124561: the Content-Length header is missing <Go OpenStack Exchange:Invalid> <juju-core:Invalid> <https://launchpad.net/bugs/1124561>12:26
FunnyLookinHatI had accidentally misread the original bug and so when I applied it to juju-core it didn't really make sense...  my mistake.12:27
fwereadeFunnyLookinHat, that sounds sane to me for juju-core, but looks like it's worth reopening in goose12:29
jtvHi team — got time for a review?  Got a proposal up here.  Sorry to ask — we're in that initial phase for our work where everyone's blocking on everyone's branches.  Proposal is https://codereview.appspot.com/10367045/12:29
FunnyLookinHatfwereade, Ah ok - thanks for the confirmation12:30
fwereadejam, mgz: you guys know goose; it looks to me like that should hopefully be a relatively simple fix that'll unblock FunnyLookinHat, so would one of you please take a quick look at lp:1124561? see comment #5 in particular12:31
fwereadejtv, on it12:31
jtvthanks fwereade!12:32
FunnyLookinHatfwereade, should I create a new bug or just change the status?  I'm not familiar with LP etiquette12:32
FunnyLookinHatAh thx  :D12:32
rogpeppefwereade: currently eating lunch, will get back to you12:36
fwereaderogpeppe, cheers12:36
fwereadeFunnyLookinHat, put it back to New I guess? hopefully mgz or jam will take a look shortly and confirm12:38
FunnyLookinHatOk - thanks12:38
fwereadeFunnyLookinHat, if it's simple and an unblocker for you I might be able to pick it up myself if they can't -- and if it hasn't been touched by tomorrow please prod me12:39
FunnyLookinHatfwereade, No worries - I have plenty to do on my end... I've unblocked myself by having my own branch of goose... now I'm working with Rackspace to sort out some object-store issues12:40
FunnyLookinHatThanks again for your help12:40
fwereadeFunnyLookinHat, ah, great12:40
jamfwereade: reading the goose code POST is intentionally a chunked request (it takes an io.Reader to send, not a set of bytes to upload)12:44
jamwhether we can change that 'trivially' I don't know. But all of our POSTs are chunked by design.12:45
rogpeppefwereade: hands are free now :-)12:47
fwereadejam, ahh, hmm, that'd be why the storage interface takes a reader and a length I suppose?12:48
fwereaderogpeppe, cool12:48
rogpeppefwereade: i'm very much hoping to have some branches (re)proposed by end today/tomorrow. currently sorting out numerous non-flagged merge conflicts from all the code moving that has taken place.12:48
jamfwereade: so it is possible we can change it, but it is how it is written right now.12:48
fwereaderogpeppe, awesome, tyvm12:48
fwereaderogpeppe, I'm impatient to get some task actually running against the api ;)12:49
rogpeppefwereade: yeah indeed12:49
rogpeppefwereade: if the API hadn't been redesigned under my feet, we would already...12:49
fwereaderogpeppe, I'd expected that the process of getting the agent talking to the api would be independent of that, but I guess it's all distraction12:51
rogpeppefwereade: it's all bound up together12:52
fwereadejam, but AFAICT you do in fact always have a length available at that point13:06
fwereadejam, it really does look a little bit like a one-line fix, although I'm not sure how pleasant it will be to test13:07
fwereadejam, am I missing something?13:07
jamfwereade: so I think the same code is used to upload multi-MB files that is used to write request data.13:07
jamIt seems possible that we could do a normal POST for small-ish things.13:07
jamBut if chunked is going to fail in the future, it will still fail to upload tools, etc.13:07
jamrogpeppe, mgz: https://code.launchpad.net/~jameinel/mgo/bug-1191487-close-race/+merge/169999 is my mgo patch that fixes the race condition for our test suite, and adds a test for the new behavior to the mgo suite as well.13:09
rogpeppejam: there should be no problem using lbox even without an lbox configuration13:10
rogpeppejam: lbox propose -cr -for lp:launchpad.net/mgo13:10
jamrogpeppe: well when I firsrt tried it told me to go shove off because it couldn't find something about mgo13:10
jambut this time it worked13:10
jamso the description should be updated13:10
rogpeppejam: ah, you've got a codereview link?13:10
jamhmm... it found the proposal, but didn't add a CR13:10
jamI'll try again with -cr13:10
jamrogpeppe: I think the problem was I thought "lp:mgo" would be trunk, but it is not13:11
jamyou have to propose to "lp:mgo/v2"13:11
jamrogpeppe: https://codereview.appspot.com/10392043/13:11
rogpeppejam: is it deliberate that you're not unlocking the server when you return from AcquireSocket?13:13
fwereadejam, I has a bit of a confused... what are the situations where we don't have a length available? it seems like all of goose/http expects a length to be known13:13
jamfwereade: so I'm actually end-of-day now, so I won't be able to poke at goose. mgz do you have a chance to see if we can make POST from goose always do Content-Length instead of chunked uploads?13:13
jamrogpeppe: ugh, old version of the patch13:13
jamrogpeppe: no it isn't13:13
jamit doesn't "matter" but we should unlockd13:14
rogpeppejam: +113:14
jamrogpeppe: patch and proposal updated13:16
fwereadejam, mgz: http://golang.org/pkg/net/http/#Request has a TransferEncoding field, and the docs seems to indicate it's entirely independent of Content-Length and will magically handle chunked transfer for you13:19
fwereadejam, mgz: what's the downside to setting .ContentLength and letting the http package do its thing with it?13:21
mgzyeah, we should probably just set the length13:22
rogpeppe1jam: reviewed13:29
ahasenackhi guys, has anyone seen this error on a unit yet? http://pastebin.ubuntu.com/5777099/13:31
ahasenackthat's from trunk today, fwiw13:31
hazmatahasenack, yes.. i've had the same issue with trunk today13:32
ahasenackoh13:32
ahasenackI guess I should file a bug then13:32
hazmatahasenack, effectively trunk is broken with it, the machines try to connect to localhost for mongo instead of back to the state servers, fwereade was looking at it13:32
ahasenackhazmat: is there a bug already?13:33
fwereadeahasenack, hazmat: sorry, several things happened, let me double-check the logs and see if it'll be simple to back out13:33
hazmatahasenack, just filed one.. 119217213:34
ahasenackthanks13:34
* hazmat goes back to vacation mode13:36
jamrogpeppe1: for a 'sleep' isn't there a go function for run other goroutines rather than sleep?13:37
jamYou're right that if I remove the log it hangs consuming cpu in that loop.13:37
rogpeppe1jam: yeah, runtime.GoSched13:37
rogpeppe1jam: is there a problem with calling sleep?13:38
jamrogpeppe1: sleep in tests is an evil source of non-determinism13:38
rogpeppe1might be runtime.Gosched actually13:38
rogpeppe1jam: it looks like that test is fundamentally non-deterministic anyway, no?13:38
rogpeppe1jam: you're polling waiting for something to happen13:38
jamrogpeppe1: it is quite deterministic.13:38
jamI'm polling for something to converge, and then continuing13:39
hazmathow does the sleep change that13:39
rogpeppe1jam: you might as well sleep for at least a millisecond or so while polling, or does the condition only happen momentarily?13:39
jamrogpeppe1: it is the length of time for a goroutine to notice a read fails on a socket after a write has failed. *Usually* (99 in 100 times) it has already finished. That loop is for the 1in100 times it fails, and log was saying it took 40microseconds.13:40
rogpeppe1jam: if you're not careful, you'll spend all the time running around that loop and the actual work that you're waiting for will never be done13:40
jamsleep(1ms) would be ok13:40
hazmatsleep(0) == runtime.GoSched13:40
rogpeppe1jam: sleep for 100us if you want13:40
jamhazmat: right, but if you do that, why not just GoSched?13:40
jamand be explicit13:41
jamrather than assume side-effect of sleep13:41
rogpeppe1jam: i think a sleep makes it more explicit that you're actually waiting for something to happen13:41
hazmatfair enough.. sleep(0) is a pretty common pattern for coroutine systems13:41
rogpeppe1jam: i'm not sure that the scheduler is guaranteed to be fair13:41
hazmatjam, openstack is littered with it ;-)13:41
rogpeppe1jam: BTW, does newServer always return with len(unusedSocket) > 0 ?13:43
rogpeppe1jam: ah yes, it looks like it13:46
jamrogpeppe1: no13:47
jamit depends what triggers the failuer13:47
jamsocket.Write is not guaranteed to fail13:47
jamsometimes socket.Read fails13:47
jamtriggering the Abend before the newServer returns13:47
jamthat is the 99% case13:48
jamactually13:48
jamit is only infrequently that I need to loop13:48
rogpeppe1jam: that's not what i was wondering about (i think). if newServer sometimes returns without an unused socket added, then you won't loop, but for the wrong reason. but since it calls pinger synchronously, i think you're guaranteed that if newServer returns without an error, the connection is there.13:51
rogpeppe1jam: if you *do* loop, won't you have to wait for as long as the pinger interval?13:52
rogpeppe1jam: which is presumably quite a long time.13:53
rogpeppe1jam: if so, wouldn't you be better sleeping for a longer time rather than heating up the cpu waiting for the other goroutine's sleep to complete?13:54
=== wedgwood_away is now known as wedgwood
jamrogpeppe1: I never have to wait for the pinger interval13:56
jamI wish it didn't ping at all13:56
jambut the connection will always "fail" in that I'm connecting to localhost which connects and then closes the connection (I'm not talking to Mongo in this test)13:56
jamthe test itself completes in <1ms most of the time.13:57
rogpeppe1jam: i think i've misunderstood the logic of the test entirely13:58
jamrogpeppe1: so the only logic it is asserting, is that if server.Close() is called while we are waiting on net.DialTCP, that AcquireSocket notices and closes the socket rather than treating it as a new alive socket.13:59
niemeyerjam: Thanks for catching that issue.13:59
jamrogpeppe1: the issue is that pinger can trigger this case, but I'm triggering it directly by calling AcquireSocket with server.dial = closeDial14:00
jamrogpeppe1: it happens that because newServer pings synchronously, there may-or-may-not be an unusedSocket lying around from that original ping.14:00
=== wedgwood is now known as wedgwood_away
jamIt always gets cleaned up eventually because the localhost server closes the connection on it.14:00
fwereaderogpeppe1, kanban14:02
* rogpeppe1 comes in from the garden to get wi-fi signal14:02
niemeyerjam: Just sent a review.. let me know if you want to talk further about it14:04
jamniemeyer: well, I didn't arrive at the fix because of breakage in mgo's test suite. Only from juju-core's test suite (which was quite hard to understand why it was failing with unclean threads)14:06
jamWe could strip the test down a bit, and actually connect to mgo (not set up a local server, etc)14:06
jambut it would make the test a bit less isolated.14:06
niemeyerjam: Hmm.. interesting. I thought it was in the suite due to the "left sockets in dirty state."14:07
niemeyerjam: Which is a check I copied from the mgo suite14:07
jamniemeyer: that was the juju-core suite14:07
jamniemeyer: right14:07
niemeyerjam: Sure, but we have the same check in mgo14:07
niemeyerjam: What is the juju-core test doing that we don't do in mgo's?14:07
jamniemeyer: probably you don't have many/any tests that take longer than 10s in mog14:07
jammgo14:07
jamniemeyer: so the pinger thread doesn't wake up14:07
jamat the same time the test is tearing down.14:07
jam(goroutine)14:07
niemeyerjam: There are, actually, since it takes a while for replica sets to recover, in the tests that very behavior on harsh shutdowns14:08
jamniemeyer: so for reproducing it, adding a sleep to the Dial code and decreasing the pingDelay made it easier to trigger directly.14:08
jamI didn't run the mgo test suite in anger enough times to see if it ever failed.14:08
niemeyerjam: We can add a sleep to the dial code externally.. I'd be fine with having a test method equivalent to one we have in juju, for tweaking down the pingDelay time14:09
* niemeyer looks for the form used in juju14:10
jamniemeyer: the test in juju is failing by accident because it is doing a lot of stuff and then pinger wakes up and leaves a stale lock14:10
jamand the teardown cleanup code notices there is a stale connection.14:10
jam(as in, it isn't testing pinger directly, etc)14:10
jamniemeyer: I explicitly changed the dial to call server.Close() during the dial14:10
jamso that it triggers at "exactly" the bad time14:11
jamthat part I think is fairly straightforward14:11
niemeyerjam: Sure, that's fine.. these tests that check if there are connections hanging around are run on every single test14:11
jamniemeyer: right, but only tests that stop right about the time a pinger wants to wake up and check have a chance of triggering the bug14:12
jamand the window is pretty small14:12
niemeyerjam: So I'm fine without a test for this14:12
jamthey have to wake up, ask to connect which on these machines is <10ms.14:12
jamniemeyer: so for your other comment, would you like to see the check taken out of the if loop: time.Sleep() code; and just put into AcquireSocket?14:18
jamthat would remove some of the extra checks.14:18
jamor is it just the check for closed after the ping completes that you want to avoid14:18
niemeyerjam: Right, the former.. if we're checking in AcquireSocket, we can get rid of the local lock+check.14:20
jamniemeyer: I'm pushing an update now which: (1) Adds a check for server.closed at the start of AcquireSocket, (2) removes it from pinger, (3) removes server_test.go (though I did check it still passed with the new code)14:32
niemeyerjam: Super, will check it out14:32
ahasenackfwereade: hazmat: reverting to r1291 fixed it for me for now14:36
ahasenackbut you probably know that already ;)14:36
FunnyLookinHatSo - is there an easy way to take the image I'm booting with KVM and my own custom user-data and snapshot it so I can throw it into my own OpenStack for testing?  Built with this:   https://help.ubuntu.com/community/UEC/Images#Ubuntu_Cloud_Guest_images_on_12.04_LTS_.28Precise.29_and_beyond_using_NoCloud14:38
hazmatFunnyLookinHat, probably a better question for #ubuntu-server14:38
FunnyLookinHathazmat, good call.14:39
fwereaderogpeppe2, TheMue: can I get an LGTM on https://codereview.appspot.com/10391045 (which just reverts r1292) please?14:48
rvbaTheMue: my branch https://codereview.appspot.com/10380043/ is not landing although I marked the MP approved… did I miss something?  Do I need to approve it myself to have two LGTM?14:49
fwereadervba, have you set a commit message?14:49
rvbafwereade: arg, that must be it, it's a classic :).  Thanks.14:49
rogpeppe2fwereade: looking14:49
TheMuefwereade: will look14:52
rogpeppe2fwereade: which was the problematic bit? the changes in provisioner_task.go ?14:52
fwereaderogpeppe2, specifically, we started getting addresses from state rather than the environ, I think14:52
fwereaderogpeppe2, the previous form has problems too14:53
rogpeppe2fwereade: yeah, that's what i thought. i was just looking for how provisionerTask.stateInfo actually gets set14:53
fwereaderogpeppe2, but they're strictly less bad than not being able to deploy anywhere other than machine 014:54
rogpeppe2:-)14:54
rogpeppe2fwereade: ah, i see14:55
rogpeppe2fwereade: the problem is that we don't actually store the state.Info in the state14:55
rogpeppe2fwereade: wouldn't that be a better fix?14:55
fwereadewould it be? that'd still get us unwanted localhosts14:55
fwereaderogpeppe2, I think14:56
rogpeppe2fwereade: i don't think do. not if we make sure that we use the result of Environ.StateInfo to pass to state.SetInfo14:57
rogpeppe2s/do/so14:57
rogpeppe2fwereade: the current problem is that state.Addrs is returning the same addresses that it used to connect14:57
rogpeppe2s/Addrs/Addresses/14:58
fwereaderogpeppe2, it's returning whatever LiveServers tells it14:59
fwereaderogpeppe2, I absolutely agree that the "fix" I have proposed is not a fix14:59
rogpeppe2fwereade: oh yeah14:59
rogpeppe2fwereade: that's still wrong though14:59
rogpeppe2fwereade: fair enough.15:00
rogpeppe2fwereade: revert away; the right fix is probably not that trivial15:00
fwereaderogpeppe2, I'll be talking to tim about it; I think it'll involve some machine addressability work to get it right15:00
fwereaderogpeppe2, but maybe only a little before it's adequate15:01
rogpeppe2fwereade: a quick fix would be to use Environ.StateInfo as previous. the addressability work can probably wait until we're actually doing HA15:02
fwereaderogpeppe2, I don't see how that would help... we still connect to localhost on the bootstrap node, so localhost will be in the state info15:02
fwereaderogpeppe2, the addressability work cannot wait, it's bound up with containers15:03
rogpeppe2fwereade: the environ does a host lookup to get the stateinfo address, doesn't it?15:03
rogpeppe2fwereade: that's why things work currently15:03
fwereaderogpeppe2, the *environ* does, yeah, but the reason *juju* works currently is that it uses the info from the environ, not the one from state15:04
fwereaderogpeppe2, or rather, the reason it doesn't work is the opposite15:05
fwereaderogpeppe2, and this change restores the happy variant15:05
fwereaderogpeppe2, we will indeed need more work in this area15:05
fwereaderogpeppe2, but for now I'd just like to have a working trunk15:06
rogpeppe2fwereade: exactly. i think that's what i was suggesting - when the provisioner comes up, it calls state.SetStateInfo with the results of environ.StateInfo15:06
rogpeppe2fwereade: +115:06
rogpeppe2fwereade: (not that there *is* a SetStateInfo call currently, of course)15:06
rogpeppe2hmm, it probably wouldn't be SetStateInfo; probably SetStateServerAddresses or something15:07
fwereaderogpeppe2, yeah, something like that -- but actually having those addresses set on the machine objects would be quite nice too15:07
fwereaderogpeppe2, that said, your suggestion does mean it'll work for the GUI on machines-other-than-0, so I will pass that along; cheers15:08
rogpeppe2fwereade: yeah, it would be good to have addresses associated with machines in the state.15:10
rogpeppe2fwereade: i think i proposed a worker for that in my HA sketch15:10
niemeyerjam: I've tagged the fixed revision, btw15:11
=== rogpeppe2 is now known as rogpeppe
niemeyerjam: So updates will already pick the fix, although I'll announce with the new release15:12
fwereadejam, hey, if you set a commit message on an approved MP that tarmac has previously ignored, will it reliably pick it up then?15:21
=== niemeyer__ is now known as niemeyer
fwereadeahasenack, hazmat: trunk should bootstrap again, and should in a few minutes bootstrap with 1.10 again, tarmac willing15:51
ahasenackfwereade: thanks15:51
hazmatfwereade, awesome15:55
jtvI've got one of these situations where every  error return from my function can prefix the same context string onto the error message...  Would it be terrible of me to move that into a helper function like this?  https://codereview.appspot.com/1036104716:09
rogpeppejeeze everything about this machine has become incredibly flaky. the display, the wi-fi, youtube fullscreen, multiscreen. i wonder how much is hardware and how much is software16:12
jtvNot fun debugging those problems.16:15
rogpeppejtv: you don't recognise this sequence from syslog by any chance, do you? sometimes it gets itself into a mode where this repeats forever without successfully connecting to the network it actually knows the correct password for. http://paste.ubuntu.com/5777587/16:30
rogpeppejtv: i *think* it usually happens when i've been switching between wi-fi hubs quite a bit16:31
FunnyLookinHatrogpeppe, what sort of machine?16:32
rogpeppeFunnyLookinHat: lenovo thinkpad x22016:32
FunnyLookinHatAh, well there's your problem...  ;)16:32
FunnyLookinHatjk - that surprises me.  Intel graphics, yes?16:32
FunnyLookinHatAnd probably wireless as well...16:32
rogpeppeFunnyLookinHat: i was told it was one of best supported laptops.16:33
rogpeppeFunnyLookinHat: oh well16:33
rogpeppeFunnyLookinHat: it's been stable for two years. i've only seen these problems after upgrading to raring16:34
FunnyLookinHatAh strange.  Well - time to upgrade...  :)   https://www.system76.com/laptops/model/galu116:36
rogpeppeFunnyLookinHat: i've been meaning to reinstall from scratch to see if that helps, but i can't quite bring myself to lose a week fixing everything that i will inevitably have lost in the process.16:36
rogpeppeFunnyLookinHat: no good - i need three buttons16:37
FunnyLookinHatFair enough - I was the same way ( used to be a ThinkPad guy ) and loved the eraser and all...  I just got over it eventually  :)16:38
rogpeppeFunnyLookinHat: i use the world's strangest editor, which really really needs a three-button mouse.16:38
FunnyLookinHatrogpeppe, PEBCAK ! :)  What editor?16:39
rogpeppeFunnyLookinHat: http://research.swtch.com/acme16:40
FunnyLookinHatAh interesting - thx for the link16:41
rogpeppeFunnyLookinHat: what i really want is a laptop with a display that works well in full sunlight16:43
benjirogpeppe: you live in the UK and expect us to believe you have ever seen full sunlight?16:43
rogpeppelol16:44
benji;)16:44
rogpeppebenji: i have to take advantage of whatever we have16:44
benjiheh16:44
FunnyLookinHathaha16:44
rogpeppebenji: hence i'm out in the garden currently16:44
rogpeppebenji: because the sun is almost out16:45
rogpeppebenji: and that's what triggered my wi-fi issues because i have to switch to phone data out here because the landline hub doesn't stretch this far16:45
benjihonestly your weather is probably better than mine today, it's raining on and off and I'm sitting outside anyway (under a covered porch)16:46
benjiwe should start a line of weatherproof outdoor wifi boosters16:46
rogpeppebenji: last couple of days it's been absolutely gorgeous. when british weather is good, it's wonderful16:46
benji:)16:46
rogpeppebenji: it only happens about 3 days a year tho16:46
benjiwhat is it the British say about how great summer is there: it's their favorite day of the year16:47
benjiit's all good though, come August I'll be sweltering in near 100% humidity, so I have to poke fun while I can16:48
jtvrogpeppe: I don't recognize the sequence, but my wifi isn't working very well either...16:52
* jtv looks16:53
jtvNope, my log looks very different.16:55
jtvWould anybody be willing to review my little error-context helper?  It's at https://codereview.appspot.com/1036104716:56
rogpeppejtv: we have something very similar called ErrorContextf in juju-core17:01
jtvAh great17:01
jtvI looked for other similar "defer" calls, but didn't see it.17:01
jtvMaybe I only looked in the providers.17:01
rogpeppejtv: i have mixed feelings about it in general17:01
jtvI think it's something to be seen as a utility, not as a universal element in all error handling.17:02
jtvThere are clearly places where it's not appropriate.17:02
jtvI'll scupper this branch then, thanks!17:03
rogpeppejtv: but that's because i think we do our error messages a bit wrong in general. i reckon error messages to tell you about what went wrong, not about what function you're calling (you know that, in general)17:03
rogpeppejtv: see utils.ErrorContextf17:04
jtvYes, looking at it now.17:04
* rogpeppe has to go.17:04
jtvnn17:04
rogpeppeg'night all17:04
rogpeppejtv: see ya17:04
jtvnnnn17:04
jtv(weird keyboard)17:04
TheMueso, synctools change is in for review, have a good night17:56
=== BradCrittenden is now known as bac
=== deryck_ is now known as deryck
thumperfwereade: ping21:23
fwereadethumper, pong21:24
thumperfwereade: what was wrong with the provisioner branch?21:24
thumperI'm not sure how the localhost thing is three21:24
thumperthere21:24
fwereadethumper, I'm an idiot, I forgot that State.Addresses would return a localhost address if that was how the connection was made21:25
thumperah...21:25
thumperwell that is a bit screwy21:25
thumperhow should we address that?21:25
fwereadethumper, yeah, there are better ways and worse ways of addressing it, but the sensible ones all seem to demand a bit of machine adddressability21:26
thumperheh21:26
fwereadethumper, I spoke to mgz, and the first step is apparently to clone the unit addressing stuff onto machine21:26
* thumper nods21:26
thumperso, should we attempt to fix this branch now21:27
thumperor just wait until some addressability bits are done21:27
fwereadethumper, and then, if we have a machine agent running, we'll have an address for the machine, and everything will be good21:27
fwereadethumper, because we should be able to get the management machines out of state very easily21:28
thumperfwereade: do you have some time for a quick hangout?21:28
fwereadethumper, sure21:29
wallyworld_thumper: s'up22:19
thumperwallyworld_: hey, OTP with fwereade right now22:22
wallyworld_kk22:22
wallyworld_thumper: tell fwereade to go to bed or else he will turn into a pumpkin22:23
thumpersomething amusing from twitter yesterday: RT @qntm: "I love stateless systems." "Don't they have drawbacks?" "Don't what have drawbacks?"22:24
wallyworld_lol22:24

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