/srv/irclogs.ubuntu.com/2014/11/26/#juju-dev.txt

anastasiamackatco: ping00:05
katcoanastasiamac: howdy00:08
=== kadams54 is now known as kadams54-away
alexisbwallyworld, you around?02:08
wallyworldyes02:08
alexisbdo you need to discuss anything with me before next week?02:09
alexisbif so I have time for a hangout02:09
wallyworldhmmm02:09
* thumper hmmms...02:32
* thumper is looking at the blocked command stuff02:32
thumperwallyworld: can we talk today?02:32
wallyworldsure02:32
thumperwallyworld: I have a meeting friday avo02:32
wallyworldok, i'm free whenever02:33
thumpernow?02:33
thumperjump in our 1:1 hangout02:34
wallyworldok02:34
ericsnowaxw: ping02:54
axwericsnow: pong02:55
ericsnowaxw: I've put up a first stab at "unit-get zone": http://reviews.vapour.ws/r/532/02:55
ericsnowaxw: FYI02:55
axwericsnow: thanks, I saw. I'm OCR tomorrow - okay to wait till then?02:55
ericsnowaxw: no hurry02:56
ericsnowaxw: just wanted to make sure it got your attention at some point (you were involved in the AZ discussions, right?)02:57
axwericsnow: yep, I implemented 99% of it02:57
axwthanks. on brief perusal it looks good02:58
ericsnowaxw: cool02:58
ericsnowaxw: I was able to make good use of ZonedEnviron.InstanceAvailabilityZoneNames() :)03:00
* ericsnow shuts down for the night03:01
axwericsnow: night03:02
=== linstatsdr_ is now known as LinStatSDR
thumperanastasiamac: wallyworld is just being mean...03:13
anastasiamacthumper: really?...03:14
anastasiamacwallyworld: u wouldnt ;)03:15
* wallyworld would :-P03:16
anastasiamacwallyworld: so do i continue with block changes or shall i wait for executive decision?03:16
thumperwallyworld: anastasiamac: it'll be interesting to see what the help text will look like for block/unblock when we have the supercommands in place, i.e. "juju machine remove", "juju environment destroy" etc03:53
anastasiamacthumper: wallyworld: juju block destroy|remove|change03:56
anastasiamacthumper: wallyworld: :P03:56
* wallyworld otp03:57
thumperanastasiamac: seems fine to me...03:58
anastasiamacthumper: this can be done before supercommands ;-)03:58
anastasiamacthumper: shall i?03:59
thumperanastasiamac: double check with wallyworld, but I'm +103:59
anastasiamacthumper: :) thnx03:59
wallyworldanastasiamac: juju block destroy-environment i think is still what we want04:12
thumperaxw: got a minute?04:13
axwthumper: just about to eat lunch.. what's up?04:18
thumperaxw: looking at the tests in cmd/juju/addmachine_test.go04:18
thumperaxw: it looks like apiserver/client/client_test.go covers it all04:19
thumperaxw: do you see any reason not to mock out the api all together?04:19
thumperaxw: I'm messing with add and remove machine commands and moving them to a subcommand to test out top level aliases to subcommands (and deprecations)04:19
axwthumper: I'd like that, but I know some people would like them to remain like that so we have end-to-end integration tests04:20
thumperaxw: fooey04:20
axwmy preference would be to mock there and have integration tests elsewhere04:20
thumperaxw: what I did for the user stuff was this:04:20
thumperaxw: everything in the user subcommand package is mocked out04:20
thumperargs and params tested exhaustively (to make sure we pass them to the api)04:21
thumperone test in cmd/juju to show it is hooked up end to end04:21
thumperwe don't need to end to end test every path04:21
thumperjust that it is hooked up04:21
thumperIMO04:21
axwthat SGTM04:21
thumpercoolio04:21
axwthumper: so we'll have cmd/juju/machine/ ?04:23
thumperaxw: yep04:23
axwokey dokey04:23
thumperthat's the plan04:23
thumperI'm using it as the test case for top level aliases04:23
thumperso 'juju add-machine' works as 'juju machine add'04:23
thumperwith just some helper functions04:23
axwthe calm, soothing sound of my squawking UPS05:28
=== kadams54_ is now known as kadams54-away
hatchahh that's such a beautiful sound05:39
hatchmine is a loud beep every 5s - just to let me know at 3-4am that the power has gone out and it needs to keep itself powered for that duration05:40
hatchsuch a helpful machine05:40
hatch:)05:40
TheMuemorning08:35
mattywmorning everyone08:48
TheMuemattyw: o/08:55
voidspacedimitern: ping09:40
voidspacedimitern: should calling subnet.Destroy() on an already destroyed subnet be a no-op or an error09:41
voidspacedimitern: looking at service it looks like an error (specifically a wrapped jujutxn.ErrNoOperations)09:41
voidspacedimitern: so that's what I've done09:41
dimiternvoidspace, hey09:44
voidspacedimitern: hi09:44
dimiternvoidspace, I think it usually is a no-op09:44
dimiternvoidspace, and where it isn't it should be :)09:45
voidspacedimitern: ok, no problem09:45
voidspacedimitern: it's very easy to change...09:45
dimiternvoidspace, ok09:46
voidspacedimitern: http://reviews.vapour.ws/r/534/09:49
voidspacedimitern: "first cut", although I spent most of yesterday removing code09:49
dimiternvoidspace, looking09:50
voidspacedimitern: it now just does the bare minimum for adding, fetching and removing subnets09:50
jamvoidspace: what's the idea for upgrade step for this ?09:59
jamI guess mongo creates collections on the fly if they don't exist09:59
voidspacejam: shouldn't be needed09:59
voidspacejam: I specifically asked dimitern that yesterday09:59
voidspacejam: and he said created on first use09:59
dimiternvoidspace, jam, yeah - that's how mongo works10:00
jamdimitern: standup ?10:00
fwereade_of those online... who is least unfamiliar with the uniter? I need someone who's willing to say "ship-it" (or "that's crap fix it") on http://reviews.vapour.ws/r/527/10:24
fwereade_TheMue, tasdomas, mattyw: I feel like each of you has half a chance of having touched it recently enough to have something of an opinion? ^^10:25
mattywfwereade_, if you want an opinion I'm happy to enough to provide on10:25
TheMuefwereade_: will take a look too, sure10:26
fwereade_wallyworld, thoughts on docstrings like "Foo helps satisfy the package.Bar interface"? upside, just one place with "official" docs, less likelihood of drift; downside, you have to look over there to understand what the method's for10:54
wallyworldfwereade_: i like "Foo helps satisy Bar interface". IDEs have click through so it's trivial to navigate to interface to see real comment10:57
fwereade_wallyworld, cool, I tend to concur10:59
fwereade_wallyworld, I got distracted half way (hmm, more like 10%) through my previous docstring pass10:59
wallyworldthere is a lot for sure11:01
wallyworldjam: you joining us for storage round 2?11:02
jamwallyworld: yeah, joining now, just had to get my son from the bus11:22
jamwallyworld: though it looks like you've already left ?11:23
wallyworldjam: `we ended it, will reschedule for next week it that's ok11:23
jamwallyworld: kd11:23
voidspace|| is defined for strings but not &&?12:15
voidspaceah no12:16
voidspaceonly the first error was reported though12:16
* fwereade_ has a *filthy* headache that's only getting worse, going to lie down12:19
voidspacefwereade_: :-(12:21
dimiternvoidspace, almost finished with the review - I had a chat with fwereade_ till now12:25
voidspacedimitern: ok12:28
voidspacedimitern: I've been working on the changes I discussed with you and the comments from jam12:28
voidspacedimitern: although I'm not too keen on the "supersticious programming" change suggested by jam12:28
voidspace"shouldn't we use a loop just because..." :-p12:29
jamvoidspace: so many places in the code where we have a transaction we put in a loop12:29
dimiternvoidspace, ah12:29
jamI don't know that we need to do so here12:29
dimiternvoidspace, jam, if we have a lot of asserts it makes sense to have a buildTxn callback (implicit loop) - if it's just one assert we can go without it12:30
voidspaceI had one originally, but pulled it out12:31
voidspacethe only error possible (so far) is if the document already exists12:31
dimiternvoidspace, reviewed13:00
voidspacedimitern: thanks13:07
voidspacedimitern: "a few suggestions"...13:08
voidspace;-)13:08
voidspacedimitern: appreciated, on the case with several of these already13:09
dimiternvoidspace, sorry :) I seem to be picking up somewhat British way of expressing myself sometimes :)13:09
voidspacedimitern: a terrible curse13:09
dimiternlol13:10
sinzuijam, katco, ericsnow: can someone look into bug 1396625? if this is broken in the 1.21 branch we will need a fix backported to it14:45
mupBug #1396625: container scoped relations between 2 subordinates broken in 1.20.12 <regression> <subordinate> <juju-core:Triaged> <https://launchpad.net/bugs/1396625>14:45
katcosinzui: i'm trying to wrap up leadership before holiday, and i'm OCR today as well.14:46
katcosinzui: i will take a look this afternoon if i can.14:47
sinzuikatco, sorry I am not asking any one person to fix the issue, we just need someone who can assess the regression. This may block 1.21.0 and require us ti do a 1.21.beta414:47
katcosinzui: gotcha. i will take a look if at all possible. thanks for the heads-up :)14:48
voidspacedimitern: are collection fields automatically lower-cased by mongo? (or mgo - from doc struct fields which are capitalized)15:20
dimiternvoidspace, yes they are15:22
dimiternvoidspace, I think by mongo itself15:22
fwereade_voidspace, yes, I think it's mgo/bson that does it, and I like it very much when we're explicit about `bson:"whatever"`serializations15:23
voidspacedimitern: cool, looked that way from the code but I wanted confirmation15:23
voidspacefwereade_: coolio15:23
voidspacedimitern: you want to check for malformed AllocatableIPHigh and Low?16:06
voidspacedimitern: you also want to check they're within the CIDR?16:06
dimiternvoidspace, I think it's worth it to validate them when set16:08
voidspacedimitern: ok16:08
voidspacedimitern: jam suggested moving all the validation into a CheckValid method on Subnet16:09
voidspacedimitern: do you think it's worth the effort?16:09
dimiternvoidspace, I don't mind if we do the validation in a follow-up, but please at least add a TODO for it16:11
voidspacedimitern: ok16:12
voidspacedimitern: net.ParseIP doesn't return an error!16:12
voidspacechecking to see what it does for invalid input16:12
voidspacedimitern: it returns net.IP(nil)16:13
voidspaceodd16:13
dimiternvoidspace, it doesn't but it returns nil16:13
dimiternvoidspace, there's a method to call on net.IP to ensure it's valid16:14
dimiternvoidspace, sorry, I was wrong - no such method; just check for nil I guess16:15
voidspaceyep16:16
voidspacedimitern: there's an almost unbounded amount of additional validation we could do16:43
voidspacedimitern: e.g. both ipv4 or both ipv6, Low should be lower than high and so on16:43
voidspacedimitern: so I won't do those unless you feel strongly16:44
voidspacedimitern: I will note them16:49
dimiternvoidspace, that sounds good to me - I agree we can improve it further, but not at the cost of stalling the implementation :)18:16
dimiternvoidspace, I'll leave it to your judgment then18:17
voidspacedimitern: on the last bits now18:18
voidspacedimitern: do you really want a "Destroy" that just sets Life to Dying?18:18
voidspacedimitern: given that Remove requires Dead and EnsureDead sets Dead18:18
voidspacedimitern: there's no actual use (yet) for a Destroy18:18
dimiternvoidspace, ok, let's skip Destroy for the time being18:20
voidspacedimitern: thanks :-)18:20
voidspacedimitern: I have ten minutes before EOD18:20
voidspacedimitern: I might finish...18:20
voidspacedimitern: maybe a test or two for before standup tomorrow18:20
dimiternvoidspace, no rush :) it's going great so far18:22
voidspacedimitern: one issue18:22
voidspacedimitern: I added the unique index on providerid18:22
voidspacedimitern: added in state.open18:22
dimiternvoidspace, and it doesn't work when unset?18:23
voidspacedimitern: it doesn't work18:23
voidspacedimitern: I can add two subnets with the same providerid18:23
voidspacedimitern: it's fine unset18:23
voidspacealthough that hadn't occurred to me18:23
dimiternvoidspace, hmm.. I kinda suspected that.. have you tried the "sparse" flag for the index as jam suggested?18:23
voidspaceit needs to be "unique if set", which is slightly different18:23
voidspacedimitern: it doesn't seem to work *at all*18:23
dimiternvoidspace, ah, sorry18:24
voidspacedimitern: I haven't tried sparse - that might be needed *as well*18:24
voidspacedimitern: however I wonder if the indexes are used for the test as we seem to have special ways of creating the state for tests18:24
dimiternvoidspace, that's odd.. maybe due to the "omitempty" tag - not quite sure18:24
voidspacedimitern: can topic with jam tomorrow18:25
voidspacethere's a note in the test18:25
voidspaceit currently passes when it shouldn't :-)18:25
dimiternvoidspace, yeah.. I'll have a look tomorrow - I'm sure I used unique indices like that before18:26
dimiternvoidspace, but there might be subtleties that escape me now18:26
voidspaceyeah18:27
voidspaceI'm on the other bits right now, but I won't forget it18:27
dimiternvoidspace, cheers18:27
dimiternvoidspace, sorry for my nit picking.. but I'm overly cautious with any state code due to past issues :)18:28
dimiternanyway, eod for me18:31
dimiterng'night all!18:31
voidspacedimitern: g'night18:31
voidspacedimitern: cya tomorrow18:32
voidspaceI'm EOD too18:32
thumperfwereade_: ping20:06
wallyworld_thumper: that jujuc symlink issue was caused by a fix to a different bug 139164521:43
mupBug #1391645: Tools linking issue 1.21beta1 for collocated services <tech-debt> <juju-core:Fix Released by axwalk> <juju-core 1.21:Fix Released by axwalk> <https://launchpad.net/bugs/1391645>21:43
wallyworld_thumper: i'll get andrew to look into it21:43
thumperwallyworld_: we are looking now21:43
thumperwallyworld_: as it is blocking our work21:44
wallyworld_ah, bollocks21:44
wallyworld_thumper: there's also this one 139662521:44
wallyworld_bug 139662521:44
mupBug #1396625: container scoped relations between 2 subordinates broken in 1.20.12 <regression> <subordinate> <juju-core:Triaged> <https://launchpad.net/bugs/1396625>21:44
thumperyeah, not sure about that one...21:44
wallyworld_i think this is associated with the fix menno did21:44
thumperfwereade_ said it should be allowed21:44
thumperbut we used to allow it by mistake21:45
wallyworld_ask menno, he may be able to tweak his previous fix21:45
thumpershould NOT be allowed21:45
wallyworld_oh21:45
thumperyeah21:45
thumperI'm wanting fwereade_ to look at it21:45
wallyworld_so you saying it's a won't fix?21:45
wallyworld_ok21:45
wallyworld_thumper: so let me know if you need us to look at the jujuc bug, if you get stuck etc21:46
thumperwallyworld_: I have a back port of a bug21:46
thumperJust going to land it on 1.2121:46
thumperI thought it wasn't a problem there, but it is21:47
thumperas I have found by debugging it21:47
wallyworld_which bug?21:47
* thumper loks21:47
thumperhttps://bugs.launchpad.net/juju-core/+bug/139556421:48
mupBug #1395564: jujud constantly spews `juju.worker runner.go:219 exited "identity-file-writer": StateServingInfo not available and we need it` <juju-core:In Progress by thumper> <https://launchpad.net/bugs/1395564>21:48
wallyworld_oh, that one21:48
wallyworld_and you did find an all machines issue by the looks21:49
wallyworld_yay :-(21:49
* thumper nods21:49
thumperit is all a bit shit21:50
katcothumper: the review you have up, it's a backport?21:53
thumperyep21:53
thumperjust running all the tests to make sure they still pass before gettin gthe bot to do it21:53
katcothumper: any reason i shouldn't rubber-stamp this? it looks plausibly correct21:53
thumperkatco: axw  reviewed the master version21:53
thumperrubber-stamp away21:53
* katco reels back21:53
* katco ka-thump21:53
katcowallyworld_: if you have any questions about my responses to your review, lmk. especially the one concerning state. i couldn't really find a better way.21:55
wallyworld_katco: np, i haven't started looking yet21:55
katcowallyworld_: np21:55
thumperwallyworld_: I don't suppose you have the old review for axw's tool change21:59
thumper?21:59
wallyworld_i can look21:59
wallyworld_thumper: here's the pr for the backport to 1.21 https://github.com/juju/juju/pull/113622:01
wallyworld_the review board link seems to be gone22:01
thumperta22:01
thumpergee I miss the links to the code reviews in the bugs22:02
wallyworld_yep :-(22:02
wallyworld_i miss launchpad22:02
fwereade_thumper, hum, that's an interesting bug, isn't it :(23:07
thumperfwereade_: which one?23:08
thumperI have three on the go23:08
fwereade_thumper, heh, https://bugs.launchpad.net/juju-core/+bug/139662523:08
mupBug #1396625: container scoped relations between 2 subordinates broken in 1.20.12 <regression> <subordinate> <juju-core:Triaged> <https://launchpad.net/bugs/1396625>23:08
thumperfwereade_: and a fourth I wanted to talk to you about23:08
fwereade_thumper, ok, I'm going to get a drink then, hangout?23:08
thumpersure23:08
fwereade_menn0, ping23:52
menn0fwereade_: hi23:53
fwereade_menn0, so, https://bugs.launchpad.net/juju-core/+bug/139662523:53
mupBug #1396625: container scoped relations between 2 subordinates broken in 1.20.12 <regression> <subordinate> <juju-core:Triaged> <https://launchpad.net/bugs/1396625>23:53
fwereade_menn0, I am conflicted23:53
menn0fwereade_: yep23:53
fwereade_menn0, hangout?>23:53
menn0fwereade_: ok23:53
thumperwallyworld_, waigani, menn0: https://github.com/juju/juju/pull/122623:55
thumperjust running all the tests now23:55
* thumper goes for a jog with the god23:55
thumperdog23:55
wallyworld_if it were a cat23:55
wallyworld_then it would think it's a god23:56

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!