/srv/irclogs.ubuntu.com/2015/10/16/#juju-dev.txt

mupBug #1506680 opened: `juju environments` fails due to missing ~/.juju/current-environment <juju-core:New> <https://launchpad.net/bugs/1506680>00:10
davechen1ythumper: final version.Current PR is up for review00:15
=== wgrant is now known as Guest27601
=== thumper is now known as Guest68941
=== Guest68941 is now known as thumper
thumperwallyworld: heading out for a quick dog walk before the rain comes in00:58
wallyworldok00:58
wallyworldping when you are free00:58
=== Guest27601 is now known as wgrant
thumperwallyworld: there now01:39
wallyworldok01:39
natefinchericsnow: how goes?02:23
rogpeppemgz: ping06:55
wallyworldfwereade: i reverted the change omit series, could you PTAL http://reviews.vapour.ws/r/2888/08:59
fwereadewallyworld, cheers08:59
fwereadewallyworld, LGTM, thanks09:02
wallyworldtyvm09:02
dooferladfwereade, jam: hangout?09:03
voidspacedimitern: looks like they took a different approach in maas - they didn't go with device_type in the end09:22
voidspacedimitern: so that card can be deleted09:22
voidspacedimitern: https://bugs.launchpad.net/maas/+bug/149063709:22
mupBug #1490637: Devices with parents should not show on devices tab <MAAS:Fix Committed by blake-rouse> <https://launchpad.net/bugs/1490637>09:22
voidspacedimitern: they just decided to use the presence of a parent instead09:22
voidspacedimitern: so I can delete my branch....09:22
dooferladTheMue: so, the lock problem.09:28
dimiternvoidspace, it sounds like a mess that they need to fix :)09:28
voidspacedimitern: yeah, weird09:30
voidspacedimitern: I've added a comment to the issue and will ping them about it09:30
TheMuedooferlad: yes, let's unlock it09:30
* dooferlad groans09:31
TheMuedooferlad: the scope is always only the local node?09:32
dimiternvoidspace, cheers09:32
dooferladTheMue: yes09:32
dooferladhttps://github.com/golang/go/issues/2307 is background on the Windows socket behaviour09:32
TheMuedooferlad: so surely a state based solution is nice, but not needed?09:32
dooferladTheMue: using state would fix the problem, yes09:33
dooferladTheMue: it is our single source of truth09:33
TheMuedooferlad: as we just said, state would help, but not solve it if a process/node dies and the lock stays in state09:34
dooferladTheMue: state would notice that the connection died though, right? That could be an even to unlock.09:34
dooferladTheMue: actually, it looks like the socket code on Windows should only allow one connection now.09:35
dooferladTheMue:09:35
TheMuedooferlad: a, you would check, if a connection between a node and state exists? not the data in state in a collection?09:35
TheMuedooferlad: I thought the whole time of a lock collection with records containing node, handle, and lease time09:36
dooferladTheMue: you would store the lock data in the collection, but you could validate it against if the thing that created the lock still exists09:36
TheMuedooferlad: and processes use their node and handle to check if the lease time is passed off or not09:37
dooferladTheMue: but I don't want to do anything lock related in state because adding more logic to state unless we have a good future use case.09:38
dooferladAnd we don't have a lease time. There is no need.09:38
TheMuedooferlad: how would you validate if the creator still exists?09:38
dooferladWe have connections to state open to update state from machines.09:38
dooferladWe just see if the connection that created the lock is still there09:39
dooferladbut, it involves a network, so no, don't do that09:39
TheMuedooferlad: many distributed solutions I've looked for use lease times. we could create this lock as a util type, it will find it's usage ;)09:39
dooferladDoing this right over a network turns into a distributed consensus algorithm09:39
dooferladat which point we have implemented etcd to replace a file lock09:40
dooferladso lets not09:40
dooferladOn Linux we could use /tmp to ensure our locks don't exist across reboots (yay!) and on Windows we can use the file attributes  FILE_ATTRIBUTE_TEMPORARY and FILE_FLAG_DELETE_ON_CLOSE (see https://en.wikipedia.org/wiki/List_of_RAM_drive_software#Native) to achieve about the same thing09:44
dooferladthat solves all my problems.09:44
dooferladapart from delete_on_close doesn't look right09:46
dooferladarg09:46
dooferladhttps://github.com/natefinch/npipe maybe is the best way to go on Windows09:47
TheMuedooferlad: hmmm, ok, not yet really sure09:49
dooferladTheMue: maybe I just move the file locks to /tmp on Linux and leave the rest. It would be enough to get the MAAS and EC2 tests passing and since we don't do container init on Windows (or run those tests) then problem solved.09:50
dooferladTheMue: the need for the lock then goes away once we are down to 1 juju process and we all celebrate.09:50
dooferladTheMue: (well, when that happens)09:50
* dooferlad needs a cup of tea. Back in 509:51
fwereademattyw, tasdomas: as people who've used the dependency engine: I have a use case for injecting an engine into itself, and am having naming troubles09:59
mattywfwereade, ah naming, one of the solved problems09:59
fwereademattyw, tasdomas: currently exposed as InceptionManifold, which is not really accurate, but is a useful indicator of the presence of weirdness09:59
fwereademattyw, tasdomas: a more accurate nname would be OurobourosManifold but that's, er, a bit obscure10:00
fwereademattyw, tasdomas: thoughts appreciated :)10:00
tasdomasfwereade, RecursiveManifold ?10:01
mattywfwereade, -1 to inception10:01
mattywtasdomas, fwereade, I was just typing exactly that!10:01
tasdomasfwereade, I don't really care for names as long as they are not misleading10:01
tasdomasfwereade, a rose by any other name..10:01
fwereadetasdomas, there's quite a lot of subtlety embedded in "so long as they are not misleading" ;)10:02
tasdomasfwereade, well, in my case misleading would be calling it SimpleManifold10:02
fwereadetasdomas, it *is* actually pretty simple ;p10:03
fwereadetasdomas, (but point taken all the same)10:03
tasdomasfwereade, there's no such thing as a simple manifold10:03
tasdomas;-]10:03
* fwereade has a sad now10:03
fwereade;p10:03
fwereadehm, maybe it would be best to just have an `Engine.InstallSelf(name string) error` method? and unexport the manifold itself except for tests?10:06
fwereade...but then the InstallSelf tests end up yucky and arms-lengthy in a bad way10:08
fwereadeSelfManifold?10:08
fwereademattyw, tasdomas: ^^10:08
mattywfwereade, self is fine10:09
mattywfwereade, but document it10:09
fwereademattyw, cheers10:11
fwereademattyw, http://reviews.vapour.ws/r/2916/diff/# -- adequately documented?10:26
mattywfwereade, a proper review will come later10:38
mattywfwereade, but for now the documentation seems fine10:38
mattywfwereade, and given the actualy implementation i really like SelfManifold as a name10:38
fwereademattyw, cool, thanks :D10:38
fwereademattyw, don't feel obliged to do a full review, the implementation remains unchanged from when thumper LGTMed it10:39
mattywfwereade, ok cool, good enough for me10:39
fwereademattyw, tyvm10:39
mattywfwereade, I'm having one of those days where I'm chasing shiny things instead of doing the stuff I'm supposed to10:39
fwereademattyw, haha, sorry to contribute to that10:39
mattywfwereade, no problem - shiny == awesome10:39
mattywmgz, are you around?13:17
mgzmattyw: hey13:20
mattywmgz, just pushing an update to the yaml branch13:22
mattywmgz, it looks like we can get rid of that weirdness13:22
mattywmgz, but I'm not full of confidence as I still don't really understand why it was there13:22
mgzmattyw: jw4's comment is bug 143687113:26
mupBug #1436871: ppc64 gccgo fails to build cmd/juju <ci> <ppc64el> <regression> <juju-core:Fix Released by johnweldon4> <https://launchpad.net/bugs/1436871>13:26
mgzif it builds with both go and the version of yaml we're using, and gccgo, there's nothing left to worry about13:27
mattywmgz, can I test that somehow?13:27
mgzyeh,or I can. install gccgo on trusty and build with -compiler gccgo13:28
mattywmgz, it's here if you want to try it13:30
mattywmgz, I'll see if I'm setup to do it as well13:30
mgzseems to build13:34
mgzof course, looking at the bug it did for me last time too, but I *think* this was a short-lvied bug in the packages13:34
mgzwe'll find out for certain when it gets merged anyway13:34
mattywmgz, maybe I could channel rogpeppe13:34
* rogpeppe 's ghost appears13:35
rogpeppemattyw: that bug resulted in some quite weird things happening13:36
rogpeppemattyw: best to definitively check that it works properly before renaming those types13:36
mgzspooky!13:36
mattywrogpeppe, how would I check that?13:38
mattywrogpeppe, are you the ghost of bugs yet to come?13:38
rogpeppemattyw: you'd write a little piece of test code13:38
mattywrogpeppe, test code - that's an odd concept13:39
rogpeppemattyw: more like the ghost of your fetid past13:39
rogpeppemattyw: i'm not thinking of an actual test13:39
rogpeppemattyw: just a standalone program to check current behaviour13:40
rogpeppemattyw: tell you what, i'll do one if you want13:40
mattywrogpeppe, make sure you send me the code, and show me how to run it13:42
mattywrogpeppe, it's the only way I'll learn13:42
rogpeppemattyw: ironically it appears that the yaml bug was actually fixed 2 hours before i committed that juju comment13:54
mupBug #1506865 opened: Failed to retry tools download after EOF <bootstrap> <reliability> <retry> <upgrade-juju> <juju-core:Triaged> <https://launchpad.net/bugs/1506865>13:54
mupBug #1506869 opened: TestNewServerDoesNotAccessState api connection failure <i386> <test-failure> <unit-tests> <windows> <juju-core:Incomplete> <juju-core chicago-cubs:Triaged> <https://launchpad.net/bugs/1506869>13:54
rogpeppemattyw: here's my test code13:54
rogpeppemattyw: http://paste.ubuntu.com/12798941/13:54
mattywrogpeppe, thanks very much13:54
rogpeppemattyw: the yaml commit that fixed the bug was 4d6bb54d8acc91e147763cea066cff0b89437e9013:54
mattywrogpeppe, you're welcoe to review the pr if you want13:55
mattywrogpeppe, http://reviews.vapour.ws/r/2912/13:55
rogpeppemattyw: this was the important piece of the diff: http://paste.ubuntu.com/12798949/13:56
rogpeppemattyw: have you run the status tests on that branch?13:57
mattywrogpeppe, I have13:57
rogpeppemattyw: hmm, weird, i wonder why you don't get an infinite loop13:57
mattywrogpeppe, I've not run cmd/juju/... yet - in hangouts13:57
rogpeppemattyw: try running the status tests in cmd/juju/status13:58
mattywrogpeppe, I've run all of those13:58
rogpeppemattyw: interesting. I think that exposes a bug in goyaml actually14:02
rogpeppemattyw: what would you expect this to print? http://paste.ubuntu.com/12799013/14:02
mattywrogpeppe, shall I read it and guess or you want me to run it?14:03
mattywrogpeppe, (in our planning meeting now so sort of distracted I'm afraid, many apologies)14:04
rogpeppemattyw: first guess, then run14:04
mattywrogpeppe, I guessed and ran14:09
mattywrogpeppe, and now I'm confused14:10
rogpeppemattyw: the answer it gave is the reason your change doesn't cause infinite recursion14:10
rogpeppemattyw: https://github.com/go-yaml/yaml/issues/13414:16
rogpeppemattyw: reviewed http://reviews.vapour.ws/r/2912/14:19
mattywrogpeppe, thanks, see martins previous comment regarding omitempty14:20
rogpeppemattyw: ah, ok i see about the omitempty. i guess it's best not to mess with the output.14:24
mupBug #1506881 opened: 1.22 client cannot talk to chicago-cubs server <api> <regression> <juju-core:Incomplete> <juju-core chicago-cubs:Triaged> <https://launchpad.net/bugs/1506881>14:30
mattywrogpeppe, mgz and again http://reviews.vapour.ws/r/291215:11
mattywrogpeppe, I'll be back in 10 though15:12
dimiternvoidspace, ping15:24
dimiternvoidspace, if you're still around, you might be interested in what I came up with for the juju-br0 script15:32
=== tych0- is now known as tych0
dimiternvoidspace, it turned out not quite as simple as I imagined (~200 lines of bash), but handles properly the IPv4/IPv6/both cases as well as aliases, and it's more resilient towards failures (reverts changes back so you can ssh later and diagnose)15:33
dimiternvoidspace, anyway - here it is:  http://paste.ubuntu.com/12799841/ (still testing a few cases though)15:34
* dimitern really wants at this point to do all these steps in Go and inject a simple binary that does all and can be easily tested in isolation15:34
dooferladdimitern: I am amazed we don't insist on Python being installed for these things :-|15:37
dimiterndooferlad, it's about time :)15:39
dimiterndooferlad, the issue in this specific case is the script is run very early, before packages are installed (well, we could change the cloud images to include python always - it might be so already in fact)15:40
dooferladdimitern: indeed. I would check that.15:40
dimiterndooferlad, yeah - good idea - check a pristine trust amd64 image deployed from maas as well as "lxc-create -t ubuntu-cloud" - as lxc images might be different (same applies to KVM I guess, but I suspect the use the same images as maas)15:42
* dimitern pats himself on the back :D in all those ~200 lines of bash (in a go string) - so far only 2 syntax issues (apart from a panic from unmatched "}" in the template)15:45
mgzmattyw: you still seem to comflict with my (landed) change that scrubs subnets15:53
mattywmgz, let me wave my rebase wand15:53
dooferladmattyw: you can get a wand for that? Ohh.15:54
mattywmgz, should be better now15:56
mattywdooferlad, wand didn't work, had to use keyboard15:57
dooferladmattyw: boo15:57
mattywtough crowd15:57
mgzmattyw: shipit15:58
mgzif it blows up on ppc we'll find out and can add back the hack15:59
mgzyak sack15:59
mupBug # changed: 1335885, 1373516, 1435283, 1465844, 1478156, 1489477, 1492066, 1493123, 1494070, 1494542, 1495338, 1496639, 1496750, 1497094, 1498746, 150061316:36
voidspacedimitern: pong17:20
voidspacedimitern: wow17:20
natefinchsweet, just got my new code keyboard.  Gonna take a little getting used to, but the difference from my old keyboard is crazy.17:59
katco`natefinch: i expect 50.02% more productivity from you.18:00
natefinchkatco`: of course ;)18:01
perrito666katco`: which part of the .el for emacs is the one that makes the editor remind me that exported functions should have docs?18:03
katco`perrito666: lol dunno if golint does that or not18:05
natefinchgolint does18:05
perrito666katco`: something is doing it in the conf you passed to me :p I am just trying to understand lol18:06
katco`perrito666: flycheck does things on the fly, so it's probably just running golint every time the buffer changes or something18:07
katco`perrito666: i'm sure it has some kind of smarter algo, but that's the just of it18:07
natefinchkatco`: is there anything to do to get the payloads stuff in?  ericsnow says it merges just fine... do we do a PR, or what?  There's no process written down in the wiki.18:39
katco`natefinch: the CI test to bless it is currently 50% complete18:42
natefinchkatco`: sweet18:42
katco`natefinch: then i think we just propose a merge against 1.25 and do the merge18:42
natefinchwow, glad I got the "quiet" mechanical keyboard.  Geez.19:11
perrito666natefinch: lol, I thought you had one of those before19:12
natefinchperrito666: nope.  My last keyboard was expensive only because it was wireless and solar powered, not due to the quality of the typing experience.19:13
perrito666solar powered, really? what a strange feature for a kb19:13
natefinchperrito666: never need to charge or change batteries19:14
jcastronatefinch: I have a Code!19:14
perrito666natefinch: my kb never sees the light of day19:15
perrito666the window is behind two monitors19:15
natefinchjcastro: yeah, just got mine, love it.  the lights are so perty19:15
perrito666natefinch: pic19:16
natefinchperrito666: http://imgur.com/c7H33c019:24
* natefinch carefully crops out his messy desk19:24
perrito666sure, all of us that have very neat desks will be incredibly offended by it :p19:26
perrito666that is one sexy keyboard19:26
perrito666I want it19:26
natefinchit is wicked sexy... didn't even realize it had media keys until I saw them in that picture ;)19:27
mupBug #1506994 opened: deploy unit can fail after creating a machine but before assigning unit to it <juju-core:New> <https://launchpad.net/bugs/1506994>19:28
natefinchkeyboard backlight has adjustable brightness, too, which is nice - it goes pretty bright.19:28
mupBug #1506994 changed: deploy unit can fail after creating a machine but before assigning unit to it <juju-core:New> <https://launchpad.net/bugs/1506994>19:31
mupBug #1506994 opened: deploy unit can fail after creating a machine but before assigning unit to it <juju-core:New> <https://launchpad.net/bugs/1506994>19:34
mupBug # changed: 1463053, 1463922, 1469844, 1471657, 1471936, 1487191, 149957319:58

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