[00:00] <davecheney> niemeyer: sure thing
[00:29] <niemeyer> davecheney: ping
[00:31] <davecheney> niemeyer: ac
[00:37] <davecheney> niemeyer: ack
[00:49] <niemeyer> davecheney: Yo
[00:49] <niemeyer> davecheney: I was having a look at go-cmd-jujud-services
[00:50] <niemeyer> davecheney: A few points:
[00:50] <niemeyer> - You mention the actual meat of the change. Has anything changed within the moved files themselves? Just wondering if I should review that or not.
[00:51] <niemeyer> - I was expecting the package to be service/<service name>/*.go
[00:51] <niemeyer> More precisely, juju-core/service/<service name>/*.go
[00:52] <niemeyer> Moving them out of jujud but keeping all of the services within the same file would allow importing, but preserve the "mess" which is having all of those unrelated things in the same place
[00:53] <niemeyer> I think that's it.. otherwise the idea of moving sounds great
[01:27] <davecheney> niemeyer: thanks for the feedback, i'll fix up the CL and repropse
[01:41] <davecheney> niemeyer: i'm going to do the service CL in three parts, which might make it easier to review and merge
[01:42] <davecheney> 1, cmd/services
[01:42] <davecheney> 2, split provisioner and provisioning
[01:42] <davecheney> 3, move provisioner to the new package
[01:43] <niemeyer> davecheney: Sounds good
[01:43] <davecheney> niemeyer: does bzr have the concept of hg cp ?
[01:43] <niemeyer> davecheney: Btw, I suggest juju-core/services
[01:43] <niemeyer> davecheney: Hmm.. not sure
[01:43] <davecheney> niemeyer: yes, good idea, they dont' belong directly in cmd
[01:44] <davecheney> niemeyer: just trying to reduce the size of the CL that just bifurcate provisioning.go
[01:56] <niemeyer> davecheney: Cool.. as long as we don't move + change the code at the same time, it's easy to review either way I think
[01:56] <niemeyer> davecheney: If there are changes that are tricky to avoid, it's fine to just mention them in the description so we can have a more careful look rather than assuming it's just coded being moved
[01:57] <davecheney> niemeyer: https://codereview.appspot.com/6350064 << just moves Provisioner into it's own file (and tests)
[01:58] <davecheney> which will make the other change easier to digest
[01:59] <niemeyer> davecheney: If it's just moving, +1 for sure
[01:59] <davecheney> niemeyer: yeah, just splits so I can move later and the diff will just show the package header changed and a few imports
[01:59] <niemeyer> davecheney: Awesome, thanks, sent the LGTM there too
[02:00] <davecheney> niemeyer: this will have a small impact on williams test CL as well
[02:00] <davecheney> i'll work with him this afternoon to help unbreak it
[02:01] <davecheney> niemeyer: can I propose a branch on top of his banch ? ie, can I do the fixes for his branch and he can import them ?
[02:03] <niemeyer> davecheney: Absolutely
[02:04] <davecheney> niemeyer: right, sounds fair, and I want his coretesting and zksuite types
[02:05] <niemeyer> davecheney: Neat, branches are lovely in those cases
[02:05] <niemeyer> davecheney: What would otherwise be a blocker is just a branch + merge
[02:29] <davecheney> niemeyer: https://codereview.appspot.com/6344071 << much smaller
[04:18] <niemeyer> Phew'
[04:21] <niemeyer> davecheney: LGTM
[04:26] <niemeyer> Okay.. time to sleep now
[04:26] <niemeyer> Good night all
[04:26] <niemeyer> davecheney: and good afternoon for you
[06:08] <fwereade> davecheney, morning
[06:09] <davecheney> fwereade: howdy
[06:09] <davecheney> you've got a green light to drop that massive branch
[06:09] <davecheney> but i've spent the day making conflicts
[06:09] <davecheney> so sorry about that
[06:10] <fwereade> davecheney, ah, no worries, I expect I can manage :)
[06:10] <davecheney> fwereade: let me know if I can be of use, the faster I can get your changes, the better
[06:11] <fwereade> davecheney, you can just merge from that branch and work on top of it -- but then the requested changes to that will lead you to have to deal with probably as many conflicts
[06:11] <davecheney> fwereade: yeah, i've got a few branches in the air at the moment
[06:12] <davecheney> but i'm truing to keep my main 'provision on ec2' as close to trunk as possible
[06:44] <davecheney> error: cannot upload tools: cannot make S3 control bucket: The specified location-constraint is not valid
[06:44] <davecheney> s3 can get stuffed
[06:44] <davecheney> you _must_ specify a LocationConstraint if you are _not_ using us-east-1 or us-west-1
[06:45] <davecheney> but you _mustnot_ specify one if you _are_ using us-east-1
[06:45] <davecheney> which is bullshit
[07:02] <fwereade> davecheney, eww
[07:15] <davecheney> fwereade: going to be a bit of a shit to write a mock for
[07:15] <fwereade> davecheney, yeah, I bet
[07:23] <davecheney> fwereade: this is a nasty wart from us-east-1 being special because it's the first region
[08:41] <TheMue> Hi fwereade
[08:42] <fwereade> TheMue, heyhey
[08:44] <TheMue> fwereade: Just watching the I/O talks.
[08:46] <fwereade> TheMue, I must get to those
[08:46] <fwereade> TheMue, somewhat code-obsessed at the moment
[08:48] <TheMue> fwereade: Yeah, with your great change
[08:49] <fwereade> TheMue, I'm going through an obsessive set of running the presence tests
[08:49] <fwereade> TheMue, sadly they are not 100% reliable
[08:50] <fwereade> TheMue, *but* I'm pretty sure that every failure is now timing-related and can be attributed to impolite schedulers and/or GC pauses
[08:51] <TheMue> fwereade: Hard to fix stuff.
[08:52] <fwereade> TheMue, yeah, GOMAXPROCS seems to help
[08:52] <fwereade> TheMue, but that could just be my monkey-brain overlaying patterns where none exist
[08:53] <TheMue> fwereade: *rofl*
[09:59] <TheMue> fwereade: Could you please help me with todays firewall code?
[10:00] <TheMue> fwereade: It's regarding line 278ff.
[10:00] <fwereade> TheMue, sure, lookin for it...
[10:01]  * fwereade looks somewhat apprehensive
[10:02] <TheMue> fwereade: Thx, and there especially  line 281.
[10:02] <TheMue> fwereade: Here a machine, not the machine state, is retrieved from the provider.
[10:02] <TheMue> fwereade: Sadly I don't find yet what has this role in our code today.
[10:03] <TheMue> fwereade: Did it change or isn't it yet ported?
[10:03] <fwereade> TheMue, in go I think that's called an Instance
[10:03] <fwereade> TheMue, corresponds to ProviderMachine, right?
[10:04] <TheMue> fwereade: That's what I want to find out.
[10:04] <fwereade> TheMue, I'm 99% sure it corresponds directly to environs.Instance
[10:05] <TheMue> fwereade: OK, will take a deeper look. That may be the missing link.
[10:05] <TheMue> fwereade: Thank you.
[10:05] <fwereade> TheMue, a pleasure :0
[10:07] <fwereade> TheMue, *dammit*, I have to go to the bank, wanted to finish this off before :/
[10:07] <fwereade> TheMue, meeting in 50 mins, right?
[10:58] <davecheney> niemeyer: thanks for your review
[10:58] <davecheney> niemeyer: figuring out how to test a condition that can only be false if you're talking to the real us-east-1 is tricky
[10:59] <niemeyer> Yo!
[10:59] <niemeyer> davecheney: Hmm
[10:59] <niemeyer> davecheney: Does it fail if you keep the constraint while talking to us-east-1?
[11:00] <davecheney> niemeyer: yes
[11:00]  * davecheney facepalms
[11:00] <davecheney> that was the first thing i tried
[11:00] <davecheney> us-east-1 is ... special
[11:00] <niemeyer> davecheney: Lovely
[11:00] <niemeyer> davecheney: Anyway, that still sounds easy to test in s3_test.go
[11:00] <davecheney> niemeyer: otherwise it would be straight forward
[11:00] <davecheney> niemeyer: i
[11:01] <davecheney> i'll take another crack tomorrow
[11:01] <niemeyer> davecheney: We have the payload at hanhd
[11:01] <niemeyer> davecheney: And also have the test region at hand
[11:01] <niemeyer> davecheney: We can tweak the region however we want, and see the effect on the payload
[11:02] <niemeyer> Isn't it meeting time?
[11:03] <niemeyer> fwereade, TheMue, davecheney: Meeting?
[11:03] <fwereade> niemeyer, SGTM
[11:03] <TheMue> Yes, but currently phone.
[11:03] <TheMue> In a few moments.
[11:04] <davecheney> niemeyer: sure, two secs
[11:04] <niemeyer> Hmm.. Aram isn't around
[11:05] <niemeyer> Starting a Hangout
[11:05] <davecheney> niemeyer: send the invite to david.cheney@canonical
[11:07] <niemeyer> Done
[11:25] <niemeyer> fwereade: ping
[11:49] <davecheney> nouns that are taken: service, agent, command, process
[11:51] <niemeyer> worker?
[11:51] <davecheney> possible nouns: daemon,
[11:52] <davecheney> ^ pretentious ?
[11:54] <davecheney> http://laughingmeme.org/2005/12/23/there-are-only-two-hard-things-in-computer-science-cache-invalidation-and-naming-things/
[11:56] <fwereade> davecheney, and off-by-one-errors
[12:08] <niemeyer> fwereade, davecheney: Suggestion: Life, SetLife and WatchLife..
[12:26] <TheMue> +1
[12:29] <davecheney> good discussion tonight
[12:30] <davecheney> just for reference, i'll sleep on the renaming stuff we discussed and email tomorrow
[12:30] <TheMue> davecheney: ;)
[12:31] <davecheney> i am in agreement that we want to avoid the situation of a bug report that says 'something something agent did not blah'
[12:32] <davecheney> and we have to ask for clarification on if they mean the agent process, or the one of several agent 'services' we had running inside that binary
[12:36] <Aram> hello.
[12:36] <Aram> grr, dreadfully sorry I couldn't make it to the meeting.
[12:36] <Aram> had internet problems all morning.
[12:36] <Aram> meh.
[12:42] <davecheney> i blame the leap second
[13:35] <TheMue> Hmm, could it be that todays "provider".get_opened_ports() has no counterpart?
[13:41] <hazmat> TheMue,  what would the counterpart be? get closed ports?
[13:42] <TheMue> hazmat: Hi, eh, wrong wording. I mean the ported part, which I expected in environs.Environ.
[13:44] <hazmat> ah
[13:44] <hazmat> yeah.. status will need that, else its not really used outside of the provider
[13:45] <hazmat> er. provisioning agent
[13:45] <fwereade> TheMue, seems that way, it's not in the interface
[13:49] <TheMue> hazmat: Yes, I'm porting firewall.py for the provisioning agent. And this type needs it to retrieve the current open ports to compare it with the state.
[15:00]  * niemeyer waves
[15:03] <Aram> hi niemeyer.
[15:03] <niemeyer> Aram: Yo
[15:03] <Aram> niemeyer: sorry for not making it to the meeting :(.
[15:03] <Aram> my internet didn't work.
[15:03] <Aram> which is a first, after an year of staying here.
[15:03] <niemeyer> Aram: It's ok, we can catch up later.. just a bit unfortunate because we talked about the proposal in the ML and covered a few angles, but we can revive that again
[15:05] <Aram> yes, I really want to hear opinions about that.
[15:08] <niemeyer> Aram: Well, me too ;)
[15:26] <Aram> niemeyer: more lbox trouble...
[15:26] <Aram> http://paste.ubuntu.com/1073238/
[15:34] <fwereade> niemeyer, hey, I have something that looks very similar: http://paste.ubuntu.com/1073263/
[15:34] <niemeyer> Hmm
[15:34] <fwereade> everyone, I have to go a bit early today... I will certainly be back on in the evening to submit that change, by hook or by crook ;)
[15:34] <niemeyer> fwereade: Cheers
[15:34] <Aram> niemeyer: maybe it's a leap second bug ;)
[15:34] <Aram> fwereade: have fun.
[15:34] <niemeyer> Aram: Possibly :)
[15:34] <fwereade> Aram, haha :)
[15:35] <fwereade> cheers guys, see you later
[15:37] <niemeyer> Aram: Can you please run with -debug?
[15:37] <niemeyer> Aram: It looks like codereview might be blowing up
[15:37] <Aram> niemeyer: sure thing
[15:38] <niemeyer> Aram: Seems that reaching that point is returning without err
[15:38] <niemeyer> Aram: oh, wait, maybe I misread
[15:39] <Aram> niemeyer: http://paste.ubuntu.com/1073272/
[15:39] <niemeyer> Aram: The code on goetveld definitely looks wrong
[15:40] <niemeyer> Aram: Hah, it's the same problem as before :(
[15:40] <niemeyer> Aram: Just in a different package
[15:41] <Aram> heh.
[15:41] <niemeyer> Aram: The change in redirect semantics sucks
[15:51] <Aram> niemeyer: yeah, I don't think this should have happened, document the old behavior and stick with it until at least go 1.1.
[15:52] <niemeyer> Aram: I'll see what I can do to workaround the issue.. the change in semantics is actually a problem in this case, because I want the response before the redirect, and there's apparently no way to do this now
[16:48] <Aram> lunch
[17:46] <niemeyer> Aram: lbox is coming
[17:46] <Aram> niemeyer: fantastic
[17:46] <niemeyer> Aram: I'll rebuild against golang-stable.. filed a bug against golang and Brad F. will revert his change next week
[17:47] <niemeyer> Aram: There's simply no way to grab a response before a redirect with his change
[17:47] <niemeyer> Aram: Which is needed in this case, because the login endpoint redirects, and we want its Cookie before we move on
[17:47] <Aram> niemeyer: I see.
[17:47] <Aram> niemeyer: so you bakported the exp/ stuff we're using?
[17:48] <niemeyer> Aram: We're not using anything experimental
[17:48] <niemeyer> Aram: It was using golang-tip just for historical purposes (IOW, before Go 1 was out, we depended on tip)
[17:49] <niemeyer> Aram: It turns out that it's handy to depend on tip, though..
[17:49] <niemeyer> Aram: I may well roll it back after next week
[17:49] <niemeyer> Aram: I wouldn't have caught the bug on time otherwise
[17:56] <niemeyer> Aram: Silly me.. apparently it does need exp/ from tip
[17:56] <Aram> yeah, I remembered I couldn't compile it at some point.
[17:56] <Aram> because of this.
[18:00] <niemeyer> Aram: You were totally right
[18:00] <niemeyer> Aram: I'll just embed it for the moment
[18:17] <niemeyer> Aram: lbox should be good
[18:18] <Aram> niemeyer: thanks.
[20:29] <niemeyer> Aram: ping
[20:29] <Aram> pong
[20:29] <Aram> seen your email
[20:35] <niemeyer> Aram: Cool, i was actually going to suggest something, but I'm just reviewing the pre-req.. will work out well
[20:57] <Aram> niemeyer: updated that CL, also seen your bug report, will fix it tomorrow, will retreat for now, it's kind of late here :).
[20:59] <niemeyer> Aram: I can imagine.. almost finishing the last review
[20:59] <niemeyer> Aram: Thanks a lot for your help on that stuff
[21:00] <Aram> my pleasure.
[21:59] <niemeyer> davecheney: Morning!
[21:59]  * niemeyer heads off for dinner
[22:00] <davecheney> ziing
[22:02] <fwereade_> davecheney, heyhey, I just merged that monster
[22:03] <fwereade_> davecheney, I hop it didn't mess with your Machiner plans too badly
[22:12] <davecheney> fwereade_: nah, it was a few minutes work to rebranch and do it again
[22:12] <davecheney> fwereade_: the benefits far outweigh the cost
[22:21] <fwereade_> davecheney, btw, if you ever spot the presence tests misbehaving, scream and should and send me the log output please :)
[22:21] <fwereade_> s/should/shout/
[22:37] <davecheney> m_3: you around ?
[22:38] <davecheney> niemeyer: I had to repropose the machiner -> service/machiner branch here https://codereview.appspot.com/6348077
[22:39] <davecheney> additionally, now it's not a prereq, the branch is much cleaner
[23:28] <m_3> davecheney:
[23:28] <m_3> yo
[23:32] <m_3> davecheney: my reply probably just got out on smtp
[23:33] <davecheney> m_3: cool
[23:33] <m_3> tomorrow'd probably be great for Ultimo if that works for you
[23:33] <davecheney> yeah, that sounds good