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

thumperscrew git...00:10
thumperhow to I reset hard?00:10
thumper...00:10
jw4git reset --hard00:10
thumperleaves me with lots of untraced files00:10
thumperjw4: did that00:10
jw4hmm; were they added files?00:11
thumperhow do I get rid of the untracked files?00:11
thumperfrom a screwed up pull00:11
jw4well if you don't have any changes you want to keep:00:11
jw4git rm -r --cached .00:12
thumperwhat does that do?00:12
jw4step 100:12
thumperI want the equivalent of "bzr clean-tree"00:12
jw4yep00:12
jw4wait00:12
jw4even easier00:12
jw4git ls-files -o --exclude-standard00:13
jw4| rm00:13
jw4*should* remove all the untracked files00:13
jw4the git rm -r --cached . removes all the files from the stage00:13
jw4but you just need "git ls-files -o --exclude standard | rm"00:14
jw4if you did do the rm --cached command you follow it with "git reset --hard " again to get your working copy back00:14
menn0jcw, thumper: does the "git clean" command not help?00:15
jw4menn0: ;-p00:15
jw4thumper: just do git clean00:15
jw4menn0: I've just spent hours figting line ending conflicts so my head was in the "cleanup stage" mode00:16
jw4thumper: did 'git clean -fdx' work?00:20
waiganithumper: http://pastebin.ubuntu.com/9108069/ save that as git-clean-tree (no .sh) in your path00:23
waiganithumper: you can the go `git clean-tree`00:23
thumperwaigani: I'd prefer not to have a bunch of special aliases00:23
thumperit makes it hard to work with others00:23
waiganithumper: okay, it's just two commands00:24
thumpergit clean -df worked00:24
waigani1. `git clean -df` removes any [d]irectories and [f]iles not added00:24
waigani2. git checkout . discards any uncommited changes00:25
waiganidavecheney, menn0: I've hit a bug in manual testing that I can't reproduce (yet) in the unit tests on this openPorts, so I might not get to the other tasks for a bit00:27
waigani"on this openPorts branch" I mean00:28
=== liam_ is now known as Guest89217
davecheneykk00:48
waiganiah, menn0 it wasn't just the tests. st.Ports is used in the actual (1.21) upgrade step to get all the ports to upgrade. That explains the bug I'm hitting in manual testing.00:48
=== Spads_ is now known as Spads
thumpermenn0: http://reviews.vapour.ws/r/497/01:19
thumpermenn0: if you want to look at it since you looked at the 1.20 one01:19
thumpermenn0: actually, I'll propose it for trunk first01:19
thumpermenn0: that is the 1.21 branch01:20
thumpermenn0: this is the trunk comit - http://reviews.vapour.ws/r/498/01:24
menn0thumper: looking01:25
thumperta01:25
* thumper is running all the tests...01:38
thumperagain01:38
thumperhad a missing import statement01:38
menn0thumper: review done01:40
* thumper is wondering why the tests aren't seeming to progress...01:41
thumpernormally they are done by now...01:42
davecheneythumper: mongo pooped itself, then you have to wait for the timeout ?01:42
menn0thumper: and other review done01:43
* thumper grunts01:44
thumperffs01:44
thumperwhy are we testing this shit in two places01:44
davecheneythumper: my favorite is the way that api/* and apiserver/* have the same set of tests01:45
waiganithis is ugly ugly ugly01:54
thumperWT actual F01:56
thumperI have a test failure where it says it writes the file, but then says it doesn't exist...02:03
thumperI don't see anywhere where it removes it it between02:03
thumperand this time it panics02:05
thumperpanic: API not available from this context02:06
thumperhow can that work sometimes and not others?02:06
thumperfucking weird... the real upgrades work, but the tests for jujud fail02:12
menn0hmmmm02:15
menn0you can't destroy a 1.22 env with a 1.20 client02:15
menn0$ /usr/bin/juju destroy-environment --force --yes local02:15
menn0WARNING unknown config field "block-destroy-environment"02:15
menn0WARNING unknown config field "agent-metadata-url"02:15
menn0WARNING unknown config field "uuid"02:15
menn0WARNING unknown config field "prefer-ipv6"02:15
menn0WARNING unknown config field "set-numa-control-policy"02:15
menn0WARNING unknown config field "block-destroy-environment"02:15
menn0WARNING unknown config field "uuid"02:15
menn0WARNING unknown config field "agent-metadata-url"02:15
menn0WARNING unknown config field "set-numa-control-policy"02:16
menn0WARNING unknown config field "prefer-ipv6"02:16
menn0WARNING unknown config field "prefer-ipv6"02:16
menn0WARNING unknown config field "block-destroy-environment"02:16
menn0WARNING unknown config field "agent-metadata-url"02:16
menn0WARNING unknown config field "uuid"02:16
menn0WARNING unknown config field "set-numa-control-policy"02:16
menn0ERROR cannot find network interface "": net: invalid interface name02:16
menn0ERROR failure setting config: cannot find address of network-bridge: "": net: invalid interface name02:16
menn01.22 client works02:16
axwwallyworld_: that MAAS API meeting is going to be difficult for me to attend, I have to take my daughter to school then02:17
wallyworld_ah02:17
thumperah...02:18
* thumper pokes the mock02:18
wallyworld_axw: would 30 minutes later work?02:18
axwwallyworld_: worse :)  2 hours earlier would be good...02:18
axw1 hour earlier at a stretch02:18
wallyworld_that clashes with the sprint schedule i think, i'll check02:19
wallyworld_yeah, sprint sessions are earlier02:21
axwwallyworld_: I could go an hour later too02:21
wallyworld_maybe an hour later? that would be 7pm for them02:21
* thumper stabs this tangled mess repeatedly02:21
wallyworld_they can delay their dinner maybe, or eat earlier02:21
wallyworld_i'll check with alexis02:21
thumpermenn0: ok, need some help here02:26
menn0thumper: ok02:28
menn0thumper: standup channel?02:28
thumperyep02:28
menn0thumper, davecheney: here's the env UUID upgrade for the meterStatus collection03:09
menn0http://reviews.vapour.ws/r/499/diff/03:09
menn0waigani: here's the meterstatus env uuid work http://reviews.vapour.ws/r/499/diff/03:14
* menn0 is off to run some errands03:15
waiganimenn0: done03:30
=== noodles785 is now known as noodles775
thumpermenn0: http://reviews.vapour.ws/r/497/diff/# has been updated to unblock 1.21 release03:55
thumpermenn0: I'll fix for 1.22 with different patch that splits out the work03:55
=== Spads_ is now known as Spads
menn0thumper: looking04:18
menn0thumper: i see you've already submitted so all good.04:25
menn0thumper: good idea to get this in and then do the split.04:25
menn0wallyworld_: ping04:28
wallyworld_hi, otp, one sec04:28
menn0wallyworld_: np04:29
wallyworld_menn0: hiya04:38
menn0wallyworld_: so I discovered earlier that a 1.20 client can't destroy a 1.22 env04:39
menn0wallyworld_: would you call that a bug?04:39
wallyworld_i think so04:40
wallyworld_yes04:40
wallyworld_sigh04:40
wallyworld_raise a bug and we'll fix it for 1.2204:40
menn0there emitted error is:04:40
menn0ERROR cannot find network interface "": net: invalid interface name04:40
menn0ERROR failure setting config: cannot find address of network-bridge: "": net: invalid interface name04:40
menn0writing up a bug now04:40
wallyworld_ok, so some new config was introduced in 1.2204:40
wallyworld_ta04:40
wallyworld_1.22 needs to be more robust to such situation04:41
menn0wallyworld_: here tis: bug 139445004:48
mupBug #1394450: 1.20 client can't destroy a 1.22 environment <juju-core:New> <https://launchpad.net/bugs/1394450>04:48
wallyworld_ta04:48
anastasiamacmenn0:curiosity kills me - would this happen often that a client is of older version than environment?04:53
anastasiamacmenn0: i would have assumed that more often u'd encounter 1.20 env and 1.22 client, for eg...04:54
anastasiamacmenn0: apart from devs?..04:54
wallyworld_this also affect 1.2104:55
menn0anastasiamac: good question. I guess it's not that common. I just noticed it by accident after I made a mistake while testing upgrades.04:57
menn0anastasiamac: still worth fixing if we can I think.04:57
menn0wallyworld_: i haven't tested with 1.21 but you're probably correct.04:57
menn0wallyworld_: let me check04:57
anastasiamacmenn0: of course ;-) whether fix is needed or not is not even a question :-)04:57
wallyworld_this fix would be to make the network-bridge attribute have a default of lxcbr0 instead of "" i think04:58
wallyworld_although it appears the code does use lxcbr0 if network bridge is ""05:00
wallyworld_so i'm not sure off hand how this occurs05:00
=== kadams54 is now known as kadams54-away
menn0wallyworld_, anastasiamac : i've tried destroying with a 1.21 client and that works fine05:02
menn0so it looks like it's just the 1.20 client that has a problem05:02
wallyworld_menn0: ah, i meant destroying a 1.21 env ith a 1.20 client05:02
menn0ok right05:03
menn0wallyworld_: i'll try that then :)05:03
anastasiamacwallyworld_: it's coming from utils.network.go ;-(05:03
wallyworld_not sure if the issue needs fixing in both 1.21 and 1.2205:03
wallyworld_network.go won't work though if we pass in "" for networkName05:04
anastasiamacwallyworld_: we find network interface fine (i dont think we r passing "")05:05
anastasiamacwallyworld_: we cannot find addrs for the network interface...05:05
wallyworld_the bug seems to indicate otherwise05:05
wallyworld_but i could be wrong05:05
wallyworld_ERROR failure setting config: cannot find address of network-bridge: ""05:06
wallyworld_seems to indicate that networkBridge := config.networkBridge() returned ""05:06
menn0wallyworld_, anastasiamac: as suspected, a 1.20 client can't delete a 1.21 env either05:07
menn0wallyworld_, anastasiamac: ticket updated05:07
wallyworld_thanks menn005:07
wallyworld_we'll need to fix this for the 1.21 release05:07
anastasiamacwallyworld_: yep ;(05:07
anastasiamacwallyworld_: and yes ;(05:07
anastasiamacwallyworld_: as u suggested, config var "network-bridge" should probably b defaulted to something other than ""05:10
wallyworld_yeah, do it at the schema level instead of in the getter05:10
wallyworld_but, i'm not 100% sure why the current code doesn't work05:10
anastasiamacwallyworld_: well, wher r we assuming that network bridge is lxcbr0 if we get ""?05:12
anastasiamacwallyworld_: from what m seeing we r relying that network bridge is provided05:13
wallyworld_before calling getAddressForInterface(), the network bridge value is gotten like so: networkBridge := config.networkBridge()05:14
wallyworld_that should have resulted in a non "" being returned05:14
wallyworld_so more digging is needed to find out why it is failing05:15
anastasiamacwallyworld_: that's easy. network-bridge in config defaults to ""05:15
wallyworld_yes, but the getter turns it into a value05:16
wallyworld_the getter has code:05:16
wallyworld_if name == "" {05:16
wallyworld_return lxc.DefaultLxcBridge05:16
anastasiamacwallyworld_:  assuming instance.LXC05:17
anastasiamacwallyworld_: can c.container b something other than LXC or KVM05:17
wallyworld_no05:17
jw4Actions refactor PR - large, but much of it is mechanical. PTAL http://reviews.vapour.ws/r/502/06:03
jw4fwereade_, TheMue ptal too ^^^06:04
jw4but I welcome anyone's feedback :)06:05
mattywmorning all08:08
TheMuemorning09:02
TheMuejw4: will take a look (in case you're still awake *g*)09:03
dimiternmorning TheMue , mattyw09:44
TheMuedimitern: o/09:45
mattywdimitern, TheMue good morning!09:45
dimiterndoes anyone know off hand how to file bugs for subrepos? I found an issue with juju/utils.. maybe I'll just file it against juju-core09:46
davecheneydimitern: depends09:49
davecheneyi've logged them against the repo on GH09:49
davecheney... when it's thumpers stuff :)09:49
dimiterndavecheney, right ;) so I'll file an issue in GH and a link to a bug in LP then09:50
davecheneydimitern: sgtm09:50
TheMuedavecheney: thanks for editing right for the diary doc09:57
davecheneyTheMue: no worries09:58
davecheneyi was surprised that @canonical didn't ahve edit already09:58
davecheney¯\_(ツ)_/¯09:58
davecheneyurgh09:59
TheMuedavecheney: yes, I wondered too09:59
davecheneyy are none of you in the hangout ?09:59
davecheneyY U NO JOIN HANGOUT10:00
TheMueoh, now? sh**10:00
TheMuejoining10:00
voidspaceomw10:00
jamfwereade_: team call ?10:02
voidspacedimitern: when you get a chance10:02
voidspacedimitern: http://reviews.vapour.ws/r/504/10:02
dimiternvoidspace, will look in a bit10:03
voidspacedimitern: and then I need to talk to you about "what next"10:03
voidspacedimitern: there are several tasks that look achievable for me, but all with some "hand holding" :-)10:03
jamaxw: ping for team call ?10:04
axwdoh10:05
axwjam: thanks10:05
jamwwitzel3: perrito666: are you coming to the team meeting ?10:06
dimiternmattyw, team call?10:06
voidspacecold in my room - time to run the whole juju test suite and warm up the computer a bit10:07
tasdomasdimitern, mattyw has taken an early lunch10:08
voidspacedavecheney: thanks for the review10:30
perrito666jam: sorry had to solve a couple of last minute issues did not make it10:34
perrito666the public transport went on strike the same day the city is flooding with rain.. have to love these people10:35
davecheneyvoidspace: no wuks10:38
natefinchahh crap, I guess the core team meeting moved an 311:04
natefinchhour earlier?11:04
natefinchstupid daylight savings11:05
natefinchdammit, utopic broke fullscreen.... any app that goes fullscreen now lags like hell11:21
perrito666natefinch: from my viewpoint it has not  moved11:22
natefinchperrito666: likely because your country does do stupid daylight savings crap11:22
perrito666but 3 hs is a bit much11:23
davecheneyhas anyone tried ubuntu.next ?11:24
natefinchdavecheney: like post utopic?11:26
natefinchdammit now my mouse is invisible11:28
davecheneyyup11:28
davecheneythe one that jane talked about in the canonical newsletter11:28
natefinchtried switching video drivers to see if that would help the fullscreen problem11:29
davecheneyunity 8 is the default11:29
natefinchmaybe you should ask first if anyone has read the newsletter ;)11:29
natefinchI haven't heard of anyone using ijt.11:30
perrito666natefinch: just pat down your desk, must be around11:30
natefinchlol11:30
voidspace:-)11:30
natefinchbrb gonna reboot11:30
perrito666davecheney: I am curious about unity yet I do need some stability on the rest of my system11:31
natefinchI'm willing, I'm a glutton for punishment ;)11:31
davecheneyperrito666: natefinch don't be a stooge, install it in a vm11:40
davecheneyyou'll know what I mean11:40
=== natefinch is now known as nate-tablet
nate-tabletwell this is going well11:41
nate-tabletcan't log in to Ubuntu because it errors when trying to switch monitor config and dumpsme back at login11:42
nate-tabletnice error handling there11:42
nate-tabletis there a trick to login without the log in screen?11:45
davecheneygotta enable auto login ?11:45
davecheneythat is part of gdm11:45
nate-tabletor is there a way to with from the guest session? that log in works fine11:47
nate-tablets/with/with/11:47
nate-tabletauth11:47
nate-tabletstupid tablet11:48
* nate-tablet goes to google "switch display driver from terminal"11:51
voidspacenate-tablet: so, the utopic upgrade went well then...11:52
nate-tabletit might be mostly a driver issue and one egregious11:53
nate-tabletly11:53
nate-tabletbad error handling11:53
voidspaceright11:53
voidspaceI hope you get it sorted11:53
voidspacesounds like the opposite of fun11:53
davecheneyi don't mean to swear in church11:53
davecheneybut ubuntu only really works on thinkpads11:54
voidspaceit works great on my desktop11:54
davecheneyintel graphics ?11:54
voidspacebut then I picked all the components for compatibility and built myself11:54
voidspacenope, amd I think11:54
voidspacemaybe I've just been lucky11:54
voidspacedriving four monitors from one card though11:54
perrito666nate-tablet: enter a session in your shell11:57
perrito666then DISPLAY=:1 startx&11:57
perrito666then DISPLAY=:1 whateverthewmiscalledthesedays11:58
perrito666davecheney: to be honest it sometimes fails on mine, but yes, I have a preference for thinkpads when using linux, just in case11:59
nate-tabletdavecheney - this is the first major problem I've had12:01
nate-tablet(that wasn't caused by juju)12:02
nate-tabletbesides, I figured it's pretty safe using the same model laptop as Mark S ;)12:04
perrito666nate-tablet: well, you seem to have a bit different one12:05
perrito666nate-tablet: the right trick, is to have the same laptop linus torvalds has, so when everything else fails, at least the kernel still works12:06
nate-tabletmaybe he's not running two external monitors12:07
perrito666nate-tablet: maybe, I can only run one and it works well enough12:08
perrito666to solve that I am tempted to get a desktop machine, but I am to picky about hardware12:08
davecheneynate-tablet: i like that qualification12:13
davecheneyther is a reason i have a 8gb /tmp partition12:13
davecheneyin ram12:13
davecheney(stupud test runner bug)12:13
nate-tabletmy two biggest problems with Ubuntu have been back error handling12:14
nate-tabletbad12:14
nate-tabletno etc/networks? no network!  ....what ever happened to sane defaults?12:16
davecheneynate-tablet: yeah, no desktop12:16
davecheneyno network manager12:16
davecheneyno network12:16
davecheneycatch 2212:16
dimiternany reviewers willing to take a look at a trivial fix for bug 1394524? https://github.com/juju/utils/pull/9112:46
mupBug #1394524: juju/utils/apt retrying logic is poorly tested and can fail the second time <juju-core:In Progress by dimitern> <https://launchpad.net/bugs/1394524>12:46
TheMuedimitern: will do12:47
dimiternTheMue, cheers12:48
dimiternjw4, bodie_, hey guys, if you can have a look perhaps ^^ as the fix might have some implications for windows?12:49
TheMuedimitern: done12:51
dimiternTheMue, thanks12:52
dimiternrogpeppe, ping12:52
TheMueyw12:52
rogpeppedimitern: pong12:52
dimiternrogpeppe, hey, do you know if juju/utils is running under the landing bot? How to land a patch on that subrepo?12:52
rogpeppedimitern: i don't think so12:53
rogpeppedimitern: i can land patches there12:53
rogpeppedimitern: isn't the landing bot intended for repos that actually build binaries?12:54
rogpeppedimitern: (rather than just packages)12:54
rogpeppedimitern: i think the landing bot for juju-core should actually run go test github.com/juju/...12:54
rogpeppedimitern: or at any rate for the packages juju-core depends on12:55
dimiternrogpeppe, yeah it does12:55
rogpeppedimitern: ah, cool12:55
dimiternrogpeppe, ok, so how will you land it?12:55
rogpeppedimitern: i push the big green button :)12:55
dimiternrogpeppe, ha :) ok, I'll try, thanks!12:56
dimiternbut first let's try a $$merge$$ comment to see if the bot will pick it up12:56
mattywfolks - sorry I missed the core hangout - I have my reasons - but there is no excuse13:21
jammattyw: there is *no* excuse, you let us all down. In fact, we could barely even have the meeting at all without you.13:22
jam:)13:22
perrito666mattyw: happens, I did too, anyway I think there is no room for all of us13:22
dimiternTheMue, another related trivial - http://reviews.vapour.ws/r/506/ ?13:22
mattywjam, most of all I let myself down13:23
TheMuedimitern: ok, if it's trivial I can jump in. ;)13:23
dimiternTheMue, :) it's just updating dependencies.tsv13:23
TheMuedimitern: ic, and where is the unit test for it? *lol*13:24
dimiternTheMue, :D I wish we had some13:24
TheMuedimitern: also all those leading spaces/tabs13:24
TheMuedimitern: somehow 6bfed5692f0d524bab3be5976f26d24bd4d3f677 is very self-documenting13:25
dimiternTheMue, yeah, indeed13:25
TheMuedimitern: so, done13:25
dimiternTheMue, thanks!13:25
TheMuedimitern: always a pleasure13:25
* TheMue currently does another, larger review, so has been in the right mode13:26
jw4TheMue: I trust your other larger review is mine :)13:35
TheMuejw4: eh, ehm, why do you think so? *grin*13:36
jw4TheMue: :)13:36
TheMuejw4: you already work on daves feedback?13:40
jw4TheMue: I'm starting to go through it...13:40
TheMuejw4: fine, it's catching most of the points13:41
jw4TheMue: a lot of his feedback is about things that are bigger than my change13:41
jw4TheMue: but I'll respond to each one in the PR13:41
TheMuejw4: yep, so for some of the we may need to create a follow-up13:42
jw4kk13:42
rogpeppehmm, so i've just discovered that juju deploy local:trusty/foo can totally ignore the directory $JUJU_REPOSITORY/trusty/foo if there's another charm in there with Meta().Name == "foo"13:53
rogpeppefwereade_: does that seem right to you? it certainly surprised me13:54
fwereade_rogpeppe, it's insane but As Designed :/13:54
rogpeppefwereade_: can we just change it please? :)13:54
rogpeppefwereade_: can you think of something it might break?13:55
fwereade_rogpeppe, well, it opens the issue of meta name not matching the url we use13:56
rogpeppefwereade_: we could make it complain if the meta name didn't match the dir name13:56
fwereade_rogpeppe, it's never been *quite* annoying enough to reach the top of the list; in principle I'd be glad to see it improved; in practice I think we'd need to talk to the people who actually use local repos13:57
rogpeppefwereade_: i think that having meta name in there is silly anyway, but at least then we wouldn't be in such a ridiculous situation (i created the directory, deployed the charm, then wondered wtf was going on)13:57
fwereade_rogpeppe, the other reason not to do it is the hope that we'll be able to transition to just publishing directories directly, and forget the whole local repo thing entirely13:58
rogpeppefwereade_: i'm guessing we'll still want a local repo13:59
rogpeppefwereade_: i guess it depends how important the naming-after-series thing is13:59
fwereade_rogpeppe, don't we end up needing series in the metadata in the general case though?14:00
rogpeppefwereade_: that is, as we know, a controversial topic :)14:00
rogpeppefwereade_: FWIW I'm +114:00
fwereade_rogpeppe, well, it's only lp-based charms where we get the magic series-from-name thing -- where else is it going to come from?14:00
fwereade_rogpeppe, I'm probably just blanking, but I don't recall the controversy14:01
fwereade_rogpeppe, multiple-series charms are controversial for usre14:01
fwereade_rogpeppe, (lp-based and local-based, I suppose, but local is just aping lp, I think)14:01
rogpeppefwereade_: except... all the official charms are multiple series AFAIK.14:02
fwereade_rogpeppe, IMO the only ones where that's really defensible are the subordinates14:02
rogpeppefwereade_: i'd like to robustly defend the ability to create portable software :)14:03
rogpeppefwereade_: and we're not even talking portability across different unix flavours here14:04
fwereade_rogpeppe, I'd like to dismissively pooh-pooh the notion that anyone cares what OS they use, so long as their workloads function properly14:04
fwereade_;)14:04
fwereade_rogpeppe, subordinates come crashing hard against that statement though14:04
rogpeppefwereade_: i care that i understand something about the OS so i can debug it. i.e. not windows..14:05
rogpeppefwereade_: yeah, subordinates imply we want a single service that can be deployed to multiple series14:05
fwereade_rogpeppe, and if we can fix it for subordinates, we can fix it for everything14:05
fwereade_rogpeppe, it's just not looming particularly large in my mind atm14:05
fwereade_rogpeppe, because, well, subordinates potentially need to be *really* cross-platform14:06
rogpeppefwereade_: it's something that's looming large in my mind, with some possibly significant changes in the charm store needed14:06
rogpeppefwereade_: well, yes14:06
rogpeppefwereade_: i'd like to take the series out of the charm name entirely. that would help quite a lot of things.14:07
fwereade_rogpeppe, series feels like a pretty useful part of a charm url tbh14:09
fwereade_rogpeppe, but I'm looking at it from a different perspective, I suspect, keen to hear more14:09
rogpeppe[14:04:13] <fwereade_> rogpeppe, I'd like to dismissively pooh-pooh the notion that anyone cares what OS they use, so long as their workloads function properly14:09
rogpeppe:)14:09
rogpeppefwereade_: it assumes that the OS is just as important as the workload14:09
fwereade_rogpeppe, "juju deploy whatever"14:10
rogpeppefwereade_: yup14:10
fwereade_rogpeppe, *we* have to care about the charm url, so that our users don't ;)14:10
fwereade_rogpeppe, the series, I mean14:10
fwereade_rogpeppe, and having the series part of the url is convenient for us, at least14:10
rogpeppefwereade_: yup. that, for me, means that the URL (*the* user-visible part of a charm) shouldn't contain the series14:11
rogpeppefwereade_: it's *kinda* convenient for us, but i don't think we gain that much from it14:11
fwereade_rogpeppe, well, we want some way to distinguish between charms for the same workload with different targets, don't we?14:12
fwereade_rogpeppe, series does that14:12
rogpeppefwereade_: isn't that what constraints do?14:12
fwereade_rogpeppe, and it's easier to read than a hash or something14:12
rogpeppefwereade_: i see series as just one aspect of the "aspects of the target that i care about" continuum14:13
fwereade_rogpeppe, the centos, windows, and ubuntu apache charms will actively differ in a number of respects, though, right?14:14
rogpeppefwereade_: oh yes. but that's our problem - the user should be oblivious to their differences, i think.14:14
fwereade_rogpeppe, distinguishing by version number is terrifyingly opaque14:14
fwereade_rogpeppe, and jamming the target into the name feels strictly inferior to making it a separate component14:15
fwereade_rogpeppe, I can't really see other options14:15
rogpeppefwereade_: i think i'd provide a way to publish several charms (with different series) under the same name, and let juju select the appropriate one.14:16
rogpeppefwereade_: that's *kinda* what happens already14:16
fwereade_rogpeppe, right, but if you happen to deploy the same workload on different OSs, you want to be aware that they're running different charms14:16
rogpeppefwereade_: i'm not sure14:17
rogpeppefwereade_: only when things go wrong14:17
rogpeppefwereade_: but there are all sorts of things you want to know in that case14:17
fwereade_rogpeppe, well, they *are* different charms... if every charm "url" really points to an opaquely context-sensitive redirect (to something without a url?), I think it will be... confusing14:19
rogpeppefwereade_: i guess it depends how much you care about the workload vs how it's implemented14:20
fwereade_rogpeppe, for me it's more about a charm url being unambiguous14:21
fwereade_rogpeppe, I *don't* actually care about the series, any more than I care about the revision14:22
fwereade_rogpeppe, but both those components disambiguate usefully14:22
=== katco` is now known as katco
rogpeppefwereade_: in the end, what the charm *does* can be arbitrarily different depending on platform anyway, regardless of what the contents of the charm are14:24
sinzuidimitern, does bug 1394524 need to merged into the 1.21 branch?14:24
mupBug #1394524: juju/utils/apt retrying logic is poorly tested and can fail the second time <juju-core:Fix Committed by dimitern> <https://launchpad.net/bugs/1394524>14:24
fwereade_rogpeppe, as it can be depending on revision too, right?14:24
rogpeppefwereade_: yeah.14:25
anastasiamacsinzui: ping14:29
=== enterprisedc_ is now known as enterprisedc
sinzuihi anastasiamac14:31
anastasiamacsinzui: about bug 139445014:32
mupBug #1394450: 1.20 client can't destroy a 1.21 or 1.22 environment <destroy-environment> <regression> <juju-core:Triaged by anastasia-macmood> <juju-core 1.21:Triaged by anastasia-macmood> <https://launchpad.net/bugs/1394450>14:32
anastasiamacsinzui: m not convinced it needs backporting14:32
sinzui:)14:32
anastasiamacsinzui: different version had different defaults for network bridge names14:32
anastasiamacsinzui: this ione is specifically about default in 1.22 changing to ""14:33
anastasiamacsinzui:1.22 works fine because we specify container specific defaults in the getter14:34
sinzuianastasiamac, so 1.22 needs to change to allow any older juju to destroy it?14:34
anastasiamacsinzui: however, older clients don't use getter but rather schema default and hence get ""14:34
jw4TheMue: responded to davecheney 's feedback - any further feedback on this PR? http://reviews.vapour.ws/r/502/14:34
anastasiamacsinzui: kind of - 1.22 needs to set container specific defaults when it sets up env config14:35
jw4fwereade_: I'd appreciate your review of ^^ too14:35
anastasiamacsinzui: so I am hoping that it's just the change on 1.22 ;-)14:35
sinzuime too. thank you anastasiamac14:35
anastasiamacsinzui: gr8 :) thnx!14:36
TheMuejw4: so far mostly more simple comments, dave already found most14:36
jw4tx TheMue14:36
TheMuejw4: will submit in a few minutes14:37
jw4kk14:37
TheMuesometimes diffs are really strange, when new functions are shown as placed inside an existing function and only two lines of the old code are shown afterwards14:39
jw4TheMue: I know, I've noticed that too :(14:39
=== kadams54 is now known as kadams54-away
TheMuejw4: so, published my comments and now go through your answers to daves comments14:54
jw4TheMue: perfect14:54
fwereade_jw4, sent a few thoughts/questions14:57
jw4fwereade_: excellent, thanks14:57
rogpeppefwereade_: if i do a juju upgrade-charm --force when a unit is an error state, should i expect to get an upgrade-charm hook called at some point in the future?14:59
fwereade_rogpeppe, no15:02
fwereade_rogpeppe, if upgrade-charm is important you basically have to prefix all your hooks with an effective maybe-upgrade-hook :/15:03
rogpeppefwereade_: how do you know if the charm has been upgraded?15:03
fwereade_rogpeppe, heh.15:04
fwereade_rogpeppe, copy the charm url file somewhere in the upgrade-charm hook?15:04
fwereade_rogpeppe, not that, as a charm author, you're really meant to know about or depend upon that file15:05
rogpeppefwereade_: yeah, i didn't know that existed15:05
rogpeppefwereade_: i guess i could hash the contents of the charm directory15:05
rogpeppefwereade_: or look at the mtime of the metadata.yaml file15:05
fwereade_rogpeppe, or, hmm, copy the revision file somewhere?15:06
fwereade_rogpeppe, although that *could* fail if you --switch15:06
rogpeppefwereade_: is there guaranteed to be a revision file? maybe, i guess15:06
fwereade_rogpeppe, in a deployed charm, yes, I think so15:06
rogpeppefwereade_: yeah, doesn't seem too reliable given switch15:07
=== liam_ is now known as Guest73106
rogpeppefwereade_: perhaps this is worth fixing. i think it may be woth guaranteeing that upgrade-charm will be called when the charm is upgraded15:08
rogpeppefwereade_: the problem is there's no decent way around it. if a charm dies in a relation hook and the only way to fix it is to upgrade the charm, there's no way of triggering the upgrade-charm hook *and* retrying the relation hook AFAICS15:09
perrito666nate-tablet: did you fix your computer?15:12
nate-tabletI'm still on my ta let15:12
nate-tablettablet15:12
nate-tabletsupport is trying to help15:13
fwereade_rogpeppe, just a mo, sorry, laura just got home15:15
rogpeppefwereade_: np15:15
jw4fwereade_: at your convenience, after reading my responses to your review, we can chat about your issues raised?15:16
fwereade_rogpeppe, so, yes, that was essentially the issue15:18
fwereade_rogpeppe, we don't really want to run upgrade-charm in the middle of an incomplete, errored hook15:18
rogpeppefwereade_: my expectation was that you'd upgrade the charm, retry the hook, and then upgrade-charm would be run15:19
fwereade_rogpeppe, really, honestly, there are only two answers -- either don't depend on upgrade-charm, or make your charm bulletproof enough that no user will have to force-upgrade it :/15:19
fwereade_rogpeppe, yay preserving compatibility15:20
fwereade_rogpeppe, fwiw that *is* documented, I'm pretty sure15:20
fwereade_rogpeppe, not saying it's *good* though15:20
fwereade_rogpeppe, ok, that is not an unreasonable expectation, but let's dig in15:20
fwereade_rogpeppe, if we do that15:20
fwereade_rogpeppe, we're implicitly denying the need for an upgrade-charm to ever happen, aren't we?15:21
rogpeppefwereade_: i wouldn't mind your "treat every hook as if it might be run after an upgrade" solution *if* there was a way of finding out whether a charm's been upgraded15:21
fwereade_rogpeppe, because we're assuming that any hook can be rerun safely after an upgrade *without* an upgrade-charm15:21
rogpeppefwereade_: yeah15:21
rogpeppefwereade_: i'd realised that15:21
fwereade_rogpeppe, it would really feel *safer*, I think, to require that upgrade-charm be able to handle running in any state...15:23
rogpeppefwereade_: yes, and then just run it and leave the current error state unaffected15:23
fwereade_rogpeppe, but then we guarantee that config-changed will run after upgrade-charm, so we can either relax *that* restriction or raise the spectre of a double-nested error state with a queued config-changed lurkingin there somewhere too15:24
rogpeppefwereade_: ha15:24
fwereade_rogpeppe, happy fun times, eh?15:24
rogpeppefwereade_: happy fun times indeed15:24
rogpeppefwereade_: when we have charm status, i'm going to write charms such that their hooks never fail15:25
fwereade_rogpeppe, +100 to that15:25
ericsnownate-tablet: FYI, I'll be here sporadically again today (feeling a bit better)15:25
nate-tabletericsnow: ok15:29
nate-tabletnow I have managed to install lubuntu (which didn't help) and can't get it to go away15:30
* nate-tablet is a special flower15:31
wwitzel3my upgrade went about the same as nate's15:32
wwitzel3looked ok, then just progressively degraded everytime i used my laptop, until I had to reinstall15:32
nate-tabletluckily I just backed everything up to a USB drive15:34
nate-tabletso if worse comes to worse.....15:34
katconate-tablet: borked upgrade from 10.04 .10?15:45
fwereade_jw4, yeah, I think all those things are fine for followups15:45
jw4fwereade_: okay; I'll add issues to our leankit board and drop the issues here15:46
fwereade_jw4, a thought about the notifications, though -- would it be sane to encode the statuses in the notification _ids, and to add unconditional remove-other-possible-notification-kind ops to the transactions that notify?15:47
jw4fwereade_: interesting15:47
fwereade_jw4, that might be insane or it might be brilliant or it might just be meh, I just want us to think about the possibility space a bit here15:47
TheMuerogpeppe: ping15:47
jw4fwereade_: yeah I like it.  Requires a little more bookkeeping but seems worth it15:48
fwereade_jw4, and saves us the expensive-style watcher15:48
jw4fwereade_: and the beauty is there is a logic hole in the expensive watcher that would be addressed by this approach15:49
TheMuerogpeppe: could you tell me a bit more about the yaml change so that I change the test?15:49
rogpeppeTheMue: pong15:49
* fwereade_ cheers15:49
rogpeppeTheMue: you need to change the tests so that they don't depend on the specific marshaling details of YAML15:49
rogpeppeTheMue: have you run the tests yet, with the latest version of yaml.v1 ?15:49
TheMuerogpeppe: no, want to start now15:50
TheMuerogpeppe: afaik today the tests are based on yaml strings. so it would be better to let them base on types that are marshalled and unmarshalled?15:51
rogpeppeTheMue: no, you don't need to do that in general15:51
rogpeppeTheMue: i pointed you to a possible solution yesterday15:51
TheMuerogpeppe: have to see if I have a log15:52
fwereade_jw4, actually, though15:54
fwereade_jw4, I am wondering about the nolongeravailable thing15:54
jw4fwereade_: as in what kind of error it should be?15:55
fwereade_jw4, it feels kinda overspecific -- should we maybe be using NotFound directly there?15:55
TheMuerogpeppe: ah, the YAMLEquals checker, found the log ;)15:55
rogpeppeTheMue: yeah15:55
jw4fwereade_: that sounds plausible15:55
fwereade_jw4, it will be all the clearer, I think, when we call it PendingActions15:56
fwereade_jw4, agree?15:56
jw4fwereade_: +115:56
dimiternsinzui, hey15:59
dimiternsinzui, I'll backport the fix for bug 1394524 into 1.21 as well15:59
mupBug #1394524: juju/utils/apt retrying logic is poorly tested and can fail the second time <juju-core:Fix Committed by dimitern> <https://launchpad.net/bugs/1394524>15:59
sinzuiThank you dimitern16:00
dimiternsinzui, hmm looking at how much 1.21 has changed from 1.22 wrt juju/utils/ it might be safer not to backport perhaps?16:04
sinzuidimitern, I respect your decision, and I am happy to remove the issue from the milestone if you think it is best16:05
dimiternsinzui, juju/utils for 1.21 is more than 10 commits behind master and some interface changes were introduced during some of these16:05
dimiternsinzui, yeah, thanks - I think it's safer16:06
sinzuiokay16:07
voidspacedimitern: ping16:15
voidspacedimitern: you still around?16:15
dimiternvoidspace, yep16:16
natefinchhuzzah16:18
natefinchand the answer is... fucked up .profile16:18
natefinchno idea why that caused the whole "could not switch monitor configuration" error... but there was a little .xsession-errors file in my home directory that said "your .profile is fubared"16:19
natefinch/usr/sbin/lightdm-session: 30: /home/nate/.profile: source: not found16:20
natefinch/usr/sbin/lightdm-session: 32: /home/nate/.profile: function: not found16:20
natefinch/usr/sbin/lightdm-session: 35: /home/nate/.profile: __git_ps1: not found16:20
natefinch/usr/sbin/lightdm-session: 36: /home/nate/.profile: Syntax error: "}" unexpected16:20
natefinchthis is what I get for copying a shell script into my .profile16:20
wwitzel3natefinch: wb :)16:21
natefinchironcically, while this all happened, my mother called me to ask for help getting malware off her laptop16:22
natefinchone of those "malware masquerading as anti-malware" things16:22
jw4fwereade_, TheMue LGTM on review 502?16:31
TheMuefwereade_: just seen your all-watchers-in-one-file-statement in jw4's proposal, laughed loud16:37
TheMuejw4: from my side it's ok now as the cards for the missing parts are created. but would like to wait for fwereade_ to check your answers on his review16:40
fwereade_jw4, if you've done what I suggested and it LGT TheMue I'm happy16:42
jw4fwereade_ TheMue cool tx16:43
jw4(yes, I've addressed all comments and issues)16:44
=== kadams54_ is now known as kadams54-away
=== kadams54-away is now known as kadams54_
=== kadams54_ is now known as kadams54-away
=== kadams54-away is now known as kadams54_
mattywnight all17:54
mgzcmars: http://juju-ci.vapour.ws:8080/job/github-merge-juju/1368/ plus 1369 plus 137018:11
* perrito666 is back to the land of the bad but bearable internet18:33
voidspaceg'night all18:54
lazyPowerdoes anyone have a minute to help debug proxy issues with a users juju env?19:06
natefinchlazyPower: you're on the wrong time of day to find people that know about proxies and juju, unfortunately19:15
lazyPoweri figured as much - but i think its a config issue fortunately19:15
lazyPowernot something juju isn't respecting19:15
lazyPowerthanks for the reply natefinch19:16
natefinchlazyPower: wish I had a better reply.19:16
perrito666wiii, I have an upgrade resistent restore, I am a happy man19:21
perrito666:D19:21
natefinchyay19:22
jw4fwereade_: don't know if the new name I picked is the best, but it's clearer : http://reviews.vapour.ws/r/508/19:26
perrito666go fmt not taking a list of paths as parameter makes me sad19:30
natefinchyou can do go fmt ./...19:31
natefinch(or other package wildcards)19:32
perrito666natefinch: that I did not know19:32
natefinchnote, that's go fmt not gofmt19:32
perrito666natefinch: http://reviews.vapour.ws/r/298/19:33
natefinchperrito666: also, you can give multiple paths to gofmt   gofmt *.go  foo/*.go  seems to work, for example19:35
natefinch(note that one is gofmt, not go fmt19:35
perrito666natefinch: go fmt, which I prefer does not like multiple paths19:35
=== kadams54 is now known as kadams54-away
perrito666well, being blessed as I am with having no power and using internet from a cellphone tethering I think I might call a stop here and return later19:56
perrito666wow, reviewboard sucks badly in bad internet situations19:56
=== kadams54-away is now known as kadams54
=== kadams54 is now known as kadams54-away
natefinchnot sure if waigani is trolling or actually means it20:29
perrito666natefinch: cmon it wont affect you unless you decide to code in an old english typeset20:31
perrito666:p20:31
waiganinatefinch: I put it to the vote, and this was the result. It's a stupid minor point and the best way to avoid ongoing time loss on the issue is to reach a decision and get on with coding.20:33
natefinchwaigani: isn't the best way to avoid wasting time on it.... to not waste time on it?20:35
waiganinatefinch: isn't that what we are doing now?20:36
jw4natefinch: or to make a decision and not revisit it?20:36
waigani+120:36
natefinchwaigani: my point is, we're adding something else we have to check for in a code review that offers ZERO benefit to the quality of the code.20:36
natefinchor to the quality of the comments20:36
jw4natefinch: except that new folks not party to this debate may raise it again unless it's spelled out20:37
katcois this about the one-space after periods?20:37
jw4katco: yep20:37
katcowhy is this something we're even discussing?20:37
natefinchI have never (previously) in my 15 years of development experience had anyone ask about number of spaces after a period.20:38
waiganinatefinch: sigh. The reason I put it to the vote is because there were debates about it, that were distracting. The solution to such debates is to make a decision and not revisit it (without good reason)20:38
waiganithat is the role of the style guide I think20:38
katcoi'm with nate on this... my solution would be to tell the person bringing this up that there are more important things to discuss20:39
katcowhy are we reviewing the # spaces in a comment?20:39
mgzkatco: because it's fun!20:39
jw4katco: except you'd have to say it again everytime someone who didn't know asked20:39
waiganiOMG20:39
perrito666yay bikeshedding20:40
katcojw4: i don't know... i've never seen this ever come up either20:40
natefinchif we want to end the discussion, state in the style guide that we don't care20:40
waiganithe intention was to put the issue to bed and move on - that is what I'm doing now. If it does not get a ship it does not land. I'm not fussed.20:40
jw4katco: I know, but Go is the first language I've used that has one-true-way of formatting code too20:40
jw4katco: for this exact reason I believe20:41
katcojw4: yeah, but that's to handle major stylistic differences in actual code20:41
katcojw4: this is... a space... b/t sentences20:41
perrito666jw4: all languages have one true way of formating code... mine20:41
katcojw4: writers can't even agree on this lol20:41
jw4katco: :)20:41
jw4I for one favour one sentence per line20:42
katconatefinch: i really like that stance. "we don't care"20:42
katconatefinch: removes the additional review point, and puts the issue to bed as well20:42
natefinchwe don't even have style guides for things that actually kinda sorta matter, like formatting long lines of function declarations20:42
jw4natefinch: I missed that - I'm okay with that stance too20:42
davecheney"implementation defined"20:42
katconatefinch: +1 +1 +120:42
natefinchwe just said "as long as it passes gofmt, it's ok"20:42
katcowaigani: i'm sorry if i'm causing you some pain. this isn't directed at you at all20:43
katcowaigani: i was just very surprised to see this20:43
jw4katco, natefinch my main support of this is to address it so that newcomers know what the stance  is.  "We don't care" is great if it's in the docs. (IMVHO)20:44
natefinchlet's make it a tab after a space, that way the spacing is customizable to everyone's own tastes ;)20:45
natefinchsorry, tab after a period20:45
jw4natefinch: oh no you didn't20:46
jw4:)20:46
natefinchlol20:46
perrito666I have never seen someone dont care so strongly about something20:46
jw4perrito666: :)20:46
katcotabs are better than spaces, but only if you're using the best editor: emacs20:46
katco^ the most contentious sentence ever written20:46
jw4katco: oh no you didn't20:46
perrito666even more this seems to be the longest not argument about something I have ever been20:46
katcoperrito666: i respectfully hear your viewpoint!20:47
natefinchfor the record, if we have to pick one, I do prefer 2 spaces after a period.  But I'd much rather just let everyone do whatever they want.20:48
perrito666oh, no, I feel offended, I demand that you ignore me in the spirit of this conversation amd I will definitely not say that using vim I dont care because I can easily turn one into the other20:48
jw4natefinch: I think the ship sailed20:48
katconatefinch: i believe in the annals of typography, one space is actually correct20:48
perrito666natefinch: 2 spaces? who are you, guttemberg=20:48
perrito666?20:48
katcobut i guarantee you i'm not going to check for this lol20:49
perrito666katco: lets ignore typography in favor of proper language and just read thoroughly the comment as we should20:50
perrito666said by the guy that sucks at english <--20:50
katcohaha20:50
katcoi've found your english to be quite good perrito66620:50
katcobetter than some americans20:50
perrito666katco: heh, most of the reviews I get are people correcting my grammar20:51
perrito666also my english is like a health bar in videogames, certain things can make me loose it20:51
katcowell, you know... go is a unicode language. write in Portuguese :)20:51
jw4perrito666: "most of the reviews I get are *from* people correcting my grammar"20:51
perrito666katco: my kb lacks a few chars for it I believe20:52
katcoperrito666: i'm actually afraid of that happening. right now code is wonderfully unified with latin characters20:52
katcoi read code this japanese guy wrote all the time. in the future, maybe it's written in hirigana20:53
katcoand that avenue will be closed to me20:53
perrito666katco: here, code in spanish is is usually considered bad20:53
katcoi mean i know it's a bit ethnocentric, but it is nice that anyone anywhere can read any code20:53
perrito666katco: no offense intended, we consider English to be a simple, undecorated and sufficiently small language to be practical in technical things20:54
natefinchI think it's pretty great that people in other languages can write code that uses their own alphabet.20:54
natefinchI do find it quite amusing that the standard time format in Go is in US month/day/year order, though20:54
katcoperrito666: none taken... wow is that really true?20:54
katcoperrito666: funny, some people say that same thing about Go :)20:55
perrito666katco: well spanish has accents and this -> ñ and º for degrees and many things like the fact that words have gender20:55
perrito666which makes a pain to code and comment in it20:56
katcoi see20:56
perrito666and also, you most likely never thought of this because you speak english but programming languages are also in english :p20:56
katconatefinch: that is odd20:56
perrito666which makes constructions in prog lang+my lang very ugly20:56
katcoit will be interesting to see what happens as time goes on20:57
natefinchkatco: rob pike apologized for it, he just wasn't thinking.  The canonical date is 01/02 3:45pm 2006  tz +720:57
perrito666I spent some time reading code in spanish, and the SQL sentences where hilarious20:57
natefinch(that's jan 2)20:58
katconatefinch: i kind of like how they implemented the parsing stuff, but i wish they would have picked a date that is easier to remember20:58
katconatefinch: oh god20:58
perrito666Is there any rationale why you ppl use mm/dd/yy?20:58
katconatefinch: and as i say that i just now realize it's 1-820:58
katco^720:58
natefinchyep20:58
katcoyuk yuk20:59
katcogood job katherine20:59
katcoperrito666: i don't know that there is... it's just what i grew up with20:59
natefinchI like the idea, but the actual date is hard to remember unless you know the order in which the timestamp parts are put in the canonical string20:59
katcoi prefer coarse to fine, e.g.: yyyy-mm-dd20:59
natefinchkatco: absolutely20:59
jw4katco: +120:59
katcoit's just like numbers... i don't know why we don't do that21:00
katcoi think that is the ISO standard though isn't it?21:00
natefinchthere's a lot of ISO standards for time :)21:00
jw4katco: I belive so.  I try to always use that format : writing cheques, notes, etc.21:01
natefincha better time format might be 9999 08 07 06:54pm tz +321:01
katcojw4: i admit i use what i grew up with, unless i'm producing documents for the interwebs21:01
natefinchfor august 7th, 999921:02
jw4katco: I grew up with dd/mm/yyyy and I still have to make a concious choice every time I write a date21:02
natefinchI just noticed I can (possibly?) delete waigani's review request on reviewboard.  I guess there's no permissions for that kind of thing?21:03
jw4natefinch: what about 9988 07 06 etc.21:03
natefinchjw4: don't need it, you only use the amount of resolution in the year as you get, so 99 would be a 2 year date21:03
katconatefinch: review by fiat?21:03
perrito666ericsnow: ping? alive?21:04
katconatefinch: "i DIS-AGREE!" (delete)21:04
natefinchkatco: I wouldn't, I just thought it was amusing that it was possible :)21:04
jw4natefinch: interesting21:04
natefinchhaha, I AM willing to change the title of the review, though21:05
alexisbthumper, ping21:05
thumperalexisb: hey21:05
alexisbhey there thumper I have a couple of things I need to discuss with you21:05
alexisbcan you spare me a few minutes21:06
alexisb?21:06
thumperyep21:06
alexisbok, let me find a corner21:06
alexisbok thumper our 1x1 hangout21:07
thumperok21:07
natefinchsinzui: slight typo in that email subject ;)21:10
sinzuiyeah, we well need a few years to get to that number :)21:11
jw4davecheney: do you have any more details on how you're reproducing bug 1394066 ?21:30
mupBug #1394066: FAIL: action_test.go:254: ActionSuite.TestActionsWatcherEmitsInitialChanges <intermittent-failure> <test-failure> <juju-core:Triaged> <https://launchpad.net/bugs/1394066>21:30
katcoif api/* is finding my facade, but not my method in apiserver/*, what have i most likely overlooked?21:57
wallyworldthumper: can we delay by 1 hr today? I have a meeting clash22:02
thumperwallyworld: sure22:02
wallyworld\o/22:02
=== arosales__ is now known as arosales
thumperoh fuck...22:22
thumperfuckity fuck fuck22:22
* thumper head desks22:22
jw4mooommm; thumper is doing it again22:22
thumperah, no, panic over22:24
jw4haha22:24
thumperi think we're still good22:24
* thumper goes back to the 1.22 upgrade malarky22:24
* fwereade_ driveby: any less than 7 spaces after a period is unacceptable22:25
jw4fwereade_: smart alec22:25
menn0fwereade_: but surely it's 8.5 if you're using a comic sans font? ;-p22:28
benjifwereade_: you mean "fewer"; spaces are countable22:29
fwereade_menn0, comic sans users have to use at least 37 as a penance22:29
menn0thumper: are all the docstrings in factory.go wrong? they all say, "If more than one params struct is passed to the function, it panics."22:29
* fwereade_ fails at pedantry forever, tips hat to benji22:29
benji:)22:30
thumpermenn0: yeah22:30
thumpermenn0: obviously the person that changed the factory failed to update the doc strings22:30
menn0thumper: but there's no way to pass in more param structs22:30
menn0thumper: is that left over from a previous implementation?22:30
thumperyep22:30
menn0thumper: k, i'll fix. i'm in there anyway22:32
thumperoh god...22:34
* thumper just had a horrible thought22:35
* thumper tries to work out if he cares22:35
thumpershit shit shit22:36
thumperbugger22:36
thumperballs22:36
* thumper pretends the problem doesn't exist22:36
* jw4 can't help but be intrigued when thumper goes off22:37
menn0thumper: that works... sometimes22:37
jw4it's like a shiny object or a squirrel to me22:37
katcoasking again in the hopes someone can help me out: if api/* is finding my facade, but not my method in apiserver/*, what have i most likely overlooked?22:48
katcofwereade_: ^ ?22:48
thumperkatco: is it a new end point?22:48
katcothumper: it is22:48
thumperthen you have probably forgotten to hook up the end point with the root22:48
katcothumper: i've been using the usermanager as a guide... can you point me to a line of code maybe?22:49
* thumper goes to look22:49
katcothumper: ty sir. hopefully i am providing a distraction from what sounds like fun problems :)22:50
menn0thumper, waigani: here's Factory.MakeEnvironment()  https://github.com/juju/juju/pull/120122:50
fwereade_katco, thumper: if you're seeing the facade but not the method, failing to register seems unlikely, and I don't immediately have good ideas... mm, versioning maybe?22:53
katcofwereade_: i registered as 022:54
* thumper goes back to his horrible problem22:54
katcothumper: haha i'm sorry. ty so much for responding22:54
katcofwereade_: common.RegisterStandardFacade(22:54
katcoFacadeName,22:54
katco0,22:54
katcoNewLeadershipServiceFn(leaderMgr),22:54
katco)22:54
katcowhere FacadeName is "LeadershipService"22:54
ericsnowperrito666: you still looking for me?22:55
katcofwereade_: the only thing i could think of is i am returning an interface, so maybe the reflection is failing22:55
katcofwereade_: so i returned a pointer to the actual type, and that didn't work22:55
katcofwereade_: but the type is not exposed22:56
katcofwereade_: not sure if that matters22:56
fwereade_katco, I don't *think* the type matters so long as the methods are exposed22:56
katcofwereade_: they're there on the interface alright22:57
perrito666ericsnow: nope, solved it22:57
perrito666:D22:58
katcofwereade_: i should have mentioned this; i tracked the failure to rpc/rpcreflect/type.go Method(...)22:58
ericsnow\o/22:58
katcofwereade_: line 18022:58
waiganimenn0: done22:59
* fwereade_ scratches head expressively at katco23:00
fwereade_katco, hold on a moment23:00
menn0waigani: thanks23:00
fwereade_katco, I'm unconvinced that we need a new facade for what you're doing -- but then I don't *actually* know *exactly* what you're doing23:01
fwereade_katco, oh wait scratch that23:01
fwereade_katco, we agreed leadership could & shoudl be handled by a worker that's not the uniter, hence a separate facade23:01
fwereade_katco, ignore me23:01
* katco always prefers to have hard conversations when it's late where fwereade_ is23:01
katco;)23:01
fwereade_in vino veritas, or sometimes just nonsense23:03
thumperah ffs23:03
katcohaha23:03
thumperfwereade_: is the translation of that "in wine we find the truth?"23:05
fwereade_thumper, yeah :)23:06
thumperI agree23:06
thumperbit early for wine here23:06
thumperbeing just after noon23:06
thumperbut I'm tempted23:06
wallyworldthumper: if you get a moment, you you please look at https://code.launchpad.net/~wallyworld/golxc/support-cmd-env/+merge/24243823:09
thumperwallyworld: kinda deep in it right now23:09
wallyworldnp23:10
katcofwereade_: ahoy... all the functions live in the "discarded" array23:10
fwereade_katco, ahhh23:10
katcofwereade_: they feel so abandoned :(23:10
fwereade_katco, you will have failed to have "appropriate" signatures23:10
katcofwereade_: yeah well the troublemakers are always the interesting ones23:10
katcofwereade_: how do i know what's appropriate?23:10
fwereade_katco, I feel somewhat justified in my ages-ago belief that this would cause someone trouble sometime23:11
fwereade_katco, looking, oping I can remember23:11
katcofwereade_: i think in rpc/rpcreflect/type.go newMethod(...) there lies a truth23:12
fwereade_katco, look at newMethod in rpcreflect/type.go I thinl?23:12
katcofirst!23:12
fwereade_katco, jinx23:12
katcofirst again!23:12
* fwereade_ is evidently outclassed23:12
katcoahaha23:12
katcofwereade_: i will pursue this. thank you, as always, for your support :)23:13
fwereade_katco, cheers :)23:14
katcofwereade_: do you mind if when i find out what is wrong i add some helpful error message?23:14
fwereade_katco, go for it23:14
katcofwereade_: it would appear i do not fit the template for # of return values or some such thing23:15
* fwereade_ looks at the code he was writing before he started the evening, remembers he decided to change the signature of an abundantly-used method, grumbles quietly to himself23:15
fwereade_katco, it's either (result, err) or (err) IIRC23:16
fwereade_katco, I think it would have been nicer if it'd been (err) only tbh, at least that would have matched the golang rpc package23:16
* fwereade_ shrugs, resolves not to whine further23:16
waiganimenn0: ship it23:17
katcofwereade_: gosh... is it because i'm using *params.Error, and not *error?23:18
fwereade_katco, ha23:18
fwereade_katco, most likley23:18
katcofwereade_: so now i am thoroughly confused. i thought i was supposed to use params.Error b/c that's our over-the-wire protocol?23:18
fwereade_katco, the params.Errors should probably be in a slice in the result somewhere23:18
katcofwereade_: aha23:19
fwereade_katco, errors out of the actual methods are OMG-EVERYTHING-IS-BROKEN errors23:19
katcofwereade_: right23:19
katcofwereade_: thought we were still supposed to use params.Error for some reason23:19
fwereade_katco, I *think* that's handled elsewhere -- it's the distinction between a this-element-is-problematic (where we expect you to have created a sane result) and this-whole-call-is-broken where the transport does something about it23:21
* fwereade_ waves hands vaguely, tries to look wise23:21
katcofwereade_: mmm yes, i see, i see. i do not comprehend your brilliance of course, but i think i can fix this.23:21
thumpermenn0: FWIW the jujud upgrade test starts with a version of 1.16.something and upgrades to current23:23
thumpermenn0: and makes sure everything passes23:23
thumpermenn0: so it is testing full upgrades23:24
thumperand jumping versions23:24
menn0thumper: that sounds good23:25
menn0thumper: given that Factory is your baby, can you PTAL at http://reviews.vapour.ws/r/511/? waigani has already given it the ok.23:25
perrito666ericsnow: if you have some time, many of your changes just pushed to http://reviews.vapour.ws/r/29823:25
thumpermenn0: ok23:25
perrito666ericsnow: make notes for all you feel needs moving so we do it after this lands23:26
* thumper bangs and the desk and leaves the office for a bit23:30
menn0thumper: before you go23:31
mgzbangs hard enough that the desk leaves the office?23:32
mgzthat's some serious table flip23:32
menn0thumper: never mind23:33

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