/srv/irclogs.ubuntu.com/2013/10/04/#juju-dev.txt

thumpernatefinch-bed: night00:07
=== gary_poster is now known as gary_poster|away
jamsinzui: rogpeppe: generally you get the ghost revision doing a lightweight checkout of a stacked branch (with no actual local commits). The easier thing is "bzr reconfigure --unstacked lp:gnuflag"04:24
jamI would expect a trunk branch to be unstacked anyway, but I can imagine the owner changed over time04:24
jamgo bot will mark things Fix Committed if you used "bzr commit --fixes lp:####" I believe04:26
jamI guess I missed that you did eventually figure that out04:29
axwmorning jam04:29
jammorning axw, I'm not "officially working" but if I can do anything to smooth the release I'll sneak some time this morning. Do you know of anything ?04:30
axwjam: nope, was just saying morning :)04:30
axwI'm not aware of any problems04:31
jamaxw: and a good afternoon to you04:31
axwargh, something has broken the null provider05:44
davecheneyaxw: does storage-auth-key have a default value ?06:44
axwdavecheney: no, it is in the boilerplate with a random value, but there's no default06:44
axwit should be checked for existence06:45
axwbut isn't06:45
davecheneyhow come you were able to comment it out06:45
davecheney?06:45
davecheneyoh, you just told me06:45
davecheneywell, there is your problem06:45
axwbleh, I found another problem, and this one actually does need a code fix :(06:46
davecheneydag06:48
davecheneydang06:48
rogpeppemornin' all07:03
rogpeppejam: i didn't know about bzr commit --fixes07:04
rogpeppeaxw: what's the problem?07:04
axwrogpeppe: https://bugs.launchpad.net/juju-core/+bug/1235100, https://bugs.launchpad.net/juju-core/+bug/123510207:07
_mup_Bug #1235100: null provider machine agent fails to initialise <juju-core:New> <https://launchpad.net/bugs/1235100>07:07
_mup_Bug #1235102: null provider authenticating storage client fails <juju-core:New> <https://launchpad.net/bugs/1235102>07:07
axwI made some changes in a review, and broke everything07:08
axwdidn't do a live test07:08
axw(everything in the scope of the null provider only)07:09
rogpeppeaxw: the storage-auth-key panic looks like the null provider isn't checking its config properly07:10
axwrogpeppe: correct07:10
axwI know what all the issues are, they just need code changes07:10
axwwhich obviously isn't good at this time :)07:10
rogpeppeaxw: well i'm happy to review07:11
davecheneynight all07:11
davecheneyi'll be online later07:11
axwrogpeppe: cool, trying to get it all working now. I'll ping you a bit later07:11
axwnight davecheney07:11
rogpeppedavecheney: see ya07:11
fwereade_hey all07:19
fwereade_I see no release, so I presume things are bad07:20
axwfwereade_: not sure why there's no release, but things are bad with the null provider.. wouldn't think that would hold anything up tho07:24
axwalso, hi07:25
fwereade_axw, heyhey07:25
fwereade_axw, well, that is rather problematic tbh, is there anything I can do to help?07:25
axwfwereade_: under control at the moment, just about to propose a couple of fixes07:25
fwereade_axw, ok, cool07:26
axwrogpeppe, fwereade_ https://codereview.appspot.com/1438704307:37
axwone more to come07:37
rogpeppeaxw: just remind me please: when is the machine agent accessing the environ's Storage before the secrets are pushed?07:39
fwereade_axw, sorry, I don't quite get it07:39
fwereade_axw, yeah, what rogpeppe said07:39
axwI think it was from StateInfo07:40
axwone moment, I'll reproduce07:40
axwrogpeppe, fwereade_ yep, environ.StateInfo gets called, which calls common.StateInfo, which does a common.LoadState07:42
fwereade_axw, by what?07:42
axwlaunchpad.net/juju-core/state/apiserver/common.(*Addresser).StateAddresses(0xc200263d00, 0x0, 0x0, 0x0, 0x0, ...)07:43
rogpeppeaxw: isn't the StateInfo passed to the machine agent in its config?07:43
rogpeppeaxw: i'm a bit surprised that the machine agent is calling StateInfo before it has a valid environ config07:44
axwrogpeppe: as was I :)07:44
rogpeppeaxw: where is it being called?07:44
axwrogpeppe: I'll pastebin the stacktrace, just a sec07:45
axwrogpeppe: http://paste.ubuntu.com/6191212/07:45
rogpeppeaxw: could you paste the stack trace of the bootstrap machine agent at that point?07:46
axwrogpeppe: ? that is from the bootstrap machine agent07:46
rogpeppeaxw:  i mean the stack trace of all the goroutines07:47
axwah yep, just a sec07:47
fwereade_axw, so that's either deployer or provisioner making that call, right?07:48
fwereade_axw, deployer shouldn't have any units to deploy until after the first connection07:48
dimiternthe bot was running out of space and there were way too many gocheck-* and test-mgo* dirs in /tmp/ so some tests were failing, I just cleaned it up07:48
fwereade_axw, and provisioner shouldn't start until it's got a valid environ config07:48
fwereade_dimitern, thanks07:48
axwfwereade_: not sure tbh. I just bootstrapped and nothing else07:49
axwso it shouldn't be trying to provision anytthing07:49
fwereade_axw, sure, but the provisioner ought to be able to start up with an invalid environ config, and just sit and wait until it gets a valid one07:50
rogpeppefwereade_: agreed; i think it must be the provisioner07:50
axwfwereade_: yeah, I thought it did wait today07:50
rogpeppeaxw: still waiting for that stack trace - it'll sort out whether it's the provisioner or the deployer07:50
axwI was looking at it earlier, looked somewhat sane07:50
axwrogpeppe: uploading now07:50
rogpeppeperhaps it's a bug in WaitforEnviron07:50
fwereade_axw, does a config without a storage-auth-key validate?07:51
fwereade_axw, it looks like it does, and that's the problem,but maybe I'm misreading07:51
axwfwereade_: it does at the moment. If nothing is meant to be able to call Storage until it has all the secrets, then it shouldn't validate07:52
axwrogpeppe: attached machine-0.log to https://bugs.launchpad.net/juju-core/+bug/123510007:52
_mup_Bug #1235100: null provider machine agent fails to initialise <juju-core:In Progress by axwalk> <https://launchpad.net/bugs/1235100>07:52
fwereade_axw, that schema.Omit is basically an explicit "I don't care if we don't have this, everything will work perfectly if it's not here"07:53
fwereade_axw, and unless there's some explicit handling elsewhere to fail validation, there's your problem07:53
axwfwereade_: yep, I understand that bit07:53
axw(now)07:53
axw;)07:53
fwereade_:)07:53
axwnothing like a last minute bug to educate you07:54
axwanyway07:54
fwereade_oh yes indeed:)07:54
axwI'll propose this other fix, then get back to this issue07:54
fwereade_axw, cheers07:54
axwfwereade_: https://codereview.appspot.com/1438804307:58
axwthis one's more straight forward07:59
fwereade_axw, I am concerned at the lack of tests there...08:00
fwereade_axw, I can't really see the impact by inspection08:00
axwfwereade_: ok. I think I can come up with one08:01
fwereade_axw, thanks08:01
frankbanhi, how can I create local certs in juju home for an environment?08:08
axwfwereade_: updated, verified it failed before the fix08:09
axwrogpeppe: I think it's triggered by the provisioner task calling NewAPIAuthenticator, which does st.StateAddresses08:11
axwrogpeppe: the API server gets the env config from state, but the secrets aren't in there08:11
rogpeppeaxw: but it shouldn't be calling NewAPIAuthenticator until it's obtained a valid Environ08:12
rogpeppeaxw: which shouldn't be possible until the secrets are there08:12
axwrogpeppe: ok, so is it because Validate isn't returning an error08:12
axw?08:12
rogpeppeaxw: that sounds right08:12
rogpeppeaxw: i think that's what fwereade_ was trying to say earlier08:13
axwright, I didn't catch on08:13
axwI'll fix that now. thanks rogpeppe and fwereade_08:13
fwereade_frankban, if you started a new environment with current code, the certs are now written into BootstrapConfig in $JUJU_HOME/environments/<name>.jenv08:14
frankbanfwereade_: thanks, that's right. In trunk, if I add a new environment (e.g. a local one) in the yaml file, and then I try to bootstrap it, the certs seems not to be generated: http://pastebin.ubuntu.com/6191312/08:19
axwI think that's a real bug with the local provider08:21
axwit used to have to chown the cert files to the sudo caller08:21
axwfrankban: as a workaround, you can "touch" that file it's complaining about. would you mind logging a bug?08:23
axwrogpeppe: updated https://codereview.appspot.com/1438704308:24
axwfrankban: never mind, I'll log it - I can reproduce it trivially08:26
frankbanaxw: thanks!08:27
axwhttps://bugs.launchpad.net/juju-core/+bug/123513008:27
_mup_Bug #1235130: local provider fails bootstrapping if legacy certificates are missing <juju-core:Confirmed> <https://launchpad.net/bugs/1235130>08:27
rogpeppefrankban, axw: ah sorry about that - my fault, i had no idea there was other stuff in the system that relied on the old cert files08:28
rogpeppeshould be trivial to fix08:28
axwrogpeppe: no worries, it's a bit specific to the local provider08:28
axwyep08:28
* rogpeppe thinks that our approach to dealing with the running-as-root stuff is a bit wrong08:29
rogpeppei think we should run *something* as root, but drop privileges a.s.a.p.08:29
rogpeppethen we wouldn't need the "chown it back to what we think it should have been" hacks all over the place08:30
axwit's not great08:30
frankbanfwereade_, axw: so, IIUC, excluding that bug we could safely remove all the pem files in JUJU_HOME, correct?08:34
axwfrankban: I think it'll need to be migrated to the .jenv file first, is that right rogpeppe ?08:35
fwereade_frankban, not for pre-existing environments08:35
rogpeppefwereade_: +108:35
fwereade_axw, frankban, rogpeppe: we don't have any migration code there but we probably should:(08:36
rogpeppeit's a bit awkward at the moment08:36
axwdoh08:36
rogpeppefwereade_: i was wondering about that08:36
* axw undoes his current change ;)08:36
rogpeppefwereade_: it's not *strictly* necessary, but would enable us to have cleaner code08:36
rogpeppefwereade_: and better error messages08:36
rogpeppethe error you get when trying to talk to an environment without associated environ info is terrible currently08:37
rogpeppefwereade_: how about "juju make-info -e someenv" ?08:38
fwereade_rogpeppe, wait, so we can't keep using an existing environment?08:39
rogpeppefwereade_: sure we can08:39
fwereade_rogpeppe, thought so08:39
fwereade_rogpeppe, but then I don't follow what you just said08:39
rogpeppefwereade_: but the problem is that if you have a new-style environments.yaml, you get an error like this http://paste.ubuntu.com/6191378/08:40
rogpeppefwereade_: because the code thinks that if no info exists, it must try to make a valid environment from just the attrs in environments.yaml08:41
fwereade_rogpeppe, ah, so that's trying to destroy twice?08:41
rogpeppefwereade_: it doesn't get that far08:42
rogpeppefwereade_: it fails trying to make a new Environ08:42
dimiternrogpeppe, sounds like it's doing more than it should08:42
rogpeppefwereade_: (i tried to raise this with you yesterday, BTW :-])08:42
fwereade_rogpeppe, but only when that environ doesn't exist?08:43
rogpeppedimitern: what do you think it should do?08:43
rogpeppefwereade_: only when the configstore info for that environ doesn't exist08:43
fwereade_rogpeppe, sorry I either missed it orcompletely failed to understand08:43
dimiternrogpeppe, check if there's an actual bootstrapped environment before trying to prepare one?08:43
rogpeppedimitern: this problem doesn't happen when Preparing08:44
rogpeppedimitern: it'll happen if you call juju status, for example08:44
rogpeppedimitern: or any command that tries the NewFromName an existing environment08:44
rogpeppes/the/to/08:44
dimiternrogpeppe, or destroy-environment08:44
rogpeppedimitern: yeah - that was my original example08:45
fwereade_rogpeppe, but only if that environment has been edited to become new-style..?08:45
rogpeppefwereade_: yes08:45
dimiternrogpeppe, yeah, that seems just little too magical08:45
rogpeppefwereade_: the problem is our attempt to deal with the old-style environments.yaml08:45
fwereade_rogpeppe, the release notes have:08:45
fwereade_admin-secret is now chosen automatically if omitted from the configuration of a new environment.08:46
fwereade_control-bucket is now chosen automatically if omitted from the configuration for new ec2 and openstack environments.08:46
dimiternrogpeppe, the same thing happens when you upgrade from 1.14 - no new-style env info08:46
rogpeppedimitern: yes08:46
fwereade_rogpeppe, dimitern: so, it's all about environs that were bootstrapped pre-1.1508:47
rogpeppewhat i would *like* to happen is that these commands just fail immediately if there's no associated environ info08:47
rogpeppefwereade_: yes08:47
fwereade_rogpeppe, dimitern: and which have then been destructively edited in environments.yaml08:47
fwereade_rogpeppe, dimitern: is the behaviour actually any worse than would happen in 1.14 if you broke environments.yaml?08:47
rogpeppefwereade_: hence my thoughts about a transitory "juju make-info" command08:47
rogpeppefwereade_: no, it's not about envs which have then been destructively edited08:48
rogpeppefwereade_: it's about envs which have *not* been destructively edited08:48
rogpeppefwereade_: that's what the code is currently trying to deal with08:48
rogpeppefwereade_: and that should work fine08:48
dimiternfwereade_, no sure what you mean by destructively edited08:49
fwereade_rogpeppe, what happened to the control-bucket in the example you pasted? looks like a destructive edit to me..?08:49
dimiternfwereade_, if you remove the environment from env.yaml?08:49
rogpeppefwereade_: that's not an environment that was bootstrapped pre-1.1508:49
fwereade_rogpeppe, ahhhhh bollocks ok08:49
fwereade_rogpeppe, but then I don't see how make-info would help08:50
rogpeppefwereade_: make-info would create the environ info (with bootstrap config) from an environments.yaml file08:50
axwanother CL, to fix the local provider issue: https://codereview.appspot.com/1428904408:51
rogpeppefwereade_: so we could change the code to fail *always* if an appropriate .jenv file does not exists08:51
rogpeppeexist08:51
frankbanfwereade_, axw, rogpeppe: thanks for your help. I believe you are already aware of this, but, while local envs now work properly in my raring box, I also see those errors: http://pastebin.ubuntu.com/6191399/08:51
fwereade_aw ffs08:52
axwfrankban: yep, I believe rogpeppe has fixed that last night08:52
rogpeppefrankban: that's with trunk?08:52
fwereade_frankban, thanks08:52
rogpeppeaxw: i *thought* i fixed that08:52
axwoh08:52
axw:o08:52
frankbanrogpeppe: yes, revno 194808:52
rogpeppefrankban: but you're still seeing that problem?08:53
frankbanrogpeppe: yes08:53
axwrogpeppe: I can confirm08:53
rogpeppebugger08:53
* rogpeppe goes to fix it08:54
fwereade_rogpeppe, you did run the local provider with your fix, right?08:54
rogpeppefwereade_: i did, but perhaps not with the final combo08:54
fwereade_rogpeppe, heh, I've fallen into that one acouple of times08:55
fwereade_bad luck08:55
fwereade_rogpeppe, but when scrambling for a release it's doubly important to be obsessive08:55
rogpeppefwereade_: yes08:55
rogpeppewell, the bug is clear; i wonder why my test didn't find it08:58
fwereade_rogpeppe, basically I am not happy with the make-info idea, but let's come back to it in a bit08:58
rogpeppefwereade_: yeah, it was a straw man; other ideas would be good.08:58
rogpeppefwereade_, axw, frankban: here's the (possible) fix - am just verifying it works with the local provider:https://codereview.appspot.com/1438804409:12
frankbanrogpeppe: cool thanks09:15
axwrogpeppe: looking09:15
fwereade_rogpeppe, LGTM if it works09:15
axwah already09:15
axwrogpeppe, fwereade_: let me know if there's anything that needs explaining in my CLs... just going to make a cup of tea09:17
rogpeppefwereade_: it works09:21
fwereade_rogpeppe, great09:22
rogpeppefwereade_: i'll land that and then fix the cert chown problem09:22
fwereade_rogpeppe, axw has https://codereview.appspot.com/14289044/ up, take a look at that09:23
rogpeppefwereade_: great09:24
rogpeppefwereade_: that's exactly the change i was gonna make09:24
rogpeppefwereade_: so, back to make-info (or whatever); there's another possibility, that i'm less keen on because it's kinda wrong, but...09:26
rogpeppefwereade_: which is to change environs.NewFromName so that if the environment or config can't be made and there's no environ info, it just returns "environment does not exist", ignoring the config error09:27
fwereade_rogpeppe, so, I think I'd be happier with that09:28
fwereade_rogpeppe, but I expect you've thought through the problems more clearly than me09:28
rogpeppefwereade_: it always seems a bit bad to ignore arbitrary errors, but i think in this case it's ok - we're grudgingly allowing some legacy environments to be created, but ignoring them if they're invalid09:32
fwereade_rogpeppe, yeah, that was my readingof it09:33
rogpeppefwereade_: ok, i'll propose something that does that09:33
rogpeppefwereade_: i think it's worth getting in if we can09:34
rogpeppefwereade_: because everyone will come across this problem09:34
* fwereade_ hates churn at this stage but thinks it's probably worse to not do it09:35
axwfwereade_: updated https://codereview.appspot.com/1438704309:39
axwnot just a test update - there shouldn't have been a default set at all09:39
fwereade_axw, LGTM assuming it works live ;)09:40
axwit does indeed09:40
axwthanks09:40
* axw tests them all together now09:40
* fwereade_ approves :)09:41
axwall good09:46
axwwell09:46
axwon the upside, now I know a bit more about how the machine agent works09:46
rogpeppefwereade_: suggestions for a good error message when there's no environment info for an environment?09:55
rogpeppefwereade_: i'm thinking of going with "environment does not exist"09:56
rogpeppefwereade_: but that's worryingly similar to "environment not found"09:56
rogpeppefwereade_: "environment not prepared" is more accurate, but probably confusing to the user09:56
fwereade_rogpeppe, I'm kinda leaning towards "is not bootstrapped", but I'm fretting there's some way for that to be wrong09:56
rogpeppefwereade_: there is09:56
rogpeppefwereade_: because you can do sync-tools before bootstrap09:57
rogpeppefwereade_: bootstrapped status is largely orthogonal to prepared status09:57
rogpeppefwereade_: except that destroy-environment resets both of them09:57
fwereade_rogpeppe, I seem to be unusually dense today -- but if we have no info, and no valid config, how *could* we have boostrapped?09:58
rogpeppefwereade_: we could have changed the config after bootstrapping10:00
rogpeppefwereade_: "is not bootstrapped" is logically accurate, i suppose10:00
fwereade_rogpeppe, is the situation any worse than it would be if you broke the config after bootstrapping with 1.14?10:01
rogpeppefwereade_: it's possibly a little more misleading10:01
rogpeppefwereade_: saying "is not bootstrapped" kind of implies that the only way to rectify the situation is to bootstrap, but actually sync-tools will do the job too10:02
fwereade_rogpeppe, ok, but why sync-tools without a view to a bootstrap? ;)10:03
rogpeppefwereade_: i guess my issue comes from the fact that we're saying "is not bootstrapped", when we actually have no idea if the user has bootstrapped or not.10:03
rogpeppefwereade_: but as an error message, i think it works ok10:04
rogpeppefwereade_: even if it's not *strictly* accurate10:04
rogpeppefwereade_: so i think i'll go with it10:04
fwereade_rogpeppe, I think they either didn't bootstrap, of they broke their environment in a way we've never been able to fix10:04
fwereade_rogpeppe, I say go with it :)10:04
rogpeppefwereade_: or they didn't sync-tools :-)10:05
rogpeppefwereade_: will do10:05
=== natefinch-bed is now known as natefinch
natefinchmorning all10:05
axwmorning natefinch10:05
natefinchrogpeppe: fwiw, as long as juju bootstrap fixes "is not bootstrapped" I think that's fine.  I much prefer an error that makes it obvious how to fix it, even if it's not 100% accurate.10:06
rogpeppenatefinch: cool10:06
axwrogpeppe: re your comment about panicking: noted, but it's going thru the bot now10:07
rogpeppeaxw: np10:07
axwI'll do that next time I touch it10:07
axwfwereade_: should I be marking these all against 1.15.1, or is that actually cut and nobody announced it?10:08
fwereade_axw, I don't think sinzui is up yet, so I lackinfo10:17
fwereade_natefinch, heyhey, is there a problem with that doc branch or can we land it?10:17
natefinchfwereade_: bot was messed up last night.  Tim was looking at it when I went to bed. /tmp was full or something10:18
natefinchfwereade_: otherwise, yes, totally ready10:18
fwereade_natefinch, ah, great,dimiter cleared that up this morning10:19
natefinchfwereade_: I just poked it again, so the bot will land it10:19
axwI'm off, have a nice weekend all10:21
fwereade_axw, cheers, and you10:26
fwereade_axw, thanks for all your help this week10:27
dimiternrogpeppe, mgz, standup?10:46
rogpeppedimitern, fwereade_: https://codereview.appspot.com/1438804410:47
mgzdimitern: ta10:47
fwereade_oh ffs10:52
rogpeppefwereade_: https://codereview.appspot.com/1438604411:17
rogpeppefwereade_, dimitern, mgz: i need a review of the above, please11:31
fwereade_rogpeppe, sorry, what's invalid about the info in the first test?11:33
rogpeppefwereade_: it hasn't got a state-id11:34
rogpeppefwereade_: which the dummy provider adds when preparing11:34
rogpeppefwereade_: i'll add a comment11:34
fwereade_rogpeppe, cheers11:34
fwereade_rogpeppe, another trivial or two, otherwise LGTM11:35
rogpeppefwereade_: i'm trying to understand https://codereview.appspot.com/1438804311:38
rogpeppefwereade_: why can't we just set the Location to the req.Host directly11:38
rogpeppe?11:38
rogpeppefwereade_: i don't see why we have to do all the port mangling11:38
rogpeppefwereade_: and why should being able to do a HEAD be predicated on running secure (ie. with a tls.Config)11:40
rogpeppe?11:40
fwereade_rogpeppe, I'm sorry to say I made a trust call on that one -- please comment on the review. re secure HEAD -- I do not know why we even do anything http-only tbh, but it seemed out of scope11:41
=== gary_poster|away is now known as gary_poster
rogpeppemgz, fwereade_: looks like the bot may be down - i approved this 50 minutes ago and it still hasn't made any progress: https://code.launchpad.net/~rogpeppe/juju-core/440-fix-addressupdater/+merge/18923812:10
rogpeppestill no movement on https://code.launchpad.net/~rogpeppe/juju-core/440-fix-addressupdater/+merge/18923812:35
* rogpeppe goes to lunch12:35
rogpeppemgz: if you were able to investigate the 'bot problem, that would be great...12:35
mgzrogpeppe: something does seem to be up...12:36
mgzrogpeppe: answer to the mystery, btw13:06
rogpeppemgz: oh yes?13:06
mgzthere was a mongodb process from a test left around, which inherited the filehandle of our flock file13:06
mgzso, that got left in a locked state, so the cronjob was not obtaining the lock or starting any new work13:07
mgzthere are like, a bunch of ways to make that more robust13:07
rogpeppemgz: ah, so it's merrily continuing on its way now?13:07
mgzI huped the mongod process and things are happy again, your mp is being processed13:08
rogpeppemgz: let's hope one of the not-so-intermittent test failures doesn't strike again13:09
rogpeppemerged!13:18
fwereadenatefinch, do you have any docs left to merge?13:34
natefinchfwereade: nope,  mine are all in13:34
fwereadenatefinch, great, thanks13:35
fwereadenatefinch, bug up to date?13:36
natefinchfwereade: oops, nope, I'll go poke it13:36
fwereadenatefinch, cheers13:36
rogpeppefwereade: do you agree that bootstrap.ConfigureBootstrapMachine should live in provider/common ?13:43
fwereaderogpeppe, probably13:45
rogpeppefwereade: given that it's designed to be used as part of provider implementions, which bootstrap.Bootstrap is not13:45
fwereaderogpeppe, wait, no13:46
fwereaderogpeppe, nothing to do with a provider implementation13:46
rogpeppefwereade: well, kinda13:46
fwereaderogpeppe, coincidentally called by the local provider13:47
rogpeppefwereade: a provider either arranges for jujud bootstrap to be called, or it does it itself13:47
fwereaderogpeppe, I see no good reason not to use jujud bootstrap across the board13:47
rogpeppefwereade: yeah, the local provider should probably just exec it13:47
fwereaderogpeppe, pretending that state manipulation is part of a provider implementation will not lead us along a happy path13:48
rogpeppefwereade: yeah, hmm13:48
fwereaderogpeppe, it's not in a good place now, though13:48
rogpeppefwereade: yeah13:48
natefinchfwereade: so, it sounds like Tim has a solution to the "juju destroys all MaaS nodes" but needs to verify it.   So, I presume I don't need to work on that.  I can try to finish up the EC2 root disk stuff... as I said in the standup, the constraint works, we're just not getting the value back in status13:54
fwereadenatefinch, ok, that's great, I'll sync up with him on sunday night and make sure, but fixing root-disk would be awesome13:56
fwereadenatefinch, thanks13:57
natefinchfwereade: cool.   Do you have a good process for debugging what's going on with jujud and the agents?  I've mostly done work on the client, so not really sure how I'd test out code on the bootstrap node (other than repeatedly destroying/bootstrapping with the new code)13:58
fwereadenatefinch, keeping half an eye on debug-log,and meditating upon the infinite, basicaly14:00
fwereadenatefinch, but if it's something specific I might be more helpful?14:00
sinzuifwereade, what is this milestone, https://launchpad.net/juju-core/+milestone/dev-docs14:00
natefinchfwereade: heh... mostly just that there's information I expected to be there that isn't there. I guess looking at the code for goamz and seeing if it actually returns the hardware characteristics would help14:00
fwereadenatefinch, don't think so14:03
fwereadenatefinch, we hope to get instance-type data into simplestreams sometime14:04
fwereadenatefinch, but for now the best we can do is use the hardcoded tables14:04
natefinchfwereade: if we allow people to set the disk space, I'd prefer we return no information rather than wrong information.14:05
fwereadenatefinch, yeah, I'd be inclined to take the RootDisk info out of instancetype.go14:06
fwereadenatefinch, and just always insert the value from the attached ebs volume14:06
fwereadenatefinch, might be worth checking with sidnei if he had any clever plans in that direction too14:08
natefinchfwereade:  cool, ok14:08
rogpeppefwereade: how about folding most of ConfigureBootstrapMachine into agent.InitialStateConfiguration?14:35
rogpeppefwereade: (which I'd probably rename to something like InitializeState)14:36
fwereaderogpeppe, sounds reasonable14:38
rogpeppefwereade: this came about because i was fiddling with provider/local bootstrap and looking at ConfigureBootstrapMachine, realised that it didn't have a test, then started writing one, then realised things could probably be simpler...14:39
fwereaderogpeppe, I am more than happy to see that stuff tidied up14:40
rogpeppefwereade: i don't really like the way that InitialStateConfiguration is written as a free func that only works on a particular type either. It should really be part of the Config interface, but really I think the Config interface should be a concrete struct, although i know tim thinks differently.14:44
fwereaderogpeppe, the cast to *configInternal does look like crack to me14:46
natefinchfwereade: wow, that is total crack14:52
natefinchfwereade: that'll panic if you pass any other implementation of that interface14:56
fwereadenatefinch, thankfully there aren't any others, but still14:56
natefinchfwereade: still... I agree, it should be a method on the interface... certainly not a function that someone else can call and cause to panic by implementing some other Config14:58
mattywfwereade, regarding the comment here: https://codereview.appspot.com/14389043/diff/1/state/state.go#newcode693. Don't we need this function so we can data in the megawatcher?15:01
fwereademattyw, that's got a *State, so we can get to it -- and I'm a bit twitchy about having different ways to do the same thing in state15:04
fwereademattyw, I don't think it's a blocker in any way, minor matter of taste15:05
fwereademattyw, (there are a couple of other similar methods lurking already, that IMO should be in another package and make use of the bits exported from state because that's all they use, but... it's really not a huge deal)15:09
mattywfwereade, ok, I might leave it like that for now but it's something to meditate on :)15:11
mattywfwereade, one more question: for this https://codereview.appspot.com/14389043/diff/1/worker/uniter/context.go#newcode145 should we pass it in to HookContext as a parameter to NewHookContext - or work it out inside NewHookContext?15:12
mattyw(I guess passing it in makes it easier to test?)15:12
fwereademattyw, passing it in feels a bit easier15:12
mattywfwereade, sure15:13
sinzuifwereade, someone? I see this error running make check from the tarball on saucy and precise: http://pastebin.ubuntu.com/6192615/15:14
mgzick15:14
fwereadesinzui, oh *hell* the dirty sockets have shown up occasionally since forever -- is it consistent?15:16
mgzsinzui: it's an intermittent failure, try make check again15:16
mgzlooking for bug#15:16
sinzuiI have run the test 1 on saucy, 2 on precise, always the same hardware15:16
* sinzui is running the branch on saucy now15:17
sinzuimgz, I got the same failure again. Can I treat this as an issue local to me. My next step in the release is to build the deb locally to confirm the recipe15:24
mgzsinzui: it seems worth continuing for the moment15:25
sinzuiokay15:25
fwereademgz, sinzui: agreed, cannot repro15:26
* sinzui just realised that Lana Del Rey's Dark Paradise has a sound similar to his IRC notification15:31
sinzuimgz, can I set the tools-url to url outside of the cloud? I want to build a stream from my new deb, put it on people.canonical.com, then deploy to aws, hp, etc...15:41
mgzsinzui: hm, wonder what the best way of testing is these days15:42
mgzsinzui: so, my old way of doing this doesn't work any more, and I've not seen instructions from ian on exactly what we should be doing instead15:49
sinzuiright15:49
mgzbut you *can* generate your own simplestreams bits using the plugins commands and get juju to use those somehow15:50
sinzuiI just want to get my confidence a little higher about building all the deb15:50
sinzuiI will explore my options with tools-url15:50
fwereadegents, I need to be away now16:05
fwereadehappy weekends16:06
fwereadeI will try to look in every now and then16:07
rogpeppesinzui: i just saw your post on juju-dev16:18
rogpeppesinzui: and replied - any chance you can use 1954, not 1953 ?16:19
mgzrogpeppe: that doesn't seem like a crucial fix16:20
rogpeppemgz: it's something that users will see all the time16:20
rogpeppemgz: and so affect the general "nice feelingness" of the new release16:20
mgzsure, but we can put it in 1.15.216:20
rogpeppemgz: ok, i guess16:20
mgz(or rather, 1.16.1)16:21
mgzI would be very surprised if there aren't some more issues we turn up that need fixing on the version we'll be shipping for saucy16:21
sinzuirogpeppe, I can switch to 195416:21
sinzuirogpeppe, mgz, I can move the tag now16:22
mgzif sinzui is fine with bumping that's okay :)16:22
rogpeppesinzui: that would be great, thanks!16:22
sinzuiI am about to rebuild my deb anyway to get the version to match what the builders will do. I will switch the tag now.16:23
natefinchmgz, fwereade, rogpeppe, dimitern:  goamz changes as a precursor to supporting root-disk on ec2: https://codereview.appspot.com/1437404416:57
rogpeppenatefinch: cc niemeyer16:58
natefinchniemeyer: scrub my back, I'll scrub yours?   https://codereview.appspot.com/14374044    added code so we can set root disk size when we request an EC2 image for supporting the root-disk constraint16:59
mgznatefinch: looking16:59
niemeyernatefinch: Hmm.. this diff doesn't look rigth?17:00
mgznatefinch: looks like you need to merge trunk17:00
mgzor you'll conflict with the stuff I landed this week17:00
natefinchoh, dang, I hadn't updated goamz recently..l ok17:01
mgzI even sent an email ;_;17:01
natefinchmgz: yeah, that's how I knew what you were talking about... I just forgot to actually do it17:01
niemeyernatefinch: Hmm.. I actually implemented devices support before17:02
niemeyernatefinch: I wonder if I did something silly and it never made it in17:02
natefinchniemeyer: yeah, I saw that BlockDeviceMapping was there but not really put to use17:03
niemeyernatefinch: No, I mean I've fixed that17:03
niemeyernatefinch: Either way, not in trunk.. I've screwed it up indeed17:05
natefinchniemeyer: ahh, that's a shame17:05
niemeyernatefinch: https://codereview.appspot.com/986004417:08
niemeyernatefinch: It just never got reviewed/merged17:08
niemeyernatefinch: That also looks more complete than your version17:09
niemeyernatefinch: If you're happy with that, I'll submit17:09
natefinchniemeyer: looks good to me17:11
natefinchniemeyer: more complete is certainly better17:11
niemeyernatefinch: That's in17:14
niemeyernatefinch: Sorry for the double work17:14
natefinchniemeyer: it was pretty trivial,and now I know the goamz code better :)17:14
rogpeppefwereade: here's a preliminary InitializeState proposal. It's still WIP (it needs more tests) but thought you might like to have a quick once-over for sanity checking: https://codereview.appspot.com/14395043/17:22
natefinchmgz: you can do this one instead, the juju code to use the goamz disk stuff: https://codereview.appspot.com/1432604417:22
rogpeppefwereade: it feels a little bit cleaner than before, i think17:22
rogpeppefwereade: there is a new restriction that InitializeState must be called on the bootstrap machine's config, but i think that seems reasonable at that very specific stage in the proceedings.17:23
rogpeppefwereade: the main thing is that it consolidates more of the bootstrap logic in a single place.17:24
rogpeppeand... that's me for the week17:25
rogpeppehappy weekends all17:25
natefinchrogpeppe: happy weekend :)17:25
rogpeppenatefinch: you too17:25

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