/srv/irclogs.ubuntu.com/2012/06/29/#juju-dev.txt

twobottuxaujuju: Unable to fully remove Juju <http://askubuntu.com/questions/157093/unable-to-fully-remove-juju>01:03
davecheneym_3: still on for lunch today ?01:04
davecheneym_3: that is more of a statement than a question, just confirming01:04
m_3davecheney: yup01:10
davecheneym_3: just sent you an email, do you like Thai hawker food ? Luksa and the like ?01:12
m_3sounds good... I'm easy01:16
davecheneym_3: groovy01:17
=== meetingology` is now known as meetingology
fwereade_mornings :)07:21
davecheneyfwereade_: howdy07:29
fwereade_davecheney, heyhey07:29
davecheneythings are looking up, we can bootstrap into other regions07:30
* fwereade_ cheers07:30
davecheneyand I'm just about to get the local ec2 test running07:30
fwereade_davecheney, sweet07:30
davecheneygustavo was supportive of moving the Provisioner into another package07:30
fwereade_davecheney, I spent most of the night hitting everything related to testing and zookeeper with an axe07:30
davecheneyso i can import it into the local tests07:30
fwereade_davecheney, yeah, I saw07:30
fwereade_davecheney, hope he is of this change too07:30
davecheneyfwereade_: looking for that race, or just because it deserved it07:31
fwereade_davecheney, duplicated bits and pieces everywhere, subtly inconsistent bits and pieces07:31
fwereade_davecheney, also a single monster test suite for almost everything in state07:31
fwereade_davecheney, the collective pain passed my threshold07:32
fwereade_davecheney, and it's the sort of thing I really *don't* want to do piecemeal07:32
davecheneyfwereade_: excellent work07:32
fwereade_davecheney, any ad-hoc duplications I leave lying around will, according to the law of sod, be those that someone sees and copies next time they need to take to ZK, or use a State, or whatever ;)07:33
davecheneyfwereade_: did you move zkSuite into juju-core/testing ?07:39
davecheneyor are you planning too ?07:39
davecheneythe zkSuite i refer to comes from cmd/jujud07:40
fwereade_davecheney, I'm planning to drop it and use juju-core/testing.ZkConnSuite for initzk, and juju-core/state/testing/StateSuite for the others07:40
fwereade_davecheney, just unpicking that bit right now actually :)07:41
fwereade_davecheney, neither of those exist yet, except this this tree ofc07:41
davecheneyfwereade_: excellent, I hope it gets commited soon07:41
davecheney'cos I need that to start a zk to back the provisioner for the local ec2 tests07:42
fwereade_davecheney, me too...07:42
fwereade_davecheney, ah, cool07:42
fwereade_davecheney, I'm not sure it will actually get proposed until you've gone to bed07:43
fwereade_davecheney, that said I hope it will before eod for me07:43
fwereade_davecheney, so if you do happen to see it over the weekend, and are able to give the bits that hit your code a once-over (and hopeful LGTM), I think it would help07:44
fwereade_davecheney, it's gong to be much too big for a single person to review it effectively, even though *most* of the changes are from splitting up state_test07:44
davecheneyunderstood07:47
davecheneyreview backlog ... sigh07:47
=== mthaddon` is now known as mthaddon
fwereade_davecheney, cmd/jujud/main_test.go08:11
fwereade_davecheney, is it intentionally not in the main package?08:11
fwereade_davecheney, I thought you changed all those to be internal?08:11
davecheneylet me check, that may have been an accident08:12
fwereade_davecheney, it looks as though that test isn't actually run any more08:12
davecheneysorry, that was an accident08:13
davecheneyhmm, looking further08:13
davecheneyi didn't touch main_test08:13
davecheneybut it should be fixed08:14
fwereade_davecheney, cool, I'll pick thoe up with the one I'm doing08:15
davecheneyok, thanks08:16
davecheneyI can do it too, but it'll be depending on my other services branc08:17
fwereade_davecheney, since I'm already hitting everything to do with testing I think it fits best with what I'm doing08:18
davecheneykk08:19
fwereade_davecheney, actually, do you have a few minutes to take a preliminary look at what I've done? assuming I haven't broken anything in the latest pass, I'll propose -wip in a couple of mins08:19
fwereade_davecheney, or will I be keeping you at work inappropriately? ;)08:20
davecheneyfwereade_: yeah fire it off08:21
fwereade_davecheney, https://codereview.appspot.com/634805308:22
fwereade_davecheney, testing/zk.go, and state/testing/testing.go, are at the heart of it all08:23
fwereade_davecheney, most of the stuff in the state package can otherwise be pretty much ignored for now, it's just test-moving08:24
fwereade_davecheney, so if you take a look at those, and how they affect the jujud tests, that would probably be most directly useful08:24
* davecheney looks08:25
* fwereade_ passes davecheney the goggles, and hopes they do something08:34
davecheneyfwereade_: looks pretty good to me08:35
fwereade_davecheney, cool, thanks for taking a look :)08:35
davecheneyyou could probably split this into two changes, to reduce the sticker shock08:36
davecheneybut 90% of the change is one liners in a file08:36
fwereade_davecheney, yeah, maybe I should do the state_test split separately08:38
fwereade_davecheney, bah :)08:38
davecheneyi don't think it's worth it, this branch will probably take a few review cycles, so it's probably not saving much08:38
fwereade_davecheney, yeah, I must admit I'm not especially enthused by the idea, but the I wouldn't be ;)08:39
fwereade_davecheney, hmm, an idea08:40
fwereade_davecheney, state_test.ConnSuite should probably not be used anywhere near as much as it is08:40
fwereade_davecheney, if I move the tests that use zkConn directly out into their own zk-substrate-specific test it would probably be a good thing08:41
fwereade_davecheney, but that's surely one for a new CL08:41
davecheneyfwereade_: stepping offline for a while, gonna see what is happening in the real world08:44
fwereade_davecheney, take care, have fun08:44
davecheneyfwereade_: you too08:44
fwereade_TheMue, heyhey09:31
TheMuefwereade_: Hi09:31
TheMuefwereade_: Oh, update tells me to reboot. One moment.09:39
TheMuefwereade_: So, back again, just submitted the deleted-is-now-removed-change09:43
fwereade_TheMue, cool09:43
fwereade_TheMue, I'll merge that in a mo09:43
fwereade_TheMue, I have a hideous monster of a branch in progress09:44
fwereade_TheMue, but it does remove a whole bunch of duplication across the tests that hit state and/or zookeeper so hopefully it won't be too controversial09:44
fwereade_TheMue, do you have anything else likely to land soon?09:44
TheMuefwereade_: I'm still porting the firewall, it uses multiple watchers. And now I've got a method with a callback inside a callback. :(09:44
TheMuefwereade_: No, I'll need some time.09:45
fwereade_TheMue, cool09:45
fwereade_TheMue, an internal updates channel may be helpful if I've understood what you're doing correctly09:45
fwereade_TheMue, ie the main loop selects on w.subwatcher.Changes and w.updates09:46
fwereade_TheMue, and a separate goroutine for each additional watcher sends on w.updates for the attention of the main loop09:47
fwereade_TheMue, sensible/relevant?09:48
TheMuefwereade_: Maybe an approach, yes. I'll take a look how it matches. But it SGTM.09:48
fwereade_TheMue, if by callback-inside-callback you just mean consuming the initial event from a new watcher before sending it off on its own goroutine I think that's sensible and necessary09:49
TheMuefwereade_: I've got to get deeper in the code first, understanding what happens there today.09:56
fwereade_TheMue, SGTM, give me a shout if you see anything particularly surprising, I seem to have spent a disturbing amount of time thinking about this sort of problem recently09:57
Aramhey.11:53
fwereade_Aram, heyhey11:54
TheMuefwereade_: Could you please help me getting yield right?12:29
TheMueAram: Hi btw12:29
fwereade_TheMue, I'll do what I can :)12:29
fwereade_TheMue, what's the problem?12:30
TheMuefwereade_: I understand it as a generator returning the yielded value with each call. So far no problem.12:30
fwereade_TheMue, but @inlineCallbacks is weird?12:30
TheMuefwereade_: But when the call to the generator function has a list as argument and inside the func this list is iterated and every time a yield, what do I get?12:31
TheMuefwereade_: And those inlineCallbacks too, yes. ;)12:32
fwereade_TheMue, not sure I follow the first bit, can you point me to the code?12:32
fwereade_TheMue, the idea of inlineCallbacks is that you repeatedly yield a Deferred, and the result of that Deferred is sent back into the generator once it's fired12:33
fwereade_TheMue, basically it lets you write callback-based code and kid yourself it's not really using callbacks12:33
fwereade_TheMue, so the critical thing is not to think of inlineCallbacks-decorated methods as being generators at all12:34
fwereade_TheMue, it's a creative and useful abuse of generators but that's not really a useful perspective from which to view them IMO12:35
TheMuefwereade_: OK, thx, a first hint. And forget my first sentence, I interpreted the indent inside firewall.py wrong.12:37
TheMueSo, organized my checkup at the dentist on Monday morning. *dislike*13:07
fwereade_TheMue, Aram: I have the most horrifying CL known to man, just proposed at https://codereview.appspot.com/634805313:25
Aramoh man13:25
fwereade_TheMue, Aram: it's explained in great detail on codereview13:25
fwereade_Aram, I hope that it moves us a significant step towards substrate-independent state testing, which is why I'm pointing it out to you in particular13:26
fwereade_TheMue, because it hits a lot of tests that you yourself wrote, I would particularly appreciate your feedback13:27
TheMuefwereade_: I'm already looking.13:28
TheMuefwereade_: Btw, I often read CL here, but I've been not able to find the long version of this abbrev. Could you help me?13:29
fwereade_TheMue, ChangeList, apparently :)13:30
TheMuefwereade_: Thought so, indeed. But it seemed too simple. ;)13:30
TheMuefwereade_: I'm knowing it as a change set.13:31
TheMuefwereade_: http://en.wikipedia.org/wiki/Changeset13:32
fwereade_TheMue, indeed13:33
fwereade_TheMue, seemed easiest to just adopt the preferred local terminology :)13:33
TheMuefwereade_: Yes, only wanted to know. Maybe there's a history behind it.13:33
fwereade_TheMue, Aram: btw, if I do appear to be making unsupportable statements in the description, or to otherwise be on crack, please point it out... I'm somewhat nervous that niemeyer is going to reject it on principle, and I'd like it to be as sane as possible in all respects other than size ;)13:51
TheMuefwereade_: Normally your ideas have very good reasons.13:52
fwereade_TheMue, thank you -- but occasionally total nonsense slips out past the internal censor, and N other opinions are very helpful ;)13:53
TheMuefwereade_: *lol*13:53
TheMue..ooOO( Note to Mr. Reade: This change is indeed a *monster*. )14:19
TheMuefwereade_: You've got a review.14:58
fwereade_TheMue, tyvm for review15:31
fwereade_TheMue, how about "conf" instead of "any"?15:31
TheMuefwereade_: I'm missing the intention of that type. The name should reflect this.15:36
fwereade_TheMue, it's for holding environ configurations, haven't noticed any other uses15:37
TheMuefwereade_: We could reuse it naming it like "dictionary", otherwise especially for this case "environConfig".15:40
fwereade_TheMue, SGTM15:41
TheMuefwereade_: But that are all minors. In general it seems to be an important change to me.15:41
fwereade_TheMue, fantastic15:42
TheMuefwereade_: And cleaning up the test tables (all in the methods or all out of them, simplification, anonymous structs) can be done later.15:42
fwereade_TheMue, yeah, I'm not sure I feel those are important enough to do until I have reason to modify them15:43
fwereade_TheMue, the big reason for this change is that I'm about to extend state.Initialize and without consistency that will be a nightmare15:43
fwereade_TheMue, the little reason is just low-level ongoing frustration as I complained about ;)15:44
TheMuefwereade_: :D15:45
twobottuxaujuju: juju: ERROR Unexpected Error interacting with provider: 409 CONFLICT <http://askubuntu.com/questions/157785/juju-error-unexpected-error-interacting-with-provider-409-conflict>22:08

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