[00:04] * thumper needs to reply to the api thread to agree with wallyworld_ [00:04] * wallyworld_ wants to talk surrogate ids with thumper [00:04] wallyworld_: what about them? [00:05] * thumper feels like he needs something else... [00:05] just finished some ham, cheese and pineapple toasties [00:05] perhaps another coffee [00:05] i think we can add a natural key to a machine without needed a schema change, but i could be wrong [00:05] there's always time for another coffee [00:16] * thumper goes to make that coffee [00:23] hi davecheney [00:54] thumper: hangout time? [00:54] wallyworld_: sure [00:55] wallyworld_: you create [00:55] https://plus.google.com/hangouts/_/d3f48db1cccf0d24b0573a02f3a46f709af109a6 [01:08] today is going to need more coffee and more painkillers [04:30] morning === ChanServ changed the topic of #juju-dev to: https://juju.ubuntu.com | On-call reviewer: dimitern | Bugs: 8 Critical, 71 High - https://bugs.launchpad.net/juju-core/ === tasdomas_afk is now known as tasdomas [05:50] davecheney: i don't type any import lines - my IDE does it all automatically :-D [05:58] davecheney: so you want all "jujuerrors" import aliases to go away and "errors" aliased to "stderrors" where there are conflicts? not just in the one place you made a comment [05:59] wallyworld: i think there was only one place where we import both errors and jujuerrors [05:59] sort of like the way we do with testing and jujutesting [05:59] testing => stdtesting [05:59] there were several in my branch [05:59] juju-core/testing => testing [06:00] ok, i'll fix them all [06:00] all of mine i mean [06:00] cool [06:00] thanks for pointing it out [06:00] i wasn't sure what the conventoon was [06:00] convention even [06:00] maybe you get to be the trend setter this time [06:00] at least it's consistent [06:00] wallyworld: and instead of jujuerrors, you can use coreerrors [06:01] * davecheney doesn't care about the color of the bike shed, only that it has a traditional number of walls [06:01] i won't need that though if i alias errors to stderrors [06:01] wallyworld: like coretesting, etc. [06:01] wallyworld: if you need to [06:01] do we want to stick with coretesting? [06:02] i dont [06:02] yes we do [06:02] me either since it's inconsistent with stdblah [06:02] we need *one* pattern [06:02] i don't mind which [06:02] any day i'll prefer a standard convention throuout the code than a new one [06:03] dimitern: this isn't a new one [06:03] depends on what Go best practice is thpough [06:03] if best practice is stdfoo, then we should use that [06:03] i'm deferring to davecheney here :-) [06:03] wallyworld: i don't htink the std library can help here [06:03] i mean if we tend to name core packages, when an import conflict will happen, "core"+package, let's do that [06:03] we're in uncharted territory [06:03] but we do have a pattern of importing the std lib's testing as stdtesting [06:04] yeah, exactly [06:04] so: do we alias the core packages to corefoo, or the std lib packages to stdbar. we need to choose one or the other [06:04] so ithink what wallyworld and I are saying is, lets keep doing that [06:04] wallyworld: i don't mind which one - there are examples of both [06:05] as an asside, if we were so arrogant as to give one of our pacakges the same name as a package that already exists in the standard library, we should change out packages' name [06:05] wallyworld: but i do mind inventing a yet another prefix scheme [06:05] the bike shed should all purple or all red, not red and purple :-) [06:05] dimitern: sure, using "juju" was wrong, i didn't realise we used "core" [06:05] wallyworld: that's all i meant, thanks [06:06] holy fuckj [06:06] just submit the thing [06:06] np, i knew what you meant :-) [06:06] the person that cares _that_ much about naming thigns can do a followup [06:06] i don't mind this discussion, really! i'd like to get it right rather than propagating more inconsistency into the code base [06:07] at the moment i mostly care for us to come to an agreement what are we doing with the api [06:07] 3 days of discussion now and no single solution at the horizon, we're waisting time [06:07] dimitern: you must be new here [06:07] davecheney: :D [06:07] is there a notes doc for today's meeting yet? [06:07] davecheney: with the "arrogant" thing - if a package has a really generic name like "errors", its hard to avoid a clash [06:08] dimitern, wallyworld, mramm: I'm probably going to miss the juju-core meeting. I'll see if I can get back in time, but today is "show your stuff to your parents day at school". [06:08] It is done right when the meeting starts. [06:08] jam: no problem [06:08] oooh good - what's on display? [06:09] dimitern: I didn't feel your email actually had a "should I do it X or Y". or at least, the question wasn't very clearly stated. [06:09] mramm: it's the same doc as always [06:09] danios wanted to keep it all one one document from now on [06:09] ahh, right [06:09] wallyworld: well, it is KG2, so some crudely drawn paintings that all of us parents will surely fawn over [06:09] wallyworld: we can introduce a cuning schema of replacing package names with base64(name) or rot13, so such clashes with std packages are avoided }:> [06:09] lol [06:09] jam: got time for a quick sync up before you leave? [06:09] rotflmao [06:09] mramm: It doesn't hurt to resend it to canonical-juju to remind us all about it. Though as it is a private doc we have been suggested to only send it to the private list. [06:10] mramm: unfortunately, I have to head out the door now. [06:10] wallyworld: fair point, but that doesn't mean if we start a juju-core/utils/math package, we have more right to the name "math" [06:10] jam: no problem [06:10] jam: have fun! [06:10] mramm: what are you even doing awake? [06:10] :) [06:10] I am trying out staying up until the meting [06:10] davecheney: agreed! we just need a convention for dealing with it - i think i prefer stdfoo [06:10] wallyworld: seconded [06:10] they I's have it [06:10] ... see if I am more awake that way than getting up in the middle of the night... [06:11] \o/ [06:11] guys, i'll apreciate your input on the mail i sent yesterday - API Bulk Operations [06:11] * davecheney is super testy because he suspects the mongo retry behviour is part of what is making the tests unreliable with the .deb mongo [06:12] in fact, i'm going to rip the retry shit out and see if that helps [06:12] dimitern: sorry about the delay. will look after i pick up my kid from viola soon [06:12] davecheney: if you fix the tests you will be my hero [06:13] wallyworld: cheers [06:13] * wallyworld goes to get kid from school [06:43] https://codereview.appspot.com/9857046/ [06:43] davecheney: on it [06:45] davecheney: reviewed; how come nobody encountered an issue with that? [06:49] dimitern: they probably did [06:49] but didn't realise it [06:50] davecheney: i'd like to see a test showing the issue before and after the change, if possible [06:51] dimitern: run the race detector on the cmd/jujud package [06:51] davecheney: ah, ok, thanks [06:51] that is how i found it :) [07:26] davecheney: where's the agenda for today's meeting? [07:58] dimitern: same as last week [07:58] remember danilos asked to have it all on one page === wedgwood_away is now known as wedgwood [10:09] * dimitern lunch [10:09] fwereade: you now ok with https://codereview.appspot.com/9662048/ ? [11:02] * TheMue => lunchtime [11:36] dimitern: since you asked :-) https://codereview.appspot.com/9666050/ [11:36] best standup ever! [11:36] :) [11:36] jam: oh, so sorry, you missed the standup :-P [11:42] wallyworld: reviewed [11:42] thank you [12:13] wallyworld, sorry, I'll make sure your reviews are ready for your morning [12:14] fwereade: np. i've yet to do any more coding on the drity flag or assignment ploicy ones [12:14] wallyworld, tentative yes on that one but let me check; I'll need to do a spot more thinking on the assignment policy though [12:15] fwereade: with the assignment policy - i'll remove the code which provides the default constraint value in env till we work out how to do it consistently for all constraints [12:16] fwereade: with the dirty flag, i'm switching it to "clean" so the semantics are backwards compatible with existing schemas [12:19] wallyworld, ok, so new machines start with "clean" set and old ones are assumed dirty? sgtm [12:20] fwereade: that's the plan. sort of like a failsafe - assume dirty unless told otherwise [12:21] i had intended to do it that way originally but got talked out of it :-) [12:21] wallyworld, heh, annoying, sorry about that [12:21] not your fault! [12:21] wallyworld, I still ned to think about assignment policy, there's something knocking at my mind but I'm not sure what ;) [12:22] wallyworld, I'm just expressing regret, not taking responsibility ;p [12:23] fwereade: the end game is to use a constraint, not to hard code on each provider. i think that bit is ok. bt we need to decide how to specify any default value if the user doesn't specify a policy [12:23] i added an env setting for this. but am happy to hard code until we decide how to do constraint default values [12:23] wallyworld, yeah, agreed; I wish that state could have a concept of an actual environ other than via a config [12:24] juju config seems "interesting" and complex to me [12:25] wallyworld, I'd be most comfortable if we stuck with that rather than taking a "temporary" step in an unhelpful direction... for example, we *could* have the env inject it into the bootstrap constraints if not already set [12:25] wallyworld, don't even start :/ [12:26] wallyworld, it's trying to be too many things [12:26] yeah. i don't prefess to *fully* understanding the design rationale [12:26] wallyworld, and I'm terrified of the "worse" phase in "it'll get worse before it gets better" [12:26] indeed [12:27] hey ho [12:27] ok, I am feeling somewhat crappy, I'm going to have a bit more of a rest in the hope of becoming coherent for a chunk of the rest of the afternoon [12:27] ttyl guys [12:28] have a drink! i've imbibed a few already :-) [13:32] marcoceppi: hi, you around? [13:32] teknico: I am! [13:33] marcoceppi: could you please have a look at https://bugs.launchpad.net/juju-plugins/+bug/1185820 ? [13:35] teknico: branch I can run juju-test against? [13:38] marcoceppi: https://code.launchpad.net/~juju-gui/charms/precise/juju-gui/trunk , revno 59 [13:39] teknico: thanks, it looks like some discrepencies between what jitsu was doing and what the new plugin does. Based on feedback from others it now executes everythin in the tests/ directory, not just .test files. Which is why your utils.py files are even being considered for tests [13:39] * marcoceppi pokes somemore to figure out the other issues [13:41] marcoceppi: thank you [13:42] teknico: you can specify test(s) to be run at the end of the juju-test command, and juju-test won't traverse directories in the tests folder. So you could reorginze your helpers in another directory or just run juju-test unit.test deploy.test [13:44] marcoceppi: good to know about the subdirs. is there a way to reuse an already bootstrapped environment? [13:45] teknico: not at the moment, but I can add that option. The downside being that you wouldn't get a teardown between tests. If your tests are OK with that it shouldn't be a problem [13:46] teknico: finally, there are verbose controls, -v(vvv) which will give you debug output [13:47] marcoceppi: yes, I'm going to try again with those [13:52] teknico: could you attach the output output with -vv in the report when it's done running? [13:52] marcoceppi: sure. what about the default env? any chance to use it? [13:54] teknico: I made it explicit out of concern people would trample their default environments accidentally. However, I guess it'd be ok to use the default as it does a sanity check for already-bootstrapped [13:55] marcoceppi: yeah, it sounds reasonable [13:55] I'll add default-environment support in a few mins [13:56] marcoceppi: great, thanks. I guess in order to actually use "juju test" rather than juju-test, we'll need a package in a PPA, right? [14:13] marcoceppi: output of a -vv run added [14:16] marcoceppi: those "Permission denied" errors are weird, perms and ownership are ok locally [14:16] teknico: permission errors are because the files aren't +x [14:16] well, your helper files aren't [14:16] ah, right [14:23] teknico: It looks like environment variables aren't being passed to test properly. I'll see if I can get a fix for that out asap [14:23] marcoceppi: awesome, thanks [14:37] dave mentions in the release notes that the PPA has changed [14:37] but afaict, it's still ppa:juju/devel [14:42] teknico: Give the latest a try. I wasn't able to check against your current repo as I don't have all the dependencies for testing, but it should fix the errors as well as trying to execute none-executables. Though that last bit might go away in the near future. You may want to reorganize or just document that you have to specify which .test files you want to run [14:42] teknico: as for the default environment I'll see if I can get that in there later today [14:42] marcoceppi: thanks, I will in a while, in a call now [14:43] teknico: ack, thanks for filing the bug and playing guinea pig :) [14:43] marcoceppi: oink ;-) [15:22] marcoceppi: there are some problems with last revno, running tests after applying this diff: http://pastebin.ubuntu.com/5717057/ === tasdomas is now known as tasdomas_afk [15:47] Anyone here know why Content-Length wouldn't be included in the request to /tokens w/ the OpenStack provider ? [15:47] ( http://hastebin.com/fanagihive.xml ) [15:52] teknico: sorry about that! Not sure why make check didn't catch it. I've pushed a fixed that should work now [15:53] marcoceppi: now I'm having unrelated problems with selenium not being able to open displays :-/ [15:54] teknico: does selenium use the DISPLAY environment variable? [15:54] marcoceppi: I don't think so, it looks for display :1032 [15:55] marcoceppi: the expert on that is frankban, I'll ask his help after our standup call ;-) [15:56] teknico: cool, if there's anything else juju-test needs to set in the way on env vars, etc (as they're pretty light weight what's actually set when each test runs), let me know! [15:56] marcoceppi: I will, thanks again! === tasdomas_afk is now known as tasdomas [16:04] danilos, https://codereview.appspot.com/9876043/ reviewed [16:04] danilos, and, doh, disregard last question, I see you already answered it [16:08] Makyo, ping [16:08] fwereade, Hey [16:09] Makyo, I'm a bit concerned about where the UpgradeCharm logic has moved to, can we g+ quickly? [16:09] fwereade, sure [16:10] Makyo, heh, I'm not sure which of the many matthew scotts you are... [16:10] Makyo, I'm sure I *have* met you in person... [16:11] fwereade, https://plus.google.com/105798904379156554275/posts [16:13] marcoceppi: so, I was wrong, and selenium does indeed need the DISPLAY env var [16:25] cool, the review queue's looking a bit more manageable [16:25] later all [16:45] teknico: no problem, I'll add that to the plugin in a second [16:45] teknico: anything else while I'm poking around? [16:46] marcoceppi: no thanks, I patched juju_test.py myself and am trying to run the test again [16:47] marcoceppi: there seem to be problems with manually destroying the env after the juju-test command is interrupted prematurely [16:48] marcoceppi: btw, the feature of only running tests in executable files is working flawlessly, thanks [16:53] teknico: what's the error? That's likely a juju problem but I'll look in to trying to trap Ctrl+C to do better cleanup [16:53] marcoceppi: I get "error: environment is already bootstrapped" [16:54] teknico: ah, because it didn't destroy-environment during the premature exit. You'll have to destroy environment before running again (or, when the option is added, use the "use-existing-bootstrap" option [16:55] marcoceppi: yes, that's what I was trying to do, but it takes quite a few retries, for some reason, or maybe just a bit of time [17:00] ok, EOD, I'll resume this tomorrow [17:00] marcoceppi: thanks again for the help [17:01] teknico: thank you so much for the feedback! === deryck is now known as deryck[lunch] === wedgwood is now known as wedgwood_away === deryck[lunch] is now known as deryck [19:39] https://bugs.launchpad.net/juju-core/+bug/1027873 [19:39] <_mup_> Bug #1027873: cmdline: Implement constraints set/get [19:39] marcoceppi: is this it? [19:39] jcastro_: similar, that's setting them overall. this is specifically "juju add-unit --constraints" [19:40] jcastro_, marcoceppi: heh, I apparently suck at bug management [19:40] fwereade: is that released! [19:40] ? [19:40] fwereade: hey so we just ran into this while doing a live site [19:40] marcoceppi, no such thing as unit constraints (except internally, so pretend I didn't say that -- it's not meaningful in the model we want to expose) [19:40] where we deployed to an xsmall on HP cloud but need to bumpt the instance size up [19:41] fwereade: right, so the idea was "juju add-unit --constraints" then we can remove unit the old on [19:42] marcoceppi, you should be able to set service constraints, add-unit, and then remove the oldone [19:42] fwereade: how? I didn't find anything in juju help [19:42] marcoceppi, this then means that future ones will be deployed with the new constraints as well -- is that unhelpful? [19:43] marcoceppi, `juju help set-constraints` looks, er, kinda crap... but `juju set-constraints myservice mem=4G` should work? [19:44] fwereade: I'll give it a shot, thanks [19:44] * fwereade looks somewhat dolefully at the command and its help, and presumes he implemented that way to match python [19:45] * fwereade observes that, no, it doesn't even match python [19:45] ah! that's ok [19:46] I was reading get-constraints [19:46] marcoceppi, juju set-constraints -s myservice mem=4G [19:46] that's more like it [19:46] cool [20:06] fwereade: thanks, that did the trick! [20:06] marcoceppi, great [20:39] fwereade: along those same lines, can you force remove-unit? [20:40] It's in a state of dying, but the machines never came up. Now I can't remove unit or terminate machine === tasdomas is now known as tasdomas_afk [21:30] morning [21:31] hi thumper [21:31] hi bac [21:31] hi marcoceppi, do you have a moment? i'd like to talk about the charm-tools build recipe [21:31] bac: I've got about 10-15 mins [21:32] marcoceppi: perfect. hangout? i'll invite you [21:32] bac: sounds good [21:33] marcoceppi: failed [21:34] just copy/paste a link? [21:35] https://plus.google.com/hangouts/_/b665b424984af215e05d2968dab0964ada7130ed?hl=en [22:32] * thumper pulls a funny face [22:32] fwereade: not still up are you? [22:51] arse biscuits [22:51] wallyworld: you around? [22:56] thumper: hi [22:56] thumper: just a sec, need to talk to plumber [23:05] thumper: i gotta go do something. i'll ping you in a bit [23:05] wallyworld: ack === thumper is now known as thumper-afk