[00:00] wallyworld: bigjools needs gwacls updated on the bot ? [00:00] * bigjools needs gwacl updating on there so I can land a dependent core branch [00:00] i think i can. never done it. let me try [00:00] mucho grassy ass [00:07] bigjools: i can ssh into the bot machine and i've found the src tree but when i do a bzr status in the gwacl directory i get: bzr: ERROR: No such file: u'/home/tarmac/trees/src/launchpad.net/gwacl/.bzr/checkout/shelf' [00:07] nfi [00:07] can you just do a "bzr up" [00:07] seems like it's a checkout [00:08] why wouldn't bzr status work? [00:08] nfi [00:08] does bzr info work? [00:08] yes [00:09] there's a lock preventing update right now. but there's also a build running [00:09] i'll try again after the build [00:09] how often does tarmac run? [00:09] you might need to disable it temporarily [00:09] actually, it's a permission denied [00:10] O_o [00:10] because i'm logged in as ubuntu and it seems i need to be ~tarmac [00:11] and i don't know the password to su [00:11] i'll see if it's in an email somewhere [00:11] can you ssh tarmac@ ... ? [00:12] no, permission denied public key [00:12] ah well [00:12] i'll try and find a password [00:12] thanks man [00:23] bigjools: done [00:23] wallyworld: \o/ thanks [00:23] coffee++ [00:23] np. rev is 207 [00:23] yeah coffee [01:10] wallyworld: while you are in the landing bot, care to update loggo? [01:10] heads up, 1.12.0 has been released https://launchpad.net/juju-core/1.12/1.12.0 [01:10] thumper: sure [01:12] heya davecheney and thumper! [01:12] hi jcastro [01:13] jcastro: sup! [01:13] shiny 1.12! [01:14] jcastro: yeah, just doing the paperwork now [01:14] wallyworld: to deploy wordpress in a container on machine 0 I can do `juju deploy wordpress --to lxc:0` ? [01:15] wallyworld: and for a new machine "--to lxc" [01:15] thumper: supposedly :-) [01:15] ? [01:15] wallyworld: I'll try [01:15] my eyes are funny [01:15] the --to lxc doesn't work i don't think [01:15] I think it is lack of oxygen or something [01:15] I deployed an entire wordpress stack to one AWS node today, it was glorious [01:15] jcastro: yeah, saw the blog post [01:16] * thumper waits for scp so he can bootstrap [01:16] then I can go do something else while it boots [01:16] jcastro: do you have any test maas environments? [01:17] thumper: loggo on tarmac says no new revisions to pull [01:17] thumper: nope [01:17] wallyworld: check to see if it is a branch or checkout [01:17] wallyworld: also check revno [01:17] thumper: I do know the world wants constraints for the maas provider [01:18] wallyworld: want 39 [01:18] thumper: yep, it is [01:18] oh... ok [01:18] seems updated then [01:18] \o/ [01:18] coolio [01:19] jcastro: perhaps I should ask sabdfl for access to his maas :) [01:20] I was going to recommend that exact thing [01:20] mims is on holiday so it's probably sitting idle [01:20] https://docs.google.com/a/canonical.com/document/d/1eeHzbtyt_4dlKQMof-vRfplMWMrClBx32k6BFI-77MI/edit#heading=h.o3idq0wwl0yz [01:20] * thumper turns the lights on in bigjools's room [01:20] ^ nudge, please add agenda items for tonight [01:20] evilnickveitch: ping [01:21] davecheney: ack [01:21] [01:23] still can't access all hands ... [01:30] thumper: i didn't know bigjools liked it with the light on? [01:31] true, you normally turn it off for us [01:31] yep, but then i can't watch :-( [01:34] axw: do you think https://canonical.leankit.com/Boards/View/103148069/105051172 is done ? [01:35] (sorry if you don't have perms for leankit) [01:35] davecheney: looking [01:35] I do now [01:35] davecheney: it works fine for me [01:35] I have the 13.04 packaged version [01:36] never saw any of the weirdness that was logged in the LP bugs [01:36] cool, assign to yourself and move it to the RHS [01:36] okey dokey [01:36] davecheney, hi [01:37] m_3: marcoceppi: thanks for the replies. could you copy to the list also so others can see your thoughts? sorry, i should have cc'ed you to the original juju-dev email [01:37] wallyworld: yeah, just joined the juju-dev mailing list. Surprised I wasn't already on it [01:38] axw: how about this one ? https://canonical.leankit.com/Boards/View/103148069/106071705 [01:38] davecheney: no. thumper has something in the works that changes logging, so I'm holding off for now [01:38] * thumper is back [01:38] wallyworld: cc'd [01:38] thanks :-) [01:39] ok [01:39] davecheney: yeah I have a branch pending that messes with logging somewhat [01:40] thumper: ok [01:40] cool [01:41] hey, remove-unit also takes the instance down right? [01:41] davecheney: when you say move to the right, do you mean into the review column? [01:41] jcastro: yes [01:42] that's what I thought [01:42] axw: at your judgement, if it isn't reviewable, then drop it in merged [01:42] i look in that column when writing the release notes [01:42] ok [01:47] wallyworld: so... how do I deploy something into a new machine in a container [01:47] what's the syntax? [01:47] thumper: let me check. i thought you needed to use add-machine first [01:48] there was a constraint also [01:48] right [01:48] I'm hoping I can just go 'juju deploy mysql --constraints container=lxc [01:48] something like that [01:50] thumper: yes that will work [01:50] but it's not what big mark likes [01:51] :) [01:51] he prefers add-machine [01:51] to create a container [01:51] then --to to select [01:51] * thumper tries it [01:51] thumper: we haven't publicised the constraints version [01:51] because it is verboten [01:51] ok, that is starting [01:52] but the code was already committed [01:52] * thumper waits 25 minutes [01:52] I have wordpress coming up in 0/lxc/0 [01:52] and mysql in 1/lxc/0 [01:52] thumper: I see node 2 startting [01:52] yay [01:52] and we'll see if they can talk to each other [01:52] that one has a VGA cable on it :) [01:52] don't forget to add a relation [01:52] bigjools: yep, up it comes [01:53] relation added [01:53] now we wait [02:10] if anyone's bored, I would appreciate some more eyes on this: https://codereview.appspot.com/12019043/ [02:10] davecheney: I yoinked the code out of your old branch for debug-hooks [02:11] thanks [02:11] :) [02:11] thumper: it's booting locally now [02:12] \o/ [02:15] thumper: might be done [02:22] bigjools: no, it is downloading the cloud image for the container now [02:23] thumper: my interwebs don't look that busy, so I suspect not [02:23] ah... dumb bug [02:23] I saw the same bug on ec2 [02:25] bigjools: how's those interweb tubes now? [02:25] thumper: busy [02:26] I see blinkenlights [02:26] \o/ [02:26] two lots of routers, three lots of switches and a modem all looking furious with you [02:38] oh fark [02:38] * thumper stabs maas [02:38] the uniter internally dies inside the container [02:39] /var/lib/juju/MAASmachine.txt: no such file or directory [02:39] is container a verb here? :) [02:39] * thumper hacks something [02:40] * davecheney containers something [02:40] aahgg [02:40] * thumper stabs the nearest thing [02:41] * davecheney goes for lunch [02:44] poo bum [02:44] * thumper grrs [02:45] I know what that failed now [02:47] bigjools: hey [02:47] yarp [02:47] bigjools: is there a monitor attached to your maas controller? [02:47] and keyboard? [02:47] bigjools: if you hit http://10.0.0.208 what do you see? [02:47] bigjools: I'm hoping for a wordpress error page [02:47] saying no db configured [02:48] you mean the server or one of the nodes? [02:48] or something like that [02:48] bigjools: just something on the 10 net [02:48] bigjools: the server is fine [02:48] I don't, I would only ssh into the server and use wget [02:49] :( [02:49] ok [02:49] but you can do that too :) [02:50] * thumper noes [02:50] the 10. network is totally isolated for safety, I only access via ssh to the maas server [02:50] you could port forward with ssh [02:50] remember how -L works [02:51] -L localport:remotehost:remoteport [02:51] where remotehost is the IP as seen from the host you're sshing into [02:55] oh yeah... [02:56] wallyworld: definitely got a problem with the machine watcher [02:56] on new machines [02:56] wallyworld: where it is looking for containers [02:56] wallyworld: it isn't getting initial state [02:56] that bit was rewritten by william i think [02:57] :( [02:57] there was a large refactoring some weeks back [03:13] agent-state-info: 'hook failed: "config-changed"' [03:13] jpw dp O fox tjat? [03:13] hehe [03:13] how do I fix that? [03:13] that was an unintentional weird right hand shift cypher [03:44] * thumper sets up two ssh tunnels [03:44] * thumper wonders if this weird shit will work [03:44] * thumper has broken juju in a number of ways today [03:54] *sad face* [03:54] * thumper needs debug hooks [04:08] thumper: https://codereview.appspot.com/12019043/ ;) [04:08] shortly, off to make a coffee and drown my woes in caffeine [04:09] heh :) [04:21] axw: do you think debug hooks will land this week ? [04:36] axw: I have a feeling that review is going to take longer than I can actually give right now [04:36] * thumper hands it to wallyworld [04:36] * thumper writes up learnings [04:36] * wallyworld is trying to get ^#@!%^^! tests to pass [04:40] davecheney: sorry, was making lunch. not sure - still at 0 LGTMs ;) [04:41] thumper: nps [04:56] * thumper back for the meeting later === thumper is now known as thumper-afk === tasdomas_afk is now known as tasdomas [06:07] wallyworld: https://docs.google.com/a/canonical.com/document/d/1WpyfTgaChhmYFqPESBvfavbqLD1Fsj16NLW5PhmWxis/edit# [06:07] ^ as you've made everyone very happy with the --to flag [06:07] could you write a line or two about it [06:07] natefinch: bonjour! [06:08] davecheney: when is the release? friday? [06:09] yup [06:09] or next week [06:09] but it's been two weeks since we did one [06:09] davecheney: i have to go get my kid from school, i'll do it a bit later [06:09] wallyworld: no hurry [06:11] davecheney: --to was already released in 1.11.3 [06:11] wallyworld: really ? [06:11] did we call it out ? [06:11] yeah [06:11] i just checked the relese notes [06:11] oh well, ignore it then [06:12] ok :-) [06:12] * wallyworld drives to do school pickup [06:33] wallyworld: https://codereview.appspot.com/12232043/ [06:34] ^ won't this CL drive bigjools even more mental ? [06:34] ie, we're moving state out of the state, back to the local disk ? [06:54] davecheney: it's not state but rather configuration [06:55] stuff that was in env.yaml but will now be separate [06:55] it's as per big mark and william's design [06:55] fair enough [06:55] i'm sure they know what they are doing [06:55] let's hope so ;-) [06:55] config is a cluster fuck [06:55] yep [06:55] it' can't get any worse [06:56] yep :-) [06:56] this will make it much easier for users [06:56] it's one step of many [06:56] i'm sure it's written down [06:56] to clean up env.yaml [06:56] i just missed it [06:57] davecheney: https://docs.google.com/a/canonical.com/document/d/1ncsNzDHauV_9Fwsm59GjX0-O-_g48UYnObefwtBStG0/edit [06:57] that's the ticket [06:57] mornin' all [06:57] davecheney: hiya [06:57] g'day [06:57] davecheney: do you know where i can get hold of a copy of juju v1.12 ? [06:58] rogpeppe: https://launchpad.net/juju-core/1.12/1.12.0 [06:58] davecheney: does that have the dependencies too? [06:58] rogpeppe: yes [06:59] davecheney: great, thanks! [06:59] untar it, set your GOPATH to the base of the tar [06:59] go install ... [06:59] davecheney: the idea with config is that bootstrapping gives us a nugget of information that we store to the local disk (or in some other service). [06:59] davecheney: we then use that to connect back to the environment [07:00] davecheney: it's definitely a change of model, but i think it makes some kind of sense [07:00] davecheney: and we've already moved in that direction by storing the CA cert locally [07:01] rogpeppe: wallyworld not arguing with you two in anyway [07:01] but bigjools with go ape balls [07:01] that may or may not be a concern [07:01] davecheney: i'm interested in your reaction, because this is definitely a change in direction and i don't think it's been widely discussed [07:02] davecheney: and i'm interested what concerns bigjools might have too [07:02] rogpeppe: in as much as I am repeating what bigjools said, he doesn't like all the stuff we store in ~/.juju [07:02] i take no position on the matter as I have not been invovled in the design [07:03] the long term goal is to store it in the cloud, for jaas etc [07:03] it's all in the doc [07:03] davecheney: do you know why he doesn't like the stuff we store in ~/.juju ? [07:03] rogpeppe: he has more than one computer [07:03] hence the long term goal :-) [07:03] davecheney: presumably he has to replicate his environments.yaml across all his computers [07:04] and this isn't adding anything more locally [07:04] just moving the deck chairs a little [07:04] davecheney: i guess he only has to do that once though (now), for a given environment [07:04] wallyworld: actually i think this *is* adding more locally [07:04] and it will still be only once [07:04] wallyworld: it's manufacturing a control bucket [07:04] we do that *now* [07:04] with juju init [07:05] wallyworld: that's different [07:05] wallyworld: you don't need to use juju init [07:05] but most people do [07:05] wallyworld: and it's a manual editing step [07:05] i've read that documenta nd mow even more confused [07:05] sorry, whats manual? [07:05] wallyworld: and it only happens once for a given environment, no matter how many times that env is bootstrapped [07:05] wallyworld: you edit environments.yaml manually [07:05] that's all that happens with the new stuff too [07:06] it's on;y done once [07:06] no need to edit env.yaml with juju init [07:06] so long as your env variables contain creds [07:06] wallyworld: so you don't create a new .environments/xxx file every time an env is bootstrapped? [07:06] nope [07:06] just the first time [07:06] for a given environment [07:07] wallyworld: hmm, interesting. i'm not sure that's right actually, but i'll reserve judgement [07:07] so new env.yaml + local = old env yaml [07:07] so same info, just now in 2 places [07:07] env.yaml is the user facing bit [07:07] we want to make that as simple as possib;e [07:08] users don't need to edit admin secret or control bucket [07:08] that's internal juju magic [07:08] that shouldn't be exposed [07:09] wallyworld: oh, so is this CL just hiding those two config options and setting them automatically ? [07:09] you're not actually deleteing hte concept of a control bucket ? [07:09] yep [07:09] nope :-) [07:09] wallyworld: the difficulty is that now we're assuming that the control bucket we automatically generate (out of the user's control) is going to be ok to use for all time [07:09] right, objection withdrawn, i completely misunderstood what you were proposing [07:09] +1, carry on [07:09] :-) [07:10] rogpeppe: i gotta take the dog for a walk, happy to discuss later [07:10] wallyworld: enjoy! === axw_ is now known as axw [07:14] someone remind me to reboot five mins before the meeting please :) [07:14] wallyworld: I don't understand all the implications, but I was confused by those things in environments.yaml when I came across them. Wasn't sure what, if anything, I was meant to do with them. [07:29] * bigjools reads scrollback and thinks that davecheney thinks I'm an ogre [07:29] bigjools: you're not? [07:29] bigjools: :-) [07:30] I am simply impatient with fuckwittery :) [07:31] bigjools: makes you scary to all us fuckwits :-) [07:31] ha [07:31] it's probably the meds I am taking, they make me do crazy things [07:31] bigjools: i am interested in your thoughts on this direction BTW [07:32] can you summarise? I didn't read scrollback in detail [07:32] morning [07:32] bigjools: basically, we're moving towards a model where bootstrapping an environment yields a nugget of information that's later used to connect to that environment [07:32] bigjools: i was recalling your conversation when you found out how much environment specific state we stored on the client [07:33] bigjools: that will currently be stored in local disk, but later can be stored in the cloud [07:33] ah right [07:33] TOO THE CLOUD! [07:33] my thoughts are that this should be as HA as anything else [07:33] https://twitter.com/riskybusiness/status/362456762521120768 [07:33] bigjools: this makes it possible to elimininate currently manually specified attributes such as control-bucket, and possibly admin-secret and others [07:33] I know that film... [07:34] rogpeppe: +1 to config elimination [07:34] rogpeppe: it sounds like you and wallyworld are working at cross purposes [07:34] wallyworld: is just making them take sensible defaults [07:34] and you are trying to move them [07:35] bigjools: obviously we can't eliminate config *entirely* because we need cloud credentials [07:35] davecheney: i don't *think* so [07:35] well obviously, but there's some stuff that's always been unnecessary [07:36] davecheney: there's no sensible default for control-bucket, because of s3's global name space [07:36] rogpeppe: a guid is a sensible default [07:36] davecheney: sure, but then you need to store that guid somewhere [07:36] rogpeppe: hence why i say that you and wallyworld are working at cross purposes [07:37] davecheney: you may well be right [07:37] davecheney: i'm coming from my understanding of fwereade and big mark's discussions [07:37] i read that document [07:37] davecheney: which may well be critically flawed [07:37] it appears unrelated [07:38] davecheney: btw I'll let you know tomorrow about azure improvements [07:38] davecheney: search for "# write local state as follows:" in the document [07:39] davecheney: that's the related piece [07:49] wallyworld: it looks to me from https://codereview.appspot.com/12232043/diff/1/cmd/juju/bootstrap.go that the local state *is* written every time we call Bootstrap [07:53] natefinch: it's dangerous to go alone, take this https://plus.google.com/hangouts/_/calendar/bWFyay5yYW1tLWNocmlzdGVuc2VuQGNhbm9uaWNhbC5jb20.mut2dk4mvoj39eq8jqni20ukoc?authuser=1 [07:54] mgz: 5 mins (or so) [07:55] davecheney: thanks [07:56] axw: ta! [08:01] fwereade: meeting? [08:02] fwereade: meeting? [08:02] wallyworld: ^^ [08:28] mramm: I'm counting on you cancelling the managers meeting in 2.5 hours :) === thumper-afk is now known as thumper [08:29] mramm: just saw the notification \o/ [08:30] thumper: cool [08:30] see you in a couple of days ;) [08:31] mramm: yep [08:31] travel safe [08:36] ok, back to bed for me. [08:36] night [08:36] fwereade, wallyworld: lost you [08:48] rogpeppe: dimitern: stupid network died again, will talk to you guys after dinner [08:48] wallyworld___: ok [08:52] ([a-z]+:)?[0-9]+(/[a-z]+/[0-9]+)* [08:53] enlightening [08:53] mgz: :-) [08:53] doesn't match [08:54] lxc:0/kvm/12 [08:54] rogpeppe, lxc:0/kvm/12 is meaningless, I think [08:54] ah I see [08:54] fwereade: orly? [08:55] rogpeppe, yeah, ignore me [08:55] rogpeppe, wallyworld___, dimitern: my internets seem to be maybe functional again [08:56] rogpeppe, wallyworld___, dimitern: so I'm back in the team meeting hangout if I'm wanted [08:56] fwereade: i'm suggesting that we should have something in the names package that understands that syntax, and knows at least how to split off the new container part [08:56] rogpeppe, still don't really think it's about names [08:57] rogpeppe: are you okay with my response to your destroy-environment comments? okay to land? [08:59] rogpeppe: dimitern: try again? [09:06] wallyworld___: i filed bug 1207230 for it [09:06] <_mup_> Bug #1207230: cmd/juju/addmachine.go might fail with unsupported container [09:07] it's not urgent, i'll take care of it today or tomorrow [09:07] dimitern: there error is that is not rejecting a machine id as an arg with a friendly message [09:07] wallyworld___: oh? [09:08] wallyworld___: isn't it supposed to accept both type:machine and machine? [09:08] the arg has to be either an container type (lxc) or a container with machine (lxc:1) [09:08] no [09:08] remember it is adding a machine [09:08] exactly, that's what i was saying [09:08] add-machine machine-id makes no sense [09:08] aaa [09:08] ok [09:09] so it should be "type:machine" or "type" only [09:09] the error is the syntax check above the split is broken [09:09] yes [09:09] yep, ok will amend the bug [09:09] thanks, sorry that i was initially unclear [09:09] i had to cast my mind back [09:11] no worries, thanks for clarifying [10:22] * fwereade back much later [10:23] rogpeppe, TheMue: https://codereview.appspot.com/12198044 - StringsWorker [10:26] good night [10:35] dimitern: you've got a review [10:35] TheMue: cheers [10:36] rogpeppe: ping [10:36] dimitern: pong [10:36] rogpeppe: can you take a look at https://codereview.appspot.com/12198044 [10:36] dimitern: will do [10:37] rogpeppe: thanks [10:46] rogpeppe: after that, can you look at the branches I've put up and tell me where I'm going wrong? [10:46] mgz: i'll have a look [10:46] thanks === ChanServ changed the topic of #juju-dev to: https://juju.ubuntu.com | On-call reviewer: - | Bugs: 5 Critical, 81 High - https://bugs.launchpad.net/juju-core/ [11:18] dimitern: reviewed [11:19] mgz: which branch should i look at first? [11:22] I feel like I was just here... [11:23] rogpeppe: thanks! [11:24] rogpeppe: no Stop() ? [11:24] dimitern: indeed. [11:24] rogpeppe: i don't get it [11:24] dimitern: not necessary [11:24] rogpeppe: expand please [11:25] dimitern: worker.Stop(typeWithKillAndWaitOnly) == w.Stop() [11:25] dimitern: oops, didn't mean to send that [11:25] dimitern: basically, nothing needs Stop - it's entirely implementable with Kill and Wait [11:25] dimitern: and the only thing we need workers for is to pass to worker.Runner [11:25] rogpeppe: but there are tests about stopping it cleanly [11:25] dimitern: which does not require a Stop method [11:26] dimitern: well then they should check that worker.Stop(w) stops it cleanly [11:26] rogpeppe: wait, so there is a global Stop method in worker? [11:26] dimitern: function, yes [11:26] s/method/function/ [11:26] I see [11:27] rogpeppe: ok then [11:33] standup, lunch is waiting ;) [11:33] dimitern, rogpeppe: ^^^ [11:33] or breakfast, for some of us ;) [11:34] or more wine :-) [11:49] rogpeppe: let me know when you'd like to do the code walkthrough, whenever is good for you is fine with me. [11:49] natefinch: now's good if you like [11:49] Sure [11:49] natefinch: shall we reuse the standup hangout? [11:50] rogpeppe: yep [11:53] * TheMue => lunchtime [12:07] hm, is something going on with the amazon tools bucket and juju? [12:07] 2013-08-01 12:07:09 ERROR juju supercommand.go:254 command failed: Get https://juju-dist.s3.amazonaws.com/tools/juju-1.11.4-precise-amd64.tgz: EOF [12:07] error: Get https://juju-dist.s3.amazonaws.com/tools/juju-1.11.4-precise-amd64.tgz: EOF [12:07] wget works on that url [12:10] * ahasenack freshens trunk [12:12] ahasenack: ohoh! That's something thumper saw with the MAAS provider as well… I think it's worth filing a bug. [12:14] rvba: ok, let me just see if a recent trunk has it too. Mine is from yesterday [12:15] rvba: do you know if there is some rate limiting being applied to that bucket? I was trying sync-tools a few times before, testing --public (filed a bug), and now without --public and it started happening [12:16] ahasenack: no idea, maybe mgz/jam will know… [12:18] this is the potential Go bug [12:18] bigjools: yes :) [12:18] That's him in person :) [12:23] rvba: it's working now. Either it was the delay (I waited until a new copy of trunk was downloaded and build), or the new code [12:23] I'm on Go 1.1.1 [12:24] the bug I filed before about sync-tools and --public is https://bugs.launchpad.net/juju-core/+bug/1207294 [12:24] ahasenack: I think it was just a genuine but transient problem… maybe rooted in Go itself. [12:24] <_mup_> Bug #1207294: sync-tools fails with --public [12:24] I'm working around that bug now by making my control bucket temporarily named juju-dist ;) [12:42] I have a question, when generate-image is run and outputs this: [12:42] $ juju-metadata generate-image -i 65a1e7ba-eb56-48e6-9b4e-8f7c0c05e779 -s precise -r serverstack [12:42] Boilerplate image metadata files "index.json, imagemetadata.json" have been written to /home/andreas/.juju. [12:42] Copy the files to the path "streams/v1" in your cloud's public bucket. [12:42] that path, "streams/v1" [12:42] does that mean a bucket called streams? [12:42] or is that inside the juju-dist bucket? Or your control bucket? [12:45] since the public bucket url doesn't have a bucket component [12:46] rogpeppe: sorry, missed your question earlier. one branch depends on t'other, but they're pretty seperate. the machine one is the first. [12:49] Has anyone gotten this error before? [12:49] error: cannot get latest charm revision: charm not found in "/home/marco/Projects/charms": local:precise/relation-sentry [12:49] mgz: ta [12:50] However, ~/Projects/charms/precise/relation-sentry does indeed exist [12:55] rogpeppe: updated https://codereview.appspot.com/12198044 [12:56] oops, missed one typo [12:58] and one extra return, will repropose again after running tests [12:58] marcoceppi: hm, I might have, but I don't remember when or how now [12:59] ahasenack: bleh, I'm really at a loss as to why it's freaking out. There are 5 charms in this local repo: wp, mysql, two custom subs, and this one standalone, and juju just does not like this charm [13:00] marcoceppi: I would check if that path is bzr branch, has or not a revision file, and if it's the same charm ou actually deployed, if you have deployed one already [13:00] marcoceppi: could it be that you have two or more metadata.yaml files with the same charm name inside? The directory of the charm dosn't matter [13:01] ahasenack: checked that and it's not the case. These three charms are being auto-generated so I'm really just trying to focus on what I did wrong [13:02] It has a .bzr dir and has revision information, I added a revision file to the charm (the other two that dpeloy don't have it and worked OK), metadata.yaml are all unique wrt names [13:02] charm proof only complains about things like copyright file, etc [13:03] marcoceppi: -v? [13:03] ahasenack: OH [13:03] this is a problem [13:03] do tell [13:04] first of all, feel really silly for not using -v, total shame on me over here [13:04] 2013-08-01 13:03:37 WARNING juju repo.go:341 charm: failed to load charm at "/home/marco/Projects/charms/precise/relation-sentry": charm "relation-sentry" using a duplicated relation name: "mysql_db-wordpress_db" [13:04] I have a provide and require using the same relation name, didn't realize that was a no-no [13:05] This makes things a little more complicated, but I can work around it. ahasenack thanks! [13:06] marcoceppi: still, totally incorrect error message before [13:06] rogpeppe: updated https://codereview.appspot.com/12198044/ now with all suggestions; sorry for the spam [13:06] marcoceppi: worth a papercut bug [13:06] ahasenack: yeah, I'll open a bug about the wording for it [13:06] ahasenack: and charm proof can be updated to catch things like this as well [13:06] dimitern: np - am giving nate a walkthrough, will be a little while, sorry [13:06] marcoceppi: where can I get charm proof? [13:06] rogpeppe: no worries [13:06] ahasenack: charm-tools project [13:07] marcoceppi: got a ppa handy or is it just in a branch? [13:07] ahasenack: it's in ppa:juju/pkgs [13:07] to be moved to ppa:juju/ [13:07] marcoceppi: that's the one with pyjuju too, right? [13:07] ahasenack: correct [13:08] speaking of which ahasenack, I'm tempted to bite the bullet make a ppa:juju/tools and dump charm-tools, amulet, deployer, etc to it [13:08] marcoceppi: I like that name [13:08] I don't think stable is the best name for it since a lot of these are just using build recipies [13:08] right [13:08] * marcoceppi pulls trigger [13:31] dimitern: reviewed [13:34] rogpeppe: cheers [13:40] ahasenack: there's a ppa:juju/tools now, if you want to move the builds for juju-deployer/api over to it [13:41] ok [13:42] marcoceppi: do I have upload permissions? [13:42] ahasenack: are you in the ~juju group? [13:42] let me check [13:43] marcoceppi: I'm not [13:43] marcoceppi: let's just let hazmat copy the branches and recipes and use them in ~juju [13:43] ahasenack: works for me [13:49] mgz: could you re-propose https://codereview.appspot.com/12218043/ please; i'm getting a chunk mismatch [13:53] :( I can't get juju to use my custom image [13:55] rogpeppe: wha? [13:55] mgz: it's a not-uncomming rietveld/lbox error (i don't know which one's to blame) [13:55] 'ing reitveld [13:55] uncommon [13:57] mgz: your TestSetAddresses function isn't testing what you think it is [13:57] that's what I suspect [13:57] mgz: the state.address type is broken [13:57] but... I'm not sure what the right way of asserting that stuff actually arrives in state is [13:58] mgz: i suggest marshalling instance.Address directly (but change it so it doesn't embed the network scope) [13:58] mgz: the usual thing is to call Machine again (or call Refresh) [13:58] mgz: because otherwise you're not actually reading from mgo [13:59] mgz: the reason that the address type is currently broken is that the fields are not exported [13:59] I may well end up sticking instance.Address straight in, but wanted parallel types for now so the serialisation is seperate from the various populating logic [13:59] ...gah, I changed that per a review comment [14:00] no wonder I was sure this worked previously :) [14:00] just recapitalise then? [14:00] mgz: just use instance.Address :-) [14:01] mgz: if it's got some "bson:" struct tags then it should be obvious that it's being serialised [14:01] mgz: although i do really want some more formal controls on changes to structs that are serialised [14:03] right, i need lunch [14:05] okay, that fails then passes correctly [14:06] rogpeppe, TheMue: next in line https://codereview.appspot.com/12254043 - Deployer and MinUnitsWorker use StringsWorker now [14:10] dimitern: reviewed [14:10] TheMue: thanks [14:21] well, that was easy to make working at least [14:22] I was going to take a look at https://bugs.launchpad.net/juju-core/+bug/1020322, but it looks like it's already been done? [14:22] <_mup_> Bug #1020322: Unit not found message is repetitive [14:25] mgz: you've got a review [14:25] mgz: also, please live test this [14:26] hmmpf [14:27] set --default would also introduce a behavior change [14:28] empty strings as configuration values are alowed then [14:28] dunno if this leads to compatibility problems [14:29] dimitern: I don't understand this comment of yours: [14:30] mgz: and another one [14:30] mgz: yeah? [14:30] > Also it's good to check this before that: [14:30] > c.Assert(machine.Addresses(), HasLen, 0) [14:30] that will never be the case I think? the issue I had was I got non-zero length even though the addresses never got in the doc [14:31] mgz: I mean check there are no addresses before calling SetAddresses, then check the same once more before calling Refresh, and then check they're set after Refresh [14:31] but with the refresh, it will still be non-zero length, it will just also reload to actually exercise state [14:31] mgz: hmm? i wonder why's that [14:32] ah, you meant right at the start after making the machine? [14:32] mgz: so there should be a test to check what's the state when you never called SetAddresses on a fresh machine, and they should be an empty slice, i think [14:32] okay. [14:32] rogpeppe: got a moment? [14:37] mgz: could you return the favor by reviewing https://codereview.appspot.com/12254043/ ? :) [14:40] sure :) [14:40] thanks! [14:41] oo, it even looks educational [14:41] dimitern: just back from lunch, yes i've got a mo [14:41] rogpeppe: about https://codereview.appspot.com/12254043/ [14:46] hey hey [14:47] so we need to get provider specific constraints on the roadmap for the next few weeks [14:48] mramm: like instance-type and such? [14:50] dimitern: reviewed [14:50] rogpeppe: thanks [14:50] well, what do you know.. i ran out of stuff to do this week :) [14:51] looking at bugs currently though [14:52] mramm: is there a plan who's going to work on bugs and who on the remaining api stuff until the end of next week? === tasdomas is now known as tasdomas_afk [14:53] rogpeppe: is this card merged now? Upgrader API only worker [14:54] dimitern: nope [14:54] dimitern: i'm just testing the 1.10->1.12->current upgrade path now [14:55] rogpeppe: I see [15:03] dimitern: I think if you are working on API and can safely continue to do so it makes sense that you do [15:04] I don't think there is a "plan" from above [15:04] mramm: ok then [15:04] I think you guys can work it all out ;) [15:08] rogpeppe: I think I can start implementing the uniter API now, with the UA having connection to the API already, right? [15:08] dimitern: well, it will have a connection to the API when my CL lands [15:09] dimitern: which only has one review so far (https://codereview.appspot.com/12183043/ hint hint anyone :-]) [15:09] rogpeppe: yeah, but it'll happen soon anyway, and I won't be ready with it for a few days perhaps [15:10] mgz: perhaps? ^^ [15:12] mgz: you hate responding to comments on rietveld, right? :) [15:26] somewhat :) [15:27] rogpeppe: (or anyone else) got a second to help the newbie? I made a small change that requires changes to several tests, so I want to make sure it's the right thing to do before I go changing 8 different tests [15:27] natefinch: sure, bring it on :) [15:27] Looking at this bug: https://bugs.launchpad.net/juju-core/+bug/1154938 [15:27] <_mup_> Bug #1154938: juju status should give the same help as juju bootstrap [15:28] It says juju status should give the same message, but really ,wouldn't it be an appropriate message for any command that needs the default environment file? [15:28] natefinch: ok, but where's your CL? [15:29] hm, the state package really doesn't use loggo anywhere? [15:29] I'll check it in, it just breaks some tests as-is... wasn't sure if I should check in and then ask [15:29] mgz: not yet [15:29] natefinch: if it breaks tests, then definitely don't :) the bot won't let you anyway [15:31] dimitern: ok, good. So... the change is just to have environs.ReadEnvirons to return a specific error if it can't read the default environments.yaml file... and then in cmd/Main() check for the file and output that error message to the context's stderr (just like it did for bootstrap) [15:32] natefinch: can I see a link to the branch please? [15:34] like I said, the changes are only local right now, they're not commited. [15:34] Maybe I'm not using the right terminology for bzr... I'm still new to it. [15:34] natefinch: can you push it on LP so I can have a look? you can do lbox propose -wip [15:34] dimitern: thanks... new to LP too :) [15:35] natefinch: bzr diff|pastebinit [15:35] natefinch: that way it's pushed on LP, and a CL on rietveld is created, but no mails are sent [15:35] natefinch: ah, sorry [15:35] for the even more lo-fi method [15:35] natefinch: do you have lbox working? [15:35] it's installed, haven't run it, so.... [15:36] then, in your work dir with the branch, bzr commit it, and then run lbox propose -wip [15:37] -wip is for work-in-progress = don't send review emails, just push it to codereview.appspot.com (rietveld) [15:42] dimitern: rietveld appears to be asking for google login credentials? How does that work with SSO? [15:42] natefinch: do you want to have a g+ chat, so I can help you as you go? [15:43] dimitern: yeah [15:43] natefinch: just a sec, i'll start a hangout [15:45] man they changed g+ *yet again*! how do I start a hangout now? [15:45] haha [15:46] upper right [15:47] i don't want to invite, i just want the link [15:47] ah.. it's hidden down there https://plus.google.com/hangouts/_/375c6630051efe7089a102bc829f8afd25fb80d9?hl=en [15:47] natefinch: ^^ [15:55] dimitern: just tested the upgrade path from 1.10 -> 1.12 -> api-based upgrader branch and it all seems to work [15:55] rogpeppe: woohoo! [15:56] dimitern: :-) [15:57] dimitern: unfortunately fwereade not-LGTM'd a prereq branch so i can't get anything in until he's available again [15:57] please someone: another review of https://codereview.appspot.com/12183043/ would be much appreciated [15:59] rogpeppe: looking [15:59] TheMue: thanks [16:06] rogpeppe: done [16:06] TheMue: thanks! [16:06] * TheMue still thinks about setting empty strings in config [16:07] setting to default now works, but the empty string leads to changes deep in the charm config [16:12] TheMue: have you implemented juju set --default now? [16:14] rogpeppe: set --default works, but set option= to set it to empty string not [16:14] rogpeppe: currently discussing is on #juju [16:14] TheMue: ah [16:15] dimitern: where's a simple non-horrible example of table tests? [16:15] rogpeppe: in that case I have to change config in .../charm [16:16] rogpeppe: that could break charms [16:16] * rogpeppe looks for a particularly nice table-based test [16:17] ta rog [16:17] mgz: cmd/juju/config_test.go [16:18] thanks! [16:18] mgz: an about string/info string, input args, a possible error and the expected results [16:19] mgz: charm/url_test.go has a few reasonable simple examples [16:19] mgz: although actually Commentf stuff is a bit antiquated now [16:19] s/Comment/the Comment/ [16:20] mgz: version/version_test.go is another nice example [16:21] mgz: i think we'd probably add some more identifying information to the Logf statement now [16:44] hmm, oops: http://paste.ubuntu.com/5936989/ [16:49] * rogpeppe needs to go [16:49] g'night all === natefinch is now known as natefinch-lunch [17:01] * TheMue has to go too [17:01] cu tomorrow === natefinch-lunch is now known as natefinch [20:39] morning [20:39] I'm going to be in and out today as I organise stuff for travel [20:47] hey thumper! i'd love some comment on the cloud-init message. mramm suggested talking to fwereade but i guess he's en-route too === BradCrittenden is now known as bac [23:40] arosales: ping === gary_poster is now known as gary_poster|away === gary_poster|away is now known as gary_poster