[02:19]  * thumper tries to remember menno's git trick
[06:50] <dimitern> morning all
[06:51] <dimitern> any willing reviewers around?
[06:51] <dimitern> I need a review on http://reviews.vapour.ws/r/167/ (req by hazmat) and this trivial one http://reviews.vapour.ws/r/168/
[06:53] <hazmat> g'morning
[07:34] <rogpeppe2> two trivial PRs: one to update depdendencies.tsv (https://github.com/juju/juju/pull/906), the other to fix a sporadic test failure i just saw (https://github.com/juju/juju/pull/907)
[07:34] <rogpeppe2> dimitern: ^
[07:36] <dimitern> rogpeppe2, looking in a moment
[07:36] <rogpeppe> dimitern: ta
[07:44] <dimitern> rogpeppe, both LGTM, second one with a question
[07:45] <dimitern> rogpeppe, can you review those two of mine I posted earlier? ^^
[07:45] <rogpeppe> dimitern: yes, that character is produced by Duration.String
[07:45] <rogpeppe> dimitern: that's why the test was failing
[07:45] <dimitern> rogpeppe, fancy :)
[07:46] <rogpeppe> dimitern: can i still merge with $$merge$$ or do i now have to go through vapour.ws ?
[07:48] <dimitern> rogpeppe, you can *only* merge the PR, RB is only for reviewing
[07:48] <rogpeppe> dimitern: ah, cool
[07:54] <dimitern> rogpeppe, so can you? :)
[07:55] <rogpeppe> dimitern: am doing. a bit of an unequal swap, if I may say so :)
[07:55] <dimitern> rogpeppe, well, at least the trivial one, not the FwNone one if you prefer
[07:56] <dimitern> hazmat, hey
[07:56] <dimitern> hazmat, have a look at http://reviews.vapour.ws/r/167/ if you want - it's what your asked for I think
[07:57] <hazmat> dimitern, did we decide anything last week re going back to github?
[07:57] <hazmat> for reviews
[07:58] <dimitern> hazmat, no, in fact we decided to automate the RB workflow by creating RB reviews and closing them as PRs appear
[07:58] <dimitern> ..and get merged
[07:59] <hazmat> dimitern, cool, i'm still in meetings atm. i'll take a look though
[07:59] <dimitern> hazmat, cheers
[08:02] <rogpeppe> dimitern: reviewed the trivial one
[08:03] <dimitern> rogpeppe, tyvm
[08:17] <mattyw> morning all
[08:38] <TheMue> morning btw
[08:41] <voidspace> TheMue: morning
[08:41] <voidspace> restarting computer
[08:41] <voidspace> brb :-)
[08:48] <dimitern> morning TheMue, voidspace, mattyw
[08:48] <dimitern> :)
[08:48] <voidspace> dimitern: morning
[08:48] <mattyw> dimitern, morning
[09:33] <TheMue> voidspace: done any steps regarding the installation of MAAS on gremlin? there is a controller running, but I don't know user and/or pw
[09:35] <TheMue> voidspace: looks like a fresh installation, the boot images are not yet imported (according to a message shown when trying to log in)
[09:44] <voidspace> TheMue: not me - probably elmo :-)
[09:45] <voidspace> TheMue: I think elmo talked to jam about it
[09:45] <voidspace> TheMue: jam is not around at the moment it seems
[09:45] <voidspace> TheMue: I'm going to install locally on my machine
[09:45] <TheMue> voidspace: ok, I'll try to see if the superuser is created via cli
[09:45] <voidspace> TheMue: but into a kvm image (probably bridged)
[09:45] <voidspace> TheMue: cool
[09:46] <TheMue> voidspace: kvm inside parallels? or extra machine?
[09:48] <rogpeppe> dimitern: interesting, it appears that the utf-8 microsecond symbol has appeared after go 1.3 (in tip)
[09:48] <dimitern> rogpeppe, so it fails earlier
[09:49] <voidspace> TheMue: on my desktop - which is native ubuntu
[09:49] <dimitern> rogpeppe, how about adding "u" to the [charset] in the regex?
[09:49] <rogpeppe> dimitern: i'm about to do that
[09:49] <TheMue> voidspace: ok
[09:49] <voidspace> TheMue: with plenty cpu / ram / hard drive
[09:49] <voidspace> TheMue: unlike my laptop....
[09:49] <TheMue> voidspace: ah, you are the one who took the orange box with him
[09:50] <voidspace> haha, I wish
[09:50] <TheMue> yeah, nice toy
[10:27] <voidspace> TheMue: did you create a MaaS superuser on gremlin?
[10:28] <voidspace> TheMue: ah, I see you did
[10:28] <voidspace> or someone did
[10:32] <TheMue> voidspace: someone
[10:32] <TheMue> voidspace: not me
[10:33] <voidspace> TheMue: it's the same user(name) we had before
[10:33] <voidspace> TheMue: it was probably still elmo - I told him what username and password we used
[10:33] <TheMue> voidspace: interesting
[10:33] <TheMue> aaah
[10:33] <voidspace> he wasn't impressed with our high-security password :-)
[10:33] <TheMue> hehe
[10:33] <TheMue> absolutely
[10:34] <TheMue> that's a typical superuser problem, instead of heaving administrator groupd and adding individual users to it
[10:34] <voidspace> right
[10:34] <TheMue> when it's MY machine it's no problem, but when sharing it ...
[10:37] <voidspace> TheMue: interesting - I added a new VM (kvm instance) and it has automatically shown up in the MaaS cluster
[10:37] <voidspace> I need to add power details
[10:37] <voidspace> at least when I manually started it it came up
[10:37] <TheMue> voidspace: nice
[10:38] <voidspace> TheMue: what's the format for power address and power id?
[10:38] <voidspace> I can look it up
[10:38] <TheMue> voidspace: hmm, here it maybe enough to add the maa user to the libvirt group
[10:38] <voidspace> yep, needed anyway I think
[10:39] <TheMue> voidspace: http://www.teale.de/tealeg/computing/cloud/kvm_maas_juju_openstack.html#sec-5-4
[10:39] <voidspace> done
[10:41] <voidspace> TheMue: we still need to generate a key for the maas user I think
[10:41] <TheMue> voidspace: seems so
[10:41] <voidspace> hmmm... although it's running on the host
[10:41] <voidspace> but it will still use ssh+qemu I think
[10:41] <TheMue> voidspace: btw, did you start the boot image import? otherwise I'll do it now
[10:41] <voidspace> I didn't
[10:41] <TheMue> voidspace: ok, I start it
[10:41] <voidspace> I'm downloading a utopic iso image locally
[10:42] <voidspace> my internet connection is horrible :-/
[10:43] <TheMue> voidspace: hmm, and here I've got troubles with the boot images link, I get a "not found"
[10:44] <TheMue> voidspace: ah, the link misses the "MAAS" part of the URI, interesting
[10:59] <voidspace> TheMue:  sudo -u maas virsh -c qemu+ssh://maas-admin@localhost/system list --all
[11:05] <rogpeppe> two trivial PRs for review: https://github.com/juju/utils/pull/44 and https://github.com/juju/charm/pull/62
[11:08] <rogpeppe> anyone know what can cause an "Extant directories unknown" error in the 'bot ?
[11:08] <rogpeppe> http://juju-ci.vapour.ws:8080/job/github-merge-juju/920/console
[11:08] <rogpeppe> ah, i know.
[11:09] <rogpeppe> well, perhaps.
[11:09]  * rogpeppe tries something.
[11:12] <luca> ?
[11:25] <voidspace> TheMue: can you see the node?
[11:26] <voidspace> TheMue: I see one node with the status Ready
[11:26] <voidspace> and I need coffee
[11:33] <TheMue> voidspace: strange, have the headline "0 nodes in gremlin MAAS" here in the UI
[11:38] <voidspace> TheMue: how odd
[11:41] <TheMue> voidspace: I'm logged in with our admin user
[11:59] <voidspace> TheMue: I'm logged in as maas-admin
[12:00] <voidspace> maas-test-controller - 1 node in this MAAS
[12:00] <voidspace> our node is called "useless-weight"
[12:01] <voidspace> which is a pretty cool name
[12:06] <TheMue> virsh list --all shows me maas-test-controller running and maas-test-1 shut off
[12:07] <voidspace> that's correct
[12:07] <voidspace> the node is not running
[12:07] <TheMue> but I don't see any "useless-weight"
[12:08] <TheMue> only 0 nodes :,(
[12:08] <voidspace> I've logged out and back in again and I still see it
[12:08] <voidspace> that's very odd
[12:08] <jcw4> rogpeppe: I figured out what was causing that Extant directories issue
[12:09] <voidspace> TheMue: now I am home my power supply works fine...
[12:09] <voidspace> which is good, but also odd
[12:12] <TheMue> voidspace: oh, one moment, do you logged into the maas controller on gremlin or inside the image maas-test-controller?
[12:13] <voidspace> TheMue: I am logged into the maas controller (web view) on gremlin
[12:14] <voidspace> My local url being http://localhost:8080/MAAS/
[12:14] <voidspace> and I'm running ssh forwarding
[12:14] <voidspace> ssh gremlin -L 8080:10.124.0.11:80
[12:15] <dimitern> voidspace, you could run a vpn connection to access gremlin's internal ip directly - that's what I use
[12:15] <TheMue> voidspace: ah, so we're using different controllers
[12:15] <voidspace> dimitern: this is easier
[12:15] <voidspace> TheMue: ah, yes
[12:15] <voidspace> maas-controller image is a different maas
[12:16] <voidspace> maas-test-controller
[12:16] <voidspace> heh, that's why
[12:16] <voidspace> TheMue: I'm using the MaaS that's installed *on gremlin*
[12:18] <TheMue> voidspace: me too
[12:19] <TheMue> voidspace: but then you don't need port forwarding, you can use gremlin/MAAS directly
[12:19] <voidspace> TheMue: if I use the VPN ?
[12:20] <voidspace> this works and is easy enough
[12:21] <TheMue> voidspace: the forwarding was only needed for a MAAS controller inside a KVM
[12:21] <TheMue> voidspace: I start the vpn and then can talk to port 80 on gremlin directly
[12:22] <voidspace> right, I'm not using a vpn
[12:22] <voidspace> so I need the port forwarding
[12:23] <TheMue> voidspace: yeah, but you're talking to .11 (that's the KVM I installed on Friday), not to .10 (which is gremlin itself running a controller too)
[12:23] <voidspace> oh really!
[12:23] <TheMue> :D
[12:23] <voidspace> hah
[12:23] <voidspace> so the kvm image appeared there automatically
[12:23] <voidspace> I didn't manually add the node
[12:23] <voidspace> how funny
[12:24] <voidspace> I just copied the port forwarding from my laptop
[12:24] <voidspace> I didn't check the ip address
[12:24] <TheMue> *lol*
[12:25] <TheMue> so I still would like to know which node you see if only one KVM instance is running, the controller itself *stunning*
[12:28] <voidspac_> TheMue: installing MaaS locally into a KVM image has seized the keyboard / mouse
[12:28] <voidspac_> TheMue: and the key combination it wants to release it doesn't appear to exist on my keyboard (I've remapped some of the keys...)
[12:29] <voidspac_> TheMue: so even when only the controller is running the cluster knows about the other node
[12:29] <voidspac_> TheMue: it shows it as in a Ready state
[12:31] <voidspac_> TheMue: I'm going on lunch
[12:31] <voidspac_> back in a bit
[12:33] <dimitern> waigani, hey, are you around for a review?
[12:37] <dimitern> http://reviews.vapour.ws/r/167/
[12:37] <waigani> hey dimitern, sure just abut to head for lunch though
[12:38] <dimitern> waigani, sure, np - when you can, have a look please :)
[12:41] <rogpeppe> jcw4: oh yes?
[12:41] <jcw4> rogpeppe: it's a godeps issue I believe
[12:42] <rogpeppe> jcw4: entirely probable...
[12:42] <alexisb> jcw4, it is before 6am for you, thats dedication
[12:42] <jcw4> (coupled with a juju-release-tools weirdness)  lol
[12:42] <jcw4> alexisb: gotta maximise overlap
[12:43] <jcw4> and right back at you alexisb
[12:43] <jcw4> :)
[12:43] <jcw4> rogpeppe: godeps seems to follow second level imports at the HEAD revision of first level imports
[12:44] <jcw4> rogpeppe: before updating the first level imports to the dependencies.tsv revision
[12:44] <rogpeppe> jcw4: when updating, godeps doesn't follow imports at all AFAIR
[12:44] <alexisb> jcw4, I am in Brussels so it is normal time for me
[12:44] <jcw4> rogpeppe: yeah, I think it does
[12:44] <jcw4> alexisb: whew
[12:44] <jcw4> :)
[12:45] <jcw4> rogpeppe: it does a go get -d ....
[12:45] <jcw4> which seems to be a little recursive
[12:45] <rogpeppe> jcw4: go get -d shouldn't follow imports
[12:45] <jcw4> hmm
[12:45] <rogpeppe> jcw4: (that's the point of the -d flag)
[12:45] <jcw4> rogpeppe: when I was testing yesterday it seemed to
[12:46] <rogpeppe> jcw4: ah, you're right
[12:46] <rogpeppe> jcw4: i misread/misremembered what that flag did
[12:47] <jcw4> rogpeppe: of course then the juju-release-tools check that no *extra* packages are downloaded, it causes that Extand directories error
[12:47] <jcw4> Extant even
[12:47] <rogpeppe> hmm, i wonder what the best way is of just fetching a repo without its dependencies
[12:48] <jcw4> rogpeppe: I can't think of a way to work around this other than to relax the juju-release-tools check
[12:48] <mgz> rogpeppe, jcw4: I should probably email the list explaining,
[12:48] <mgz> but I think we can just fix
[12:49] <jcw4> mgz: I'm on the edge of my seat waiting for the rest of that comment
[12:49] <mgz> the issue is go get pulls in tip of master and all dependencies of tip of master, which somewhat conflicts with the concept of having clear and well defined deps
[12:49] <jcw4> mgz: right
[12:50] <mgz> so, can either not use go get in godeps, or make the tarball creation delete extranious things go get went and got and trust the build to blow up if they did actually matter
[12:50] <rogpeppe> mgz: yeah. i think godeps should probably avoid using go getr
[12:50] <jcw4> well I'm guessing we're more likely to 'fix' godeps than go get
[12:50] <mgz> rogpeppe: I had a brief go at that last night, it's a little annoying
[12:51] <rogpeppe> mgz: yeah, there's a fair amount of logic in the go tool that would need duplication
[12:51] <mgz> but is possible to add a Clone() to VCS and do our own mapping of how to get launchpad.net/ github.com/ etc
[12:51] <rogpeppe> jcw4: well, go get is working as advertised, so it doesn't really need fixing
[12:52] <mgz> the dep collection is at least already there and could be resused
[12:52] <rogpeppe> jcw4: except i guess to add another flag to specify that deps should not be downloaded
[12:52] <mgz> yeah, that's sort of what we want
[12:52] <jcw4> rogpeppe: I wonder if we used tags instead of head revisions in the import url
[12:53] <mgz> jcw4: we still have the problem that go get always gets master
[12:53] <rogpeppe> jcw4: go get does what it does. no way to specify tags to go get
[12:53] <mgz> not tags
[12:53] <jcw4> rogpeppe, mgz I thought if the import path ended with .something go get looked for a something tag to check out
[12:53] <rogpeppe> jcw4: i don't think so
[12:54] <jcw4> hrm - I would expect go get would want to be more deterministic too
[12:55] <mgz> rogpeppe: I think, as a fix for now, I'm going to delete unknown dirs, and trust that things will break
[12:55] <rogpeppe> mgz: i'm not sure that's quite in the spirit of that check
[12:55] <rogpeppe> mgz: isn't the point of that check to make sure that we include godeps info for all our deps?
[12:55] <mgz> yes
[12:56] <rogpeppe> mgz: ah, i see
[12:56] <rogpeppe> mgz: sgtm
[12:56] <rogpeppe> mgz: if we're really dependent on it, then it should break
[12:56] <jcw4> +1
[13:03] <mgz> ick... the script is so nice and safe at present
[13:03] <mgz> making in rmtree stuff is a little scary
[13:03] <jcw4> mgz: lol
[13:04] <jcw4> mgz, rogpeppe would using gopkg.in-like urls for dependencies avoid this issue?
[13:04] <rogpeppe> jcw4: no
[13:04] <mgz> nah
[13:04] <jcw4> :(
[13:12] <rogpeppe> mgz: please let me know when i can try to re-land that branch...
[13:12] <mgz> rogpeppe: will do
[13:20] <mgz> rogpeppe: done change, writing some tests before proposing/landing
[15:35] <rogpeppe> mgz: did you manage to get those changes in?
[16:14] <marcoceppi_> what's the configuration option to disable apt-get upgrade on add machine and is it in 1.20 ?
[16:17] <jrwren> marcoceppi_: enable-os-upgrade: false    i'm pretty sure its not in 1.20.
[16:17]  * marcoceppi_ raises fists to the sky, falls to his knees, and yells NOOOOOOOOOOOOOOOO
[16:18] <jrwren> marcoceppi_: There is master. It can be your friend.
[16:18] <marcoceppi_> sure, run a demo using tip of tip, what could go wrong
[16:19] <mbruzek> marcoceppi_: https://bugs.launchpad.net/juju-core/+bug/1350493
[16:19] <mup> Bug #1350493: 1.20.x local provider not running apt-get update <charms> <regression> <juju-core:Fix Released by cox-katherine-e> <https://launchpad.net/bugs/1350493>
[19:41] <thumper> morning folks
[19:41] <jcw4> hi thumper
[19:42] <jcw4> waigani: I have a question about state localID and docID
[19:42] <waigani> jcw4: go for it
[19:42] <jcw4> :)
[19:42] <thumper> waigani: still working?
[19:42]  * thumper looks around for fwereade
[19:42] <jcw4> does it make sense to do a prefix check on docID like there is in localID?
[19:43] <waigani> thumper: i need to talk to you about the watcher and localID/docID
[19:43] <jcw4> I'd like to be able to safely pass an environment prefixed id to docID
[19:44] <waigani> oh right
[19:44] <jcw4> I could just do docID(localID(id))
[19:44] <jcw4> but ...
[19:44] <waigani> no, ugly
[19:44] <jcw4> yep
[19:45] <waigani> why do you need to docID() if it already has the prefix?
[19:45] <waigani> i'm guessing because you are not sure if it has it or not
[19:45] <jcw4> waigani: I have a method that might be called with either
[19:45] <jcw4> yep
[19:45] <waigani> i would argue that the code would be easier to read if you did the check in that method
[19:46] <jcw4> waigani: okay, that's plausible
[19:46] <thumper> waigani: did you want a hangout?
[19:46] <jcw4> tx waigani
[19:46] <waigani> that way, it is clear that the method handles an ambiguous id
[19:46] <jcw4> good point
[19:47] <waigani> which, i for one, would be glad to spot when reading your method
[19:47] <jcw4> interesting
[19:47] <jcw4> so... if the method today does docID(id)
[19:47] <waigani> then I'd assume that id is a localID
[19:47] <waigani> no further checking needed
[19:48] <jcw4> okay.  Thanks again
[19:48] <waigani> i.e. do the prefix check in your method
[19:48] <waigani> thumper: okay
[19:48] <jcw4> yeah
[19:48] <waigani> thumper: hangout channel?
[19:49] <thumper> waigani: you mean standup hangout?
[19:49] <waigani> lol - yeah, sigh
[19:49] <waigani> it's late
[20:58] <thumper> cmars: hey, you around?