[00:01] <davecheney> thumper: wallyworld_ axwalk (absent): trying to get you ppc testing resources asap
[00:01] <wallyworld_> oh?
[00:02] <wallyworld_> we doing some ppc work?
[00:06] <davecheney> wallyworld_: yes, it turns out I know things that you don't know (yet)
[00:06] <wallyworld_> that wouldn't be hard to do
[00:38] <thumper> wallyworld_: oh hai
[00:38] <wallyworld_> yello
[00:39]  * thumper is munching
[00:39] <thumper> wallyworld_: you'll get all the goss at our meeting
[00:40] <waigani> wallyworld_: can I pick your brain? I'm finding it hard to understand TestWatchEnvironConfig in state_test.go
[00:40] <wallyworld_> ok
[00:40] <waigani> might be easier via a hangout, but I'll try via irc first
[00:40] <waigani> It sets "default-series" to "another-series" and then uses s.State.WatchEnvironConfig to grab the config object.
[00:40]  * wallyworld_ looks
[00:41] <waigani> then it tests to that the change DID NOT take effect
[00:41] <waigani> this fails as it did take effect, as would be expected
[00:42] <wallyworld_> WatchEnvironConfig doesn't get the config, it gets a watchr
[00:42] <waigani> so then, I changed the test to assert that the change did take place and that failed too
[00:42] <wallyworld_> s.State.EnvironConfig() gets the config
[00:43] <waigani> yep
[00:43] <wallyworld_> you said above it got a config object
[00:43] <wallyworld_> i just wanted to clarify :-)
[00:43] <waigani> so WatchEnvironConfig returns 'got'
[00:43] <waigani> which is the (changed?) config
[00:44] <waigani> it then compairs that against state:
[00:44] <waigani> c.Assert(got.AllAttrs(), gc.DeepEquals, cfg.AllAttrs())
[00:44] <wallyworld_> no, w.Changes() returns goy
[00:44] <wallyworld_> got
[00:44] <wallyworld_> w := s.State.WatchEnvironConfig() returns a watcher
[00:44] <waigani> sorry, yes the point is the same though
[00:44] <wallyworld_> sort of
[00:45] <waigani> so Changes returns a changed config object right?
[00:45] <waigani> *w.Changes()
[00:46] <wallyworld_> yes, in this case i think so. it doesn;t always, it depends on the watcher. sometimes it returns an empty struct. let me check
[00:46] <waigani> so why would the test want to assert that there was no change by compairing the changed cfg with state cfg?!?
[00:47] <wallyworld_> it doesn't
[00:47] <wallyworld_> the assertNoChange method is different
[00:47] <wallyworld_> 		case got := <-w.Changes():
[00:47] <wallyworld_> 			c.Fatalf("got unexpected change: %#v", got)
[00:47] <waigani> I'm talking about the c.Assert(got.AllAttrs(), gc.DeepEquals, cfg.AllAttrs()) line
[00:47] <wallyworld_> is the no change check
[00:48] <wallyworld_> that's for testing changes, not no changes
[00:48] <wallyworld_> you said "no change"
[00:48] <waigani> it fails because the changed cfg != state cfg
[00:49] <wallyworld_> in which case the changes haven't been applied
[00:49] <waigani> but they have and it fails
[00:49] <wallyworld_> and/or sent in the event
[00:50] <wallyworld_> you have some code I can look at?
[00:50] <waigani> yep
[00:51] <waigani> umm, should I put a comment next to this test, finish my branch and propose it (even though it has failing tests?)
[00:51] <wallyworld_> you can create a wip merge  proposal
[00:51] <wallyworld_> and ask me to look at that
[00:51] <waigani> oh, okay
[00:51] <wallyworld_> use the -wip option for lbox i think
[00:52] <wallyworld_> don't worry about finishing anything, just propose
[00:52] <wallyworld_> and i can easily see the current state of it
[00:52] <waigani> yeah? Okay
[00:52] <wallyworld_> although i have a meeting in 8 minutes
[00:52] <waigani> oh, well, shall we aim for after our standup?
[00:53] <wallyworld_> because it is wip, it won't be marked as ready for review
[00:53] <wallyworld_> after standup works
[00:53] <waigani> great, thanks :)
[00:53] <wallyworld_> propose whenever though and i might get to see if before standup
[01:58] <waigani> wallyworld_: could you please take a look at TestEnvironConfigWithoutAgentVersion ( you can now set an agent version - to allow upgrades) and TestWatchEnvironConfig.
[01:59] <wallyworld_> ok
[01:59] <waigani> wallyworld_: thank you :)
[02:02] <wallyworld_> waigani: i can't see TestEnvironConfigWithoutAgentVersion in the diff
[02:02] <wallyworld_> what file is it in?
[03:47] <wallyworld_> waigani: hi, you back? i can't see TestEnvironConfigWithoutAgentVersion in the diff. what file is it in?
[03:47] <waigani> wallyworld_: go/src/launchpad.net/juju-core/state/initialize_test.go
[03:48] <wallyworld_> oh, i was looking in the diff
[03:49] <wallyworld_> so that is an existing test. does it fail?
[03:49] <waigani> wallyworld_: yep - I was just writing that
[03:49] <wallyworld_> where does it fail?
[03:50] <waigani> wallyworld_:
[03:50] <waigani> initialize_test.go:142:
[03:50] <waigani>     c.Assert(err, gc.ErrorMatches, "agent-version must always be set in state")
[03:50] <waigani> ... value = nil
[03:50] <waigani> ... regex string = "agent-version must always be set in state"
[03:50] <waigani> ... Error value is nil
[03:51] <waigani> i.e. you can no set the agent-version
[03:52] <wallyworld_> that test is checking that there's an error if agent-version attempts to be deleted
[03:52] <wallyworld_> so i would expect the test to still pass?
[03:52] <wallyworld_> ie that it is failing is a problem
[03:52] <waigani> there are two parts arn't there? I think just the second part fails
[03:53] <waigani> where it says something about setting a bad version
[03:53] <waigani> line 138
[03:54] <axw> there's two tests in there: initialise with missing agent-version should fail, initialise with agent-version and try to delete it should fail
[03:54] <wallyworld_> the line numbers are different for you vs me, but i think i see where you mean now
[03:55] <axw> waigani: link to the CL please?
[03:55] <waigani> axw: ah thanks
[03:55] <wallyworld_> waigani: i'm not seeing what your question is
[03:56] <wallyworld_> the test as written is fine
[03:56] <axw> waigani: if I were a guessing man, I'd say something happened to checkEnvironConfig in your CL
[03:56] <waigani> axw: https://codereview.appspot.com/70190050/
[03:56] <waigani> wallyworld_: axw's outline of the intention of the tests is what I was after
[03:56] <wallyworld_> oh
[03:56] <wallyworld_> sorry
[03:57] <wallyworld_> i thought you were asking something else
[03:57] <waigani> np, they are failing, so I just needed to understand what the expected / correct behaviour was
[03:57] <wallyworld_> in that case what andrew says is correct
[03:57] <waigani> so I can see if 1. tests need to change or 2. my code needs to change
[03:58] <waigani> and it looks like it is no. 2
[03:58] <wallyworld_> yeah, in this case
[03:58] <wallyworld_> i misunderstood what you were after
[03:59] <waigani> no no, all good. Thanks for taking the time :)
[03:59] <wallyworld_> well, i didn't help, so no need to thank me :-)
[04:00] <wallyworld_> i think you should ave said "thanks for nothing" :-)
[04:00] <waigani> lol
[04:00] <waigani> axw: the main business logic is in state/state.go
[04:01] <axw> yep, looking now
[04:01] <waigani> I'm still polishing tests etc but the general gist is there
[04:01] <waigani> ah, my girl just jumped off the ice - I'll be back online tonight
[04:02] <axw> eep. later
[07:17] <bigjools> wallyworld_: ping
[07:17] <bigjools> wallyworld_: unping
[08:38] <waigani> axw: thanks for the review. It all makes sense and I agree.
[08:38] <axw> waigani: cool, no worries
[08:38] <waigani> thumper and I looked at ChangeEnvironConfig today and we both thought it could go
[09:17] <rogpeppe> fwereade:  https://codereview.appspot.com/69600043/
[09:28] <voidspace> https://codereview.appspot.com/71490045
[09:44] <dimitern> voidspace, description please?
[10:06] <natefinch> morning all
[10:06] <mgz> morning nate!
[10:06] <mgz> join the weekly hangout?
[10:07] <natefinch> mgz: thanks
[10:08] <axw> wallyworld_: joining?
[10:21] <mgz> https://bugs.launchpad.net/juju-core/+bugs?field.tag=regression
[10:21] <mgz> https://launchpad.net/juju-core/+milestone/1.17.5
[10:22] <mgz> https://launchpad.net/juju-core/+milestone/1.18.0
[10:22] <wallyworld_> fwereade: i'd like you to look at these because there's a subtle assumption about how major upgrade version is determined https://codereview.appspot.com/69890053/ https://codereview.appspot.com/71920043/
[10:24] <voidspace> dimitern: do you mean on the code review or somewhere else?
[10:24] <dimitern> voidspace, on the code review yeah (or CL as it's usually referred to)
[10:24] <voidspace> dimitern: what does CL stand for?
[10:25] <dimitern> voidspace, that's a good question - commit .. something change log perhaps?
[10:25] <voidspace> dimitern: heh, ok - thanks
[10:48] <wallyworld_> axw: i forgot to ask - i think there may be some deprecated config options now that the storage stuff has been removed? eg share-storage-port?
[11:01] <waigani> axw: can I run something past you?
[11:16] <jam> axw: did you get a chance to look at https://bugs.launchpad.net/ubuntu/+source/juju-core/+bug/1284127 ?
[11:30] <rogpeppe> voidspace: http://godoc.org/github.com/juju/ratelimit
[11:32] <voidspace> rogpeppe: thanks
[11:32] <voidspace> dimitern: https://codereview.appspot.com/71490045
[11:37] <dimitern> voidspace, you've got a review
[11:55] <axw> wallyworld_: shared-storage-port can be deleted
[11:55] <axw> waigani: you can, but I'm making and about to eat dinner
[11:55] <axw> jam: was just about to
[11:55] <wallyworld_> axw: ok, i'll add it to the upgrader. anything else?
[11:56] <axw> wallyworld_: not that I can think of
[11:56] <wallyworld_> ok, ta
[11:56] <waigani> axw: ok, feel free to answer tomorrow but here is the question
[11:58] <waigani> in firewaller_test.go setGlobalMode rog (rogpeppe?) has a TODO that it should not be possible to set the firewalling mode after an environment has been bootstrapped
[11:58] <waigani> that TODO is now done. The validation in State does not allow it.
[11:59] <waigani> now, there are a bunch of tests in firewaller_test.go that start by calling setGlobalMode
[12:01] <waigani> so is there a valid way to setGlobalMode or do I delete all the tests that relied on that setting? The latter seems drastic and I don't understand the details of the tests to feel confident doing so.
[12:01] <natefinch> rogpeppe: you need to update the readme on ratelimit
[12:01] <waigani> axw: ^ (and enjoy your dinner)
[12:01] <axw> waigani: thanks, will take a look after dinner.
[12:03] <waigani> Good luck 1.8 sprinters!
[12:08] <axw> jam: I've updated the bug, we can just close it. not sure what status to give it... can you please take a look when you have a moment?
[12:15] <axw> jam: re sshstorage, we don't necessarily need to create the temp dir the same, but it should ideally ignore the .tmp that filestorage creates
[12:19] <natefinch> rogpeppe: ratelimit also needs a license file
[12:20] <jam> axw: so the list get/put stuff is pretty superfluous to be honest. List() doesn't list dirs anyway, so we don't accidentally walk there
[12:32] <jam> axw: so, I'm pretty sure my trapping of .tmp is pretty "we don't actually need to do this because it isn't exposed already". Do you feel its really worth following up on?
[12:33] <jam> (as in, someone knowing the secrets might be able to see a file that was in progress before it finished the atomic put, but it doesn't seem to actually leak anything)
[12:35] <axw> jam: yeah I suppose so, I'm being a bit anal. ignore that then - I will have a look at your updates after dinner
[12:35] <jam> axw: thanks
[12:37] <dimitern> rogpeppe, https://codereview.appspot.com/70010045/
[13:13] <bloodearnest> hazmat: playing again wuth juju-lxc, installed git and cpu-checker on the base img, but still fail to come up, get this in the lxc logs:
[13:13] <bloodearnest> lxc-start 1393886691.822 ERROR    lxc_cgfs - Device or resource busy - failed to set memory.use_hierarchy to 1; continuing
[13:30] <cjohnston> rogpeppe: mornin.. what ever happened with the solution you thought that you had for the watcher bug?
[13:31] <rogpeppe> cjohnston: i hope to have something done today - it requires setting up something to poll the connection, so it's not totally trivial
[13:31] <cjohnston> rogpeppe: ack
[13:34] <hazmat> bloodearnest, haven't seen that before
[13:39] <bloodearnest> hazmat: ack, will keep digging
[13:40] <hazmat> bloodearnest, i'd raise that hallyn or stgraber on #ubuntu-server
[13:40] <hazmat> raise that to
[13:40] <bloodearnest> hazmat: yep, digging a little more first
[14:21] <jam> natefinch: sorry if I DC'd, I accidentally hit the turn-off-wireless when looking for the "turn-on-monitor" button
[14:26] <natefinch> jam: heh no problem
[14:36] <natefinch> mgz: lp:~natefinch/juju-core/037-EnsureMongo
[14:48] <natefinch> mgz: I need to push up one more change.... evidently missed updating a test.  won't take long.
[14:49] <dimitern> fwereade, https://codereview.appspot.com/70010045/diff/20001/worker/deployer/simple.go?column_width=80
[14:58] <natefinch> mgz: fixed the test.  My test run looks pretty good, just mongo tests that are failing that always fail for me, so it's probably fine to merge.
[15:01] <mgz> natefinch: ta
[15:02] <natefinch> mgz: no, thank you.
[15:11] <dimitern> rogpeppe, https://codereview.appspot.com/70010045/
[15:25] <fwereade> voidspace, would you take a look at https://codereview.appspot.com/71920043/ please? looks like it may conflict
[15:25] <voidspace> fwereade: looking
[15:36] <mramm2> anybody from core available for the cross team meeting?
[15:38] <fwereade> mramm2, arrgh, might be tricky to find a room
[15:39] <fwereade> natefinch, would you represent us please?
[15:39] <natefinch> fwereade: was just going to offer
[15:39] <mramm2> I need answers from you guys
[15:39] <mramm2> like when will we get 1.18
[15:39] <natefinch> mramm2, fwereade:  not sure I'll have all the answers
[15:40] <mramm2> natefinch: can you join anyway?
[15:40] <natefinch> mramm2: certainly
[15:40] <natefinch> mramm2: link?
[15:41] <natefinch> fwereade: I can just ask you to feed me answers ;)
[15:41] <fwereade> mramm2, natefinch: I *think* we're on track for 1.18 tomorrow
[15:41] <fwereade> mramm2, natefinch: it remains our highest priority
[15:42] <mramm2> fwereade: awesome
[15:42] <mramm2> fwereade: are you planning to break manual bootstrap for 1.18?
[15:42] <fwereade> mramm2, we are not
[15:42] <mramm2> cool!
[15:43] <mramm2> great!
[15:43] <fwereade> mramm2, agreed with abentley that a warning when we bootstrap using config from a .jenv is sufficient mitigation
[15:46] <mramm2> cool!
[15:51] <mgz> https://projects.puppetlabs.com/issues/1848 go \n
[15:55] <voidspace> anyone able to give [yet another] final look over at: https://codereview.appspot.com/71490045/
[15:59] <jam> mramm2: did you seem my request for wwitzel3 to get a Kanban account? mfoord already has one, but we'll need to plan some capacity around new hires
[16:00] <mramm2> I added wayne to kanban
[16:00] <mramm2> but for some reason haven't been able to get the add users to board screen to load
[16:00] <mramm2> so have not yet given him permissions on the core board
[16:01] <mramm2> and now he has board access
[16:03] <mramm2> also RE steve gorge's query LKK is managed by Nick Tait
[16:09] <mramm2> can you make sure jam sees that the LeanKitKanban admin is Nick Tait?
[16:09] <mramm2> (in the main juju channel)
[16:10] <natefinch> mramm2: I'll make sure he sees it
[16:10] <mramm2> cool
[16:11] <mramm2> I meant to type that in another window...
[16:11] <mramm2> talking to too many people at once!
[16:31] <dimitern> rogpeppe, updated https://codereview.appspot.com/70010045
[16:34] <rogpeppe> dimitern: https://bugs.launchpad.net/juju-core/+bug/1284183
[16:34] <_mup_> Bug #1284183: jujuclient.EnvError: <Env Error - Details:  {   u'Error': u'watcher was stopped', u'RequestId': 9, u'Response': {   }} <api> <status> <juju-core:Triaged> <https://launchpad.net/bugs/1284183>
[16:57] <mgz> natefinch: you appear to have a text conflict in your branch, otherwise you'd be my guinea pig
[17:09] <natefinch> mgz: I saw, working on it.  Getting test failures after I fix the conflict and trying to figure out why
[17:31] <sinzui> Hi natefinch . I have a branch that addresses some of my incompetence and naivety. Do you have an few minutes to review it and check my thinking? https://codereview.appspot.com/72100043
[17:31] <natefinch> sinzui: I didn't realize you could fix that with code ;)
[17:32] <fwereade> dimitern, frankban, if you have a moment would you please take a quick look at https://codereview.appspot.com/49960047/ ? most has already been reviewed, but I hit some of the api server stuff
[17:33] <dimitern> fwereade, looking
[17:37] <sinzui> oh dear. natefinch I think I need to understand this bug. https://bugs.launchpad.net/juju-core/+bug/1288873 . We compile a 32bit juju client on a 64bit 2012 Windows server. We install it on the same machine. Is win7+64bit unable to install 32bit?
[17:37] <_mup_> Bug #1288873: Installing juju windows binarys fails on windows 7 <windows> <juju-core:New> <https://launchpad.net/bugs/1288873>
[17:37] <natefinch> sinzui: looking
[17:38] <natefinch> sinzui: 32 bit binaries should work regardless of the bitness of the OS they're built on
[17:38] <natefinch> sinzui: and 32 bit will work on 32 or 64 bit windows
[17:39] <sinzui> It certainly does on win 2012 server
[17:39] <sinzui> I will start a win7 64 bit instance and try the install.
[17:39] <natefinch> sinzui: the error message could be a red herring.  Windows isn't exactly known for being terribly accurate with its messages
[17:43] <frankban> fwereade: looking
[17:53] <natefinch> sinzui: makefile changes reviewed btw
[17:57] <sinzui> thank you natefinch
[18:00] <mgz> sinzui: I killed the bot merge, am still playing
[18:01] <sinzui> mgz, understood
[18:01] <dimitern> fwereade, reviewed
[19:02] <mgz> natefinch: I want to land you branch, but it still seems to have conflicts
[19:03] <mgz> (possibly not your fault, things have been landing)
[19:07] <mgz> natefinch: either way, the bot is up so you should be able to just set the approved bit when ready
[20:40] <wallyworld> sinzui: hiya
[20:41] <sinzui> hi wallyworld
[20:41] <wallyworld> sinzui: do you have joyent creds you can share with me so i can help diagnose a live test failure?
[20:45] <natefinch> just take it, you stupid bot
[21:21]  * thumper is now confused as to how to add a dependency to the bot
[21:33] <wallyworld_> thumper: for now, the bot doesn't read the dependencies file - you need to do it by hand
[21:34] <wallyworld_> if i recall correctly
[21:34] <thumper> the email from mgz said that it can be done by config
[21:34] <thumper> but I didn't find it clear
[21:34] <wallyworld_> oh, i haven't read that fully yet - you used to have to do it by hand
[21:48] <thumper> gah...
[21:48] <thumper> I need to start landing shit
[21:49]  * thumper just racks up some dependent branches
[21:52] <waigani> thanks for nothing
[21:53] <thumper> waigani: eh?
[22:00] <waigani> thumper: I was trying to find a conversation between wallyworld_axw and I yesterday. My keyword search was "thanks for nothing", but I put it into the wrong box!
[22:00] <thumper> haha
[22:00] <waigani> yeah, lol
[22:01] <waigani> just randomly being rude on IRC, you know me (sigh)
[22:02] <waigani> thumper: do you know what time axw comes on? I've got a few questions for him.
[22:02] <thumper> waigani: normally around 2pm our time
[22:02] <waigani> oh, that late. Can I run the question past you?
[22:03] <thumper> sure
[22:04] <waigani> http://pastebin.ubuntu.com/7046704/
[22:04] <waigani> line 13
[22:05] <waigani> as there is no policy, there is no validation and agent-version can be reset
[22:07] <waigani> ah no, ignore me. It should be deleting the agent-version that fails. I'll update test.
[22:10] <thumper> pleased to be of service :)
[22:20] <waigani> thanks for nothing ;)
[23:00] <thumper> waigani: sorry, no idea on your stuckness
[23:00] <waigani> thumper: :(
[23:01] <waigani> thumper: I've got a bunch of other tests to fix while I wait for axw, thanks for taking a look
[23:04]  * thumper nods