/srv/irclogs.ubuntu.com/2014/05/12/#juju-dev.txt

davecheneyoh ffs00:00
davecheneyThere is a problem connecting to this video call. Try again in a few minutes.00:00
davecheneyFAAAAAAAAAAAAAAARK00:08
davecheneythumper: right, sorry about that00:11
davecheneyi'll use a different computer tomorrow00:12
thumpershit internet or shit computer?00:12
thumperis your laptop not happy with trusty?00:12
waiganiokay, so how do I resolve this: http://paste.ubuntu.com/7449953/00:13
waiganiI'm using ec200:13
waiganii'm trying to destroy the vanilla service and redeploy it00:13
davecheneythumper: tusty + chrome == failboat00:15
davecheneywill just use a mac tomorrow00:15
davecheneythumper: how come we're doing this identity work00:16
davecheneythis is something green are pushing00:16
davecheneyie, they need it00:16
davecheneythey are probably in the best place to describe what they need00:16
menn0davecheney: weird. I'm on trusty + chrome and hangouts are working ok00:16
thumperdavecheney: you mean emerald?00:16
davecheneythumper: i mean casey00:16
thumper:)00:16
davecheneydidn't casey and rog spend a week whiteboardin this ?00:17
thumpersome of it00:17
thumperthere was a big focus on jaaz identity00:17
thumperwhich is on their plate00:17
thumperwe are looking at it from the juju-core side00:17
waiganimenn0: I just saw "juju resolved -r <unit-name>". -r = re-execute failed hooks00:18
waiganilooks like I'll have to blow away the env and start again though00:19
menn0waigani: yep. thumper mentioned that just before the hangout00:19
waiganiis this a bug that I've hit though? I've got a dying service that I can't redeploy or resolve00:19
thumperwaigani: dude... use the long names00:19
thumperit is ueasier00:19
waiganithumper: okay, okay00:20
davecheneywaigani: if it is in state dying00:27
davecheneyand the machine that host's it gone00:27
davecheneythen you're sorta screwed00:27
davecheneys/it/is00:27
davecheneywaigani: i'm assuming the local provider ?00:28
waiganiyep, this is the case.00:28
waiganidavecheney: ec200:28
davecheneyORLY00:28
waiganibut how can I get into that state so easily?00:28
davecheneybtw, does everyone know about the juju-local footgun ?00:28
waiganinop00:28
davecheneyie, you *MUST* install juju-local to use juju at all00:28
davecheneyeven from source00:28
davecheneybut if you do that, /usr/bin/juju will take precidence in your path00:29
thumperdavecheney: it complains now if you don't00:29
thumperdavecheney: I explicitly set my PATH in .bashrc00:29
thumperto have $GOPATH/bin first00:29
davecheneyso unless you're paying a lot of attention, you won't be using the juju you think you are using00:29
davecheneyand bootstrap --upload-tools will upload the wrong one00:29
davecheneythumper: yes there are a few workarounds00:29
davecheney1. put $GOPATH/bin in the top of your path00:30
thumperI do think that most people who compile from source are aware of this...00:30
davecheney2. there is apparently a tool which can make up fake packages just to shut up apt, sinzui uses it00:30
davecheneythumper: i've found one on this channel this morning who wasnt :)00:30
davecheneythumper: this is an unbelievable cockup00:31
davecheneyis anyone looking at it ?00:31
davecheneyhttps://bugs.launchpad.net/juju-core/+bug/130654400:33
_mup_Bug #1306544: developing juju requires juju-local  to be installed <juju-core:Won't Fix> <https://launchpad.net/bugs/1306544>00:33
davecheneyi don't agree with this issue status00:34
wallyworld_axw: morning, good weekend?01:35
axwwallyworld_: heya. hectic weekend01:35
axwhouse hunting & mothers day01:35
axwand yourself?01:35
wallyworld_well, i had the latter, but not the former01:35
wallyworld_and a wedding01:36
wallyworld_bit sick sunday morning01:36
axwself inflicted? :)01:36
wallyworld_yeah :-(01:36
wallyworld_quick catchup?01:36
axwsure01:36
=== negronjl-afk is now known as negronjl
=== Tribaal_ is now known as Tribaal
menn0review please: https://codereview.appspot.com/9733004401:53
thumpermenn0: done02:08
menn0thumper: thanks02:10
waiganimenn0: did you use the mysql charm at all?02:41
menn0waigani: no I haven't looked at it. I found the postgresql charm to be pretty useful to look at though.02:42
waiganiI have a relation-changed hook, which is meant to grab "user", i.e. relation-get user - but user never gets set my mysql02:42
waiganiat least I assume it doesn't02:43
davecheneywaigani: the relatino-* hooks get run multiple times02:46
davecheneyso generally you need to put guards in place to bail out if the relation value isn't set yet02:47
waiganidavecheney: so I should be patient?02:47
davecheneywaigani: you just need to exit 0 if you are waiting for more information02:49
davecheneyin theory the remote side will set some more relatoin values later and your hook will be called again02:49
waiganidavecheney: yep, already doing that. mysql has been up for ages. I fixed the install hook in my webservice a few times. Got it all working. BUT can't get user from relation-get yet.02:50
waiganino I've ironed out the bugs, I might destroy env and bootstrap/deploy again02:50
thumperjam: o/03:21
thumperjam: we probably need to find a different time for our call as my girls have ice-skating now on a monday afternoon03:21
jamthumper: np03:21
jamis there a time you have in mind?03:23
thumpernot really...03:26
thumperjam: what time do you normally start your work day?03:26
jamthumper: officially in 1.5hrs03:29
jambut we had our 1:1 an hour before I started when DST was different03:30
jamthumper: and, ya know, occasionally I'm online a bit earlier than that. Espec. when my wife is away :)03:30
thumperhmm...03:30
thumperya know03:30
thumperpretty much every day sucks :)03:31
thumpertuesday's probably suck least03:31
jamthumper: we can go in your evening if that is better for you03:31
jamIts great for me, but probably sucky for you03:32
thumperperhaps monday evening, and I could try to get you and william done together03:32
thumper:)03:32
thumperat the moment william is missing my 9am timeslot (11pm for him)03:32
thumpernot entirely surprising really03:32
jamwell, I've been waking up at 1UTC (5am), because I'm trying to take the dog for a walk before it gets too hot, and thus before I have to get my son ready for school, etc.03:33
jamI believe that slot is 2am for me, so that wouldn't work either03:33
jambut your evening is my mid-day03:33
wallyworld_jam: hiya, a few of us talked about having a kanban board for each team (since there's now 5 teams). woud you be happy with that?03:38
jamthumper: so your monday evening or same time on Tues is fine with me. I need to know about Monday since I'll probably have to move around my team 1:1's, but that is generally more flexible than our overlap.03:38
jamwallyworld_: not very happy, though I'm not sure how to make it all work.03:38
jamI'm really concerned about people losing visibilty outside of their small squad03:38
jambut I certainly understand you can't keep fine grained visibility over 20 people03:38
wallyworld_sure, but i can't see how we can manage sooo many cards, especially if we plan 2 weeks out03:39
wallyworld_maybe a lane per squad then for the 2 week cards03:39
wallyworld_ie i want to start adding cards for the next 2 weeks but there's nowhere really to put them03:40
jamwallyworld_: right, lane per squad was the hope03:42
wallyworld_jam: i haven't got editing permissions on the board - are you able to add a tanzanite lane?03:42
waiganiis environments.yaml only used on the initial bootstrap to create the jenv? Is it ever used after jenv is created?03:42
jamI don't have great answers here. I was hoping to find some way to balance getting some cross coverage without having all of it.03:42
jamwallyworld_: I'll just give you edit rights, just a sec03:43
wallyworld_ta03:43
wallyworld_waigani: nope, not used after jenv is created03:43
waiganiwhy do we keep it around then?03:43
wallyworld_jam: we can/should discuss the best approach but till then a lane is great so we can at least start planning03:43
jamwaigani: well for one env.yaml has many environs in it03:44
wallyworld_waigani: so it can be edited for next time, and histerical reasons03:44
jamand 2, it is the place that users wrote their stuff03:44
jamand deleting stuff that people actually wrote is usually bad03:44
jamwaigani: did you hear any of the juju 2.0 conf stuff?03:44
waiganinop03:44
jamthe intent is to change out what is written, so instead users have a separate .conf file that just include account descriptions03:44
waiganithat makes a bit more sense03:45
jamand then on bootstrap you would do "juju bootstrap $ACCOUNT $NAME [—template some.yaml]"03:45
jamwallyworld_: I just made you and Nate Managers so that you should be able to edit the board03:46
wallyworld_thanks03:46
* jam needs to head to the grocery store before they get extra busy, bbiab03:50
jamthumper: just to confirm, you're calling off our regular 1:1 today03:51
wallyworld_jam: thumper: i added lanes for the squads, i think we need to get all the cards out of general and then delete that lane?04:00
davecheney\o/ I cannot download the mongo driver because labix.org is down ...04:07
* davecheney hacks it04:07
thumperjam: yes...04:15
axwwoo, only 44 conflicts to resolve04:51
wallyworld_\o/04:54
wallyworld_thumper: do you think we should remove the fast-lxc option in trunk and just make it work that way always? i can't see why we'd ever not want to have it04:55
wallyworld_s/option/config setting04:55
thumperwallyworld_: I'm not convinced that we always want it in every situation04:57
thumperwilling to be convinced04:57
wallyworld_when wouldn't we want it?04:57
wallyworld_in any case, i think the deafult should be true if we keep the option04:57
wallyworld_and now it's a global setting, we can refactor a little - remove the local provider setting04:58
davecheneywallyworld_: want about precise04:58
davecheneyor kernels that don't support aufs04:58
davecheney(or it might be btrfs)04:58
wallyworld_davecheney: if there's no aufs or btrfs we just copy the template image04:59
wallyworld_still faster than download 100000000GB04:59
wallyworld_davecheney: you saying that lxc on precise doesn't support cloning?04:59
davecheneywallyworld_: i know of two places in our current LTS releases that would not support fast-lxc05:03
wallyworld_these are?05:03
davecheneyprecise on all platforms and trusty on ppc64el05:04
wallyworld_davecheney: ok, so i reckon we can detect those and default to true otherwise05:06
wallyworld_make the setting mean "clone if supported by series and arch"05:06
wallyworld_fast-lxc-where-possible or whatever05:06
davecheneywallyworld_: +1 to dumping the setting and making it automatic05:06
davecheneyless options is alway more good05:07
wallyworld_yeah, and users *want* the behaviour if it is available05:07
wallyworld_no one wants to wait 30 minutes to deploy a few lxc hosted charms05:07
jamwallyworld_: AIUI all LXC implementations still use the cached .tgz that gets downloaded05:13
jamit is just a question of whether the FS is cloned or not05:13
wallyworld_jam: i must be confused then because thumper said, if i understood correctly, that we still wanted to create a template image file. if aufs or btrfs, it's cheap to copy the template, but even without, we just copy the entire template file, causing more i/o but still faster than downloading again05:15
jamand AIUI the question then is, do you always double disk space (1 for template, 1 for first container), or do you sometimes only do 1 (1 for container)05:15
jamwallyworld_: so there is the question of "when wouldn't you want it," what are the actual tradeoffs. thumper probably knows the details better than I do, but my understanding is05:16
jam1) lxc copies down the template rootfs from cloud-images05:16
jam2) it keeps that .tgz around05:16
jam3) with lxc-clone, we then expand that into a template lxc05:17
jam4) and then copy the expanded version (optionally doing a nice copy-on-write clone with btrfs) for each new lxc05:17
jamwithout lxc-clone05:17
jamwe just create the one you asked for05:17
jamso if you ever create 2, then you have to unpack a .tgz again05:17
jamif you actually have to redownload the tools, that would be bad05:17
jamthe other bits that I didn't mention are05:17
jam3a) we do 'apt-get update' in the template before we start copying05:18
jam4a) we never do apt-get update again05:18
jamvs05:18
jamwithout lxc-clone whenever you deploy a new container we apt-get update in it.05:18
jamits possible the apt-get update was what was killing cloning from dan's guys05:18
jamif LXC wasn't caching the .tgz that would also be terrible, but it would be an LXC bug (AIUI)05:19
jamSo, if the expectation is that anyone who wants to deploy 1 service into a container is always going to deploy >1, then we're likely at a net win05:19
jamif, on average, people deploy only 1, then we are at a net loss05:19
jamhence, the configuration flag.05:19
jamI would be fine with defaulting it to true, I think.05:19
jamwallyworld_: for the "no aufs or btrfs" I agree that copying an expanded template is still faster than extracting from a tarball, so we could go ahead and do that05:20
wallyworld_ok, clearly i misunderstood the mechanations. i  guess it was the apt-get update then. thanks for clarifying. i guess i didn't see that apt-get update would take so long05:20
jamit is more about having 2 copies when you may only want 105:20
wallyworld_i think we'd want > 1 most of the timne05:20
jamwallyworld_: well, I'm guessing, without being there and having them say anything other than "this took a long time" it is hard to say for sure05:21
wallyworld_so we can just flip the setting to default to true05:21
jamwallyworld_: note that Tim felt strongly that you needed the "juju-local" plugin which gives you a way to refresh/update your template05:21
jamwhich was intentionally a hackish-plugin-that-only-works-locally05:21
wallyworld_so as per dave's comment then, what would be any issue with precise or ppc64?05:21
jamwallyworld_: so AIUI you can still copy everything, you just don't get "cheap" clones05:22
davecheneywallyworld_: no idea05:22
davecheneybut when fast-lxc landed in trunk05:22
davecheneyit broke precise and ppc6405:22
davecheneyso we had to add a flag to *enable* it specifically05:22
davecheneythereby disabling it by default05:22
jamwallyworld_: potentially the issue is that they claim to support aufs, but it is broken05:23
jamso we have to explicitly not use it and do straight copying05:23
wallyworld_maybe we can hard code something then for now05:23
jameven though the platform says "I can do a cheap clone with aufs"05:23
wallyworld_i guess i'm saying i think we should support "use-clone" as true by default05:24
wallyworld_so the out of the box experience for most users is nice without having to read release notes etc05:24
davecheneyi thought it was more that lxc didn't gracefully degrade05:24
davecheneybut we didn't have time to implement the detection05:25
davecheneyso turned it off by default05:25
wallyworld_i guess i'm not sure what lxc has to support - don't all versions use a cached .tgz to use whenever a new container is asked for05:26
davecheneywallyworld_: thumper knows the answer05:29
davecheneyall i know is this broke ppc when it landed05:29
davecheneyso we had to turn it off by default05:29
wallyworld_np, i'll ask him05:29
wallyworld_i reckon/hope we can detect when supported and default to true in that case05:30
davecheneyi agree05:31
davecheneywallyworld_: or05:32
davecheneyfix the pcc kernel so it supports that optoin05:32
davecheneyprecise is a noop05:32
davecheneywe already do not recommend precise when using the local provider05:32
davecheneyor05:32
davecheneyeven cheaper05:32
davecheneymake fast-lxc the default, and we have to turn it off on trusty/ppc64el or upgrade the kernel05:33
jamdavecheney: note that this isn't about the local provider, this is turning it on everywhere that you use containers05:33
wallyworld_correct. we added it everywhere for the maas guys for ods05:34
davecheneysure05:34
davecheneybut i think what i said still applies05:34
davecheneyppc is the outlier05:34
davecheneynobody sohuld have to suffer becuase it's lame05:34
wallyworld_i still can't see why precise would be different05:35
davecheneywallyworld_: 12.04 <- lxc is broken05:35
wallyworld_but if it is, we can detect that and not use it on precise05:35
wallyworld_lxc in general?05:36
davecheneybut that is fine because we have continually said that use juju with the local provider (insert whatever name lxc has)05:36
davecheneyis *not* supported on precise05:36
davecheneythere is some hand waving and floor peering about applying a backport kernel05:36
wallyworld_ok, no we don't need to check for precise then, just ppc05:36
wallyworld_if they want to try lxc on precise, it's at their own risk05:36
davecheneycorrect05:37
wallyworld_since it's considered broken05:37
davecheneyso ppc is the only outlier05:37
wallyworld_great, ok, that makes it easier05:37
jamwallyworld_: is it possible for you guys to size your cards?05:48
jamin kanban?05:48
jamthat gives us a way to track average velocity for future planning.05:48
wallyworld_sure, just gathering a list first05:48
jamnp05:48
jamI wasn't sure what stage you were at05:48
jamthanks for doing the lanes05:48
jamwe probably need to clear out the "TODO" lane05:48
wallyworld_sure. i'm hoping we can get all the ones i've added done in 2 weeks05:49
wallyworld_we need to clear out a bunch of stuff05:49
jamget the items moved into the team lanes, and then close/move TODO into backlog or somesuch05:49
wallyworld_and also clear out general05:49
jamwallyworld_: I mean all of the TODO, which is general/HA/MaaS etc05:50
wallyworld_so what's in the todo/general vertical block becomes feature related lanes05:50
wallyworld_ah ok05:50
wallyworld_i was thinking the feature lanes could still be useful05:50
jamwallyworld_: perhaps, but I think the feature-related is really just the teams05:52
jammaybe not05:52
wallyworld_a team could be on more than one feature concurrently05:53
wallyworld_and folks outside core may want to look to see what's being done for feature A vs B05:53
wallyworld_just athought05:53
=== vladk|offline is now known as vladk
vladkjam: morning06:00
vladkjam: hangout time06:00
jamvladk: yep06:01
jamwallyworld_: you merged 1.18 into trunk, but it didn't seem to include my changes to testing/mgo.go07:24
jamis there a reason?i07:24
jamwallyworld_: from what I can tell you explicitly reverted everything outside of cmd/807:25
wallyworld_jam: that was a mistake, sorry07:25
wallyworld_there were so many conflicts07:25
jamwallyworld_: k. I just noticed the test suite is just broken for me, and I thought I had fixed that07:26
jamI was trying to merge trunk to get the fix07:26
jambut… still broken :)07:26
wallyworld_i'll fix07:26
jamwallyworld_: so when doing patches with big conflicts, you can go back to stepping the merges07:26
jamso you know you can reject everything in "Backport fix for …" but you probably don't want to reject one "Init EnvCommandBase.EnvNam…" etc.07:27
wallyworld_yeah07:27
fwereadejam, wallyworld_: oops, sorry -- I knew I recognised everything when I LGTMed, didn't spot there were some things missing that I *should* have recognised ;)07:28
jamfwereade: fwiw, it did end up conflicting on trunk because store/ in trunk changed how they were doing the test suite07:29
wallyworld_nah, it was my fault, the number of conflicts confused me07:29
jamwallyworld_: I didn't realize it was going to conflict, so I can pick it up07:29
wallyworld_ok, if that works07:29
jamwallyworld_: otherwise you should be able to just "bzr merge -c 2248.26.15 ." on trunk, but mgo_test.go is gone now07:29
jamwallyworld_: I'll fix it up for trunk07:30
wallyworld_ok, thank you07:30
=== vladk is now known as vladk|offline
=== vladk|offline is now known as vladk
=== vladk is now known as vladk|offline
jamwallyworld_: fwereade: https://codereview.appspot.com/100380044/08:05
wallyworld_looking08:05
wallyworld_looks good, thanks for fixing my snafu08:07
jamwallyworld_: np, it had to be fixed different in trunk anyway, so it wasn't like a simple clean "merge up"08:09
jamI didn't realize the mongo infrastructure had changed this much, or I would have done 2 branches to start with.08:09
voidspacemorning all08:21
fwereadevoidspace, heyhey08:21
=== vladk|offline is now known as vladk
TheMuemorning08:28
=== ev_ is now known as ev
jammorning TheMue08:36
TheMuejam: heya08:36
jamTheMue: so in Las Vegas it sounded like you were coming back to juju-core, has that started?08:37
TheMuejam: I’ll have to talk to Curtis, but I understood so too.08:37
TheMuejam: How has Vegas been? I’ve seen that one result is the discovered urgency for dev docs. That’s a good news. :)08:39
TheMuejam: And what is the status about moving to GitHub? I read about this discussion some time ago.08:42
jamTheMue: vegas was pretty good. Good conversations, a giant document of possible work items with pretty good granularity08:43
jamhttps://docs.google.com/a/canonical.com/document/d/1XZN2Wnqlag9je73mGqk-Qs9tx1gvOH0-wxMwrlDrQU4/edit#08:44
jamI think it is about 90 pages long08:44
jam:)08:44
jamas for Github, Ian and Curtis appear to be working together to do a conversion, and get a Lander and CI, etc up and running.08:45
TheMuejam: 90 pages??? OK, I have to read a lot. :D08:46
jamnot all of it is going to be done, and the work is going to be divided across 5 teams, but it all got put together in one big doc08:47
TheMuejam: Moving to GH sounds good to me. I moved my private projects too after I learned a bit more about it when working for docs (hosted in GH too).08:47
TheMuejam: 5 teams now? Wow.08:48
* TheMue thinks back of the start with one little team.08:48
voidspacehas anyone else seen go install not replacing binaries?09:19
davecheneyvoidspace: only if there is nothing to built09:20
davecheneyie, they are up to date09:20
davecheneyvoidspace: have you been bitten by /usr/bin/juju ?09:20
davecheneyjuju-local, which is required to run the tests installs a version of juju higher up your path09:21
voidspacedavecheney: no, but I've been switching branches and rebuilding a lot to test some changes09:21
voidspacedavecheney: and wwitzel3 thinks he has seen cases where "go install ./..." doesn't replace old binaries with the new ones09:21
davecheneyalways use -v09:21
voidspacedavecheney: which would screw all the results of my testing09:21
davecheneyalias gb='go install -v'09:21
voidspacedavecheney: ah, which will tell me when it's replacing binaries09:21
davecheneythat is what I use09:21
voidspaceok09:21
voidspacegood idea, thanks09:21
davecheneythe only case it would not replace the final executable is where it thought there was no work to do09:22
voidspaceright, that's what it *should* do :-)09:22
davecheneyvoidspace: go install -x will show the commands being run09:22
davecheneyyou can start debugging it there09:22
davecheneyvoidspace: one thing which might throw it off is if you have a 'creative' GOPATH09:24
davecheneythe best advice isjust to export GOPATH=$HOME09:24
davecheneyor GOPATH=$HOME/code09:24
voidspacedavecheney: my GOPATH is highly uncreative09:24
voidspaceyeah, it's a fixed location09:24
davecheneyvoidspace: in that case I cannot explain why you are having issues09:24
davecheneyuse -v or -x09:24
davecheneyso you have some details we can dig through09:24
voidspacedavecheney: I was just worried by Wayne - I don't *think* I've seen it, but he says he has - and I wondered if this was a general issue09:25
voidspacein which case I'd need to always delete binaries when I build09:25
voidspaceI have a more juju specific question09:25
voidspaceon a state server I need to get the addresses of all the *other* api servers (not including itself)09:25
voidspacethere is agentConfig.APIAddresses() which gets all addresses09:26
voidspacehow do I determine the address of the state server this is being run on to remove it?09:26
voidspaceinside cmd/jujud/agent.go (specifically inside newRsyslogConfigWorker)09:27
davecheneyfunc (st *State) DeployerConnectionInfo() (*DeployerConnectionValues, error)09:27
davecheneystate has this odd method09:27
davecheneywhich returns an object which has a list of api and state servers09:27
davecheneyapart from that09:27
davecheneynfi09:27
voidspacea list of *all* api and state servers?09:27
davecheneytype DeployerConnectionValues struct { StateAddresses []string APIAddresses   []string09:28
davecheney}09:28
davecheneyapparently09:28
davecheneynever used it myself09:28
voidspacedavecheney: right, I have *that* information - I want just the current one09:28
voidspace(to remove it from the list)09:28
voidspaceI guess I have to see how that information is populated, and where the information comes from09:28
davecheneyhmm, there is this one09:28
voidspaceeach api server must publish this information09:28
davecheneyfunc (st *State) APIHostPorts() ([][]instance.HostPort, error) APIHostPorts returns the API addresses as set by SetAPIHostPorts.09:28
voidspaceagain, that's all of them09:29
davecheneyyeah09:29
davecheneylooks like that information isn't accessible09:29
voidspacedavecheney: I'll dig into it - thanks though09:29
davecheneyit's just regurgitating what is in mongo09:29
voidspaceright09:29
voidspaceso I need to find where that information is published into mongo09:29
voidspacesounds like a job requiring more coffee :-)09:30
jamvoidspace: there is probably something like Machine.PublicAddress (es?)09:40
jambut yes, what you want is something like APIHostPorts but for only your agent09:40
jampotentially you only want private addresses which I think there is Machine.PrivateAddresses09:41
jamthough I don't know what our exact story is for rsyslog and manually provisioned machines09:41
jamas they need to contact the API server on the Public ports09:41
jamnatefinch just did a patch so that they will try to connect to API servers on both addresses in case they cannot connect privately09:42
jamthough I think I convinced him it was worth changing how we cache addresses so that we can do stuff like "try the private addresses first"09:42
axwfwereade: we can take git out of the packages installed during cloud-init now, right?09:45
voidspacejam: right, interesting10:00
voidspacejam: however - I remember another conversation with you10:00
voidspacejam: I can *not* filter out the machine's own address and instead of logging local messages on the state server10:01
voidspacejam: rely on it broadcasting messages to all state servers, and logging its own messages "remotely" as well10:01
voidspacejam: that way is slightly inefficient10:01
voidspacejam: but I don't need to filter the addresses10:02
voidspacejam: and will do for a first cut10:02
voidspacejam: as it makes the state server config slightly simpler too10:02
jamvoidspace: sounds ~ok to me.10:02
jamif we are intending to change logging completely anyway10:02
voidspaceright10:02
jamI wouldn't spend huge amounts of time figuring out all of this, though some of it might still be useful for future work10:02
voidspacewe *finally* have the new ryslog config working10:02
voidspace(units broadcasting to all state servers)10:03
voidspacethat took a *long* time to get right10:03
voidspacedue mainly to horrible documentation and no error messages10:03
voidspaceso this shouldn't take anything like as long10:03
voidspace(i.e. today hopefully)10:03
axwvoidspace: aha, you've had the pleasure of reading rsyslog docs I see10:08
axwtook ages to get the original stuff working right too :)10:08
axwsuch cryptic configuration language10:08
voidspaceaxw: yeah, great fun. Not.10:17
jamaxw: voidspace I think the lack of messages like "unable to forward messages to XXXXX" that would give you a bit more of a hint as to why the syntax wasn't doing what you thought it was10:22
jambut the fact that the configuration file is actually a mini program10:22
jambut without all the nice things like visible control flow10:22
voidspaceyep10:22
voidspacethe parser must be a beast, especially for the legacy format rulesets10:23
voidspacethere's no documentation on how the parser decides if a directive is global or within the ruleset definition10:23
voidspaceor even how you terminate a ruleset definition10:23
voidspacethe new syntax is better10:23
voidspaceI'm giving a bash with the legacy format - if that doesn't work I'll switch to the new syntax and the state server logging broadcasting will be trusty only10:24
voidspaceright, now to test this with canonistack10:27
jamperrito666: sorry I missed our 1:1, and while I realize you're on Nate's team, I was at least planning on saying goodbye.10:36
jamfwereade: if you're around, care to join the standup chat early, there is something I'd like to bounce off of you10:39
voidspaceit's always slightly disconcerting to log into a juju machine and see "System restart required"10:47
voidspaceI assume that after the "apt upgrade" we don't restart10:48
voidspaceso some security upgrades aren't *actually* applied10:48
jamvoidspace: I thought we had a bug open about possibly restarting machines when we see that apt wants a restart, but I can't find it in my 30s googling10:49
voidspacejam: shall I create one?10:50
jamvoidspace: certainly10:51
voidspaceyay, I'm seeing logging from state server machine-1 on machine-011:03
voidspaceso the state server logging broadcasting is working11:03
voidspaceso how exactly to write a useful test for this...11:03
fwereadejam, sorry, I was having lunch and paying no attention to the time -- are you all done?11:03
fwereadejam, I'm here for idea-bouncing regardless11:04
jamnot yet, we're now in the "juju-sapphire" hangout11:04
perrito666good morning11:19
natefinchmorning perrito666 (and everyone else... I've been lurking for a while)11:20
voidspaceperrito666: morning11:25
voidspacenatefinch: morning11:25
perrito666natefinch: I didnt, I tried that wwitzel3 trick to sleep a bit more for one day11:25
natefinchperrito666: haha... one of my cats woke me up just at the time I used to get up, and then I was screwed.11:26
wwitzel3hello all11:31
natefinchmorning wwitzel311:31
voidspacewwitzel3: morning11:34
voidspacewwitzel3: so the logging config changes you made Friday seem to work for state servers too11:34
voidspacewwitzel3: I have state servers broadcasting their logging to all the other state servers11:34
voidspacewwitzel3: just fixing up tests11:34
voidspacewwitzel3: I just put the broadcast loop into the local ruleset and it worked without changes11:35
voidspacewwitzel3: which was nice :-)11:35
wwitzel3voidspace: nice :)11:36
vladknatefinch: in ./cmd/jujud/machine.go all workers are started with startWorkerAfterUpgrade expect apiserver and peergrouper that are started with runner.StartWorker.12:03
vladknatefinch: is any reason to start peergrouper before upgrade completes?12:03
jamnatefinch: did you still want to do our 1:1 today?12:04
natefinchvladk: I don't believe so.  Seems like it would be good for it to wait until we're done upgrading12:04
natefinchjam: oh yeah, sorry, lost track of time.  Sure, give me a minute to change a diaper.12:04
voidspacevladk: my daughter loves the sochi teddy bear - thank you12:05
jamnatefinch: then I'll just get my son set up quickly12:05
jamback, I'm in the hangout12:06
vladkvoidspace: glad to hear it12:11
voidspaceright, lunch12:19
_benoit_Hmmm the ec2 provider does not work at all without S312:26
_benoit_This will give me a good excuse to learn how go interfaces work :)12:27
perrito666btw, now that there are more of us back, could anyone else ptal? https://codereview.appspot.com/94330043/12:51
perrito666vladk: I answered your comments12:51
=== vladk is now known as vladk|offline
=== vladk|offline is now known as vladk
jamperrito666: reviewed12:59
perrito666jam: tx13:00
_benoit_Could the Ssh Storage worker be used to replace S3 in to support the outscale EC2 compatible provider ?13:21
_benoit_I mean does it have some serious issues preventing to use it to do this ?13:22
fwereade_benoit_, the ssh storage provider is kinda broken, because it won't work in a HA context -- we're going to be moving environment storage intogridfs within mongo13:33
fwereade_benoit_, not sure offhand exactly when it's scheduled13:33
fwereadeif anyone's watching irc, I'd appreciate a review of https://code.launchpad.net/~fwereade/juju-core/arch-docs-1/+merge/219190 -- it's just a beginning, but I wanted to get something in13:34
_benoit_fwereade: what is the smothest option right now configuration wize ?13:34
_benoit_fwereade: the http storage seem to require a lot of intervention from the user13:34
=== Guest53776 is now known as bodie_
_benoit_fwereade: I would like to replace S3 without asking the user to enter a configuration for storage13:36
fwereade_benoit_, sorry, had to dash out to collect laura13:45
fwereade_benoit_, what exactly is the use case? ec2-like, but not-really-ec2, environments?13:46
_benoit_fwereade: mostly (98%) ec2 without S313:49
_benoit_fwereade: I am looking for a way to have a smooth integration (not the manual provider)13:49
_benoit_fwereade: https://wiki.outscale.net/display/DOCU/AWS+Compatibility+Matrix13:50
_benoit_I already patches goamz to add the provider regions13:50
_benoit_s/patches/patched:13:50
fwereade_benoit_, I see, cool13:51
fwereade_benoit_, well, if you don't mind that HA won't be possible in the short term, I guess ssh storage might be viable13:51
_benoit_ok13:52
voidspaceanyone else have this test failure on trunk?14:02
voidspacevalidatetoolsmetadata_test.go:123: ValidateToolsMetadataSuite.TestEc2LocalMetadataUsingIncompleteEnvironment14:02
natefinchwwitzel3: standup?14:04
wwitzel3natefinch: sorry off in space14:07
wwitzel3coming14:07
wwitzel3natefinch, voidspace: https://codereview.appspot.com/96190043/14:28
bacjuju help scp shows using the -r option.  when i try to use it i get an error saying "error: flag provided but not defined: -r"15:10
bacsinzui: have you seen ^^^15:14
sinzuibac: yes15:15
sinzuiI think juju ssh has mangled ssh and scp command line15:15
bacsinzui: is there a work-around?15:15
sinzuibac, last week I used scp with -i15:15
sinzuibac, we always know the key that was used, and we can always ssh to the public address15:16
sinzuiof the unit15:16
bacsinzui: there is a bug filed?15:22
natefinchwwitzel3: LGTM'd15:24
sinzuibac, there isn't a bug.15:29
bacsinzui: i've filed bug 131871115:36
_mup_Bug #1318711: juju scp reports -r as an invalid option <juju-core:New> <https://launchpad.net/bugs/1318711>15:36
sinzuiI see15:36
sinzuibac, which version of juju?15:37
bac1.19.215:38
sinzuiexcellent, thank you bac15:38
bacsinzui: i'll add that15:38
sinzuibac, I just did thank you15:38
sinzuihazmat`, did you provide wallyworld_ with a list of bug that we want to fix to improve juju's reliability and and usability?15:46
hazmat`sinzui, i did15:46
hazmat`spreadsheet form15:46
hazmat`sinzui, the three bug tags were usability, observability, reliability afaicr15:47
sinzuihazmat`, may I see it. I want to ensure the bugs are kept high and on our list to fix soon15:47
hazmat`sinzui, yup.. just looking up the url.. ods network is a bit spotty15:48
voidspacedoes lbox propose work if there's a pre-requisite branch?16:27
voidspaceor is the fact that it's *not* working for me due to some other reason...16:28
perrito666voidspace: did you tell lbox that there is such pre requisite?16:29
perrito666--req iirc16:29
voidspaceperrito666: hm... no, but it's set in launchpad16:29
voidspaceI did not know I needed to16:29
voidspacewhen I run lbox propose it just says:16:29
perrito666not to sound like fwereade but "its on the docs"16:30
voidspaceBranches: lp:~mfoord/juju-core/ha-rsyslog => lp:juju-core16:30
voidspaceperrito666: hah, sure - along with a million other things you don't need to know until you do16:30
perrito666lol16:30
voidspaceperrito666: which docs specifically?16:30
voidspaceit's not in CONTRIBUTING16:31
voidspaceah, I stand corrected16:31
voidspaceit is16:31
voidspacelet me try that16:31
voidspaceperrito666: thanks16:31
perrito666CONTRIBUTING16:31
perrito666tx16:31
perrito666heh your grep is faster than mine16:31
voidspacehmm... nope - still does the same no-op16:32
stokachusinzui: did juju 1.18.3 get uploaded to proposed in trusty yet?16:39
sinzuistokachu, I have not seen it16:51
stokachusinzui: ok do i need to file a proper sru for it?16:52
sinzuithank you stokachu16:52
stokachusinzui: np i didnt know if juju was bound by same sru process16:53
sinzuistokachu, yes, the issue is a bit ambiguous. we are working on an MRE exception for the "juju" command to ensure trusty will always have the latest command-line client16:54
stokachusinzui: ok cool, ill create the necessary diffs and get the sru process rolling for those bugs you listed in the release note16:55
stokachuill only do trusty though since precise only has 1.16 in the archive16:55
voidspaceok, so deleting the existing merge proposal allowed lbox to work16:57
voidspaceI don't think lbox can handle an existing merge proposal with a pre-requisite branch already set16:57
stokachuwallyworld_: this fast clone is soooooo awesome16:57
perrito666voidspace: there are lots of things lbox cant handle :) yet i like it16:58
stokachuopenstack deployed (not including initial cloud dl and import of glance iamges) in 3 minutes16:58
voidspacegoing to krav maga16:58
voidspaceback online later16:58
stokachuvoidspace: gl dont kill anyone with single strike16:58
stokachu;p16:59
voidspacestokachu: hah, I spend more time trying to avoid being killed...16:59
voidspacefirst one for four weeks16:59
voidspacebye all16:59
stokachucya :)16:59
=== vladk is now known as vladk|offline
natefinchalexisb: sorry, that took a lot longer than I expected.  $800 down and now we have AC again.20:21
alexisbthe $800 sucks20:21
alexisbbut yay for AC!20:22
alexisbnatefinch, do you still have time to meet?20:22
alexisbif not I can reschedule for tomorrow20:22
wwitzel3EOD for me, see everyone tomorrow20:22
alexisbbye wwitzel320:22
natefinchalexisb: yeah, I can meet more now.  Honestly, $800 sucks, but I'd pay $800 every year for central A/C if I really had to.20:23
alexisbok natefinch, I will rejoin the hangout20:24
perrito666mongo is really anoying regarding errors20:40
waiganifwereade: you about?20:47
fwereadewaigani, yeah, with you in 520:49
thumperhmm... need socks20:50
natefinchthumper: pretty sure socks are optional in the home office.20:54
waiganinatefinch: not in dunedin!20:57
thumpernatefinch: a bit too cold to work sockless right now20:58
natefinchhmm good point, you guys are going into winter20:59
natefinchthumper: there's a revision on trunk, 2656, that I want to update my branch to.... bzr update -r --revision=2656 doesn't work.  How do I do it?21:00
thumpernatefinch: what do you mean by update to?21:00
natefinch(bzr says the revision doesn't exist)21:00
thumperyou can change the tree21:00
thumperpull first21:00
thumperthen either revert the tree to the revision21:00
thumperor pull that revision21:01
thumperyou can branch from a particular revision21:01
natefinchthumper: not sure what the bzr word for it is.  I'm on HEAD of trunk, I need to go back in time to 2656, without making a new branch21:01
thumpernatefinch: for what purpose?21:02
bacping jamespage21:02
natefinchthumper: diffing versus the branch the windows guys worked on21:02
thumpernatefinch: if you just want to look at the files at that revision21:02
thumperyou can go "bzr revert -r 2656"21:02
menn0natefinch: bzr update -r 265621:03
thumperthat will make the working tree reset to that revision I think21:03
menn0natefinch: using update will get you the same thing but bzr will warn you that your working copy is out of date. bzr update without a rev gets you back.21:04
natefinchahh, ok, so --revisionm was a red herring21:04
natefinchI see what I did, -r and --revision were the same thing, so I confused it21:05
natefinchfunny21:05
natefinchok, I gotta run, thanks for the help21:07
menn0anyway... morning all :)21:08
thumpero/ menn021:10
menn0  \o thumper21:13
* thumper grunts21:15
thumperwhy is reversing a slice not a one liner?21:15
menn0thumper: do you mind if I reorg our identity document a little?21:17
menn0thumper: sort.Sort(sort.Reverse(sort.IntSlice(keys))) apparently21:17
thumpermenn0: not at all21:17
thumpermenn0: that doesn't work21:17
thumperI don't want it sorted21:17
thumperI just want it reversed21:17
menn0thumper: ah of course21:17
thumperthe Reverse function doesn't actually reverse it21:18
thumperit just changes the meaning of 'less'21:18
menn0thumper: yep. my brain is still waking up.21:19
menn0thumper: re the doc. I promise I won't delete anything just shuffle things around.21:19
thumperok21:20
fwereadefwiw I will probably land this anyway first thing tomorrow, but I would appreciate eyeballs on https://codereview.appspot.com/91390043/ regardless, because I probably get *something* hilariously wrong21:29
fwereade(just docs, I'm not going to *break* anything with wanton landing, except possibly people's brains)21:29
waiganifwereade: yay I've been wanting something like this :D21:32
fwereadewaigani, it's not complete by any means, but it's a start :)21:33
* perrito666 obtains a succesful restore of HA machine and with it EODS21:39
menn0thumper: doc reorg done. I'm still going through the source doc and adding more notes about stuff nobody has commented on yet.21:43
thumpercool21:44
thumperoh ffs21:53
thumperwhy oh why does go make it so hard to test for instance equality?21:54
thumperI just want to know if these two errors are the same error21:54
thumperand I can't21:54
thumper(for one of the tests)21:54
thumperbecause of incomparable error types21:54
thumperall I want to know is if they are the same, not equal21:54
voidspacecan't you get an unsafe pointer from them and compare?21:57
* voidspace not entirely serious21:57
voidspacemorning southern folk21:57
rick_h_southern folk, haven't run into that one21:57
menn0voidspace: hi!21:57
voidspaceo/21:58
voidspacehi rick_h_21:58
rick_h_voidspace: hey, jealous of your pics and travels. The canyon heli tour is on my todo list.21:59
voidspacerick_h_: yeah, it was pretty awesome21:59
voidspacejust being at the canyon is awesome. It's as spectacular as you would expect.22:00
rick_h_yea, I'm trying to talk my wife into renting an airstream and doing a tour around all the parks around there.22:00
rick_h_https://airstream2go.com/22:01
jcw4rick_h_ oooh... always wanted one of those22:02
rick_h_jcw4: yea, working on getting her used to that idea for our next camper22:03
jcw4:)22:03
thumpero/ voidspace22:05
thumpervoidspace: I have been thinking of doing exactly that22:05
voidspacethumper: hi22:05
voidspaceoh dear22:05
thumperit seems like a complete deficiency in the language to not allow that22:05
voidspacewrap it in a helper and hide the shame22:05
voidspaceyeah, seems pretty basic22:06
voidspacebut then when you have pass by value the concept of "identity" is less useful22:06
jamespagebac, pong22:18
thumpercmars: oh hai22:36
thumpercmars: we need to make sure we have regular calls22:37
cmarsthumper, hi22:58
thumpercmars: how's things?22:58
cmarsthumper, not too bad22:58
thumpercmars: are you up for a catch up call tomorrow?22:59
thumpersay 21:00 UTC?22:59
cmarsthumper, certainly. that's 16:00 here i think. definitely wfm22:59
thumpercmars: would that work weekly for you?22:59
cmarsthumper, yep, sounds good22:59
thumperok, I'll book it in23:00
thumpercmars: I want to make sure we keep in sync with the identity work23:00
waiganidavecheney: https://plus.google.com/hangouts/_/canonical.com/onyx-standup23:05
waiganicmars: https://plus.google.com/hangouts/_/canonical.com/onyx-standup23:05
thumperdavecheney: I lost that last play link when I closed the hangout23:40
thumperdavecheney: is there a real golang reason why I can't test for interface identity across (for example errors of uncomparable types) ?23:41
thumperhmm... that didn't read very well23:41
thumperI have two errors, I just want to see if they are the same error (not equal, but actually the same interface)23:42
thumpereffectively don't deep compare the implementation of the interface, just compare the interface tuple23:42
davecheneythumper: so you want to say 'are these two errors the same type' ?23:54
davecheneyuse reflection23:54
davecheney4 lines23:54
davecheneyit gets easier if you don't want to compare every possible error implementation eith every other error implmentation23:55
davecheneyie, is this error and instance of the errgo wrapper and that one not23:55
thumperI just care about the implementation pointers23:56
thumper(and the type I guess)23:56
davecheneyand only the implementation pointers ?23:56
thumperthat is sufficient23:56
* thumper heads to the gym23:56
davecheneythumper: http://play.golang.org/p/F2oLtm3jd723:58
davecheney^ a little surprising23:58
davecheneybut you just figured out how io.EOF is implemented23:58
davecheney/s/you/i23:58
davecheneyhmm23:59

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