[00:00] <thumper> container "machine-1-lxc-0" created
[00:00] <thumper> well that bit worked...
[00:12] <wallyworld> thumper: ParentId() committed, looking into bootstrap machine container issue
[00:16] <thumper> ack
[00:48] <wallyworld> thumper: i just bootstrapped on canonistack and everything works as expected
[00:48] <thumper> wallyworld: try ec2
[00:48] <wallyworld> i tried on ec2 and got an error running status- error: cannot log in to admin database: auth fails
[00:48] <wallyworld> bootstrap seemed to work
[00:48] <thumper> which zone?
[00:48] <wallyworld> us-east-1
[00:49] <thumper> hmm...
[00:49] <thumper> my status works
[00:49] <wallyworld> still, there should be no difference between add-machine on canonistack vs ec2
[00:50] <wallyworld> i wrote a test for inject machine and containers and will add that test as a driveby
[00:50] <wallyworld> thumper: did you remember to "go install launchpad.net/juju-core/..."
[00:51] <thumper> aye
[00:51] <wallyworld> if not, that would explain your issues perhaps
[00:51] <thumper> hmm...
[00:51] <thumper> v.weird
[00:52] <wallyworld> why does my brightness keep maxing out. frustrating when trying to conserve power
[00:53]  * thumper grabs the parent bits as needed now
[00:53] <wallyworld> thumper: status just started working on ec2. go figure
[00:54] <fwereade__> wallyworld, ec2 sometimes just pretends you have no instances
[00:54] <wallyworld> :-(
[00:54] <fwereade__> wallyworld, it's just one of those fun things than brighten your day every now and then
[00:54] <thumper> ec2 sucks
[00:54] <wallyworld> would that explain the auth failure on loggin to admin db?
[00:54] <wallyworld> thumper: add-machine works for me on ec2
[00:55] <thumper> wallyworld: how about 'juju add-machine 0/lxc'
[00:55] <thumper> because that is what failed for me
[00:55] <wallyworld> thumper: yes, that works
[00:55] <wallyworld> that's what i tried
[00:55]  * thumper pulls a face
[00:55]  * thumper tries
[00:55] <thumper> just merged latest, will rebuild and try
[00:55] <wallyworld> ian@wallyworld:~$ juju add-machine 0/lxc  -e amazon
[00:55] <wallyworld> ian@wallyworld:~$ juju status -e amazon
[00:55] <wallyworld> machines:
[00:55] <wallyworld>   "0":
[00:55] <wallyworld>     agent-state: started
[00:55] <wallyworld>     agent-version: 1.11.1.1
[00:55] <wallyworld>     dns-name: ec2-107-22-111-226.compute-1.amazonaws.com
[00:55] <wallyworld>     instance-id: i-e77d5b85
[00:55] <wallyworld>     series: precise
[00:55] <wallyworld>   0/lxc/0:
[00:56] <wallyworld>     instance-id: pending
[00:56] <wallyworld>     series: precise
[00:56] <wallyworld> services: {}
[00:58] <thumper> wallyworld: hmm...
[00:58] <thumper> wallyworld: you should have quotes around 0/lxc/0
[00:59] <wallyworld> ah yes. true
[00:59] <wallyworld> i didn't change status or anything. i wonder why they are issing. will need to look
[00:59] <wallyworld> i mean, a container is just a machine
[01:00] <wallyworld> i'll fix it when i update status to indent containers etc
[01:01] <fwereade__> wallyworld, thumper: no you shouldn't. yay yaml
[01:01] <thumper> fwereade__: eh?
[01:01] <thumper> fwereade__: so "0" shouldn't have quotes?
[01:01] <fwereade__> thumper, "0" needs them lest it be interpreted as an int
[01:02] <thumper> ew
[01:02] <thumper> that is orrible
[01:03] <wallyworld> fwereade__: sure, but when printing to console, shouldn;t the output be "nice"?
[01:03] <wallyworld> iw leave off the "
[01:03] <fwereade__> wallyworld, then it wouldn't be yaml
[01:04] <wallyworld> sure, but it's just for the user to look at? or are we expecting to pipe it into a file? or?
[01:04] <fwereade__> wallyworld, you can almost certainly customise the yaml output but I don't consider the benefit to be worth the hassle of finding out how to do so
[01:04] <wallyworld> any anyway, what are you still doing awake?
[01:04] <fwereade__> er, no good answer there
[01:04] <fwereade__> wallyworld, it's yaml because that's meant to be nice to look at
[01:05] <fwereade__> wallyworld, it's less nice than might be hoped in this case
[01:05] <wallyworld> yeah
[01:06] <fwereade__> wallyworld, we're not making --format yaml format output other than as yaml, and I question the cost/benefit of figuring out how to goose yaml into doing a slightly nicer thing ;)
[01:06] <wallyworld> fwereade__: sure. wasn't seriously suggesting it was The Most Important Thing right now :-)
[01:07] <wallyworld> but if people see it, they do wonder if something is wrong
[01:07] <wallyworld> since it's inconsistent
[01:07] <wallyworld> therefore bad
[01:07] <fwereade__> wallyworld, I would certainly not complain about a fix for that
[01:08] <wallyworld> i'll add it to my paper cuts list :-)
[01:16] <thumper> ok, bootstrapping ec2 again
[01:16] <wallyworld> good luck :-)
[01:16] <wallyworld> let me know how you get on
[01:16] <wallyworld> i only have 30 mins of battery left :-(
[01:16] <wallyworld> still waiting for tradesman to arrive before i can relocate
[01:21] <bigjools> I wondered whether you were coming or not wallyworld
[01:22] <wallyworld> bigjools: yeah. long story. i'm really pissed off right now
[01:22] <wallyworld> i'm never hiring this tiler ver again
[01:22] <bigjools> what did I say about builders/tradies? :)
[01:23] <wallyworld> well, i can't repeat it since there may be kids watching :-)
[01:23] <bigjools> I would leave a note on your gate telling him to come back another day since he was too late
[01:23] <bigjools> but I guess you're desperate for a bathroom :)
[01:23] <thumper> hi bigjools
[01:24] <thumper> wallyworld: it seemed to work this time
[01:24]  * thumper hits it again
[01:24] <bigjools> o/ thumper
[01:24] <wallyworld> user error!!!
[01:24] <thumper> wallyworld: bullshit
[01:24] <wallyworld> pbkac :-P
[01:24] <thumper> although no idea why last time
[01:25]  * thumper watches pepper chew on maia's shoe
[01:25] <bigjools> push it
[01:27] <thumper> bigjools: push what?
[01:27] <bigjools> it was an attempt at a salt and pepper joke
[01:27] <bigjools> push it real good
[01:28] <thumper> haha
[01:28] <thumper> I've nicknamed her pepper pots
[01:28] <thumper> wallyworld: ah ffs
[01:28] <wallyworld> yeeeees?
[01:28] <thumper> wallyworld: cloud-init checks for a valid machine id :)
[01:28] <bigjools> you need an iron man now
[01:28] <thumper> wallyworld: which 0/lxc/0 fails
[01:28] <wallyworld> ah balls
[01:29] <wallyworld> thumper: you want to comment out that check locally and i'll work up a fix?
[01:29]  * thumper looks for where it fails
[01:30] <wallyworld> thumper: i can include in my next branch a s i don't think you need it urgently (if you do a local hack)
[01:30] <thumper> state.IsMachineId
[01:30]  * wallyworld nods
[01:31] <thumper> wallyworld: is a regex
[01:31] <wallyworld> yes it is
[01:31] <thumper> wallyworld: how is your regex?
[01:31] <wallyworld> ok
[01:31] <wallyworld> trivial fix
[01:32] <wallyworld> you want to fix locally and i'll land a fix later? i don't have much power left
[01:32] <thumper> wallyworld: I'll just comment out locally
[01:32] <wallyworld> sounds good
[01:32] <thumper> for now
[01:32] <wallyworld> yep
[01:34] <wallyworld> thumper: bigjools: power almost gone. good bye cruel world
[01:34] <thumper> wallyworld: use the power adapter
[01:34] <thumper> duh!
[01:34] <bigjools> wallyworld: adios
[01:34] <wallyworld> thumper: i said before - we have no electricty
[01:34] <wallyworld> till later today :-(
[01:34] <thumper> oh... missed that
[01:35] <thumper> using the phone internet?
[01:35] <bigjools> smack your tiler in the chops
[01:35] <wallyworld> so i'm off to bigjools' house after trademan gets here
[01:35] <thumper> ack
[01:35] <wallyworld> thumper: yes, using phone. big data bill :-(
[01:35] <wallyworld> trademan just arrived \o/
[01:35] <bigjools> you get 1.5Gb free!
[01:35] <wallyworld> yes, but will weekly video calls at soccer training on thursday......
[01:36] <wallyworld> anyways, back online a bit later
[01:36]  * bigjools considers an undercut charge for wallyworld
[02:00] <thumper> ah ffs
[02:26] <thumper> hmm...
[02:36]  * thumper sighs
[02:37] <thumper> bigjools: when wallyworld arrives, tell him that I'm fixing the IsValidMachine as I have to ... for other bits
[02:46] <thumper> hi wallyworld
[02:47] <thumper> wallyworld: cloudinit bits need to know if machineId is a container or not
[02:47] <thumper> wallyworld: as I can't install lxc inside lxc on precise
[02:47] <thumper> so the cloud-init bits need to be more careful
[02:48] <wallyworld> thumper: you can look at the container type
[02:48] <thumper> wallyworld: I don't have a machine, just an id
[02:48] <thumper> wallyworld: https://codereview.appspot.com/10215043
[02:48] <thumper> wallyworld: I might expose the ParentId function
[02:49] <wallyworld> yeah
[02:49] <wallyworld> or maybe implement an IsContainer?
[02:49] <wallyworld> i think that would be better
[02:50] <thumper> wallyworld: yeah...
[02:51] <wallyworld> thumper: or pass both id and container type?
[02:51] <bigjools> thumper: I missed your message because he had just arrived and I had to make the whinging Aussie a coffee
[02:51] <wallyworld> i like that even more
[02:51] <thumper> bigjools: haha
[02:51]  * wallyworld is waiting for his backrub from bigjools
[02:51] <thumper> wallyworld: what do you mean?
[02:52] <wallyworld> thumper: just a sec, bigjools is snorting coffee
[02:52]  * wallyworld slaps bigjools
[02:52] <wallyworld> STFU
[02:52] <thumper> wallyworld: you don't have to type it to him, he is next to you right?
[02:52] <wallyworld> thumper: yes, but i wanted to share the hilarity
[02:53] <bigjools> within spitting distance
[02:53] <wallyworld> thumper: i mean instead of introspecting an id to see if the machine is a container, pass both the id and container type
[02:53] <wallyworld> that sounds cleaner to me
[02:53] <thumper> wallyworld: give me a func prototype
[02:54] <thumper> I don't get what you are saying
[02:54] <wallyworld> thumper: you say you only have an id in the place where you need to know if a machine is a container, right?
[02:54] <thumper> right
[02:55] <wallyworld> so, why can't we give that place access to the machine's container type as well as its id?
[02:55] <wallyworld> ie pass the container type to that logic
[02:55] <wallyworld> as well as the id
[02:56] <thumper> wallyworld: because...
[02:56]  * thumper thinks
[02:57]  * wallyworld is planning for the case where we only have surrogate ids
[03:08] <thumper> wallyworld: getting close to having a machine agent running inside the container
[03:08] <wallyworld> \o/
[03:09] <thumper> that one failed because of the valid machine check
[03:09] <thumper> and I was using a previously bootstrapped instance
[03:09]  * thumper destroyed, rebuilt, bootstraps
[03:11] <wallyworld> thumper: you haven't seen the txn aborted issue again?
[03:11] <thumper> wallyworld: I've not tried to create many containers
[03:11] <thumper> just waiting for my new bootstrap node to come up
[03:11] <thumper> then I'll add a couple
[03:11] <wallyworld> kk
[03:11]  * thumper looks at how to add a mount point to lxc config
[03:20] <thumper> hi mramm
[03:20] <thumper> mramm: really you, or just a machine?
[03:20] <mramm> really me
[03:20] <thumper> mramm: hey hey
[03:20] <mramm> how goes?
[03:36] <thumper> oh ffs
[04:17] <thumper> wallyworld: hey
[04:17] <wallyworld> hi
[04:17] <thumper> wallyworld: the reason the machine agent didn't start properly on the bootstrap node
[04:17] <thumper> wallyworld: is that the state server address it had was localhost :)
[04:17]  * thumper kicks a new machine up
[04:17] <wallyworld> thumper: so not my fault?
[04:18] <thumper> wallyworld: no
[04:18] <wallyworld> \o/
[04:18]  * thumper has started machine 1
[04:29] <thumper> hmm...
[04:29]  * thumper makes notes of extra bits needed
[04:30] <thumper> like, specific root file system location
[04:30] <thumper> mounting /var/log/juju
[04:30] <thumper> for some reason, when I run our cloud-init bits, I can't log in... damn password
[04:38] <thumper> wallyworld: what I do need is a machine watcher that watches for changes in containers on the machine
[04:38] <thumper> wallyworld: parameterised by container type
[04:38] <thumper> wallyworld: so "get me a watcher for lxc containers on machine x"
[04:39] <wallyworld> sounds reasonable
[04:41] <thumper> wallyworld: ok, machine 1 lxc machine agent fails with auth issues
[04:41] <thumper> so I'm probably doing something wrong there.
[04:42] <wallyworld> thumper: i had auth issues also just bootstrapping
[04:42] <wallyworld> and all of a sudden it came good
[04:42] <wallyworld> ec2 is stupid :-(
[04:42] <wallyworld> thumper: i have to run away and do the school pickup
[04:42] <thumper> ack
[06:44] <TheMue> morning
[08:05]  * fwereade__ seeks a further review on https://codereview.appspot.com/10166044/
[08:08] <TheMue> fwereade__: will do (and good morning btw)
[08:10] <fwereade__> TheMue, good morning, and cheers :)
[08:13] <TheMue> fwereade__: while I'm looking into your source, could you please add a hint to your review in https://codereview.appspot.com/10148045/diff/10001/state/state_test.go line 1272?
[08:22] <fwereade__> TheMue, just add two services which each have a peer relation, remove them both, Sync, and check you only get one event.
[08:22] <fwereade__> TheMue, might be nice as a separate test
[08:31] <TheMue> fwereade__: ok, good hint, thanks
[09:15]  * danilos_ steps out, back in ~30
[10:04] <fwereade__> rogpeppe1, https://codereview.appspot.com/10166044/patch/1/9
[10:04] <rogpeppe1> fwereade__: looking
[10:04] <fwereade__> rogpeppe1, you mean to just test that it's hooked up by doing something 100% broken and hoping for a characteristic error?
[10:04] <rogpeppe1> fwereade__: yes
[10:05] <fwereade__> rogpeppe1, I'm not sure that's a very solid technique compared to running the operation and verifying success
[10:05] <fwereade__> rogpeppe1, ah
[10:05] <fwereade__> rogpeppe1, but it's just the perm test
[10:05] <rogpeppe1> fwereade__: because we must get the permission-denied error (which is all this test is checking for) before it even tries to attempt the operation
[10:05] <fwereade__> rogpeppe1, gotcha
[10:05] <fwereade__> rogpeppe1, thanks
[10:05] <rogpeppe1> fwereade__: np
[11:30] <jam> mgz_, wallyworld: https://plus.google.com/hangouts/_/8868e66b07fa02bdc903be4601200d470dae9ee3  ?
[11:32] <mgz_> ta
[13:11] <TheMue> fwereade__: ping
[13:11] <fwereade__> TheMue, pong
[13:12] <TheMue> fwereade__: the resumer shall process the ResumeAll() on State.runner?
[13:13] <fwereade__> TheMue, yeah
[13:13] <fwereade__> TheMue, you could even just have a state.Resumer type that just happened to implement Worker
[13:14] <TheMue> fwereade__: ok, and here periodically?
[13:14] <fwereade__> TheMue, yes please
[13:14] <fwereade__> TheMue, I think I need to go eat some lunch though, didn't quite get round to it yet
[13:15] <fwereade__> bbiab
[13:15] <TheMue> fwereade__: Resumer in state? OK, so I don't need a function state.ResumeAll()
[13:15] <TheMue> fwereade__: enjoy your meal
[13:16] <fwereade__> TheMue, I'm not sure
[13:16] <fwereade__> TheMue, think through the tradeoffs and just precis why what you pick is more sensible ;p
[13:17] <fwereade__> TheMue, we can chat after kanban if you like
[13:23] <TheMue> fwereade__: sure, we can do
[13:23]  * TheMue just fetched an espresso
[13:33] <rogpeppe1> fwereade__: hasn't we decided to lose the stuttering?
[14:53] <fwereade__> TheMue, https://codereview.appspot.com/10148045/ reviewed, nearly there
[14:53] <TheMue> fwereade__: thanks
[15:02] <TheMue> fwereade__: I'm a bit confused now. while the tests with the two Destroy() before the last propose only raised one event I now have two :(
[15:02] <TheMue> fwereade__: so the coalescing as designed in the watcher doesn't work
[15:16] <TheMue> fwereade__: ah, it has to do with the change of Sync() to StartSync() in the asserts
[15:55] <TheMue> have to leave for today. will comeback to you tomorrow, fwereade__
[17:00] <ehw> does go-juju upload the tools tarball to MAAS automatically, or does I need to upload it manually?
[17:27] <ehw> I guess I should phrase that differently: is go-juju actually intended to work with MAAS?
[17:51] <fwereade__> ehw, --upload-tools will work if you're building from source; the alternative is `juju sync-tools` which is somewhat inelegant -- and currently requires valid ec2 credentials in env vars -- but that'll copy from the same place other environs get theirs
[17:51] <ehw> fwereade__, building from source, as in it works in unreleased versions?
[17:51] <ehw> fwereade__ i.e. trunk?
[17:52] <fwereade__> ehw, with trunk, you need --upload-tools
[17:52] <fwereade__> ehw, we made a mistake a few revs ago and trunk doesn't currently bootstrap released 1.10 tools, so it's a necessity today
[17:52] <fwereade__> ehw, in general it should not be
[17:53] <ehw> fwereade__, I'm running from ppa:juju/devel, so I'm assuming it's broke?
[17:54] <fwereade__> ehw, I'm not certain what version that implies -- 1.11?
[17:54] <ehw> 1.11.0-1~1240~precise1
[17:55] <ehw> against maas 1.2, from maas-maintainers/stable
[17:55] <fwereade__> ehw, if you have ec2 credentials, you can run `juju sync-tools` which should get you matching versions copied into environment storage
[17:55] <fwereade__> ehw, this is a sucky story
[17:55] <fwereade__> ehw, and it is in hand
[17:56] <fwereade__> ehw, but it's the story we have today
[17:56] <ehw> fwereade__, will probably need to do some django hacking then; we need to go on the bug warpath over the next couple of weeks
[17:57] <fwereade__> ehw, sorry, I 'm missing context -- what is it you're trying to do exactly?
[17:58] <ehw> fwereade__, in the larger context, document and debug MAAS, Juju, Openstack, and Landscape in preparation for the 13.09 LDS release
[17:58] <ehw> fwereade__, right now, I'm just trying to get juju-core to talk to maas ;)
[17:59] <fwereade__> ehw, if it's tools that are the problem you can do it even more low-tech
[18:00] <fwereade__> ehw, grabbing this and putting it in your environ's storage under the same path should get you a step further https://juju-dist.s3.amazonaws.com/tools/juju-1.11.0-precise-amd64.tgz
[18:00] <ehw> fwereade__, I've got the tarball, but I need to put it where juju is expecting it
[18:01] <ehw> fwereade__, which appears to be under MAAS/api/1.0/files/
[18:01] <fwereade__> ehw, in that case you *should* just be able to put it in tools/ therein
[18:01] <fwereade__> ehw, but: what actual error are you seeing?
[18:02] <ehw> fwereade__, error: no tools available
[18:02] <ehw> fwereade__, it hits the MAAS api looking for "GET /MAAS/api/1.0/files/?prefix=tools%2Fjuju-&op=list HTTP/1.1"
[18:03] <fwereade__> ehw, ok, yeah, putting something under tools/ in there should help
[18:03] <fwereade__> brb, let me know if it helps
[18:03] <ehw> fwereade__, yeah, but it's not a filesystem, it's binary blogs in the db
[18:03] <ehw> probably planning on using object storage for that at some point
[18:17] <fwereade__> ehw, you would possibly want to talk to bigjools about that, then, because I have not actually deployed on maas myself
[18:18] <fwereade__> ehw, but s3 is not, either, it just kinda looks like one if you squint a bit -- if the blob names can have /s you shoudl be fine
[18:18] <fwereade__> ehw, sorry, I need to be gone for a while now :(
[18:19] <ehw> fwereade__, no worries; I think I might be able to feel my way through this
[18:27] <ehw> ok, had to pop into maas shell and put the file there manually, but it bootstraps now
[22:05] <thumper> oops
[22:05] <thumper> forgot to tear down my ec2 instances yesterday
[22:10] <jcastro> thumper: I suppose that's better than forgetting them from 4 months ago
[22:10] <thumper> jcastro: haha
[22:10] <thumper> for sure
[23:51]  * thumper out for lunch