/srv/irclogs.ubuntu.com/2015/08/06/#juju-dev.txt

davecheneyworks for me00:04
thumperyeah...00:10
thumperI think my cache was fubared00:10
davecheneythumper: are you using 8.8.8.8 by any chance ?00:12
thumpernope00:12
thumpersquid-deb-proxy in the way00:12
davecheneybut does that use 8.8.8.8 ?00:13
davecheneyas your name server00:13
mupBug #1482015 opened: featuretest: panic on ppc64le <juju-core:New> <https://launchpad.net/bugs/1482015>02:21
mupBug #1482074 opened: worker:  environSuite.TestInvalidConfig fails on ppc64 <juju-core:New> <https://launchpad.net/bugs/1482074>06:39
wallyworldjam: hi, i'm off to soccer soon, but i made some changes to the resources doc. i also posed a question about specifying series. i've also put down a brain dump on mongo migration which i'll share. it's a start07:43
jamwallyworld: k07:43
jamenjoy soccer07:43
wallyworldwill try to07:43
wallyworldlink sent07:44
dooferladdimitern: hangout?09:01
dimiterndooferlad, omw09:02
voidspacedooferlad: dimitern: ready for review http://reviews.vapour.ws/r/2303/10:01
dooferladvoidspace: *click*10:01
dimiternvoidspace, looking10:02
voidspacerelatively straightforward in the end10:03
voidspacethe estimation for spaces list state is 210:10
voidspaceI think that's quite an underestimation given how much subnets need to change10:11
voidspace:-/10:11
dooferladvoidspace: and that is why we review and re-estimate :-|10:13
voidspaceyeah10:14
voidspace"Thinking Fast and Slow" (a book on experimental psychology) has a good section on project estimation10:14
voidspaceand why humans will always tend to underestimate the time a project takes10:15
voidspaceI think that agile velocity measuring is actually a pretty good counterbalance against that, but he (Daniel Kahneman I believe) does suggest some other mitigation strategies10:15
mupBug #1482155 opened: lxc restriction on multiple state servers <juju-core:New> <https://launchpad.net/bugs/1482155>10:16
voidspacethe "optimisim bias" is one reason and "What You See Is All There Is" is another reason10:16
voidspacethe main mitigation strategy is to not estimate based on how long you think a task will take10:16
voidspacebut first take *how long other similar tasks actually took* as your baseline, and then think of reasons to move from the baseline10:17
dooferladvoidspace: I have used two point estimation (worst case, best case) and three point (worst, gut feel for how it should be, best case) and none seem to do any better than what we are doing10:17
voidspaceright, but starting from a baseline that is not related to thinking about the current task is slightly different10:18
voidspaceit's effectively a statistical approach10:18
voidspace"statistically how long is this likely to take based on similar tasks"10:18
voidspaceexperiments demonstrate that even *knowing* the baseline doesn't affect people's estimation (they still underestimate wildly) unless they *specifically* start from the baseline10:19
dooferladsounds about right!10:19
voidspacevery interesting book10:19
voidspaceI reccommend it for all sorts of reasons10:19
voidspaceit just happens that section is relevant10:19
dooferladI would add it to my to-read list, but it is way too long anyway.10:20
voidspaceheh10:20
voidspaceI know the feeling10:20
dooferladI just need a solid 10 years in a cave to make a decent dent.10:20
dooferlada cave without net access.10:20
voidspace:-)10:20
voidspaceand then you really will have an "emerging from the cave" experience (a-la Plato)10:21
dooferladand some magic anti-aging time machine10:21
TheMuetalking about PERT?10:26
voidspacePERT?10:27
TheMueE = (P + 6L + O) / 6 with U = ((P - O) / 6)^210:28
voidspacethat didn't help...10:28
voidspace:-p10:28
TheMuevoidspace: https://en.wikipedia.org/wiki/Program_evaluation_and_review_technique10:28
voidspaceTheMue: thanks :-)10:28
TheMuea very simplified model for software cost estimation, opposite to FPA oder even COCOMO II10:29
TheMuein the first line P is pessimistic, L is likely and O is optimistic, E is the effort and U the uncertanity10:30
* TheMue once needs to translate his 70 slides about the different ways for SCE from German to English ...10:31
TheMuecontains reasons about wrong estimations too, and all the factors that are part of a full process10:31
voidspaceTheMue: it's not clear to me that PERT uses a baseline for individual task estimation10:32
TheMueokay, different topic, back to work10:32
voidspaceso I'm not sure it's directly the sort of estimation I was talking about10:32
TheMuevoidspace: only seens that sentence with three points, so jumped on the wagon to quickly ;)10:33
TheMueseen10:33
voidspaceheh10:33
voidspaceKahneman talks about a statistical approach to individual task estimation - not just for a whole project10:33
voidspaceit seems that PERT will still be subject to the optimist bias and availability bias even in the pessimistic estimation case10:34
voidspaceand Kahneman has experimental data to back up his assertions about the way we estimate10:34
TheMueI once managed a 7 people/3 year project very good with a mix of FPA and COCOMO II, but we had very clear requirements, so it worked10:34
voidspacetracking a velocity is a good counterbalance, but it won't tend to improve estimation - merely correct for the inherent errors10:35
voidspaceright, lunch10:35
TheMuevoidspace: yep, matches my experience10:35
voidspacecool10:36
TheMuedimitern: do we have a way to inject a value into a running watcher? would like it to return the tag of an illegal IP address to provoke an error10:50
* TheMue steps out for lunch, reads answer later10:52
dimiternTheMue, not outside the state package, as this will require inserting an invalid document in the collection the watcher is watching10:57
dimiternTheMue, alternatively, you can use a mock watcher of course10:58
TheMuedimitern: hmm, mocking would be an alternative. seems like the only way to kill my worker in a bad way :)11:24
TheMuedimitern: it's a funny test, after hardening the worker show, that it still can die after an internal error11:30
voidspacedooferlad: the nice thing about a magic space name ("diediedie") is that space name is already passed down from BackingInstance to Space to Subnets11:55
voidspacedooferlad: to add another way to configure Subnets to fail (as I only have access to the backing instance) requires adding infrastructure to pass that knowledge down from BackingInstance to Spaces to Subnets11:56
voidspacedooferlad: all for that one test11:56
voidspacedooferlad: in terms of obfuscation, I thought "diediedie" was pretty clear...11:56
voidspace:-)11:56
voidspacedimitern: I replied to two of your review comments12:03
TheMuemock-di-di mock-di-da *sing*12:11
voidspacedimitern: also, you said it was "mostly done, apart from the apiserver method signature"12:19
voidspacedimitern: what do you mean by the apiserver method signature, and what isn't done about it?12:19
voidspacedimitern: you mean I missed something?12:19
dimiternvoidspace, did you get my other 2 comments?12:24
dimiternvoidspace, I've replied12:25
voidspacedimitern: yeah, about to push the other two changes12:26
dooferladvoidspace: it isn't just the diediedie thing, it is the looking at subnet IDs and using that to decide how to construct the fake subnet.12:26
voidspacedooferlad: that's not what the comment says12:26
voidspacedooferlad: it's just constructing precanned data12:27
voidspacedooferlad: deterministically constructing it from input12:27
voidspacedooferlad: I don't think it's unclear12:27
voidspacedooferlad: we only have SubnetIds on the Space12:27
voidspacedooferlad: and really it needs to stay like that because AddSpace takes a subnetId not a subnet12:28
voidspacedooferlad: so unless we want our backing stub to start growing a full implementation, we need a way of going from subnet id to full subnet details12:28
voidspacedooferlad: I could turn it into a function that does it, store the generated subnets and have AddSpace use it to generate a subnet12:29
voidspacedooferlad: but it would be exactly the same thing, just extra work12:29
dimiternvoidspace, that's why i asked did you get my other comments - I tried to explain there about the signature12:29
voidspacedimitern: ah!12:30
voidspacedimitern: you mean lose the Error on the result and return an error instead12:30
voidspacedimitern: hmmm... isn't it normal for result params to have an Error field?12:30
voidspacedooferlad: I've added my explanation (including why I don't like the alternatives - especially for the CIDR magic) as a comment to the review12:37
voidspacedooferlad: getting rid of "diediedie" would be easier, not too much work - just a method on BackingInstance and a corresponding flag on FakeSpace I think12:38
voidspacedooferlad: so maybe it's worth it12:38
voidspace(I agree in general that magic names aren't ideal.)12:39
voidspacedooferlad: and subnet.get_params()! You've been doing too much Python :-)12:39
voidspace(method name casing)12:39
dooferladvoidspace: You could put the code to generate those subnets in StubBacking.SetUp so at least all the set up is in one place.12:41
voidspacedooferlad: no, see the comment about AddSpace12:41
voidspacedooferlad: we need to do it on the fly too12:41
voidspacedooferlad: so in terms of "one place", Subnets is the best place12:42
voidspacedooferlad: we could do it in SetUp *and* AddSpace12:42
voidspacebut that seems worse12:42
voidspaceto me anyway12:42
voidspaceand we'd need to add an extra field to FakeSpace to store them12:43
voidspacethere will also be a method to add a subnet to an existing space as well12:44
voidspacethat will then be a third place needing to do the generation12:44
voidspacedooferlad: I could add a comment to the SetUp, so anyone investigating where the data is generated will be able to find it easily12:45
dooferladI guess the question really is should the stub emulate state well enough to accomplish this and will it be useful for other tests. That I don't have an answer for without giving it some thought, but leaving it as it is now and adding comments seems good.12:45
voidspacedooferlad: currently it's just for this test12:46
dooferladthat way the giving it some thought gets done as part of writing other bits12:46
voidspacedooferlad: and I don't like writing code for imaginery future use cases12:46
dooferladbut, yes, comments++12:46
voidspaceif we have a need for BackingInstance to better emulate state then we should add that at the point we need it12:46
dooferladindeed12:46
TheMuedimitern: you've got mail about an idea. let me know what you think.12:47
voidspaceso I'll get rid of diediedie and add a comment about subnet data generation to SetUp12:47
dooferladI see TheMue is now using IRC as a push email notification. Next, telnet to ping people about IRC messages :-D12:47
voidspacedooferlad: you have a params.SpaceResult - presumably the result of calling CreateSpace12:48
voidspacedooferlad: it just holds a Tag and an Error12:48
voidspaceI'm about to create params.Space (a rename of params.SpaceListResult)12:48
voidspacedooferlad: they have no fields in common... but still I wonder if they should be unified?12:48
TheMuedooferlad: yep, working on a bot to automate it12:48
dimiternvoidspace, result structs have Error fields only when part of a bulk call of some sort (entities -> someresults, error)12:48
voidspacedimitern: so just returning the error is sufficient? ok. I'm already doing that anyway, I'll just kill the Error field12:49
dooferladTheMue: but where will I telnet to? Perhaps you could call me?12:49
dimiternvoidspace, in this case we have the same results (assuming no filtering)12:49
dimiternvoidspace, well, ListSpaces is not a bulk call anyway and can either return all results or error out (no partial results possible)12:50
TheMuedooferlad: ok, will add a pluggable channel adaptor, so you can add your telnet module12:50
dooferladTheMue: sweet. I will post you a letter with my phone number.12:51
TheMuedooferlad: hmmm, missing the fax here12:51
voidspacedimitern: yep, cool12:51
dimiternTheMue, I like your proposal actually, but how do you estimate the work?12:52
dooferladTheMue: oh dear, I don't know your address and I won't be able to see smoke signals at this distance. Oh well.12:52
dimiternTheMue, not what do you mean by "the ip address watcher would be part of networking api"12:53
dimiternTheMue, s/not/not sure/12:53
TheMuedimitern: ah, great. it should be pretty simple with the made experiences, I'm only angry that I didn't wrote it down earlier12:54
dimiternTheMue, as a professor of mine liked to say "once you've done with a task, you already know how you should've done it" :)12:55
TheMuedimitern: IMHO as it is a business domain I would put all networking related functionality into one API, not like e.g. now the extra addresser, which only makes sense for the addresser worker12:55
TheMuedimitern: a good professor, indeed12:55
TheMuedooferlad: how about a carrier pigeon?12:56
dooferladTheMue: thought about that but with neither of us having a pigeon trained to fly to the others address, I think we are out of luck.12:57
TheMuedooferlad: will use the London sprint to work on a solution. maybe installing a direct wire for telegraphing12:58
dimiternTheMue, I'm not sure about a networking api in general - let's keep that in mind for the time when we'll have pluggable brokers/providers12:58
TheMuedimitern: ok12:58
* TheMue continues mocking for an API error13:01
TheMuedimitern: will make a more concrete outline to see, if a later change of the approach would make sense13:04
voidspacedimitern: dooferlad: review updated13:11
voidspacedimitern: ah damn, forget JSON tags13:11
voidspacedimitern: will do that now13:11
voidspacedooferlad: see the SetSpaceSubnetsFail monstrosity you're responsible for13:11
dooferladvoidspace: you have answered all my queries. Have a +113:12
voidspacedooferlad: thanks13:12
dimiternTheMue, ok13:32
dimiternvoidspace, please don't forget json tags13:32
voidspacedimitern: done13:34
voidspacedimitern: as I have a +1 from dooferlad I'm going to merge13:34
tasdomaswho could I talk to about actions in juju-core ?13:34
dimiternvoidspace, ahh..  now I got it why you like the verbose slice-item multi-line formatting to the shorter []X{{\nF: 42,\n}, {\nF: 2,\n}}13:37
dimiternvoidspace, it looks more pythonic :)13:37
dimiternvoidspace, and you have a +1 from me as well13:38
voidspacedimitern: I'm not sure it's more pythonic, I think it's more readable13:42
voidspacedimitern: it adds one line per slice member, and when you have nested slices (as in this example) it's very clear what type you're looking t13:43
TheMuedimitern: take a look at http://paste.ubuntu.com/12013753/, that would be the API function. api.releaseIPAddress() is adopted from the original code, only changed the parameter to be an address.13:43
voidspace*at13:43
TheMuedimitern: it's pretty small ;)13:43
voidspacedimitern: if it wasn't a nested slice I wouldn't do it13:43
voidspacebut nested "untyped" slice members is a bit hard to read (you need to keep a state stack to remember which type you're reading)13:44
voidspacedimitern: anyway, thanks13:44
voidspacedimitern: should I go to space list (api) or space list (state)13:45
voidspacedimitern: I'm not sure which is more logical as a next step, I've been looking at state but it occurs to me that (api) might be more logical13:45
voidspaceor should that be done last...13:45
voidspacedimitern: the list card says that it assumes that "create" has already been done13:46
voidspacedimitern: but I think that assumption is for the estimate only, not actually a requirement of implementation order13:47
dimiternvoidspace, so far I found it's best to do cli -> apiserver -> api -> state13:54
voidspacedimitern: so api next then13:54
voidspacecol13:54
voidspace*cool13:54
xwwtmgz: I may be a cpl min late13:56
mgzxwwt: no probs, poke me when ready13:57
dimiternTheMue, CleanupIPAddresses should not return the first error - it's better to keep going and return a typed error like "some addresses not released (will retry)"14:14
dimiternTheMue, and I'll suggest adding some debug logging around the steps14:14
mgzI was just wondering what the allen v watcher was and why we named a watcher after someone...14:15
TheMuedimitern: yeah, thought about that too14:15
TheMuedimitern: but this is only an outline to show how small it would be14:15
dimiternTheMue, +114:19
TheMuedimitern: say ok and I quickly create a new branch, copy the reusable code of my current branch and go with it *lol*14:20
* perrito666 considers moving to uk just to be able to see tgbbo sooner14:25
mgzehehe, baking nut14:26
perrito666I have to wait a whole day to see it on the internet14:26
perrito666and months to get it on bbc14:26
perrito666our version of bbc is quite subpar14:26
perrito666mgz:  I am now into a whole new level of torture, watching cooking shows while on a diet :p14:28
natefinchperrito666: so don't do that :)14:29
perrito666natefinch: I assume you are talking about the diet14:29
natefinchlol14:29
natefinchno14:29
perrito666natefinch: one doesn't miss tgbbo, it is not an option, even living in the spanish colonies as I do :p14:30
natefinchperrito666: never heard of it14:30
* perrito666 slaps natefinch with a cookbook by mary berry14:32
natefinchbe back in ~25 minutes14:39
=== natefinch is now known as natefinch-afk
perrito666aghh why on earth noboy uses /away instead of doing that?14:41
katcoericsnow: wwitzel3: natefinch-afk: ok planning time14:56
wwitzel3katco: rgr, refilling my water14:56
perrito666anyone seen fwereade lately?14:57
cheryljdoes anyone have information on using the garage MAAS?  I need an environment where I can deploy KVM containers.14:57
* dooferlad wonders if he is the only person who gets annoyed by KVM being called a container when it isn't.14:59
perrito666dooferlad: you most likely are :p since we all call it that15:00
TheMuedimitern: some changes at http://paste.ubuntu.com/12014105/, also contains the important part of the worker. only missing part now is the correct signal, that it's no hard error but a try-again15:00
TheMuedimitern: so yes, missing some QA aspects, but shows the idea how few code it is15:01
cheryljterminology aside, my question stands :)15:01
TheMuedimitern: simply by moving logic to the server side15:01
dooferladsorry cherylj, no. I work in a converted garage and it has a MAAS in it, but that isn't what you were asking about :-|15:02
perrito666dooferlad: nice, and where did you put the car?15:03
dooferladperrito666: it never went in the garage anyway. Left part at the front for bikes.15:03
* perrito666 went for the laundry room15:05
lazyPowerwwitzel3: natefinch-afk - so i've done quite a bit of hacking on the containerizer i wanted to land for tracking branches but the sizes are quite large and I dont really recommend a 2.8gb container image from the registry. So if you want/need any of these branch bins in an isolated space just lmk. I'm abandoning the effort to get these published in an automated fashion.15:09
lazyPowerit turned into quite the rabbit hole15:09
katconatefinch-afk: ping?15:13
wwitzel3lazyPower: ahh ok15:13
wwitzel3lazyPower: thanks, yeah, I'd love to look at what you have15:14
lazyPowerwwitzel3: https://github.com/chuckbutler/jujubox/tree/nightly15:17
lazyPowerrepo is a little messy, i still have cleanup to do in there15:17
katconatefinch-afk: ping?15:23
katconatefinch-afk: ping?15:35
* TheMue hears an echo on the channel, ...annel, ...nel, ...l15:37
jw4tasdomas: did you get your actions questions answered?15:39
=== natefinch-afk is now known as natefinch
perrito666bbl15:42
katcoperrito666: natefinch: team meeting18:02
fwereadeevening all18:46
natefinchevening fwereade18:46
alexisbheya fwereade !18:46
perrito666hey katco sorry got a doctor appt and wasnt out of there in time18:47
alexisbdid you get power back?18:47
perrito666fwereade: hey, welcome bacl18:47
fwereadeso far I have had four public officials and two electricians hemming and hawing and replacing one bit after another18:47
fwereadethere was going to be a third electrician today but he turned out to be fictional18:47
fwereadeI am more than somewhat vexed by the situation18:48
fwereadeam currently in a bar up the road for the wifi18:48
perrito666fwereade: well, now you know how everyone else sees software engineers debugging18:48
fwereadeand kinda sorta for the alcohol too now I think of it18:48
fwereadeinterestingly, the electricity meter (replaced this morning) dated from 196618:48
fwereadedidn't *quite* make it 50 years18:49
fwereadeanyway I'm mainly on to fetch and rebase and maybe push a couple of branches if they're clean18:49
perrito666fwereade: one would think that, of all possible poblems a house can have, electricity supply is one of the easiest to debug by simple binary search18:49
perrito666fwereade: your extremely big pr to master was merged18:50
fwereadebut if I can do anything for anyone while I'm here, well, I'm here18:50
fwereadeperrito666, I saw, thanks :)18:50
alexisbfwereade, I sent you mail on a critical bug18:50
alexisbjust fyi18:50
katcofwereade: beer makes you code better, or at least think you are.18:51
alexisbbeer has that affect for many popular activities18:51
perrito666katco: beer makes you code like this https://www.youtube.com/watch?v=KEkrWRHCDQU18:51
fwereadealexisb, ok, menn0's explanation sounds like it's on the money18:54
fwereadealexisb, I will look into it18:54
alexisbthanks18:54
natefinchtry ssh whoami.filippo.io20:34
natefinch(it's harmless but interesting)20:34
perrito666wallyworld: leme know when you are here21:00
wallyworldperrito666: hey, just about to drive my wife to work, hopefully back soonish21:06
perrito666wallyworld: np, just ping me whenever you feel like21:07
perrito666:)21:07
perrito666I have literally nothing better to o21:08
perrito666do21:08
arosaleswallyworld, congrats on the spotlight award :-)21:08
* perrito666 will ask an autograph on the next meeting21:08
=== beisner is now known as beisner-afk
=== beisner-afk is now known as beisner
katcowallyworld: dude! the spotlight award! congratulations!!! :D21:48
katcowallyworld: definitely well deserved :D21:48
perrito666katco: we at tanzanite are thinking on changing the name to Ian's people21:49
perrito666and also wearing Ian's face on t-shirts21:49
perrito666and off course, tatoos21:50
* perrito666 np: Men at work - down under21:50
perrito666wow, I actually know 2 songs from these people21:53
katcoperrito666: how does "mountain man" (axw) feel about that?21:58
perrito666katco: about what of all that?21:58
katcoperrito666: about renaming the team to "ian's people"21:59
perrito666katco: (also we dont need to ask him, he is still 2 hs away from morning) :p21:59
katcoperrito666: haha, i always forget "mountain man" axw lives in a different time zone than wallyworld22:00
perrito666it is 6 AM for him still22:00
mwhudsonthe fact that perth is connected to the rest of australia by land is an interesting academic fact that has no effect on reality22:25
anastasiamacperrito666: like some of ur ideas but not the ones above :D22:54
axwkatco: mountain man? nani?22:54
anastasiamacaxw: we should have a sprint in perth to make abslutely sure that everyone apprecaites paradise u r in :D22:57
axwanastasiamac: I think I have missed something :)22:58
anastasiamacaxw: I'd b siurprised if u have:D22:58
axwanastasiamac: according to flock.teleport.org, if tanzanite has a sprint we should all go to sydney22:59
anastasiamacaxw: since everyone is curious/ talking about perth, I think we should sprint there :D23:00
axwanastasiamac: are you sure you want to be in the State of Excitement?23:02
anastasiamacaxw: m always in the state of excitment23:02
mupBug #1482226 opened: juju status with 'prefer-ipv6' shows address, not DNS name. <amd64> <apport-bug> <trusty> <uec-images> <juju-core:New> <https://launchpad.net/bugs/1482226>23:03
axwanastasiamac: in case that's lost on you... http://theworstofperth.com/2007/11/03/state-of-excitement/23:03
anastasiamacaxw: but Perth also has great food :D23:03
* anastasiamac needs to run - ttyl23:04
wallyworldperrito666: you back yet?23:16

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