/srv/irclogs.ubuntu.com/2012/09/07/#juju-dev.txt

niemeyerdavecheney: Morning!00:21
davecheneyhey00:21
niemeyerWOohay! First watcher test just passed00:22
niemeyerdavecheney: All good there/00:23
niemeyer?00:23
davecheneywatchers! hot damn00:23
davecheneyit's good to have you in the trenches with us00:24
niemeyerdavecheney: Thanks, I actually enjoy it a lot too, and it's getting even more exciting now that we can actually use the stuff we've been doing00:29
niemeyerdavecheney: Well, or are about to use, anyway00:29
niemeyer3 tests passing!01:20
davecheneyniemeyer: i have UseSSH patched into mstate01:21
niemeyerdavecheney: Wot01:22
niemeyerwoot01:22
davecheneyi'm going to see if I can change the test suites to run twice, once direct, the other via ssh01:22
davecheneythe state/* tests don't do this01:22
davecheneythey have a simple test for ssh forwarding only01:22
davecheneyactually, i'll do that in a followup CL01:23
davecheneyAAAAAAAAAAAAAAAAAAAAGH01:26
davecheneyi forgot the prereq !!!01:26
niemeyerUh oh :)01:54
niemeyerand it takes shape..03:05
niemeyerWatcher foundation is up for review..06:03
niemeyerand I'm down for bed..06:03
fwereadeniemeyer, gn06:03
niemeyerfwereade: Heya06:04
niemeyerfwereade: Up early? Or maybe I'm late..? :)06:04
fwereadeniemeyer, I'm a bit early, you're very late :)06:04
fwereadeniemeyer, sounds like a fruitfulday though06:04
niemeyerfwereade: Indeed.. pretty happy with it06:05
fwereadeniemeyer, cool06:05
niemeyerfwereade: Slightly dense, but not too much code at all06:05
fwereadeniemeyer, great06:05
niemeyerfwereade: and performant.. a thousand events written down, monitored and dispatched in a couple of seconds06:06
fwereadeniemeyer, fantastic :D06:06
niemeyerfwereade: Unblocking FTW :)06:07
* niemeyer heads to a nice shower and bed..06:07
niemeyerfwereade: Have a good time there06:07
fwereadeniemeyer, sleep well :)06:07
niemeyerfwereade: tks!06:09
davecheneyniemeyer: great stuff!06:13
rogpeppefwereade: mornin'07:09
fwereaderogpeppe, heyhey07:09
* rogpeppe goes to look at the watcher foundation...07:09
fwereaderogpeppe, trivial: https://codereview.appspot.com/648809207:31
rogpeppefwereade: all code deletion LGTM!07:32
fwereaderogpeppe, cheers :)07:32
fwereaderogpeppe, another trivial: https://codereview.appspot.com/650308707:53
rogpeppefwereade: isn't that just the kind of thing that log.Debugf is for? we already *have* a Debug flag07:57
fwereaderogpeppe, one global debug flag is IMO not adequate -- *most* of the time we don't need this logging, but it has on occasion been invaluable07:58
fwereaderogpeppe, when it's running, though, it overwhelms theagent logs with spam07:58
rogpeppefwereade: maybe we should remove the global debug flag entirely07:58
fwereaderogpeppe, possibly -- but I suspect that fully "correct" logging is likely to be a contentious subject and would prefer to avoid that rabbit hole while I can ;p07:59
rogpeppefwereade: or provide some way of registering particular debug flags07:59
fwereaderogpeppe, yeah, indeed, *I* think we need something like that but niemeyer was -1 in related discussions a while ago07:59
rogpeppefwereade: fair enough. LGTM with the above reservations.07:59
fwereaderogpeppe, cheers :)07:59
fwereaderogpeppe, I'm heading out to work in a cafe for a while, bbs08:45
rogdavecheney: hiya10:30
fwereade_going home again, later all10:30
davecheneyrog: hey10:31
Aramhey all.10:34
AramI'm not really here today, but hello.10:34
roghello not-here Aram10:35
rogdavecheney, Aram: trivial LGTM please? https://codereview.appspot.com/6495103/10:51
davecheneyrog: fire at will10:55
rogdavecheney: ta10:55
rogfwereade: as a stopgap measure, how about: http://paste.ubuntu.com/1190585/11:03
fwereaderog, something like that is indeed a possibility, that was kinda where we started11:04
rogfwereade: gets us through for the time being anyway, i think. and doesn't pretend to encapsulate an agent, just provides a way for a given agent to find its name.11:09
rogfwereade: FYI i think your trivial.EnsureDir is exactly equivalent to os.MkdirAll11:34
fwereaderog, ha, that'll learn me :/11:35
rogfwereade: apart from it produces a slightly different error message when the target isn't a directory :-)11:35
rogfwereade: how about /var/lib/juju/agents/unit-foo-3 as a uniter directory name (rather than /var/lib/juju/units/foo-3) ? then all the agent directories can live under the same directory.12:09
fwereaderog, definitely yes12:09
rogfwereade: great. done :-)12:09
fwereaderog, even though none of the other agents need local storage yet, it seems cray not to think about them12:10
rogfwereade: +112:10
fwereaderog, ah ok -- what are you working on atm?12:10
rogfwereade: i'm fixing that container bug12:10
rogfwereade: where it's using the wrong path12:10
rogfwereade: because it's directly affecting me currently12:11
rogfwereade: erm, are you on the same thing?12:11
fwereaderog, not exactly... I don;t think... but which bug?12:11
rogfwereade: a bug i mentioned yesterday (but haven't actually reported)12:11
rogfwereade: where container is looking up the path in $PATH12:12
rogfwereade: but it needs to use the agent name in the executable path12:12
rogfwereade: otherwise upgrades won't work12:12
fwereaderog, ah right, if that were still around I'd be drive-by fixing it next time I saw it12:13
fwereaderog, but knock yourself out :)12:13
rogfwereade: thus far, until i tried earlier today, we haven't tried upgrading a non-cloudinit-started agent yet12:13
rogfwereade: i'm already reeling from the blow12:13
fwereaderog, when does that happen except on unit dpeloyemnt?12:14
fwereaderog, because container.Deploy is just generally broken12:14
rogfwereade: it doesn't12:14
rogfwereade: oh, how else is it broken?12:15
fwereaderog, no state info12:15
rogfwereade: i'll fix it in this CL12:15
fwereaderog, no logfiles, no output, the upstart stuff is just generally inconsistent with the way agents are started in cloudinit12:15
rogfwereade: ah, i now understand your remark yesterday12:15
rogfwereade: "can we get StateInfo from State?"12:16
fwereaderog, ha, yeah :)12:16
fwereaderog, actually just passing it around is not really any trouble12:16
rogfwereade: well, we can't even get a State from a Unit AFAIK12:16
fwereaderog, indeed12:16
rogDeploy(environs.Environ, *state.Unit) ?12:17
fwereaderog, hmm, maybe, why get an environ when everything that deploys should have a stateinfo readily available?12:18
rogfwereade: sounds reasonable to me. i'll see how it pans out.12:19
fwereaderog, cool12:19
fwereadebrb12:19
rogfwereade: it's a kind of moral equivalent of Environ.StartInstance if you think about it like that12:19
fwereaderog, gut still says -1 but I'll wait and see :)12:30
rogfwereade: -1 to what?12:30
fwereaderog, giving an Environ to Deploy... but I could well be wrong12:31
rogfwereade: (i wasn't suggesting passing an environs in - Environ.StartInstance takes a StateInfo as an argument)12:31
rogs/environs/environ/12:31
fwereaderog, ah!12:31
fwereaderog, ok, sorry :)12:31
rogfwereade: environs.VarDir is going :-)13:40
fwereaderog, excellent news13:40
rogfwereade: just looking at worker/uniter/tools_test.go. this seems a little weird:13:46
rogs.toolsDir = c.MkDir()13:46
rogtoolsDir := filepath.Join(s.varDir, "tools")13:46
rogerr := os.Mkdir(toolsDir, 0755)13:46
rogis that first s.toolsDir assignment a mistake?13:46
* fwereade looks13:46
fwereaderog, I think it's sane, but I agree the names are a bit off13:47
rogfwereade: so what are the two meanings of "toolsDir" there?13:48
rogniemeyer: yo!13:48
rogniemeyer: good work on the watcher foundation BTW13:49
niemeyerHello!13:49
niemeyerrog: Hah13:49
niemeyerrog: From the amount I've heard about this, I thought you'd be significantly happier ;-)13:49
rogniemeyer: not quite sure i get you there13:49
niemeyerrog: "I will be really happy when I see watchers working." -- Roger Peppe13:50
rogniemeyer: haven't seen 'em working yet!13:50
fwereaderog, s.toolsDir is the place the tools are actually stored; toolsDir is what environs thinks the main tools dir is13:51
rogniemeyer: but it looks good.13:51
niemeyerrog: Run the tests and enjoy then13:51
niemeyer:)13:51
fwereaderog, it is probably not necessary, but when I was writing it all I knew was that thet tools would actually be a sy,mlink away, so it seemed sensible to test it that way13:51
fwereaderog, your changes sound likely to make that redundant13:51
rogfwereade: ah i see. so s.toolsDir could be environs.ToolsDir(someVersion)13:54
fwereaderog, yeah, exactly13:54
rogfwereade: this is what i'm doing: http://paste.ubuntu.com/1190853/13:59
fwereaderog, that looks ideal14:00
rogfwereade: great14:01
niemeyerAlright!14:21
niemeyerrog: Carefully responded your concerns with background, and repushed with the fixes14:21
niemeyerrog: Thanks for the review14:21
niemeyerI'm now stepping out for some holidaying14:21
rogniemeyer: have a great time! you deserve it.14:21
niemeyerrog: Thanks!14:22
fwereaderog, this is pleasing, I find myself bumping up against wanting a ToolsDir just as you suggested yesterday15:07
rogfwereade: yesterday? or just now?15:08
fwereaderog, I thought yesterday -- did you show me something other than ToolsSuite today?15:08
fwereaderog, I presume it's pretty much what you've been doing, what with the VarDir removal15:09
rogfwereade: ah, did i have a type named ToolsDir?15:09
fwereaderog, heh, maybe that wasn't its name15:09
rogfwereade: tools.Dir perhaps15:09
fwereaderog, that could be it :)15:10
rogfwereade: i think i'm happier passing around varDir tbh15:10
rogfwereade: i'm not sure the type is that useful15:10
fwereaderog, that also works for me tbh15:10
rogfwereade: i quite like the way it's turning out, and it's not too disruptive.15:10
fwereaderog, excellent... I think I have something nice but it *is* a bit disruptive, I need to keep poking before I can decide whether it's right15:12
fwereaderog, I have a sudden feeling that it would be neat to use "agents/unit-x-1/tools" rather than "tools/unit-x-1"15:21
fwereaderog, I suppose it requires that we create the agent directory for everything, wich is slightly inconvenient15:22
rogfwereade: i don't think so.15:22
rogfwereade: it also means we can't have all the tools directories sitting in the same parent15:22
fwereaderog, but having the stuff that the agent depends on within the agent's own directory feels like a nice thing15:22
rogfwereade: with simple same-directory symlinks between them15:22
rogfwereade: several agents may depend on the same tools15:22
fwereaderog, what's wrong with absolute symlinks?15:22
fwereaderog, I know that15:22
rogfwereade: i *think* it's neater to have all the tools directories in one place15:23
rogfwereade: and as you say, currently we don't need to create a directory for most agents15:24
fwereaderog, it feels even neater to me to only have the real tools directories there15:24
rogfwereade: so agents/unit-x-1/tools would be a symlink?15:24
rogfwereade: i prefer relative symlinks too15:25
rogfwereade: as it is (well, could be :-]), we can move the juju directory somewhere else, start things with a different --juju-dir and it'll work15:25
fwereaderog, fair enough15:26
* rog reserves the right to change his mind, as always :-)15:26
mrammHey all.   Good work this week.  Review with sabdfl & managers went well today.16:06
rogmramm: thanks16:09
rogmramm: things are coming along nicely i think. as always the horizon recedes as we get towards it though :-)16:09
=== bcsaller1 is now known as bcsaller
fwereademramm, cool16:14
fwereadedammit, I think I have something really good coming along, but I have to go16:32
rogfwereade: bother, i'm about to propose the vardir change and thought you might like a look :-)16:32
rogfwereade: but fair enough, it's friday night!16:32
rogfwereade: have a great weekend!16:32
fwereaderog, that is extremely relevant to my interests, I will almost certainly look at it over the w/e16:33
fwereaderog, and you :)16:33
rogfwereade: cool16:33
rogfwereade: all tests just ran clean, yay16:33
* fwereade cheers16:33
rogfwereade: this branch is just a prelude to the branch that fixes container though, i'm afraid16:36
rogfwereade: https://codereview.appspot.com/650110616:36
fwereaderog, cheers, I'll open the tab but I really must go16:36
fwereaderog, take care, have fun :)16:36
* rog thinks that 3 hours for that amount of refactoring is pretty good going. huzzah for static typing!16:45
rogfwereade: oh yes, incidentally this also naturally fixes the bug that --juju-dir didn't work :-)16:46
rogright, that's me for the weekend.17:09
rogsee y'all monday; have a good one!17:09

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