/srv/irclogs.ubuntu.com/2011/12/01/#juju.txt

niemeyerMornings08:56
fwereade_heya niemeyer08:56
rogniemeyer, fwereade_: yo!08:58
fwereade_niemeyer, you're up early :)08:58
niemeyerfwereade_, rog: Yos!08:59
niemeyerfwereade_: Yeah, a bit earlier than usual today09:00
TheMuemorning gustavo09:25
niemeyerTheMue: hey hey!09:25
niemeyerTheMue: Welcome! :-)09:26
TheMueniemeyer: thx09:26
TheMueniemeyer: sadly i have no access to our wiki09:26
niemeyerTheMue: That happens.. you should get it soon09:26
TheMueniemeyer: so i read the public stuff09:26
niemeyerTheMue: Are your details being sorted out already?09:27
niemeyerTheMue: All of the data for the project is public09:27
TheMueniemeyer: I've got my launchpad account working and the login to the wiki is granted09:29
niemeyerTheMue: That's cool09:29
TheMueniemeyer: but then I've got no right to read something09:29
niemeyerTheMue: Hm?09:30
TheMueniemeyer: here i am => https://launchpad.net/~themue09:30
niemeyerTheMue: Ok?09:31
mplhmm, forgot to group the consts in the same declaration :/09:50
mplsomeday gofmt will be smart enough to do even that for me hehe :)09:50
TheMuegofmt in chuck norris mode would analyze the semantics of your project, optimize the code and add speaking comments for godoc. :D09:52
mpluh weird, I've just received a mail saying that: "Launchpad encountered an internal error during the following operation: generating the diff for a merge proposal.  It was logged with id OOPS-3635c3dab3398e5564a4a31dc006dd36.  Sorry for the inconvenience."10:01
mplniemeyer: hmm, got an error when trying to repropose10:23
mpl2011/12/01 11:22:20 RIETVELD Failed to prepare request: computing base hashes: command [bzr cat -r revid:roger.peppe@canonical.com-20111116163854-05vsxizrv13b83r8 juju/Makefile] failed: exit status 310:23
mpl2011/12/01 11:22:20 RIETVELD Response from server: Issue creation errors: {'base': [u'Base URL is required.'], 'subject': [u'This field is required.']}10:23
niemeyermpl: Try to execute the bzr cat command locally and see what's the output10:25
niemeyerTheMue: Do you have the list of tasks to go over yet?10:25
TheMueniemeyer: Sarah passed me a starting point for day 1.10:27
niemeyerTheMue: COol10:27
mplniemeyer: ok, found the problem. apparently I'm supposed to issue the command from the root of the repo. I was inside "juju", so the bzr cat command couldn't find juju/Makefile.10:27
mplthx10:27
niemeyermpl: Oh, interesting10:27
niemeyermpl: I should fix that in lbox10:27
mplthat would be nice, yes.10:28
TheMueniemeyer: in parallel i'm reading the docs and look around the issues in florence (nice tool)10:28
mplniemeyer: want me to file a bug report or something about that?10:28
niemeyermpl: Yes, please!10:28
mplniemeyer: k, will do.10:29
niemeyermpl: Thanks!10:30
mplsure.10:30
_mup_juju/go r20 committed by gustavo@niemeyer.net10:36
_mup_Merged juju-go-log branch from Mathieu Lonjaret. [r=niemeyer]10:36
_mup_This branch adds support for logging into the juju package.10:36
_mup_Logic in this package and in its subpackages should now call10:36
_mup_juju.Logf or juju.Debugf to generate useful information about10:36
_mup_what's happening.10:36
niemeyermpl: Would you mind to explore the idea of making Debug and Logger as global variables in another branch, as rog suggested?10:56
mplniemeyer: sure10:59
niemeyermpl: Cheers!11:23
TheMueniemeyer: just for info, my launchpad profile is added to the canonical group and my access to the wiki does work now11:27
niemeyerTheMue: Superb11:37
niemeyerTheMue: But again, it doesn't matter much as far as juju goes11:37
niemeyerTheMue: It's all in the open11:37
niemeyerTheMue: You'll find some good details about how the company works, etc, there, though11:37
TheMueniemeyer: Yep, that's what I want to know today. First the organization to see what's important here for me, and then juju. You'll then get a lot of questions. *smile*11:38
TheMueniemeyer: I hope the source code is well commented to get the semantics.11:39
TheMueniemeyer: Setting up internal irc and mail now, those tasks.11:46
rogTheMue: hi and welcome!11:50
TheMuerog: hi and thx, now i'm on board too11:51
rogTheMue: cool11:51
TheMueanother colleague interested in go here in germany also starts today. but he's working in a different team11:54
mainerrorTheMue: Got hired by Canonical?11:54
TheMuemainerror: yep11:54
mainerrorNice!11:54
mainerrorCongratulations.11:54
niemeyerTheMue: That sounds great11:56
niemeyerTheMue: Just let me know when you're ready to rock11:56
TheMuemainerror: thx11:59
mainerrorYou mentioned go. Go as in Go the programming language?11:59
TheMueniemeyer: you'll realize it with my questions. *smile*12:00
TheMuemainerror: exactly12:00
mainerrorCool.12:00
TheMuebtw, anybody visiting the oop 2012 in january in munich? i've got two talks there. one about go and the app engine, one (a pecha kucha) about concurrency as a 'natural' paradigm12:01
rogniemeyer: when we're talking about stripping down go-juju-initial-ec2, how bare should it go. shall i keep it so it can still talk to ec2 (without the extraneous logic) or should i should i strip it to really bare bones, so there's almost nothing there apart from the structure?12:02
rogs/should it go./should it go?/12:02
niemeyerrog: The latter12:02
mainerrorTheMue: When in January? It wouldn't be that far for me but the date might collide with my visit to Budapest.12:03
niemeyerrog: Then, try to go the TDD route, introducing new logic with tests12:03
TheMuemainerror: end of jan, i'm in budapest too.12:03
rogniemeyer: so copy dummyProvider from juju for an initial step?12:03
mainerrorOh I see.12:03
niemeyerrog: By migrating from the previous branch chunk by chunk, and submitting for review once you're happy with a first delta12:03
niemeyerrog: That sounds reasonable12:04
mainerrorWell then chances are good that we meet each other twice. :)12:04
mainerror+#12:04
mainerrors/+#//12:04
mplniemeyer: should I make it a different package as well, as rog is suggesting? (I'm not sure your "and I'm happy with that." means you want me to go for it).12:14
niemeyermpl: Yes, thanks a lot for pursuing that12:36
TheMueso, changed the configuration12:45
mplniemeyer: hmm, I'm still struggling with bzr. I thought that since you merged, I should see rev 20 on https://launchpad.net/juju/go, or when doing a bzr pull from the lp:juju/go branch I have. what am I missing?12:47
rogmpl: from looking at this page, it looks like it hasn't been merged yet: https://code.launchpad.net/~mathieu-lonjaret/juju/juju-go-log/+merge/8407412:58
mplrog: hmm, and yet the _mup_ bot pasted a few lines above stating it had been merged.13:08
rogmpl: good point. i don't know what's going on there. maybe there's a delay13:08
mplor I could simply keep on working from this not yet merged branch I suppose...13:09
rogmpl: i'd do that13:25
rogniemeyer: is this more the kind of thing you had in mind? https://codereview.appspot.com/5432056/13:25
niemeyerrog: This patch set seems to include changes from the other branch you pushed13:26
rogniemeyer: if you look at the files, there's nothing in them. i think that lbox hasn't deleted them from the codereview page13:27
niemeyerrog: https://codereview.appspot.com/5432056/diff/1019/juju/dummyprovider_test.go13:28
rogniemeyer: and funnily enough, there are files that *should* be there (the jujutest package)13:28
niemeyerrog: Check your patch locally.. lbox simply sends what it finds13:28
roghmm, i thought i branched from the most recent trunk13:29
rogso many branches!13:29
rogniemeyer: bzr ls shows the jujutest directory.13:30
niemeyerrog: The diff13:30
rogniemeyer: i think i'll just create a new merge request13:30
niemeyerrog: it'll do you no good13:30
niemeyerrog: It will send the same diff13:30
roghttp://paste.ubuntu.com/755994/13:31
rogjujutest is in there, but not on the codereview page13:32
niemeyerrog: How did you generate that diff?13:32
rogniemeyer: cd go-juju-initial-ec2; bzr diff -r ../go-trunk13:32
rogis that wrong?13:32
niemeyerrog: bzr diff -r ancestor:../go-trunk13:32
rogniemeyer: hmm. what's the difference?13:34
niemeyerrog: This will diff your branch against the merge base13:34
niemeyerrog: Which means it's generally the true changeset that will be applied when you actually bzr merge13:35
rogniemeyer: i don't understand. what's the difference between trunk tip  and the merge  base?13:35
niemeyerrog: and it's what lbox uses to send to codereview13:35
niemeyerrog: Maybe none, maybe there is13:35
niemeyerrog: It's none if nothing was committed in tip13:35
rogniemeyer: so in this case, i've added a new directory and files in it, but it's not showing up. what am i doing wrong?13:35
niemeyerrog: Either way, is the diff the same or not?13:35
rogno it's not. it's very different13:36
niemeyerrog: Cool, ok.. let me explain then13:36
roghttp://paste.ubuntu.com/755999/13:36
niemeyerrog: Let's call tip T, and you had a branch B113:36
rog(and i've just freshly branched go-trunk too)13:37
niemeyerrog: We debated about B1, and in the end some changes were forked off onto B213:37
niemeyerrog: But to generate B2, you actually *took* B1, and *removed* stuff from it13:37
niemeyerrog: Then, B2 got merged on T13:38
rogyup, that's exactly what i've done13:38
rog(i didn't remove anything from B1 that was in T though)13:38
niemeyerrog: Now, you're checking what would happen if you merged B1 into T13:38
rogB2, no?13:38
niemeyerB1.. B2 was already merged, no?13:38
rogi don't... think... so13:39
niemeyer  merge go-juju-machine-to-instance13:40
niemeyerrevno: 19 [merge]13:40
niemeyerWhere was this taken from?13:40
* niemeyer looks at the branch history13:40
rogok, i think i  did a merge then removed stuff13:40
rognot realising that it might make a difference13:41
niemeyerrog: Yes, that was the case indeed: http://paste.ubuntu.com/756003/13:42
rogi'm still confused. why are the changes that i've made since being ignored?13:42
niemeyerrog: So now you're trying to merge the original changes, but you already have _new_ history demonstrating that your latest interest is to remove that stuff13:42
niemeyerrog: So bzr looks at history and says "Oh, hey, I already merged those revisions.. all good!"13:43
rogbecause the trunk counts as newer than my current branch?13:43
niemeyerrog: They haven't been ignored.. on the contrary... they've already been merged13:43
rogbut i've put them back again!13:43
niemeyerrog: That's the point, you haven't13:43
niemeyerrog: The revision you have locally is exactly the same revision that bzr has in trunk13:43
roghow can i put them back again then?13:44
rogperhaps if i just do branch from trunk, cp -r and bzr add, that'll work?13:45
niemeyerrog: You'll have to redo it, effectively creating a new revision13:45
niemeyerrog: That'd be a *MAJOR* disaster :-)13:45
niemeyerrog: Never, ever, do that13:45
rogoh?13:45
niemeyerrog: You're effectively killing everybody else's changes13:45
niemeyerrog: We can't ever assume we know the latest state of trunk13:46
niemeyerrog: The proper way now is this:13:46
niemeyerrog: branch from trunk again onto a new branch13:46
niemeyerrog: Apply the diff you really want to see happening onto this new branch13:47
niemeyerrog: (with patch, etc)13:47
niemeyerrog: and propose that one13:47
rogok, patch rather than cp -r, of course13:47
niemeyerrog: This is a new changeset, so you're effectively reverting the revert :D13:48
rogsame basic idea though - make local file changes rather than merging13:48
niemeyerrog: Yeah, basically teach bzr that you've changed your mind once more13:49
rogniemeyer: yeah, i didn't know that there were any bad implications from doing that13:49
rogniemeyer: i will never back-merge again13:49
niemeyerrog: Not a problem.. common gotcha of revision control13:49
rogpatch is my friend13:49
rogif i can remember how to use it13:49
rog-p0 ?13:49
niemeyerrog: You just have to remember that history matters13:49
niemeyerrog: Did A commit rev1, undo A commit rev2, merge both.. Trying to merge rev1 again does nothing.13:50
rogniemeyer: that surprises me13:50
rog(well, not any more)13:50
niemeyerrog: That's DVCS 101.. hg, git, bzr, bitkeeper..13:51
niemeyerrog: and yes, it surprised people often13:51
niemeyersurprises13:51
rogi'd assumed that in the absence of other merges, A+B-B+B == A+B13:51
fwereade_niemeyer, hazmat: what situation would cause a unit settings node to be deleted and recreated?13:51
niemeyerrog: And that's what happens.. but that's not what was done..13:52
rogbut in fact A+B-B+B == A13:52
niemeyerrog: What you did was A + B + A, which is A + B13:52
rogwhere A+B means merge(A, B)13:52
niemeyerrog: You never did -B, btw.. there's no such a thing as removing a revision13:53
niemeyerrog: You added C with a reverting patch13:54
fwereade_niemeyer, hazmat: because I can't see such a case, but there's a test which induces it, and if it's a realistic possibility (without the unit node itself being deleted) then I need to rethink things13:54
rogwell, ok. trunk + {add foo} + {remove foo} + {add foo} == trunk13:55
niemeyerfwereade_: Can you please paste the test?13:55
rogwhere { } is a delta13:55
fwereade_niemeyer, just grabbing an unmodified version13:55
niemeyerrog: Again, that's not what you did..13:55
niemeyerrog: You never re-added foo13:55
niemeyerrog: You expected that your foo from the first action would be there, despite it being removed in a latter revision13:56
niemeyerrog: What you're doing _now_ is re-adding foo13:56
rogniemeyer: how is "bzr add foo" not adding foo?13:56
fwereade_niemeyer, as it says in the test, some "unforseen mechanism"13:57
fwereade_http://paste.ubuntu.com/756017/13:57
niemeyerrog: You never re-added it..13:57
niemeyerrog: Well, let me pick the history to make sure13:57
rogniemeyer: so "bzr add" doesn't count as an add?13:58
rogniemeyer: that's what confused me, i think13:58
niemeyerrog: You're being disingenuous now13:58
rogniemeyer: no, that's the central difficulty i have.13:58
fwereade_niemeyer: it's not something I'd really worry about normally, but the existence of this test has made me all nervous ;)13:58
rogniemeyer: that "bzr add" doesn't necessarily add the file when the revision comes to be merged.13:59
niemeyerrog: If you add the same file 10 times in the same revision it's of course a NOOP13:59
rogniemeyer: but in this revision, i added it only once.14:00
niemeyerrog: The detail is that you never acknowledged the fact that the file had been _removed_ and then _readded_ it14:00
niemeyerrog: Exactly.. and it's still there, right?14:00
niemeyerrog: Now you're doing "bzr add" on it again.. and bzr is saying.. yep.. still there!14:00
niemeyerrog: Because you never merged the part of history that says "this file is being removed"14:00
niemeyerrog: History matters14:00
niemeyerrog: If you merge trunk onto your ec2 initial branch.. the file will be *gone*14:01
niemeyerrog: _then_ you can readd14:01
niemeyerrog: Have you ever read about vector clocks?14:02
rogniemeyer: didn't go-juju-machine-to-instance (merged) have the removal history in?14:02
niemeyerrog: It does14:03
rogniemeyer: yes, but i never fully got my head around them. or VCS.14:03
niemeyerrog: Ok14:03
niemeyerrog: Not a good analogy then14:03
niemeyerfwereade_: It makes sense to me14:04
niemeyerfwereade_: The point is precisely that a settings node being removed shouldn't cause a related unit to think that the configuration for the other side of the relation has changed14:04
fwereade_niemeyer, the test makes sense in its own narrow context14:05
niemeyerfwereade_: It's likely dying instead14:05
fwereade_niemeyer, however, if the mechanism it uses to verify that property is a realistic one, it means that settings node versions are not a reliable indicator of anything14:06
hazmatfwereade_, nothing comes to mind14:06
rogniemeyer: actually, the vector clock thing does make sense. i think you're saying that the changes to re-add the file come further back in vector "time" than my changes to remove the file.14:06
hazmatfwereade_, the only thing that should be deleting a settings node is the teardown of a test14:06
roganyway, i'll just patch14:07
niemeyerrog: Precisely!14:07
hazmatfwereade_, btw. one other point on the restart, if its a container restart, we do want to fire the start hook..14:07
niemeyerhazmat, fwereade_: The removal/cleanup of a unit can delete a settings node..14:07
niemeyerhazmat, fwereade_: The logic to ignore the removal of the node continues to make sense to me.14:07
fwereade_niemeyer: all I'm worrying about is settings node deletion *without* the unit being deleted14:08
fwereade_niemeyer: there's no problem with that test14:08
fwereade_niemeyer: I'm just checking that it's purely an artificial and unrealistic manipulation of ZK without known analogue in normal operation14:09
niemeyerfwereade_: I don't think we ever desired to support something like that consciously, at least, and I'm fine to say we don't14:09
hazmatfwereade_, when you say settings you don't mean relation settings, which path are you referencing?14:09
fwereade_niemeyer: cool, thanks14:09
niemeyerfwereade_: Again, there is a relevant analogous14:09
niemeyerfwereade_: To precisely that test14:10
niemeyerfwereade_: It's not unrealistic at all14:10
fwereade_niemeyer: ok, sorry, I missed an important bit14:11
fwereade_niemeyer: deletion, fine14:11
fwereade_niemeyer: *recreation*, not fine14:11
niemeyerfwereade_: Fine as well!14:11
rogniemeyer: right, got it. i think.14:11
fwereade_niemeyer: hmm :(14:11
niemeyerfwereade_: The relation with the unit on the other side may be reestablished14:12
hazmatniemeyer, how?14:12
niemeyerfwereade_: In which case the settings node should be observed again14:12
hazmateither the unit was removed or the relation broken14:12
hazmatin either case the identity is different when restablished14:12
niemeyerhazmat: Why?14:12
niemeyerhazmat: Well, the identity of what is a better first question14:13
hazmatof either the unit or the relation would have changed14:13
hazmatwhich leads to a different settings path14:13
niemeyerhazmat: Huh?14:13
niemeyerhazmat: remove-relation a b; add-relation a b14:13
niemeyer?14:13
hazmatniemeyer, its a different relation identity the second time14:13
niemeyerhazmat: I see, ok14:14
hazmatwe do preserve unit settings in a relation post its removal, relying on ephemeral presence nodes for observation of membership14:15
hazmatthe test is going against a pathologic case14:15
niemeyerhazmat: It's not pathologic.. the fact we keep data around forever shouldn't be trusted14:15
hazmatniemeyer, agreed14:16
niemeyerfwereade_: So, the behavior there looks good in terms of being resilient.. is there a reason why you'd like to not support that specifically?14:16
hazmata garbage collector processing live relations, should not trigger an observation change14:16
hazmatwhen taking out the garbage14:16
hazmatfwereade_, so recreation of the path is not a scenario14:17
fwereade_niemeyer, https://bugs.launchpad.net/juju/+bug/773600 points out that we'll need to pay attention to the settings node's versions to determine whether changes happened when the agent prcess was down14:17
_mup_Bug #773600: Hook scheduler should have on disk persistence <juju:In Progress by fwereade> < https://launchpad.net/bugs/773600 >14:17
hazmatof the settings that is14:17
fwereade_niemeyer: *if* recreation of the settings node is plausible (which I think, as hazmat says, it isn't), node versioning is not up to the job14:18
fwereade_niemeyer: because the version gets reset to 0 on recreate14:18
niemeyerfwereade_: Aha, that makes the matter a lot more clear..14:18
* niemeyer thinks14:18
hazmatfwereade_, right, because we need to reconcile any change while disoconnected with the live state14:18
fwereade_hazmat: yep14:19
hazmatfwereade_, so just to be clear, there is no normal scenario that allow for a recreate of the unit rel settings node14:19
niemeyerfwereade_: It feels fine for us to state that we never remove a unit's settings node in a given relation for as long as the unit itself is alive, at least14:20
hazmatsince we manage relations on a service level, the removal implies either the unit was removed, or the relation was removed14:20
hazmatand attempts to resurrect would imply either a new unit identity or new relation identity at a different path14:20
fwereade_niemeyer, hazmat: cool, that all makes sense to me :)14:20
fwereade_thanks :)14:20
niemeyerfwereade_: Sorry for the confusion.. I guided the conversation to the wrong path not understanding your context14:20
fwereade_niemeyer: sorry, I could have been a lot clearer :(14:21
fwereade_niemeyer, not to worry :)14:21
hazmatso the test is a pathlogical case if its recreating the node14:23
niemeyerhazmat: Ok, agreed14:24
rogniemeyer: finally! https://codereview.appspot.com/543205614:29
rogniemeyer: sorry for my obtuseness14:29
niemeyerrog: Woohay!14:31
niemeyerrog: Not worries at all14:32
niemeyerrog: I'm happy we've had that conversation.. you'll surely pass through similar circumstances14:32
zirpuhow does one specify the machine size in a charm?  i can't find that in the docs.14:40
zirpui.e. for ec2 the default seems to be t1.small. for a redis server i'd like to bump it up.14:42
hazmatSpamapS, made some progress tracking down the precise builds14:47
hazmatSpamapS, i realize we can drop python-argparse  as a dep for any release with py2.7 and it will remove this error14:47
mplniemeyer: when trying to pull lp:~mathieu-lonjaret/juju/juju-go-log, I'm getting that error: "bzr: ERROR: These branches have diverged. Use the missing command to see how." and bzr missing doesn't give me much of a clue, sorry.14:49
hazmatits a pkg_resources import causing a warning on stderr, which juju thinks is a process error14:49
hazmatits early enough (import time) that the log machinery hasn't been setup yet to go to disk14:49
hazmatmpl, bzr merge the upstream should resolve it14:50
hazmatmpl, it implies that both branches have commits that aren't on the other side afaicr14:50
niemeyermpl: Why are you trying to pull it?14:51
niemeyermpl: You need a new branch now14:51
mplniemeyer: because I don't have it anymore, I had removed it when I thought you had merged it.14:51
niemeyermpl: I did!14:52
niemeyermpl: Just update your trunk, and create a new branch from it14:52
niemeyermpl: "bzr pull" on trunk14:52
mplniemeyer: well, as I said above, it doesn't show on https://code.launchpad.net/~mathieu-lonjaret/juju/juju-go-log/+merge/8407414:52
niemeyermpl: Then follow the blog post on lbox again14:52
niemeyermpl: Naming it differently14:52
mplniemeyer: and bzr pull doesn't give me the rev 2014:52
niemeyermpl: Maybe I screwed up then14:53
niemeyermpl: Hold on14:53
mplniemeyer: the bot said you had merged. but nothing else seem to agree with that. :)14:53
mplfrom my pov of course14:53
niemeyermpl: The bot is optimistic indeed14:53
mplhaha14:53
niemeyermpl: Yeah, it was my fault14:53
niemeyermpl: Just pushed the change14:53
niemeyermpl: Sorry about that14:54
mplcool, thx. new branch it then.14:54
mplno worries.14:54
mpl*it is then14:54
niemeyerrog: Reviewed ec2test14:54
niemeyerrog: Good work there man14:54
rogniemeyer: phew. i thought i might need a boatload of tests for the testing code. (i thought that was going a little too far, and there are *some* tests!)14:55
rogniemeyer: thanks BTW14:56
niemeyerrog: Yeah, testing the testing code would be a little too much.. :-D14:56
mplI heard you like test code so I ...14:57
niemeyerrog: Firing goamz itself against it should be good enough14:57
niemeyerrog: But who tests the tests tests! OMG!14:57
rogindeed14:57
rogniemeyer: i will end up running more ec2 tests against it as functionality gets more complete14:58
rogniemeyer: oh such a pleasure to use codereview again!14:58
niemeyerrog: +1!14:59
rogniemeyer: BTW can you think of any way of avoiding the duplicate emails?14:59
niemeyerrog: That's been bothering me a bit too.. I don't have a good answer yet14:59
rogniemeyer: filters aren't that clever either:-)15:00
niemeyerrog: It would actually be possible to filter out, but I'm concerned we might lose real changes that happen on the MP side15:00
rogMP?15:00
niemeyerrog: merge proposal15:01
roghmm, maybe the trick is to avoid the codereview emails15:02
rogah, dammit15:02
rogno15:02
niemeyerOk, past lunch time here.. bbl15:03
SpamapShazmat: I wonder if thats a bug in the python-argparse package15:10
hazmatSpamapS, well its actually a pkg_resources thing.. py2.7 has argparse builtin, and we also have it as a package dep15:14
hazmatand pkg_resources basically flags a warning that we're shadowing a builtin package15:15
hazmatand because that happens so early on, it goes to stderr instead of the log file15:15
SpamapShazmat: thats what I mean.. should the package even exist if it causes problems for pkg_resources ?15:15
jcastroSpamapS: fixes in statusnet.15:15
jcastroSpamapS: we're promulgating that today, I can FEEL it!15:15
hazmatSpamapS, its not a fatal error, juju interprets it as such even though the process exits normally15:16
hazmatwe could be more discriminating about that, but right now it it interprets regardless of the exit code any stderr output of the launched unit agent as a failure since it should go to a log file per normal operations15:17
SpamapSjcastro: yeah, it was close yesterday. :)15:17
jcastro\o/15:17
zirpuis there a way to specify the machine size for EC2 instances?15:18
marcoceppizirpu: You can do it in the environments.yaml file15:19
jcastrohttp://askubuntu.com/questions/52021/how-do-i-adjust-the-instance-size-that-juju-uses15:19
zirpucool. thanks!15:19
SpamapSjcastro: indeed, looks good, I'll promulgate, you fire up the T-shirt cannon for the party15:20
jcastroSpamapS: aka. "haha you have to test and blog this"15:20
marcoceppiKeep that t-shirt cannon warm, I think phpMyAdmin is almost ready :P15:20
jcastroSpamapS: when you're looking for a nice friday later afternoon hack make it so promulgate makes the bot go "Ding! New charm!" or something15:20
zirpumarcoceppi: you can't specify machine size in a charm?  only the global environments.yaml?15:21
marcoceppijcastro: Dude, the bot's written in erlang, my mind was nearly blown when trying to add questions to the feed15:21
marcoceppizirpu: Not that I'm aware of, there's a spec to have deploy specify machine size, but it's not implemented15:22
zirpuah. ok. thanks.15:22
fwereade_robbiew, ping15:23
robbiewfwereade_: hey...there you are15:23
robbiewwasn't looking for the "_" :/15:23
SpamapSzirpu: indeed, its #2 on the priority list15:23
fwereade_robbiew, sorry, was afk, my brain melted down and I needed a coffee15:23
robbiewfwereade_:  lol, no worries...got time for a catchup g+?15:23
fwereade_robbiew, sure15:24
robbiewone sec...will shoot out invite15:24
rogniemeyer: hmm, the target has changed because of ec2 rename. should i continue with the old target (~gniemeyer) or make a new CL?15:34
SpamapSjcastro: done15:36
* SpamapS wishes we had an audit log of promulgates15:36
jcastronice! Ok congrats everyone, there's one more charm!15:36
SpamapSpretty cool charm actually15:36
hazmatoi.. teamspeak3 charm is new as well15:38
jcastroSpamapS: ... and working awesome for me15:42
jcastroman, the speed from 0 to "out there" never gets old15:42
mplrog: hmm, are you automatically notified of everything I lbox propose, or should I somehow add you as a reviewer in codereview when you're concerned?15:45
mpls/hmm, // :)15:46
hazmatmpl, people generally get emails about it if they subscribe to the repo the merge is being proposed to15:49
mplhazmat: thx. I suppose that means yes in the case of rog :)15:52
hazmatmpl, well assumptions are dangerous.. but i've been seeing your merge proposals ;-).. good stuff15:53
SpamapShazmat: btw, thanks for looking into the argparse thing. So did you push a fix up, or you just think you might have one?15:55
mplhazmat: well, it's all pretty simple and preworked for me by gustavo, so I can't take much credit there. but thx. :)15:55
fwereade_niemeyer, hazmat: concurrent callbacks in RelationUnitWatcherBase: I don't quite understand how they can be safe, even if they are on changes to different nodes16:07
fwereade_niemeyer, hazmat: HookScheduler.notify_change doesn't look to me like it will handle them correctly16:07
fwereade_niemeyer, hazmat: I presume I'm missing something..?16:08
hazmatfwereade_, why not re the latter, that's how the changes are serialized into an event stream, the hook executor itself is the one that does the serialization off the ordered stream from the scheuduler16:08
hazmatfwereade_, i guess i'm not understanding the question.. how are they not safe?16:09
fwereade_hazmat: ...ah, ok, notify_change doesn't yield16:09
hazmatfwereade_, yup.. its definitely synchronous16:09
hazmatthat's a key point16:09
fwereade_hazmat: hm, that probably covers that question16:09
hazmatSpamapS, i pushed a fix for some of the other test failures, i'm still looking at the most recent ones, but the argparse stuff needs a packaging change to fix16:11
hazmatSpamapS, given the latter, we should get some package builds16:12
SpamapShazmat: that makes me think that the python-argparse package shouldn't even exist anymore.16:12
hazmatSpamapS, not in precise16:12
SpamapShazmat: let me try a build w/o the dep16:12
hazmatSpamapS, well to be more precise ;-) .. it should exist if py2.6 exists16:13
SpamapShazmat: a package can be made to not build for a particular version.. thats probably what needs to be done16:15
hazmatSpamapS, as regards juju, afaics its a question of specifying a different dep  set based on distro series.16:16
hazmator py version16:16
mplrog: yeah I wasn't very happy with the name either, but couldn't find a better one. I like Destination.16:22
SpamapShazmat: python-argparse can be installed with no symlinks to the .py files in the python2.7 dirs.. that will allow for the deps to remain the same for backports to older versions16:25
SpamapShazmat: we've had python 2.7 for a long time tho... why would this show up now?16:25
* SpamapS tries sbuilding juju w/o python-argparse in the deps16:28
* niemeyer respawns16:38
SpamapShazmat: sbuild test passed.. will try it in my PPA as well16:50
m_3jcastro: you have an agenda or something for charm-school tomorrow?16:52
jcastrom_3: sort of16:52
jcastrowe can sort it now if you'd like16:53
jcastrohttps://juju.ubuntu.com/CharmSchool/2December1116:53
m_3gimme 1016:53
jcastrom_3: bah something came up, how about an hour from now?16:54
jcastrom_3: and I'm off tomorrow and most of next week so we can just bust out this week's charms easily.16:55
m_3jcastro: good16:55
jimbakerhazmat, standup?17:02
hazmatjimbaker, full meeting today17:05
SpamapSm_3: I'd be up to work on an agenda for tomorrow17:05
jimbakerhazmat, sure. so are we doing it now?17:05
hazmatjimbaker, yup. i'm sending invites out17:06
jimbakerhazmat, cool17:06
m_3SpamapS: promulgating atm... almost done17:06
hazmatSpamapS, jimbaker, bcsaller, fwereade_, niemeyer invites out17:09
hazmatTheMue, we do team meetings thursday on google plus17:10
niemeyerrog: ping?17:12
rogniemeyer: pong17:12
rogniemeyer: meeting?17:12
niemeyerTheMue: ping?17:13
m_3marcoceppi: so what's the status of phpmyadmin?  is the last revision you pushed ready to review again?17:32
marcoceppim_3: Not yet, I'm having problems with sh/bash tests17:33
marcoceppiAs soon as I iron that out and give it a full test it'll be ready17:33
m_3ok, I'm gonna pull off the tag then... please re-add when it's ready for review17:33
m_3thanks!17:33
marcoceppinp, can do!17:33
marcoceppijust found out dash and bash handle boolean operators differently in test :\17:36
m_3marcoceppi: yes, I've had problems with those differences myself17:39
SpamapSmarcoceppi: certain operators, yes. ;)17:39
* marcoceppi blames m_3 for suggesting dash over bash :P17:40
m_3marcoceppi: no way did _I_ suggest that... that was Clint17:40
marcoceppicurses!17:41
m_3marcoceppi: I've been bitten by string expansion rules... ${MY_VARIABLE//\/*/} or ${MY_VARIABLE%%.ext}17:41
m_3(use bash)17:41
* m_3 runs17:41
marcoceppiAnyways, I think I've got all the replacements for == just waiting for ec217:41
m_3marcoceppi: cool17:41
m_3TheMue: welcome!17:43
SpamapSmarcoceppi: if you want to use bash, use bash. :) I find shell's limitations to force more elegant code in many instances, but sometimes it is a dirty language.17:55
SpamapSmarcoceppi: perhaps we should have tests for charm-helpers17:55
m_3SpamapS: +117:56
m_3I was planning tests for charm-helpers-rb17:56
marcoceppiSpamapS: Good idea, how would that work exactly? just test each function and collect output -> compare to expected results?17:57
SpamapSyeah17:59
m_3jcastro: so thinkup's lp:charm brnach is behind the george's branch... we need to maybe talk about MPs17:59
SpamapSm_3: I'm a little nervous about charm-helpers-rb ... can't you just use chef solo ?17:59
m_3SpamapS: sure18:00
SpamapSm_3: we don't have to wait for the MP.. if there's good stuff there.. bzr merge.. bzr commit.. bzr push... rejoice18:00
m_3there're a couple of juju-specific tools though18:00
SpamapSm_3: I mean, there may be stuff chef doesn't already have stuff for.. like verifying a downloaded file.. but I don't want us to be rewriting chef.. its already a rewrite of puppet ;)18:00
m_3SpamapS: yeah, just didn't want the state of the "main" charms to be dependent on my happening to notice the new updates18:01
m_3ha!18:01
SpamapSm_3: thats actually a good point... in debian we have watch files and a service which periodically refreshes the watch file... notifying us .. "there's a new upstream version, you should package it"18:02
m_3yeah, understand... and do agree that we don't need to rewrite any tools that we could just use as-is18:02
SpamapSm_3: only if its simple18:02
m_3right18:02
SpamapSm_3: if it takes 50 extra lines of ruby to use chef solo.. then F that. ;)18:02
m_3no, it wouldn't18:02
SpamapSBut I bet its a require or two and then some nice simple stuff.18:03
m_3I'll get examples of it working over x-mas (off next week)18:03
m_3I can even add a recipe or two for the juju-specific utilities I mentioned earlier18:04
m_3beauty of such an approach in general is the charm-helper tools already having test suites18:05
SpamapSYeah definitely18:06
SpamapSI wonder if we can use cucumber to have the same tests for different implemetations18:06
SpamapSmentations even18:06
marcoceppiI've got a question about relation hooks. I've got state: up for both services but MySQL charm hasn't given me all the data I need and it's been a while - how log can I expect it to run hook-changed againt?18:06
SpamapSmarcoceppi: up just means the two sides are exchanging joined/changed/departed events18:07
SpamapSmarcoceppi: you need to poll the actual provided service to find out if its ready yet18:08
marcoceppiHow would I poll it? while loop?18:08
SpamapSmarcoceppi: if mysql hasn't given the data.. perhaps check the charm log18:08
marcoceppiFor the helper tests, would just putting it in a tests folder inside helpers/sh/ ?18:11
m_3marcoceppi: great question18:12
m_3perhaps start with that... helpers/sh/tests,18:13
marcoceppiOk, cool. Shouldn't take long to write tests18:13
m_3then we might be able to extract those to helpers/tests that're language neutral... great idea... might be hard to pull off though18:13
marcoceppimm18:14
m_3marcoceppi: BTW, hazmat mentioned a test where two sides of a relation play tictactoe through relation-changed hooks... I think they just keep firing as long as either side keeps 'relation-set'ing18:19
m_3hazmat: ^^ does that exist?18:19
marcoceppiWell I know something is wrong with my relation-changed hook, because at the bottom it open's port 80 but never gets exposed when expose is run.18:20
* marcoceppi continues investigation18:20
m_3marcoceppi: sometimes it can fail quietly.. that's why it's good to 'set -eu' in the outermost scripts18:22
marcoceppiWhat's the e do?18:23
m_3have also hit problems if relation-changed gets stuck or is waiting a long time18:23
m_3status is "up" (that just refers to the relation), but the relation-changed hook never completes18:24
m_3e's just exit on error (in current shell or any subshells)18:25
marcoceppiah, cool18:26
m_3marcoceppi: have you worked with the debug-hooks command yet?18:26
marcoceppikind of, I just ususally juju ssh <machine#>18:31
marcoceppiDoe the order of the machines in add-relation mater?18:31
hazmatm_3, no it doesn't, it was an idea, never put time serious time into it18:33
m_3bummer18:37
m_3marcoceppi: no18:37
jcastrom_3: yikes18:38
jcastrogot held up, I am back now though if you wanna catch up18:39
jcastromarcoceppi: we're going to hash out an agenda for tomorrow's charm school if you feel like joining us18:39
m_3jcastro: sounds good... SpamapS around too?18:39
jcastroyeah but I think he's distro-swamped still18:39
m_3jcastro: ts3 is in now btw18:41
jcastroI saw18:41
jcastro\o/18:41
jcastro2 in one day!18:41
m_3whoohoo18:41
m_3jcastro: g+?18:42
jcastrom_3: https://docs.google.com/a/canonical.com/spreadsheet/ccc?key=0AoW1nhI7IMt3dFRvSFdkZmNqQ0t3RjZ2QTR2Z19teWc&hl=en_US#gid=018:45
marcoceppijcastro: wher?18:51
jcastromarcoceppi: G+18:54
jcastroI sent you an invite18:54
jcastrohttp://pad.ubuntu.com/charmschool18:54
m_3for byobu-classroom, I usually...19:05
m_3spin up one environment in ec2 using one email acct19:05
SpamapSYou guys still G+'ing?19:06
m_3then copy keys over and use that byobu-classroom to drive juju with another acct19:06
jcastroSpamapS: yeah, hop in19:06
m_3yup19:06
SpamapShazmat: confirmed, juju builds fine on buildd's without python-argparse .. I think this is a bug in python-argparse.. will discuss w/ python peeps19:38
hazmatSpamapS, cool, nice to have the precise builds working, thanks19:39
TheMuehazmat: You're maintaining our hangout in the calendar? Could you please send an invitation to my canonical address?19:40
hazmatTheMue, ack19:40
=== medberry is now known as mka
=== mka is now known as medberry
niemeyerhazmat: How's wtf being going for you guys?20:43
niemeyers/being/been/20:44
robbiewthat reads funny if you don't have the context behind "wtf"20:53
robbiewlol20:53
niemeyerrobbiew: LOL.. true21:01
* SpamapS thinks WTF has been great since we started using it back in 2002 or so. better than OMFG I'd say21:04
SpamapSr424 uploaded to precise21:18
marcoceppiJust deployed juju on ec2 to provide a fix for a failed CDN here at work - CTO is impressed :)21:27
hazmatniemeyer, haven't really checked it as much since it hanged on a rev a few weeks ago21:30
hazmatniemeyer, its very nice to have21:31
hazmatniemeyer, i sort of wish it would feed into the irc channel here21:31
hazmatblinking red lights and all ;-)21:31
* hazmat hopes he can declare victory over the rodents21:32
SpamapSmarcoceppi: *NICE*23:01
mplniemeyer: hmm, I don't get it. didn't it get through 45 mins ago?23:11
mplI can rerun it again...23:11
niemeyermpl: There's a single patch set in that change set23:12
mplhmm what the hell23:13
mplit sent it here: https://codereview.appspot.com/544807223:13
mpldunno how I messed up, sorry.23:13
mpllemme retry from scratch.23:16
mplniemeyer: k, I had probably got the various branches confused when pulling. should be good now.23:20
mpland off to bed, see you tomorrow.23:21
SpamapSsweeeeet... daily builds are fixed!23:40
SpamapShazmat: ^523:40
jimbakervery nice to hear!23:40
SpamapSNow to figure out why python-argparse hasn't been removed23:40
hazmatSpamapS, nice23:59

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