[01:47] axw: ping [01:47] davecheney: ahoy [01:47] https://bugs.launchpad.net/juju-core/+bug/1210328 [01:47] <_mup_> Bug #1210328: cloudinit: switch apt-add-repository to use ppa:juju/stable [01:47] ^ once I cut 1.13.1 [01:47] do you want to have a look at this ? [01:47] it's a one line change environs/cloudinit/something [01:48] sure [01:48] and a fixup for the test which is expecting the old string [01:48] then we can update all the docs to say 'get juju from ppa:juju/stable' [01:48] which also has the golang dependency and the mongodb dependency for their local provider [01:49] actually, let me try to tag 1.13.1 now [01:49] okey dokey [01:52] looks like Wally needs surgery ... [01:52] bloody hell [01:53] what's happened? [01:54] axw: i'll wait for this to land, The proposal to merge lp:~axwalk/juju-core/lp1027876-uniter-use-loggo into lp:juju-core has been updated. [01:55] davecheney: sounds good [01:55] thanks [01:55] axw: anything else you want to land ? [01:55] or I can review so you can ? [01:55] umm [01:55] there is no seriousl hurry on cutting 1.13.1 [01:56] about to land another one: https://bugs.launchpad.net/juju-core/+bug/1167441 [01:56] just addressing comments [01:56] kk [01:57] axw: not seen him in person yet but he got headbutted when playing football [01:57] bigjools: ooh :( [01:57] I used to play indoor soccer, it got pretty rough sometimes [01:58] and king hit (I had to look that up) [01:58] eh.. shit, not just jostling then [01:59] yeah I am trying to find out what he did to get that kind of whack [02:29] davecheney: do you just tag trunk, or is there a special branch that you pull changes into for releases? [02:30] axw: at the moment we're just tagging trunk [02:30] 1.12 is it's own branch [02:30] i don't expect that will receive any updates [02:30] ok [02:31] there's another change here, https://bugs.launchpad.net/juju-core/+bug/1121914, I'll add to the release notes [02:31] <_mup_> Bug #1121914: destroy-environment does not request confirmation [02:31] axw: nice [02:31] * davecheney goes to check leankit [02:32] * axw didn't do anything in leankit [02:32] sorry [02:33] axw: s'ok [02:34] * davecheney is not axw's boss [02:34] heh :) no, but I want to do what's helpful. you use leankit to see what's in the release? [02:35] I thought you'd see which bugs are committed but not released [02:35] axw: i try to scrape up whatever I can [02:35] we used to use lp for planning what we were going to do [02:36] but it didn't give mramm the reportability he needed [02:36] ok [02:36] * axw saw a task about bridging them [02:36] that would be handy [02:37] anyway, what's the process with leankit? when I start working on a bug, enter it in there? [02:37] axw: ideally there should be a card for what you're working on [02:38] if it's a bug, you can link it to LP [02:38] there is an optoin on the right client menu [02:38] which makes them red and puts it on the top of the card [02:38] ok, ta [02:39] Hi wallyworld! [02:39] hi there [02:39] Question: imagemetadata documentation says that the Stream on a constraint can be "", but not what that actually *means*. [02:40] What does it mean? [02:40] i think stream is release vs daily etc. it forms part of the product id that is generated [02:41] so if stream is "", then it is not inserted into the product id [02:41] well that's what i figured from reverse engineering the format [02:41] Then how do we select the "released" stream? [02:41] pass in "" [02:41] Ah, so back to lack of documentation as the root problem. :( [02:42] as far as i recall, for ec2 etc, released product ids have "" [02:42] there may be doco on the lp:simplestreams project, not sure [02:42] Hah. [02:42] i sorta just figured out what i needed to make stuff work for ec2 and openstack [02:42] That was where I started. :) [02:42] :-) [02:43] you should just need the glue code, and let the generic functionality take care of the rest [02:43] Okay, I've been trying to get this to work with a "released" stream but it didn't work. [02:44] I don't have any excuse for not finding out, because I can't pass on the job of guessing the meaning to the end-user. [02:44] from memory, i think right now, the stream is just used to create the ids [02:45] Product IDs, yes. [02:45] so you need to ensure the ids that are being generated are in the json [02:45] What confused me was that the released stream had "released" in a few places. [02:45] which is why :azure broke stuff [02:45] ah [02:45] Yes... I added some debug logging to help with these things, so as of today, breaking tests are a lot more helpful. [02:45] hopefully doco will catch up to code :-) [02:46] axw: it's the 'external card id' on the advanced tab [02:46] just put the lp # there [02:46] without adornment [02:47] ta [03:01] ah crap [03:02] goose needs updating on the bot for my test to pass [03:02] might just leave this one till later [03:03] davecheney: do you know if the bot is using rog's godeps stuff? [03:05] actually, never mind, I'm thinking of goamz... [03:05] wallyworld: ahhh, the documentation in imagemetadata actually says Stream may be "", or "released", "daily" etc. I guess it shouldn't actually be "released" -- can I replace that with "Use empty string for released stream"? [03:06] sure. it seems to be the right thing to do at the moment doesnt it [03:07] davecheney: the bot needs updating for #1167441. It's not important, so tag at will and I'll land it later [03:07] <_mup_> Bug #1167441: environs/providers must report instance state, like py-juju [03:10] jtv: what do you do when you need to get gwacl updated on the bot? [03:11] axw: we ask Dimiter or John or one of the others. :) [03:12] jtv: rats :) thanks [03:13] Don't call them rats. They might refuse to update the bot. :-P [03:16] hehe [03:19] axw: understood [03:19] re the bot [03:20] i think we'll figure out how to fix the deps problem in BNE [03:20] davecheney: cool [03:20] davecheney: heard any updates on that btw? [03:21] axw: only that you should book flights [03:21] orly? I didn't get that message [03:21] ok [03:21] axw: ffs [03:21] https://docs.google.com/a/canonical.com/spreadsheet/ccc?key=0Aia4W3c4fbL-dEp1NHFsX2JWdzNoMFFUd2U5eXRnV2c [03:22] yeah I got the email from Antonio, but he said to wait for another email before booking [03:46] wallyworld: hey Rocky [04:22] hi bigjools [04:23] wallyworld: afternoon === tasdomas_afk is now known as tasdomas [04:49] ok, goose and juju are tagged for 1.13.1 [04:49] feel free to wreck the build [05:23] davecheney: so ppa:juju/stable has mongodb-server now? [05:24] I'm adding prereq verification into the local provider, and I need to tell people where to get mongodb from [05:24] axw: that is correct [05:25] axw: pls hold [05:25] https://launchpad.net/~juju/+archive/stable/+packages [05:25] expand the mongo ones [05:25] P and Q are listed [05:25] R and S ship with the right version of mongo [05:25] righto [05:25] ta [05:26] ugh, I suppose I'll have to detect the series then [05:26] axw: I think we already do that [05:26] from memory [05:26] davecheney: yeah it just complicates the code. no drama [05:26] althogu lots of environs/* has been chagned since I 13.04 [05:26] * davecheney goes to look [05:26] axw: worst case, you can always add the ppa [05:26] but there will be nohting in it that matches for R and above [05:26] so it will be a no op [05:27] yeah ok, I'll just add it in and say that it's only for P/Q [05:27] this is for an error message [05:27] axw: there is already a helper [05:27] in environs/cloudinit/cloudinit.gop [05:27] NeedMongoPPA [05:28] cool [05:28] all you need to do is change the ppa name, and it's finger print [05:28] thanks [05:28] oh, and fix the tests which are expecting the old string [05:37] Is the buildbot in trouble? [05:50] jtv: you mean it got the police chief's daughter pregnant ? [05:50] that sort of trouble ? [05:50] Could be, could be. [05:50] But I'm mostly thinking of weird spurious test failures such as problems creating temporary directories. [05:50] File exists... don't tell me we just added randomized directories, but with an unseeded randomizer? :) [05:51] I'll paste some examples of failurse: [05:51] *failures: [05:51] https://code.launchpad.net/~jtv/juju-core/maas-unexport-retry/+merge/179322/comments/404888 [05:52] https://code.launchpad.net/~jtv/juju-core/maas-unexport-retry/+merge/179322/comments/404891/+download [05:52] Actually that's all I have. :) [06:14] sidnei: ping [06:17] sidnei: never mind, sorted it [06:17] is tom haddon in the house ? [06:31] juju destroy-environment is confused [06:31] http://paste.ubuntu.com/5965256/ [06:32] :\ [06:32] will have a look in a sec [06:35] ah, not my stuff being confused, just destroy-environment being generally confused [06:39] ffs [06:39] ├─mongod───11*[{mongod}] [06:39] ├─mongod───3*[{mongod}] [06:39] ^ what is wrong with this picture [06:40] this is a regression [06:40] this bug _was_ fixed [06:41] https://bugs.launchpad.net/juju-core/+bug/1210407 [06:42] <_mup_> Bug #1210407: environs/cloudinit: bootstrap machine has two mongodb proceses [06:44] davecheney: I'm just curious, why does it matter? [06:44] axw: mongo is a pig [06:44] 200 interrutps per second [06:44] even if it's not serving anyone? [06:44] yup [06:44] :| [06:44] ok [06:45] if you want to know why your laptop is burning your nads [06:45] check if that upstart job is active [06:45] heh, it has been getting quite warm [06:46] http://paste.ubuntu.com/5965291/ [06:46] status is getting verbose these days [06:46] not to mention confusing [07:03] davecheney: https://codereview.appspot.com/12583044 [07:03] axw: thanks [07:05] davecheney: the signing key hasn't changed AFAICT [07:06] cool [07:07] axw: protip: lbox propose -bug 1210328 [07:07] <_mup_> Bug #1210328: cloudinit: switch apt-add-repository to use ppa:juju/stable [07:07] apart from linking the bug to the MP (which I normally do manually), does that do anything else? [07:07] apart from setting the milestone to the wrong thing ;) [07:08] axw: it does both of those things [07:08] yeah I got tired of the spam. maybe I'll just hack my lbox to not set the milestone [07:08] +1 [07:11] it would seem that the bot is rooted [07:12] I'm getting the same errors as you jtv [07:16] * davecheney bursts into tears [07:17] https://codereview.appspot.com/12518044/ [07:21] davecheney: reviewed === ChanServ changed the topic of #juju-dev to: https://juju.ubuntu.com | On-call reviewer: - | Bugs: 4 Critical, 81 High - https://bugs.launchpad.net/juju-core/ [08:34] dimitern: hey, do you have access to the machine the bot is on? [08:35] its /tmp is full of gocheck temp dirs, so now gocheck is making the bot unhappy [08:35] is here anybody who can explain me how could I use juju set from external script inside of deployed instance? [08:36] for example I do smth like juju deploy my_service, and there on service I have a daemon which could run juju set [08:36] axw: yes I have, let me check [08:37] dimitern: thanks. also, could you please update goamz? [08:38] axw: done and done [08:38] dimitern: thanks! [08:50] Thanks from me as well, dimitern [08:52] jtv: you're welcome :) i wasn't too late, right? [08:53] No, it's not weekend for me yet. :) [08:53] Happily landing branches. [08:53] dimitern: oh, we're also importing the checkers as jc? [08:54] jtv: yes, and definitely now as . [08:54] davecheney, np [08:54] not* [08:54] How a single-character typo can lead to disaster. :) [08:55] :) [08:57] * jtv should have been fast and said "OK I changed that throughout the project" [08:58] hehe [09:30] Any other reviewers available for https://codereview.appspot.com/12682045/ ? [09:40] jtv: looking [09:40] Thanks once more === tasdomas is now known as tasdomas_afk [09:52] jtv: you've got a review [09:54] gz,jam, wallyworld: I just pushed simple streams for HPCloud [09:54] gz, jam, wallyworld: any chance I could get one of you to smoke test it? [10:01] Thanks again dimitern [10:42] does an uncaught panic take down the goroutine or the whole process? [10:43] trying to refactor status into the api server and noticing it tosses quite a few panics on bad inputs [10:44] hazmat: everything I think [10:45] hazmat: everything [10:45] hi nate-finch [10:45] thumper: morning :) [10:46] nate-finch: how are you settleing in? [10:47] thumper: Pretty well. The european guys are a great help. [10:47] coolio [10:47] b [10:47] thumper: how's it going at IOM? [10:47] well, this week has gone pretty well [10:47] no real surprises [10:48] and no big changes of direction [10:48] always a good thing [10:48] so, all in all, pretty good [10:48] nate-finch: that's us, europeans, nice guys :) [10:48] a few minor things that we've agreed to track [10:48] dimitern: ha, yep :) [10:48] thumper: how about api progress? [10:48] but on the whole, I'm pretty happy with the meetings and things gone on here [10:48] nice nice [10:49] dimitern: less screaming than I expected [10:49] :) [10:49] thumper: oh, cool! [10:49] thumper: well, considering it's only me and roger on it for the pas 2-3 weeks [10:50] dimitern: don't stress, no names were brought up at all [10:50] just, it has taken longer than we estimated [10:50] thumper: good to know :) [10:50] we screwed up [10:50] things are coming along [10:50] that's pretty much how it was communicated [10:51] and accepted [10:51] oh yes, they are - we're a week or so away from finishing the uniter api [10:51] \o/ [10:51] then the cli is the next biggest chunk [10:51] we are trying to get some help for that too [10:51] we do need to do the provisioner though [10:51] as there are provisioner tasks on every machine [10:52] yeah [10:53] but the priority still is to finish non-state-machine workers' api first, right? [10:53] yes, but what I'm saying is that the provisioner IS a non-state-machine worker [10:53] lxc-provisioner [10:54] yeah - and that's already done and using state [10:54] ah... wat? [10:55] what do you mean done AND using state? [10:57] i mean the refactoring of the provisioner into environ and lxc ones [10:57] sure, I did that [10:58] ok [10:58] what I'm trying to make sure we understand is that to have a non-state machine agent only using the API, we need to fix he provisioner [10:58] sure [11:11] dimitern: by the way, was there a team meeting yesterday morning? I realized as I was going to bed last night that I totally forgot about it. [11:11] nate-finch: it got cancelled [11:11] dimitern: cool. I hoped as much with everyone at IOM. [11:12] nate-finch: there was a thread on juju-dev about it [11:15] dimitern: a mailing list? maybe I'm not on that... [11:17] nate-finch: oh, you should subscribe to juju@lists.ubuntu.com (general and user-focused discussions) and juju-dev@lists.ubuntu.com (dev-focused, announcements, etc.) [11:20] there are a bunch of others as well [11:20] dimitern: I just joined those two. [11:22] nate-finch: see MailingLists on the internal wiki if you've not done that already [11:22] mgz: thanks, I'll take a look [11:23] ...I'll add a juju section there === tasdomas_afk is now known as tasdomas [11:25] mgz: yeah, I'd been there and subscribed to the main few that are suggested. [11:27] so there's one more juju list, which I've now linked from that page, whoch you should subscribe to [11:29] mgz: thanks. I was on canonical juju, just not the other two. [11:30] noodles775: https://bugs.launchpad.net/juju-core/+bug/1210484 [11:30] <_mup_> Bug #1210484: upgrade-charm --repository doesn't expand ~ to $HOME [11:30] * noodles775 looks [11:32] dimitern, mgz: standup? [11:33] sidnei: oh - it's not fallout from one of the changes I landed, just something easy to go on with? (just finished bug 1183159, so can grab it) [11:33] <_mup_> Bug #1183159: juju ssh no longer passes parameters after unit/machine to ssh [11:33] noodles775: yup, indeed [11:34] mgz: ? [11:35] neary there... === ChanServ changed the topic of #juju-dev to: https://juju.ubuntu.com | On-call reviewer: mgz | Bugs: 4 Critical, 81 High - https://bugs.launchpad.net/juju-core/ [12:05] nate-finch, mgz: https://codereview.appspot.com/12696043 [12:09] looking [12:09] ditto [13:01] mgz, nate-finch: any progress? [13:05] dimitern: will return to it... === tasdomas is now known as tasdomas_afk [13:07] dimitern: almost done. Had to help my wife with toddler for a bit :) [13:10] no worries :) [13:10] I have 2 more incoming [13:11] there ya go [13:11] dimitern: ^ [13:11] nate-finch: cheers [13:50] nate-finch, mgz: responded to https://codereview.appspot.com/12696043/ [13:50] dimitern: ta [13:51] nate-finch, mgz: and this is the next one: https://codereview.appspot.com/12698043 (reproposing, due to diff issue) [13:51] * dimitern gtg for that contract, bbiab [13:52] dimitern: as you hopefully gathered, my comments were misc thoughts rather than must-fix-this things === tasdomas_afk is now known as tasdomas [14:28] * dimitern is back [14:29] dimitern: I just posted a response to your response... maybe I'm misunderstanding something, but it seems like my code is doing what your code was doing. [14:29] nate-finch: I did replace my code with yours and the results were different [14:30] nate-finch: (after tweaking it a but to compile) [14:30] dimitern: hmm... weird. [14:30] nate-finch: the main issue is for unit-foo-42 it returned err=nil [14:33] nate-finch: you can try it out, pull my branch locally [14:33] dimitern: yeah, was about to. It's not like it's a big deal either way, I'm just curious where my code went wrong [14:33] nate-finch: there's one more thing - the code, as written is common across a lot of the other apiserver methods [14:34] nate-finch: well, for starters, r := result.Results[i] gives you a copy of the result, so it won't set anything back, unless you do result.Result[i] = r at the end of the loop; also it has to be r.Result, r.Ok = unit.PrivateAddress() (no := ) [14:36] dimitern: right right... coming from a reference-based language always screws me up [14:51] mgz, nate-finch: updated https://codereview.appspot.com/12698043/ after william's "not a review" :) [14:53] actually, i missed some stuff that should be gone, reproposing now [14:53] dimitern: ok [14:56] dimitern: sounds like william had the same problem with the error handling that I did - it's not hiding errors from getUnit, it just passes them on to result.Results[i].Error = common.ServerError(err) [14:57] Hi! [14:57] I am trying to run the test suite but I get panics. [14:57] I think it is because it can't find the MongoDb server. [14:58] Do I need to configure/start/... MongoDb to be able to run the test suite? [14:58] henninge: yeah, you'll need mongodb + ssl, the mentioned in the docs [14:58] just a sec [14:59] Oh yeah, a doc pointer would be great ;-) [14:59] http://juju-dist.s3.amazonaws.com/tools/mongo-2.2.0-precise-amd64.tgz [14:59] henninge: ^^ it's in the README [14:59] Oh, I have it installed [15:00] I am working with it on my other project, too. [15:00] it's 2.4, though [15:00] 2.4.5 [15:00] henninge: that won't work [15:00] henninge: there are known issues with 2.4 [15:01] I see [15:01] henninge: what series are you running? [15:02] This is my workstation, so it's raring. [15:02] henninge: ok, so replace 'precise' with 'raring' in the link above [15:02] But the instances in the cloud run precise [15:02] thanks [15:03] henninge: that doesn't matter, for tests run locally, your machine series matters only [15:04] henninge: also, sice you have another mongo installed, make sure the one frm the tarball gets picked [15:05] Yeah, I was just wondering about that. You mean PATH-wise? [15:05] henninge: just a sec, i think not.. [15:05] I can stop the other server but I cannot uninstall it. [15:07] henninge: it searches for it in /usr/bin/mongod [15:07] Hm [15:07] henninge: so either try linking the tarball version there and link the other one somewhere else, or use a vm [15:08] henninge: or, alternatively, first try PATH hacking [15:08] I'll look into those, thanks ;-) [15:08] henninge: export PATH=/path/to/tarball/mongo/bin:$PATH [15:08] yes [15:09] henninge: hope it helps [15:11] dimitern: Changing the PATH is totally enough. Cool ;) [15:11] henninge: cool! nice to know :) [15:12] Also, it uses non-standard ports, so the other instance can keep running [15:12] henninge: oh yeah, and it starts/stops it as needed [15:21] nate-finch, mgz: I decided to update the last CL with 2 more methods: Destroy and SubordinateNames(), becasue I removed GetServiceEntity and SetResolved per william's request [15:21] so i'll be reproposing with the changes and update description very soon [15:30] dimitern: Can you give me an example of how to run a single test suite? [15:31] I guess I don't understand the line in CONTRIBUTING [15:31] go test -gocheck.f '$REGEX' [15:31] Or rather, a single test or whatever [15:31] henninge: cd inside the dir, then run "go test -gocheck.v -gocheck.f MySuite" or -gocheck.f TestSomething [15:31] Oh, inside the dir [15:32] cool [15:32] henninge: the -gocheck.f takes any subset of a suite.method match === marcoceppi is now known as marcoceppi|away === nate-finch is now known as natefinch [15:45] mgz, natefinch: finally updated https://codereview.appspot.com/12698043/ - please take a look, won't change it anymore :) [15:48] dimitern: ok, looking [15:49] mgz: ping [15:51] dimitern: I don't know the code well enough, but is this correct? canModify, err := u.getCanRead() canRead qualifies you for modification as well? [15:52] natefinch: it should be called getCanModifyOrRead, but it checks the same thing [15:52] dimitern: ok, just checking [15:53] natefinch: i.e. only the owning unit agent for that particular unit is allowed to read and/or modify it's data [15:53] natefinch: and that's determined at API login time by the authenticating entity's tag [15:53] dimitern: fair enough. Just wanted to make sure there wasn't another canModify method that should have been called. [15:54] natefinch: nope [15:54] dimitern: man, that is some boilerplate, huh? Did you mention that this stuff was going to go away, or was that something else? [15:59] natefinch: take a look at the other apiserver modules, it's pretty much all like that, and it unavoidable for now [16:00] natefinch: the whole point it to support bulk ops on the API level, and some time in the near future we'll gut out the insides and write them properly with some concurrent mongo bulk ops or something, keeping the interface intact === tasdomas is now known as tasdomas_afk [16:17] dimitern: I think I figured out why your tests are passing, but the code can still return errors that aren't masked by ErrPerm - your unit-foo-42 test returns false from canRead because it's an invalid tag.... but if it was a valid tag, and u.getUnit() returned an error, then that error would propagate up. I'm not sure how to put that in the tests, though. [16:18] natefinch: just by adding an extra line? [16:19] natefinch: well, unit-mysql-0 is both valid and exists, but still returns errPerm [16:19] natefinch: that's because you never get to getUnit - canRead filters that out [16:20] dimitern: so should it be impossible that getUnit returns an error when canRead returns true? [16:21] natefinch: basically yes, unless you consider things like when the state connection drops or your unit just got deleted from someone else [16:22] dimitern: basically != exactly :) Those errors could get propagated up from this method. It might be rare, but it's possible right now. If that's ok, then that's ok. [16:23] natefinch: there are several tiers of security/authorization - login level (valid user), facade level (agents only), method level (owners only) [16:23] natefinch: if we get errors after we checked for permissions, it's ok to propagate them i think [16:24] natefinch: at least by then we know the user is who he claims he is [16:24] dimitern: Yep. That's cool. Just wanted to make sure [16:25] natefinch: sure, security ramifications are always tricky and worth a discussion [16:26] anyone else willing to review https://codereview.appspot.com/12698043/ ? [16:27] mgz: ^ ? (my turn to ping ;) [16:27] natefinch: yep, I gave up :) [16:30] you can't be productive like that.. :/ [16:31] I need a bunch of reviewers to throw stuff at them :) [16:31] let's hope next week'll be better [16:32] yep. Should be a lot more populous next week. Is Frank back, or does he have next week off too? I forget [16:33] frank's off next week I think [16:33] I have this cute sidebar calendar in thunderbird [16:34] natefinch: you know I'm really itching to get rid of all that duplicated code, and especially boilerplate code in tests [16:35] dimitern: yuup [16:35] natefinch: I'll think of a way to optimize it, but all attempts so far resulted in less readable code :/ [16:40] dimitern: yeah, it's tricky [16:40] lunch time for me === natefinch is now known as natefinch-lunch [16:41] sidnei: hey [16:44] last call before I head off - anyone willing to review a simple branch? https://codereview.appspot.com/12698043/ === abentley is now known as abentley-lunch [16:54] sorry guys, had to run out last minute [16:54] will catch up with reviews now [16:55] mgz: yay!\ [16:55] :) === natefinch-lunch is now known as natefinch === abentley-lunch is now known as abentley