/srv/irclogs.ubuntu.com/2015/02/13/#juju-dev.txt

=== kadams54-away is now known as kadams54
axwjw4 katco: yep, that was baby's first plantuml diagram :)01:16
jw4axw: lol01:16
katcoanastasiamac: lmk when you've forwarded it01:38
katcoACK! one of my rules was deleting it!01:39
jw4katco: you mean the 'killfile anastasiamac' rule?01:41
katcojw4: lol no01:42
jw4:)01:42
katcojw4: it deleted an email from alexisb as well =|01:42
katcojw4: gmails filtering syntax doesn't work like i thought it did apparently =|01:42
jw4urg.01:42
anastasiamackatco: waht rule do u have? delete all from anyone starting with "A"?01:42
jw4hahaha01:42
katcoanastasiamac: LOL01:42
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
wallyworld_axw: here's a trivial 1.22 fix when you get a chance http://reviews.vapour.ws/r/927/02:44
axwlooking02:44
axwwallyworld_: are all the clouds updated?02:45
wallyworld_axw: the packaging change is for the deb in the cloud archive repo02:46
axwright, ok02:46
wallyworld_so the cloud images don't need updating02:46
axwwallyworld_: LGTM02:47
wallyworld_ty02:47
axwwallyworld_: http://www.reddit.com/r/golang/comments/2vo357/if_you_use_jetbrains_intellij_for_development_the/03:08
axwyou use intellij right?03:08
wallyworld_yeah03:08
wallyworld_i use a go plugin from someone on github03:09
wallyworld_this might be a different one03:09
wallyworld_oh, no same one03:10
wallyworld_i normally compile from source as i've done a patch or two to it03:11
axwwallyworld_: http://reviews.vapour.ws/r/923/, PTAL03:14
wallyworld_sure03:14
wallyworld_axw: did you push? still the old rev03:20
axwwallyworld_: bleh, I guess the hook didn't transfer to RB03:20
wallyworld_np, i look in gh03:20
=== kadams54 is now known as kadams54-away
axwwallyworld_: I've just rebased and pushing again, I've deleted that file03:32
wallyworld_ok03:32
axwwallyworld_: btw I don't think the storage/pool package should be depending on storage/provider, it should be the other way around if anything03:33
axwstorage/provider is common providers... I don't think the pool package doesn't need to know about it03:33
wallyworld_yeah, the dependencies are a little messy03:33
wallyworld_pool uses provider to reference ProviderType03:34
wallyworld_maybe defaultpool should move03:35
wallyworld_axw: done, i hate it how gh sends comments before you have a chance to correct them03:38
axwwallyworld_: heh yeah :)03:38
axwsorry, I should've waited03:38
wallyworld_np :-)03:39
=== kadams54-away is now known as kadams54
anastasiamacaxw: how idid u come accross the idea article? r u thinking of converting to the dark side?03:56
axwanastasiamac: I just saw it on http://www.reddit.com/r/golang04:04
axwand no, I am not :)04:04
anastasiamacaxw: ic :D04:05
anastasiamacaxw: m sure if they got runtime debugging going, it would convert a few ..04:06
wallyworld_works for me04:14
anastasiamacwallyworld_: debugging works for u? like stepping through at runtime?04:19
wallyworld_yep04:20
wallyworld_but it doesn't go over the api04:20
wallyworld_so limited use04:20
anastasiamacoh i c...04:20
katcoanastasiamac: i can step through code in emacs as well :)04:23
=== kadams54 is now known as kadams54-away
Muntanergood morning!09:11
TheMueMuntaner: o/09:13
perrito666morning09:59
dimiternperrito666, o/09:59
TheMueheya perrito66610:00
dimiternvoidspace, dooferlad, standup?10:01
TheMuedimitern: see you're in but it doesn't work10:01
voidspacedimitern: omw10:02
perrito666frankban: ping10:17
frankbanperrito666: morning10:17
perrito666hello :)10:17
perrito666frankban: I broke your code and defintely could use a bit of guidance fixing it10:17
frankbanperrito666: hope I can help, what's up?10:18
perrito666frankban: so, this is the deal, I am working on having agent status and unit status split up10:19
perrito666what used to be status for unit, now is status for an agent entity, that holds nothing else other than status10:19
perrito666and unit now has a different status with a new globalKey10:19
perrito666so, for transitions sake, unit uses the same globalKey than it used to for most things except status10:20
perrito666with your last addings to mega/multi watcher it seems that if I am watching agent (that is what you actually want to know) it never gets informed when ports change10:21
perrito666and if I watch unit, it never gets informed of the other changes :)10:21
perrito666I might add agent and unit to the watcher and split things up10:21
perrito666but I will most likely break whatever you are using the watcher for10:21
perrito666so I could use some light in that department10:22
perrito666oh and al of this before coffee10:23
frankban:-)10:23
* perrito666 tries to defeat the lazyness to turn on the expresso machine10:24
frankbanperrito666: so the status for the unit is already updated by watching a separate collection right?10:26
perrito666if I let the code as is, yes, it watches the unit and gets updates for port changes (although the states are not the one you would expect)10:26
perrito666and then you loose the agent statuses10:26
perrito666if I change it to watch agent instead, you loose the ports10:27
perrito666so I definitely need to watch both10:27
frankbanperrito666: I am not sure I understand how status and ports are related, perhaps you can show me some code, or we could have an hangout?10:28
perrito666frankban: I can do both :)10:29
frankbanperrito666: https://plus.google.com/hangouts/_/canonical.com/gogogo?authuser=110:30
* perrito666 checks that he can speak english this early, check10:31
frankbanlol10:31
perrito666frankban: hold a sec, my computer jsut los sound... because of reasons10:32
* perrito666 restart10:32
* perrito666 is in trying to join the call to long10:38
perrito666there, you go, wrong authuser10:38
perrito666frankban: you froze10:49
perrito666frankban: but that's ok I got the info I needed, Ill let you know whenever this is ready to land so you can take a look10:50
frankbanperrito666: my machine decided to freeze :-/ I am back in the hangout10:52
perrito666frankban: brt10:53
* perrito666 wonders who designed his computer and didn't add a kb key for play/pause10:55
mgzI filed bug 1421606 as a blocker10:57
mupBug #1421606: TestAddServiceStorageConstraints fails on ppc64 <ci> <regression> <test-failure> <juju-core:Triaged> <https://launchpad.net/bugs/1421606>10:57
perrito666frankban: look into chrome://gpu if your hardware acceleration is dissabled you migh need to hack a bit your chrome launcher to bypass dri check10:57
frankbanperrito666: good to know, ty10:58
aznashwantime-appropriate greetings to everyone! just wanted to consult you guys a little on something11:07
aznashwanI'm currently working on getting CentOS fully supported (cloudinit and sshinit-capable), my first point of concern being abstracting away the differences between apt and yum (mostly for sshinit purposes)11:08
aznashwanmy question is, how necessary is it we set up apt-package pinning, I see it's only actually done in a couple of places and does not seem (from what I can discern) to be that necessary really. would dropping the whole pinning process be too much to take?11:10
perrito666aznashwan: without knowing where and why I cant tell you for sure11:13
aznashwanperrito666: my bad. they're declared here: https://github.com/juju/juju/blob/master/cloudinit/cloudinit.go#L3211:14
perrito666aznashwan: not very explicit of what is that for11:15
perrito666aznashwan: doesn't yum support some sort of pinning?11:15
aznashwanperrito666: and the only place one is used (apart from a couple of test files), is here: https://github.com/juju/juju/blob/master/environs/cloudinit/cloudinit.go#L37011:16
perrito666that is a rather important one11:16
aznashwanperrito666: yes it does, but for settling priorities for whole repositories, not for a single package available in multiple sources11:16
perrito666aznashwan: you dont want to en up with an unsupported cloud tools11:17
perrito666aznashwan: my take, just add a mock implementtion of pining for the moment11:18
aznashwanperrito666: true, but this gets us to a bigger problem: that's a cloud tools repo full of .deb's (which is a topic we'll be pitching next week, about how we also need rmp's for all the specific stuff, like the juju specific mongo package you guys have...)11:19
perrito666aznashwan: I dont think that old app to install debs in redhat still exist right ? :)11:20
aznashwanperrito666: that's a good question, either way it wouldn't be too much work, just the juju-mongodb package and these tools, which I suspect you guys have built automatically, and the main juju package for CentOS...11:22
aznashwanperrito666: will look further into the matter, and will take your advice for now and just work around this11:22
perrito666aznashwan: seems the easiest way for the moment11:24
aznashwanperrito666: much obliged :D11:24
Muntanergsamfira: o/11:36
MuntanerI'll be back at work on windows + juju on Monday11:36
jamperrito666: is someone looking at https://bugs.launchpad.net/juju-core/+bug/1421606 I just saw its blocking trunk12:15
mupBug #1421606: TestAddServiceStorageConstraints fails on ppc64 <ci> <regression> <test-failure> <juju-core:Triaged> <https://launchpad.net/bugs/1421606>12:15
jami realize that ideally axw or wallyworld_ would be looking at it12:16
* perrito666 looks12:16
jambut I think its past their EOD12:16
jam(and thus past their EOW, I believe)12:16
* perrito666 hears an incoming email from axw as soon as jam said that12:16
wwitzel3perrito666: he sets them up on notifies from IRC12:20
perrito666lol12:20
perrito666jam: but short answer is no, no one was looking at that, I guess we will have to since that seems to lock CI :)12:20
jamperrito666: ype12:20
jamyep12:20
perrito666jam: incidentally, isn't today like saturday for you?12:21
jamperrito666: yeah, but I had a big meeting, so I was around, and tried to submit one of my backlog packages, respond to email, etc.12:21
wwitzel3jam: lots of people or very important? ;)12:27
jamwwitzel3: very important12:28
jamspec review with Mark, though hopefully we'll get that regularly scheduled on a workday for me :)12:28
perrito666ah the infamous: "meeting on saturday or unemployment on monday" :p12:28
wwitzel3jam: ahh, which spec?12:28
* perrito666 runs to see his spec to make sure it hasn't changed12:29
jamwwitzel3: well, we're hopefully going to be doing regular weekly chats about features we're working on. though today's was about the Juju Unit and Service States (aka charm health)12:29
jams/States/Status/12:29
perrito666jam: :( I thought we where done with that12:29
jamperrito666: nothing major. mostly just moving the stuff we discussed in the overview into the core of the doc12:30
wwitzel3jam: nice12:30
=== kadams54 is now known as kadams54-away
TheMuehmm, is writing "shit it" due to friday afternoon?12:47
perrito666TheMue: ?12:48
perrito666dislexic are we12:48
perrito666?12:48
TheMuetypo during review, thankfully not published w/o correction12:49
TheMue;)12:49
=== kadams54-away is now known as kadams54
=== kadams54 is now known as kadams54-away
* dimitern steps out for ~1h13:10
ashipikahi all.. a question: trying to bootstrap my ec2 environment in eu-west-1.. but i'm getting the following error: error: invalid value "arch=amd64 cpu-cores=1 cpu-power=100 mem=1740M root-disk=8192M availability-zone=eu-west-1a" for flag --hardware: unknown characteristic "availability-zone"13:10
ashipika13:5613:10
ashipikajuju version 1.22-alpha1-trusty-amd6413:10
ashipikaalso juju (at least this version) does not seem to know about t2.micro instances (free tier eligible ) if i specify --constraints 'instance-type=t2.micro'13:11
wwitzel3ashipika: you can type juju help ec2-provider for specific help with EC2, but the placement directive should just be zone, not availability-zone13:14
wwitzel3ashipika: also looking at our instance types, you are right, we only know about t1.micro atm13:14
ashipikawwitzel3: zone=<availability-zone-name>13:17
ashipikawwitzel3: but then it says: unknown constraint zone13:19
wwitzel3ashipika: right, the zone placement should be outsize the constraints13:21
wwitzel3ashipika: juju bootstrap zone=name --constraints=""13:23
ashipikawwitzel3: juju bootstrap zone="eu-west-1c" —upload-tools    ->  unrecognized args ["zone=....13:24
ashipikawwitzel3: ah.. juju bootstrap —to zone=eu-west-1c ....13:26
wwitzel3ashipika: you got there first :), was just typing that, my fault .. I've never actually used zone with bootstrap, only with add-machine, and with add-machine you don't need to specifiy a --to13:28
ashipikawwitzel3: not solved the problem, though.. still getting13:30
voidspacedimitern: so when you say forwarding needs to be setup in container initialisation, you mean from the "initialiseAndStartProvisioner" method of ContainerSetup.13:30
ashipikawwitzel3: error: invalid value "arch=amd64 cpu-cores=1 cpu-power=100 mem=1740M root-disk=8192M availability-zone=eu-west-1c" for flag --hardware: unknown characteristic "availability-zone"13:30
ashipikaERROR failed to bootstrap environment: subprocess encountered error code 113:30
wwitzel3ashipika: right, you need to remove that availability-zone from your constraints13:33
=== kadams54 is now known as kadams54-away
ashipikawwitzel3: i ran -> juju bootstrap --to zone=eu-west-1c --upload-tools13:33
=== kadams54-away is now known as kadams54
ashipikawwitzel3: and the same error without —to13:38
wwitzel3ashipika: try running a destroy-environment (you may have to use --force), to clean up, then retry bootstrap13:38
ashipikawwitzel3: did.. a few times already.. after every failed attempt13:38
wwitzel3ashipika: you can check ~/.juju/environments , probably an old amazon.jenv hanging around13:40
ashipikawwitzel3: nah.. deleted .juju and ran juju init..13:40
wwitzel3ashipika: hrmph .. then I don't know, you may have found a bug, unless someone else here has some ideas?13:42
ashipikawwitzel3: trying with region set to us-east-1 in the .yaml config.. if that fails i'll create a bug report13:44
TheMuedimitern: btw, why do we use int for ports, instead of uint16?14:00
Muntanergsamfira: ping14:18
turicastohi to everyone!14:43
dimiternTheMue, it's doesn't matter in practice14:46
dimiternTheMue, i.e. saving a few bytes at (de)serialization time is negligible14:47
TheMuedimitern: I'm not talking about parameters, but as a field type which only allows uint16 values. a port number -1 would be strange ;)14:48
jw4turicasto: o/14:50
rogpeppeTheMue: using int means that you get a better failure mode if someone happens to get some arithmetic wrong and passes a negative number14:51
TheMuerogpeppe: a better one? uints can't even be negative14:52
rogpeppeTheMue: if you accidentally substract 64 from 62 and pass -2, you don't really want it to be treated as 6553414:53
rogpeppeTheMue: better to have it fail with an out of bounds error14:54
TheMuerogpeppe: arg, yes, this arithmetic behavior14:54
rogpeppeTheMue: there's a similar argument for not allowing negative slice indexes like in python14:54
dimiternTheMue, you mean in network.Port ?14:55
TheMuedimitern: yep14:55
dimiternTheMue, yeah, that sounds like a good idea, I'd suggest adding this to your list of things to change in the next PR :)14:55
TheMuedimitern: Number is an int and so could have invalid values14:56
TheMuedimitern: shit, I shouldn't have asked14:56
TheMue:D14:56
dimiternTheMue, they are validated internally, but yeah14:56
dimitern;)14:56
TheMuedimitern: one of the arguments for static typed languages is to have more safety. thankfully go provides very detailed types here (ok, not uint48 *lol*)14:57
TheMueor uint128 for uuids, but that better would be a bitstring14:58
dimiternTheMue, +114:58
jw4do we do pull requests for just adding a deprecation comment?  https://github.com/juju/charm/pull/8415:00
dimiternTheMue, I'd even go further and suggest having a type PortType uint16 in the network package and use it everywhere for port values15:00
TheMuedimitern: +115:00
* TheMue always likes the simple type definition in Go15:01
dimiternTheMue, yeah, and you can even have methods on it;)15:03
TheMuedimitern: yeah, that's cool15:03
=== kadams54 is now known as kadams54-away
perrito666ericsnow: wwitzel3 ?15:05
rogpeppedimitern, TheMue: a large but totally trivial change: https://github.com/juju/juju/pull/1601/files15:08
rogpeppedimitern: i'd appreciate a quick review so that it doesn't get stale, if poss - there are no manual changes there at all.15:09
dimiternrogpeppe, will have a look15:09
rogpeppedimitern: ta!15:09
TheMuerogpeppe: currently standup, but will look then15:09
rogpeppeTheMue: ta15:09
wwitzel3TheMue: http://reviews.vapour.ws/r/932/15:16
wwitzel3TheMue: that is for fixing https://bugs.launchpad.net/juju-core/+bug/141787515:16
mupBug #1417875: ERROR juju.worker runner.go:219 exited "rsyslog": x509: certificate signed by unknown authority <canonical-bootstack> <logging> <regression>15:16
mup<juju-core:In Progress by wwitzel3> <juju-core 1.21:Triaged by wwitzel3> <juju-core 1.22:Triaged by wwitzel3> <https://launchpad.net/bugs/1417875>15:16
TheMuewwitzel3: already opened, will review after standup15:16
wwitzel3TheMue: thanks15:17
=== kadams54-away is now known as kadams54
TheMuewwitzel3: +115:29
dimiternrogpeppe, LGTM15:31
rogpeppedimitern: thanks!15:32
rogpeppedimitern: aw, remind me of the juju magic word for submitting a PR please?15:32
dimiternrogpeppe, $$anything-between-two-dollar-signs$$15:33
dimitern:)15:33
TheMuedimitern: thx, you've been faster15:35
dimiternnp15:35
TheMuerogpeppe: won't merge due to missing fix, but is reviewed. so should be comming soon15:35
rogpeppeTheMue: cool. hopefully it won't conflict.15:36
katcodimitern: hey sorry, what are you meaning when you say "d"?15:36
perrito666katco: delete15:36
katcoperrito666: ty15:37
dimiternkatco, :) d==delete this line15:37
katcodimitern: so are you referring to whitespace in a lot of those?15:37
perrito666katco: which you would know if you used vi :p15:37
dimiternkatco, but d it's nicer and geeky :D15:37
katcohaha15:37
katcoperrito666: shouldn't it be dd?15:37
mgz dd would be clearer :P15:37
dimiternkatco, yeah, I don't mind it that much though15:38
mgzkatco won...15:38
perrito666d-> is enough :p15:38
dimiterndd only if you use vim15:38
katcodimitern: i tend to use whitespace to aid in readability15:38
perrito666katco: I actually interrupted my lunch to troll you, and you counter troll me15:38
perrito666:p15:38
dimiternand C-k is longer to type :)15:38
katcoperrito666: i muahaha at you sir!15:38
dimiternkatco, I understand15:39
TheMue*LOL*15:39
dimiternkatco, so I'll leave it up to you ;)15:39
katcodimitern: ok, ty for the review :)15:39
dimiternkatco, I'm not done yet :)15:39
katcodimitern: oh i know, but i wanted to say ty :)15:39
* katco making some tea15:40
dimiternkatco, np15:40
=== kadams54 is now known as kadams54-away
dimiternkatco, you have a review15:56
katcodimitern: tyvm!15:56
katcodimitern: hey rq about the SignedURL15:57
katcodimitern: i thought this might come up... the new v4 signing messes with request headers, so there's no concept of a signed url15:57
dimiternkatco, I'd like to read about this more if you have the source15:58
katcodimitern: check out aws/sign.go15:59
dimiternkatco, also, is the v4 signing process now mandatory for all s3 operations?15:59
katcodimitern: https://github.com/go-amz/amz/blob/v1/aws/sign.go#L8215:59
katcodimitern: it is not; you pass in which signing you'd like into S3 ctor15:59
dimiternkatco, ok so for older versions URL and SignedURL still make sense to exist, and at least URL should be implementable for V416:00
katcodimitern: for v2, signedurl could still work16:01
katcodimitern: for URL, it didn't make much sense to me. what would you do with it?16:02
dimiternkatco, get a link to something in your bucket that's accessible to public (permission-wise)16:03
katcodimitern: ah ok16:04
dimiternkatco, :)16:04
dimiternkatco, we do still use this in juju IIRC16:04
dimiternkatco, and even if we didn't and URL/SignedURL no longer make sense, we can't just drop them - such a change needs a version bump (e.g. a separate PR for v3-unstable)16:05
katcodimitern: that was the idea :)16:05
ericsnowjam: thanks for the reply re: fakes16:06
katcodimitern: so if you'd like to keep SignedUrl, how should we detect that the signing method supports a signed url?16:06
ericsnowjam: I sent a follow-up to get some clarification16:06
dimiternkatco, I see, well - is this something we'll need to use in juju soon?16:06
katcodimitern: it's targetted for 1.23. feature freeze is 2w from today.16:06
dimiternkatco, so that's why it needs to go in v2, but because of the versioning rules, we can't also drop stuff from the exported interface16:07
dimiternkatco, ...in v2, but we can in v3-unstable16:07
katcodimitern: is versioning of goamz tied to something? why can't we do a cut?16:08
dimiternkatco, out of respect for any potential users16:08
katcodimitern: they're free to remain on v2 aren't they?16:08
dimiternkatco, yes16:08
dimiternkatco, but once your change lands, their code won't compile anymore with v216:09
dimiternif they use URL and/or SignedURL16:09
katcodimitern: my change is targetted against v3-unstable isn't it?16:09
=== kadams54-away is now known as kadams54
dimiternkatco, aww :/16:09
dimiternkatco, that's my bad, sorry - I should've looked16:09
katcodimitern: oh no worries.. i was very confused! lol16:10
dimiternkatco, and I actually asked you to re-target it :)16:10
dimiternkatco, ok, then it's fine16:10
dimiternkatco, still isn't URL worth keeping?16:10
katcodimitern: sure, i can add that back in16:10
dimiternkatco, thanks16:10
dimiternkatco, I'll update the review - how about the live tests?16:11
katcodimitern: it will be a function that is: .Region.ResolveS3BucketEndpoint(b.Name)+"/"+path16:11
katcodimitern: i still need to do that16:11
dimiternkatco, however, just a sec16:11
katcodimitern: as you pointed out, obviously unit tests pass16:11
dimiternkatco, if this needs to go in juju for 1.23, then you'll need to cherry-pick what's relevant from this and backport it to v2, isn't it?16:12
katcodimitern: any reason we can't move juju to v3?16:12
dimiternkatco, we could, but this'll mean carefully integrating changes from v2, renaming v3-unstable to v3 and branching v4-unstable of it16:13
dimiternkatco, as we can't depend on v3-unstable for a release in juju16:13
katcodimitern: right16:13
katcodimitern: i'm good with whatever you suggest16:14
dimiternkatco, there are not many things to port from v2 to v3 IIRC16:14
dimiternkatco, then let's agree to do this migration - I have a couple of PRs for goamz which I'll need to land before the freeze, so I'll re-target them to v3 as well16:15
katcodimitern: ok cool16:15
dimiternkatco, cheers!16:16
dimiternkatco, I didn't quite get your response on whether you've run go test -check.v -amazon in s3/16:16
katcodimitern: :) and progress marches inexorably forward!16:16
katcodimitern: no i haven't done that yet16:17
dimiternkatco, as it should :)16:17
dimiternkatco, ok, just a reminder then16:17
katcodimitern: yep, ty i didn't know about that flag16:17
katcodimitern: i was going to test manually16:17
dimiternkatco, that's fine (ideally we'd like a live test using both s3test and live AWS), but at minimum let's ensure no existing local/live s3test/AWS tests break16:18
katcodimitern: will do. thanks for the pointers and your help.16:19
dimiternkatco, no worries, thank's for bearing up with me :)16:20
katcodimitern: it was not a burden; great questions16:20
=== ChanServ changed the topic of #juju-dev to: https://juju.ubuntu.com | On-call reviewer: see calendar | Open critical bugs: 1416928 1421621 1421606
dimiternthanks even16:20
dimitern:)16:20
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
=== kadams54 is now known as kadams54-away
voidspacedimitern: ping17:21
dimiternvoidspace, pong17:21
voidspacedimitern: hey, hi17:21
voidspacedimitern: I'm really struggling to test the lxc-broker changes17:21
voidspacedimitern: I could just mock out the call that takes the NetworkInfo and check that the results of PrepareContainerInterfaceInfo are used17:22
voidspacedimitern: but that seems yucky17:22
dimiternvoidspace, hmm, let me think17:22
voidspacedimitern: and as far as I can tell the results of calling broker.StartInstance don't include network details to check17:22
voidspacesurprisingly result.NetworkInfo is empty (nil) so I can't inspect that17:22
dimiternvoidspace, do you have a wip branch up to have a look?17:22
voidspacedimitern: yep, hang on17:23
voidspacedimitern: I'll push what I have17:23
dimiternvoidspace, cheers17:23
voidspaceah, there might be an lxc.conf file I can look at...17:23
voidspacejust discover3ed17:23
dimiternvoidspace, so the result of StartInstance after PCII() did its job must have NetworkInfo populated17:23
voidspacedimitern: shall I check that first?17:23
dimiternvoidspace, yes please17:24
voidspacewell, it doesn't but I can confirm that our code is being called...17:24
voidspacedimitern: I'll check the conf file and see if it has testable info17:24
dimiternvoidspace, because this is later needed in other cases17:24
dimiternvoidspace, so, the result of PCII() is used to generate lxc.conf, cloud-init userdata, and to run a few commands essentially17:25
voidspaceright17:25
dimiternvoidspace, so all these should be testable, but I might've missed something17:25
voidspacetesting the commands would just duplicate the production code in the tests so seems pointless17:26
voidspacedimitern: see TestNetworking in this branch17:27
voidspacedimitern: https://github.com/voidspace/juju/compare/container-prepareprovisioner17:27
dimiternvoidspace, looking17:27
voidspacedimitern: the output of lxc.NetworkInfo is "[]network.InterfaceInfo(nil)"17:27
voidspaceso NetworkInfo on the StartInstanceResult is not populated17:28
voidspace(and I haven't moved forwarding setup to container initialisation yet because that's trivial to do - although also not easy to test)17:28
ericsnowniemeyer: thanks for the feedback on "fakes"17:29
dimiternvoidspace, not in my demo branch, but it should be populated17:29
ericsnowniemeyer: it's very insightful and has given me plenty to think about :)17:29
voidspacedimitern: oh, you mean this is something additional that should be done?17:29
dimiternvoidspace, well, my plan is to support passing non-empty args.NetworkInfo to StartInstance() for cases like "start with statically configured network" or "create these 3 nics like this", etc.17:31
voidspaceok17:31
niemeyerericsnow: Glad it's being useful17:32
dimiternvoidspace, then, inside PCII() handle what's needed and return an updated NetworkInfo which is then returned by StartInstance for other uses17:32
dimiternvoidspace, e.g. to update the firewall rules or something else that happens on the host of the newly provisioned container17:33
voidspaceok17:33
voidspacedimitern: by the way, pretty sure we'll get the keys to the new house on Wednesday17:33
voidspacedimitern: so I'll be in Monday and Tuesday17:33
dimiternvoidspace, +1, sure17:33
voidspacedimitern: thanks17:34
dimiternvoidspace, so coming back to your question17:34
dimiternvoidspace, these are a few ideas of what needs testing there17:34
dimiternvoidspace, 1. given a networkInfo and provided networking and address allocation is supported, verify we get an updated networkInfo out of start instance17:35
dimitern(updated like - having an Address, DNSServers and GatewayAddress, as well as ConfigStatic)17:36
dimiternvoidspace, 2. test local dns servers are parsed and added, when available (mocking where you read them from ofc)17:37
dimiternvoidspace, 3. the necessary commands for setting up routes, etc. are called (also by mocking - there are a few similar examples in the cmd/ package IIRC and around cloudinit/sshinit)17:38
dimiternvoidspace, 4. for lxc specifically, check the lxc.conf is updated as expected, and the cloud-init userdata gets updated17:39
dimiternvoidspace, all these are just the happy path tests17:39
dimiternvoidspace, the failures need testing as well - like if PCII fails or one of the other steps fail17:40
dimiternvoidspace, how does this sound?17:41
voidspacedimitern: so that will mean *adding* the networkInfo :-)17:43
voidspacedimitern: lxc.conf does include some details from PCII() (network name and MAC)17:43
voidspacedimitern: testing 2 & 3 will effectively mean duplicating the commands straight from the code into the test17:43
voidspacedimitern: so they're not very good tests17:44
dimiternvoidspace, well, not quite :)17:44
voidspacedimitern: mock and record the calls, check the calls match the expected calls17:44
dimiternvoidspace, the command tests can separately test the behavior around parsing resolv.conf and setting up iptables, etc.17:44
voidspacedimitern: what do you mean by "command tests"?17:45
dimiternvoidspace, while the start instance tests can just check the commands get called or fail17:45
voidspacevoidspace: executeCommands is called several times (3 I believe)17:45
voidspaceoops, dimitern ^^17:45
dimiternvoidspace, I mean the tests around localDNSServers etc.17:45
voidspacedimitern: the only way to test that localDNSServers is used is to record what executeCommands is called with and check it matches the production code17:46
voidspacedimitern: I mock readFile and I can check the pre-canned data is used, so I can test the file is read17:46
dimiternvoidspace, let's have a chat on monday ;)17:47
voidspacewhich more-or-less amounts to the same thing17:47
voidspacedimitern: just to clarify though17:47
dimiternvoidspace, I need to sit down and write this first17:47
voidspacedimitern: you need the NetworkInfo populated on StartInstanceResult?17:47
dimiternvoidspace, I'm thinking of several levels of tests17:47
dimiternvoidspace, yes, indeed17:47
voidspaceright17:47
voidspaceI'll look at adding that17:47
dimiternvoidspace, ta!17:48
dimiternhappy weekends everyone! ;)17:56
perrito666dimitern: likewise17:57
dimiternperrito666, ;) cheers17:57
marcoceppinatefinch  : any chance we could get this looked at? It's break charm testing and has kind of a weird long standing low priority https://bugs.launchpad.net/juju/+bug/80211718:15
mupBug #802117: juju ssh/scp commands cause spurious key errors <ssh> <Amulet:Triaged> <pyjuju:Triaged> <juju-core:Triaged> <juju (Ubuntu):Triaged> <https://launchpad.net/bugs/802117>18:15
sinzuimarcoceppi, ci works around the issue with a rule like this18:21
sinzuihost 10.* 172.* 54.85.* 15.185.*18:21
sinzui  StrictHostKeyChecking no18:21
sinzui  UserKnownHostsFile /dev/null18:21
marcoceppisinzui: I can't expect every user to do that though18:22
sinzuimarcoceppi, I expect ever cloud user and lxc user has come across this given time and has realised they don't want those ips in the files18:23
marcoceppi:\ I have several long running instances in Amazon that I would like hostkeychecking with18:24
alexisbdude marcoceppi that bug has been around a long time18:37
marcoceppialexisb: yeah, it totally has! Someone just hit it on the mailing list. I've always just removed offending keys but surely we can do better18:54
alexisbmarcoceppi, we can it is a matter of prioritizing it amount the 800+ other bugs18:54
alexisbso tag it, and send me a mail18:54
marcoceppiTag it what?18:57
natefinchmarcoceppi: just got back to the keyboard.  Sounds like alexisb has you covered.18:57
natefinchhaha, that bug is older than all my kids18:58
alexisbnatefinch, mine too! ;)18:58
alexisbmarcoceppi, that is an excellent question, we need better tags, for now send me a note with the bug number18:58
marcoceppialexisb: ack18:59
natefinchhaha that's from before the project was called juju :)19:00
marcoceppiYeah, it's been lingering around for a bit ;)19:01
natefinchHey, sweet, monday is a holiday in the US19:01
perrito666natefinch: here too, and also tuesday19:03
perrito666natefinch: what is it there?19:03
voidspaceright19:03
voidspaceEOW19:03
voidspaceg'night all19:03
voidspacesee you on Monday19:03
voidspaceexcept natefinch ...19:03
sinzuimarcoceppi, "charmers" is the official tag for ecosystems stakeholders19:04
natefinchperrito666: George Washington's birthday (first President of the US).... guessing that's not what you're celebrating ;)19:04
perrito666natefinch: carnival :p19:04
sinzuimarcoceppi, and ha ha. regarding those ssh rules I pasted. we don't have those rules for azure and this just just failed http://juju-ci.vapour.ws:8080/job/azure-quickstart-bundle/211/console19:06
marcoceppi<319:06
natefinchwwitzel3: you wanted some pictures of the snow?  Here you go: http://imgur.com/a/yqfQS19:14
TheMueso, 8:15pm, time for a Single Malt, bye folks, enjoy your weekends19:16
natefinchI love the way that I can search for gimp in the software center and it comes up, but if I click on it, it says it can't be found19:18
perrito666natefinch: ???19:18
natefinch$ sudo apt-get install gimp19:19
natefinch[sudo] password for nate:19:19
natefinchReading package lists... Done19:19
natefinchBuilding dependency tree19:19
natefinchReading state information... Done19:19
natefinchPackage gimp is not available, but is referred to by another package.19:19
natefinchThis may mean that the package is missing, has been obsoleted, or19:19
natefinchis only available from another source19:19
natefinchE: Package 'gimp' has no installation candidate19:19
mbruzekjog ping?19:20
jogmbruzek, pong19:21
mbruzekjog is the link to the kubernetes reports http://reports.vapour.ws/kubernetes ?19:21
mbruzekIs my url incorrect or is it not working again?19:21
joghttp://reports.vapour.ws/charm-summary/kubernetes19:22
mbruzekjog thanks I spaced on the URL19:24
jogmbruzek, http://reports.vapour.ws/charm-summary is the top level for charms and lists all that have test results. If you want to narrow it down to a particular charm you can append /"short charm name" to the URL19:24
mbruzekjog that is logical, I was not aware19:25
jogmbruzek, or you can find the charm you are interested in on the top level page and just click on it's Charm column entry to get the filtered page.19:26
natefinchperrito666: for reference, somehow "main" got unchecked from my list of package sources19:33
perrito666ouch19:33
natefinchyay for utopic :/19:34
perrito666you should try vivid19:35
ericsnownatefinch: could you take a quick look at https://github.com/juju/testing/pull/5120:56
ericsnownatefinch: niemeyer convinced me Fake wasn't the right name :)20:56
katcoericsnow: fwiw that's the nomenclature i've always seen as well (mocks, stubs)20:59
natefinchericsnow, katco:  I generally use stub as a verb, to stub out an interface, which generally means "make it compile but don't have any logic".  However, if there are some well-known nomenclatures, it makes sense to follow those, even if I think they're silly :)21:07
ericsnownatefinch: yep21:07
ericsnownatefinch: so all that patch does it change the name21:08
katconatefinch: i was the same, but wallyworld pointed out to me awhile ago that stub had an actual meaning.21:08
katconatefinch: as far as agreeing on nomenclature, that's rather important... i.e. it's how humans communicate ;)21:09
perrito666katco: oh no biggie, we can code a shim to translate between our nomenclatures21:09
ericsnowkatco: see http://martinfowler.com/articles/mocksArentStubs.html#TheDifferenceBetweenMocksAndStubs21:10
katcoperrito666: whassa shim? you mean facade? (tongue firmly in cheek)21:10
natefinchha21:10
katcoericsnow: yeah that's exactly what i read a few months ago21:10
ericsnowkatco: Fowler cites http://xunitpatterns.com/Mocks,%20Fakes,%20Stubs%20and%20Dummies.html21:10
katcoericsnow: also, regarding the end-to-end vs. mock/stub debate21:10
ericsnowkatco: and that guy has the noble goal of sorting out the nomenclature :)21:10
katcoericsnow: i feel like we're rehashing this. i sent out an email a bit ago about the new top-level featuretests package21:11
ericsnowkatco: eh, I'll still argue both have their place :)21:11
katcoericsnow: and my understanding of what the team had agreed upon for going forward: mocks/stubs embedded along-side code. happy-path end-to-end functional tests in featuretests/*21:11
ericsnowkatco: right21:12
katcoericsnow: maybe i confused myself. it just seemed like we were headed back towards that conversation on the ML21:12
ericsnownatefinch: thanks21:30

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