/srv/irclogs.ubuntu.com/2014/03/24/#juju-dev.txt

davecheneyanyone here want to help debgging a manual provider issue ?00:54
davecheneyhttp://paste.ubuntu.com/7144037/00:54
davecheneywedged here00:54
davecheneyhmm, wedged waiting on mongodb00:58
davecheneybut mongodb isn't running00:58
davecheney....00:58
davecheneyjuju-db start/running, process 415600:58
davecheney2014-03-24 00:52:01 DEBUG juju.environs.bootstrap state.go:73 loading "provider-state" from "file:///var/lib/juju/storage/provider-state"00:58
davecheney2014-03-24 00:52:01 DEBUG juju.agent agent.go:318 read agent config, format "1.18"00:58
davecheney2014-03-24 00:52:01 DEBUG juju.agent bootstrap.go:63 initializing address [localhost:37017]00:59
davecheney2014-03-24 00:52:01 INFO juju.state open.go:79 opening state; mongo addresses: ["localhost:37017"]; entity ""00:59
davecheney2014-03-24 00:52:01 DEBUG juju.state open.go:99 connection failed, will retry: dial tcp 127.0.0.1:37017: connection refused00:59
davecheneythe first line is a lie00:59
davecheneyroot@winton-06:/etc/init# status juju-db01:03
davecheneyjuju-db stop/waiting01:03
davecheneywhat ?01:03
davecheneywhy did it stop ?01:03
axwdavecheney: is juju-mongodb installed?01:05
davecheneyyes it is01:05
davecheneyroot@winton-06:/etc/init# stat /usr/lib/juju/bin/mongod File: ‘/usr/lib/juju/bin/mongod’01:05
* davecheney goes spelunking for log files01:06
davecheney2014-03-24 01:02:01 DEBUG juju.utils.ssh ssh_openssh.go:147 running: ssh -o "StrictHostKeyChecking no" -o "PasswordAuthentication no" -i "/home/ubuntu/.juju/ssh/juju_id_rsa" "ubuntu@10.245.67.6" 'sudo pkill -6 jujud'01:07
davecheney^ why sudo pkill01:07
davecheney-6 is an odd signal01:07
davecheneysudo killall jujud ?01:07
davecheneyhttps://bugs.launchpad.net/juju-core/+bug/129648501:14
_mup_Bug #1296485: manual provider fails to remove itself if bootstrapping fails <ppc64el> <juju-core:Triaged> <https://launchpad.net/bugs/1296485>01:14
davecheneyok, here is theprobme01:16
davecheneyroot@winton-06:/etc/init# start juju-db01:17
davecheneyjuju-db start/running, process 466001:17
davecheneyroot@winton-06:/etc/init# status juju-db01:17
davecheneyjuju-db stop/waiting01:17
davecheneyjuju-db is shutting down01:17
axwdavecheney: should probably use killall, but we use a particular signal to tell the machine agent to uninstall itself01:18
davecheneyaxw: http://paste.ubuntu.com/7144083/01:18
davecheneyoh crap01:18
davecheneyroot@winton-06:/var/log/upstart# getconf PAGESIZE01:18
davecheney6553601:18
davecheneyFUCK01:18
axw:\01:19
axwis someone working on a patch to mongo?01:19
* davecheney looks01:20
davecheneyill go an ask in #ibm01:20
axwseems kinda important01:21
davecheneyno thumper ?01:21
* axw shrugs01:22
=== Guest84660 is now known as bodie_
wallyworldtim is away today - public holiday01:25
davecheney(╯°□°)╯︵ ┻━┻01:27
axwwallyworld: it'll be a lonely standup - got anything to talk about?01:31
wallyworldaxw: touch base on that upstart logging thing?01:32
axwwallyworld: sure01:32
axwwallyworld: I was just thinking we could bind mount /var/log/juju-<namespace> in the containers, and symlink the whole thing as ~/.juju/local/log. What do you think?02:09
* wallyworld thinks02:09
wallyworldi like that all the files or kept together that way02:10
axwmaybe I should check with thumper before making that change02:10
wallyworldit's not that big a change to implement02:10
axwyeah02:10
wallyworldi'd be inclided to do it02:10
wallyworldi think it makes sense02:11
axwI'll have a poke in a bit02:11
wallyworldi don't like how some files are symlinked and others aren't02:11
axwwallyworld: reviewed. sorry, you'll have a few files to merge02:15
axwmine just landed02:15
wallyworldnp at all02:15
wallyworldthanks for reviewing02:15
wallyworlddavecheney: hi, thanks for reviewing. that SSLHostnameVerification code is copied across from another package so it not new to this mp. it's a pattern people introduced to avoid passing true/false as params which give no indication as to what's happening02:57
davecheneywallyworld: fair enough02:57
davecheneyright, but that doesn't mean you need a new type02:57
davecheneyjust a well named constant02:57
wallyworldi think it was done to stop people passing in true/false02:57
davecheneyit doens't prevent that02:57
wallyworldie force them to use the const02:57
davecheneywon't work02:58
davecheneydoesn't work like that02:58
wallyworldi'm just guessing, i didn't write the code02:58
wallyworldmaybe it was done for clarity?02:58
davecheneysee previous comment about constant name02:58
davecheneyanyway02:58
davecheneyfeel free to ignore that suggestion02:58
davecheneyit was a minor nit02:58
davecheneythat change is a signficant improvement02:59
wallyworldnp, thanks, i'll read the comments and see if i can improve things02:59
wallyworldthe hostnameVerification variable name tries to hide the bool nature of the values and reinforce the use of the constants03:00
davecheneyyes, but it doens't work03:00
wallyworldit's meant as a visual aide to reading the code03:01
davecheneyfeel free to ignore that suggestion03:01
jam1axw: wallyworld: Is thumper still around?04:09
axwjam1: public holiday I'm told04:09
jam1axw: ok, thanks. we had a phone call scheduled, but I'm happy to go have breakfast instead. :)04:09
jam1I see the holiday on the calendar now.04:11
axwjam1: how do holidays end up on there?04:12
jam1axw: people add them04:12
axwok04:12
jam1This is the Juju team calendar, but it looks like you aren't set with edit rights04:12
jam1I'll fix that now04:12
axwjam1: thanks04:12
jam1axw: your @canonical account can add and modify things in the calendar now04:13
axwcool, ta04:13
axwjam1: wallyworld says you were able to reproduce #1295501. after breakfast, would you mind running bootstrap with strace so I can try to get to the bottom of it?04:15
_mup_Bug #1295501: local provider upstart script broken <local-provider> <logging> <juju-core:In Progress by wallyworld> <https://launchpad.net/bugs/1295501>04:15
axw(assuming you can still repro)04:15
jam1axw: I saw the file come up pointing at a /var/log that I didn't have.04:15
axwjam1: yeah, the file should be there - something must've gone wrong early on in bootstrap04:16
jam1axw: *bootstrap* seemed to work, but restart failed04:16
axwsilently wrong I mean04:16
jam1ah, but you think it "failed" but didn't actually stop04:16
axwyup04:16
davecheneyhttps://bugs.launchpad.net/juju-core/+bug/123552904:49
_mup_Bug #1235529: Local provider does not respect tools-url <bootstrap> <local-provider> <juju-core:Triaged> <https://launchpad.net/bugs/1235529>04:49
davecheneythis can be closed, right ?04:49
davecheneywe've changed that logic a bazillion times04:49
davecheneythat bug report can't be accurate anymore04:49
davecheneyubuntu@winton-02:~/src/launchpad.net/juju-core$ uname -a04:50
davecheneyLinux winton-02 3.13.0-8-generic #28-Ubuntu SMP Mon Feb 17 08:22:39 UTC 2014 ppc64le ppc64le ppc64le GNU/Linux04:50
davecheneycrap, ignore04:50
axwdavecheney: I don't think so, the local provider makes assumptions that it's bootstrapping tools with version.Current with buildnumber++, IIRC04:52
davecheneyfairy nuf04:53
axwjam: thanks for the email. copy&paste last line of my reply: "Looking at your log dirs, though, I see they both have the files (machine-0.log). So is the restart bug still occurring...?"05:53
jamI haven't seen that the restart problem is still happening, I got stuck noticing that it didn't clean up after itself, and that strace -f isn't working.05:54
jamaxw: I'll bootstrap and then poke machine-0 real quick05:56
axwthanks05:56
davecheneyhow the FUCK do I godeps06:06
davecheneyfucking every time have to fight with this tool06:07
davecheneywhy is the head of launchpad/golxc broken ?!?06:07
axwdavecheney: godeps -u dependencies.tsv06:08
axwI think it doesn't like it when repos are dirty though06:09
axwin that case I sometimes just bzr update -r <revno>06:09
jamaxw: manually killing jujud w/ SIGTERM, and using restart juju-agent-jameinel-local all seem to bring the agent back up.06:09
davecheneywhy should it care if the repo is dirty06:09
davecheneythe repo I care about isn't the one that is dirty06:10
axwjam: bugger, no repro then :/06:10
wallyworld_davecheney: welcome to golangs EXCELLENT dependency management :-(06:10
davecheneywallyworld_: i walked into that one didn't i06:10
wallyworld_yep :-)06:10
axwdavecheney: yeah I know, it would be nice if you could specify just one06:10
axwor cat them in or something06:10
axwwallyworld_ jam: in any case, this CL should make local provider bootstrap a little simpler and more robust: https://codereview.appspot.com/79310043/06:11
wallyworld_looking06:12
axwincidentally, I have a feeling this fixes #129477606:17
_mup_Bug #1294776: No debug-log with MAAS, 14.04 and juju-core 1.17.5 <logging> <regression> <juju-core:Triaged by wwitzel3> <https://launchpad.net/bugs/1294776>06:17
axwwallyworld_: I did at a test... was there something in particular you think was worth testing?06:25
=== vladk|offline is now known as vladk
wallyworld_axw: ah sorry, totally missed it.06:26
axwnps06:27
wallyworld_i could have sworn i looked at allt he files06:27
axwwallyworld_: good to land then?06:28
wallyworld_axw: sorry, went to pick up kid. yeah06:52
wallyworld_axw: one thing i didn't look at closely - will it handle existing local dirs with root ownership etc? or maybe we just require a destroy-env first?06:53
=== vladk is now known as vladk|offline
=== vladk|offline is now known as vladk
=== vladk is now known as vladk|offline
axwwallyworld_: there are some cases where it's necessary to destroy-env --force, but there's no change there07:17
axwcan't remove them if you're not root07:18
wallyworld_ok07:19
wallyworld_just thining out loud07:19
dimiternmorning jam, 1-1 ?07:31
=== vladk|offline is now known as vladk
vladkgood morning07:57
rogpeppemornin' all08:01
rogpeppevladk, dimitern, wallyworld_, axw, jam: hiya08:01
vladkrogpeppe: hello08:01
jam1morning vlad, rogpeppe08:02
axwrogpeppe: morning08:02
axwand vladk08:02
dimiternrogpeppe, hey08:12
dimiternmorning vladk08:13
vladkdimitern: morning08:13
wallyworld_rogpeppe: g'day08:22
rogpeppewallyworld_: yo!08:22
wallyworld_how are they hangin'?08:22
rogpeppei'm looking for a review of this, if anyone has a little time: https://codereview.appspot.com/78890043/08:22
* wallyworld_ is about to eat dinner sorry08:23
rogpeppewallyworld_: pretty good, except i'd worked out a great pair programming workflow with voidspace and now he's gone and got sick :-(08:24
wallyworld_you'll just have to do it with yourself08:24
* wallyworld_ has never tried pair programming over irc before08:24
rogpeppewallyworld_: google hangouts, each person with two screens, each sharing their own screen08:25
rogpeppewallyworld_: and each with their own branch; you constantly push to your own branch and merge the other person's08:25
rogpeppewallyworld_: makes it very easy to move concurrently on micro-tasks, which seemed to be working very well08:26
rogpeppeit wouldn't work well on every kind of task though08:27
dimiternrogpeppe, have you tried termbeamer or tmate for console sharing ?08:28
wallyworld_sounds like a good workflow for sure08:32
rogpeppedimitern: it wouldn't work great for me, as i don't use a terminal emulator08:38
dimiternrogpeppe, oh, acme, right08:38
rogpeppedimitern: or any other editor that's not rooted in the 1970s :-)08:39
dimiternrogpeppe, yeah :), well emacs is from 1970s too08:39
rogpeppedimitern: indeed so08:40
rogpeppedimitern: well, written in the '80s i think08:40
rogpeppedimitern: no, it seems it really did originate in the '70s08:42
dimiternrogpeppe, 1976 is the first version08:43
rogpeppedimitern: i'd appreciate it if you could review this (some new API additions and client refactoring): https://codereview.appspot.com/78890043/08:44
dimiternrogpeppe, sure, looking08:47
rogpeppedimitern: ta!08:48
rogpeppejam1: 1-1 ?09:00
jamrogpeppe: brt, switching machines, taking the dog outside09:01
rogpeppejam: k09:01
dimiternjam, how's the dog doing? :)09:03
jam1dimitern: pretty good, but I can't quite leave her by herself downstairs while I'm upstairs on the phone call09:04
dimitern:)09:05
jam1she knows to not pee inside, but I can't quite trust that I'll notice she needs to go out in time.09:07
dimiternrogpeppe, reviewed09:16
rogpeppedimitern: "Why using a const only here? I'd pick one - always use a const for a facade name or never."09:43
rogpeppedimitern: which places are you looking at that that aren't using a const for the facade name?09:44
dimiternrogpeppe, deployer i think09:44
rogpeppedimitern: actually, there are quite a few. i'd decided that i wasn't going to change all of them, because it makes the CL even bigger.09:45
rogpeppedimitern: i think some consolidation in a subsequent CL might be appropriate09:45
dimiternrogpeppe, i'm fine with that09:55
mgzmorning all09:59
dimiternmorning mgz10:00
wwitzel3hello10:00
jam1morning mgz10:02
dimiternmgz, you have LGTM on your networks-in-state branch10:02
mgzdimitern: ta10:02
mgzdimitern: I'll land that and do follow up fast with test and the function params change10:06
dimiternmgz, cheers!10:06
wwitzel3axw: nice job figuring out bug 1294776, I was able to reproduce it finally making that change to my environments.yaml10:20
_mup_Bug #1294776: No debug-log with MAAS, 14.04 and juju-core 1.17.5 <logging> <regression> <juju-core:Fix Committed by axwalk> <https://launchpad.net/bugs/1294776>10:20
axwwwitzel3: cool. sorry for stealing all your bugs - I just stumbled across this one10:26
wwitzel3axw: no it is great, I couldn't even reproduce it, didn't even think to edit the yaml file.10:26
fwereademgz, dimitern: were there more tests on that branch that I didn't see?10:33
dimiternfwereade, what tests?10:37
fwereadedimitern, unit tests for services without network docs10:37
dimiternfwereade, good point - mgz could add these in the follow-up changing AddService perhaps?10:38
dimiternmgz, you could do this by adding a service document in state directly and then fetch it with the state public methods10:38
fwereadedimitern, mgz: they're only necessary once there are clients that actually ask for the networks, I guess10:39
fwereadedimitern, mgz: they're not optional but I guess they don't have to land with that branch10:39
dimiternfwereade, +110:42
dimiternmgz, take a look at state/compat_test.go:TestEnvironAssertAlive for an example how to add something directly bypassing the public state methods10:43
dimiternmgz, fwereade, jam1, rogpeppe, wallyworld_, standup?10:45
dimiternvladk, ^^10:46
mgzfwereade: I am missing the test you said, but I do know how to write it and will include it in the followup10:46
fwereademgz, great, tyvm10:47
jam1fwereade: so landing that bit of code was blocking dimitern getting the next step done, so I said to go ahead and land it, and we can fix in post10:47
jam1fwereade: standup ?10:47
fwereadejam1, np, it's safe until that method has a client10:47
jam1:)10:47
fwereadejam1, hangouts are being difficult, will join as soon as I can10:48
jam1fwereade: np, we'll start without you10:48
=== dimitern is now known as dimitern|lunch
=== vladk is now known as vladk|lunch
axwfwereade: re "Taking DG into account when choosing pre-existing instances" - I wasn't planning on doing that until I get to ec2 AZs, is that okay?12:10
axwi.e. I'd implement Azure AS support first without it12:11
axwoh wait12:11
axwI think we did agree on using it for Azure too... it would just always say create me a new machine12:12
=== dimitern|lunch is now known as dimitern
axwrogpeppe: can you please take a quick look over https://codereview.appspot.com/75250043/patch/100001/110003 ?12:21
rogpeppeaxw: looking12:21
rogpeppeaxw: what's the ManagerMachines call actually used for?12:22
axwrogpeppe: for grouping manager machines into an availability set12:23
axwor spreading across availability zones12:23
rogpeppeaxw: manager instances. presumably?12:23
axwrogpeppe: we need to know where the existing ones12:23
axwrogpeppe: yep12:23
axwrogpeppe: this is to avoid AllMachines + IsManager for each, which isn't so scalable12:24
rogpeppeaxw: axw: so... i've recently added an APIHostPorts call, which gets information on the API addresses of the current state servers.12:25
rogpeppeaxw: but i've realised that12:26
rogpeppeaxw: i think i want the instance ids in there too12:26
rogpeppeaxw: so istm that perhaps that info is pretty much what you need12:26
rogpeppeaxw: and it would save you an O(n) scan through the machines12:26
axwrogpeppe: the code that uses ManagerMachines does different things depending on the input entity - so I really don't want to use another API12:27
axwrogpeppe: or is it another method on state?12:27
rogpeppeaxw: it's another method on state12:27
axwah ok12:27
rogpeppeaxw: but...12:27
rogpeppeaxw: yeah, i think it could work actually12:28
axwrogpeppe: that sounds fine, I will change over to using that before I land then12:29
axwrogpeppe: thanks12:29
axwrogpeppe: will you be adding instance IDs for HA stuff, or will I need to do that?12:30
rogpeppeaxw: how about we have a call that returns []struct {InstanceId instance.Id; APIHostPorts []instance.HostPort; StateHostPorts []instance.HostPort} ?12:30
rogpeppeaxw: hmm, there might be an issue actually12:30
rogpeppeaxw: because the address info isn't set immediately12:30
axwah, yeah, that would be a problem12:31
rogpeppeaxw: but presumably you need to know immediately what instance ids correspond to state servers12:31
axwrogpeppe: yep12:31
rogpeppeaxw: ok. but, i just realised - i think you can use the existing StateServerInfo call as is12:34
* axw looks12:34
=== vladk|lunch is now known as vladk
axwrogpeppe: heh yeah, looks like it. thanks :)12:36
axwbbl, I'll have abetter look later12:36
wwitzel3natefinch: you around?12:40
jam1wwitzel3: he just said he had to go deal with kids for a bit12:40
wwitzel3jam1: thanks12:41
fwereadeaxw, that's fine12:50
fwereadeaxw, I'm just obsessively reminding you that it's part of the stream of work :)12:50
axwrogpeppe: it does require additional state.Machine() calls for each... but I suppose that's not so bad, since there can only be 7 state servers max12:51
axwfwereade: cool12:51
rogpeppeaxw: i wonder if it might be nice to add a State.Machines(ids []string) ([]*Machine, error) call12:52
axwrogpeppe: maybe, though I'm less inclined to expand state now that I know the upper bound is so small13:06
rogpeppeaxw: yeah13:06
bodie_morning all13:07
rogpeppebodie_: hiya13:07
natefinchwwitzel3: back now13:30
wwitzel3natefinch: k13:31
dimiternrogpeppe, mgz, fwereade, a quick review? machine networks in state https://codereview.appspot.com/7925004413:48
rogpeppedimitern: in a little bit13:49
dimiternrogpeppe, ta13:49
natefinchdimitern, rogpeppe, fwereade: how do we log into the mongo db for localhost?  Is it special?  I swear just using the SSL key on AWS worked, but I can't get it to work on local13:56
fwereadedimitern, I'm having some difficulty13:56
mgzdimitern: looking13:56
fwereadedimitern, Machine.Networks calls readNetworks13:56
rogpeppenatefinch: there are two levels of authentication13:56
fwereadedimitern, which NotFounds if the doc is not there13:56
fwereadedimitern, right?13:56
fwereadedimitern, but the tests imply that doesn't happen13:57
rogpeppenatefinch: i'm not sure what you mean by the ssl key though13:57
fwereadedimitern, I am 100% for returning {no networks, no error} if the doc is not there13:57
fwereadedimitern, but I don't see where that's tested13:57
rogpeppepwd13:58
dimiternfwereade, right13:58
dimiternfwereade, the doc is always created13:58
mgzdimitern: I'm not sure about the past tense for those variable names13:58
dimiternfwereade, at machine creation time13:58
fwereadedimitern, in upgraded environments that didn't happen13:58
dimiternmgz, we should pick one and use it throughout13:58
fwereadedimitern, we need tests for that behaviour on machine and service13:58
mgzfwereade: yeah, that's on my plate13:58
dimiternfwereade, will add them, ok13:58
natefinchrogpeppe: I had thought the SSLPEMKeyFile was for authorization, but now that I reread it, I guess it's probably not13:59
fwereadedimitern, mgz: only one of you needs to do it -- would be ideal for dimitern to since he consolidates the fields13:59
mgzokay13:59
fwereadeer funcs13:59
fwereadedimitern, ok?13:59
dimiternfwereade, will do14:00
fwereadedimitern, <314:00
rogpeppedimitern: further state/api changes, as suggested by yourself: https://codereview.appspot.com/79470043/14:15
* rogpeppe needs some lunch14:15
rogpeppenatefinch: how are you getting on? shall i come and join you?14:29
mgzdoes he get to share your lunch? :)14:29
rogpeppemgz: nae chance14:30
rogpeppenot that he would like it anyway, i reckon14:30
natefinchrogpeppe: heh.  I like most things. What are you having?   Also, I think we're doing ok right now... it looks like part of the problem is that for replica sets you're supposed to use --keyfile instead of --auth for authentication (according to mongo's docs)14:32
rogpeppenatefinch: you have to use both14:32
dimiternrogpeppe, LGTM14:32
rogpeppedimitern: ta14:32
natefinchrogpeppe: you're welcome to join us.  The docs say --keyfile implies --auth, so I guess it is using both.14:33
natefinchrogpeppe: https://plus.google.com/hangouts/_/76cpjfeph92ud9qfcn92ant4io?hl=en14:33
rogpeppenatefinch: thickly sliced wholemeal bread, oliver oil, encona chilli sauce, extra mature cheddar, sliced tomatoes, as a sandwich14:34
natefinchrogpeppe: that sounds awesome14:34
=== hatch__ is now known as hatch
dimiternfwereade, mgz, next in line - networks in status (via api server) https://codereview.appspot.com/7640004915:42
dimiternfwereade, can you please expand on https://codereview.appspot.com/79250044/diff/1/state/networks.go#oldcode17 I'm not sure I follow you15:43
fwereadedimitern, so, those docs will be stored in mongo with {"networkstoinclude": [blah, blah], "networkstoexclude": [blah, blah]}15:46
fwereadedimitern, and all those field names will be in every document15:46
dimiternfwereade, so how about `bson:"included"` and `bson:"excluded"` ?15:46
mgzdimitern: will look15:47
fwereadedimitern, and while I wouldn't normally be one to jealously count every byte... -- yeah, that's perfect15:47
dimiternfwereade, ok, will do15:47
fwereadedimitern, I don't think we want those machine networks in status15:47
fwereadedimitern, similarly to how we don't have machine constraints in status15:48
fwereadedimitern, we'll want the networks the machine is actually on in reality, but we only know that post-provisioning15:48
fwereadedimitern, we do want included/excluded networks in *service* status though15:48
dimiternfwereade, well, the card was about machines15:49
fwereadedimitern, so, we do want to show machine networks15:49
fwereadedimitern, but not those networks15:49
dimiternfwereade, and we don't have a similar card for services15:49
dimiternfwereade, so what then?15:50
fwereadedimitern, those are the requested networks (like constraints) and we want to show the actual ones (like hardware characteristics)15:50
dimiternfwereade, a separate couple of fields on machineDoc the provisioner sets?15:50
fwereadedimitern, I think we decided it'd be the machiner facade15:50
fwereadedimitern, er *not* the machiner facade15:51
fwereadedimitern, but somemachine-agent-specific one15:51
fwereadedimitern, ie the machine agent comes up and asks the state server what networks it should set up15:51
fwereadedimitern, the state server asks the provider what vlans are there, and caches that info on the machine in state somehow15:51
fwereadedimitern, (*probably* another little document rather than tacking it onto the machine, usual forces still apply there)15:52
dimiternfwereade, ok then, so we need to talk about this some more tomorrow15:52
fwereadedimitern, the impact of that is (1) the machine agent sets up the desired networks15:52
dimiternfwereade, i'll finish the rest today15:52
fwereadedimitern, and (2) those networks are stored in state ready to be included in status15:52
fwereadedimitern, if you would do exactly that CL for the service status, though, I would be happy15:53
fwereadedimitern, if it needs a card, add one, sorry we missed it before15:53
hatchin juju-core trunk are there any known bugs with ec2 `juju add-machine --series saucy`?15:54
hatchit's been sitting as 'pending' in `juju status` for a good 15 minutes now15:54
dimiternfwereade, adding one now15:55
hatchwhich is long even for ec2 to provision a new instance :)15:55
fwereadehatch, not aware of any -- anything in machine-0.log?15:57
fwereadehatch, (does the machine have an instance id in status?)15:57
hatch  "2":15:58
hatch    instance-id: pending15:58
hatch    series: saucy15:58
hatchnope15:58
hatchjust checking the log now15:58
fwereadehatch, cheers15:58
hatchfwereade the messages from around when I provisioned the machine https://gist.github.com/hatched/3ef622f05e1a1b1249c415:59
fwereadehatch, and messages with "provisioner" in them?16:00
fwereadehatch, they might only trigger a bit after you added the machine16:00
fwereadehatch, (I only see 5 lines there)16:01
hatchupdated with a bunch of lines which were just dumped out16:02
hatchit dumped pages and pages of those errors16:03
hatchupdated again16:04
hatchthis is using fresh trunk16:04
hatcha fresh16:04
hatchon precise16:04
jamespagesinzui, got ack for 1.17.6 for upload - building now16:08
sinzuijamespage, thank you for warning16:09
rogpeppeis juju --upload-tools currently working?16:15
rogpeppei'm failing to bootstrap under ec2 using --upload-tools16:15
hatchrogpeppe I just did that using the most recent trunk16:16
hatchon ec216:16
rogpeppei'm seeing a "error: flag provided but not defined: --instance-id"16:16
rogpeppehatch: and it worked?16:16
hatchyeah - add-machine didn't16:17
hatchbut normal deploying did16:17
dimiternfwereade, updated https://codereview.appspot.com/79250044/ as suggested16:22
dimiternfwereade, in order to change https://codereview.appspot.com/76400049 to report service networks I need mgz's follow-up branch that changes AddService with networks16:23
* dimitern is done for today (but can appear again a bit later)16:26
=== teknico__ is now known as teknico
mgzdimitern: recorded my naming thingies on the review, fwereade may have thoughts on both my concerns16:35
mgzfwereade: I'm very tempted to have a shared juju struct which bundles the (includeNetworks, excludeNetworks []string) stuff for passing around, is there any reason to not do that? we'll need like.. three (one state, one api, one internal) which is a bit suck, but we actually do have three copies now16:40
fwereademgz, I am implacably opposed to having the same struct definitions for internal state documents as we use to express them across packages16:41
mgzfwereade: indeed. and we need clean ones for the api too.16:41
fwereademgz, agreed16:41
mgzthe question is, do we want another one for passing around.16:41
fwereademgz, same forces apply16:41
fwereademgz, let me reread, I may have misunderstood16:42
fwereademgz, for mild entertainment you can read http://thecodelesscode.com/case/97 while I do16:42
mgzI shall :)16:42
fwereademgz, yes, a struct instead of an implied tuple would make for a nicer state package interface16:43
fwereademgz, I think I'm +116:43
mgzfwereade: where should I place such a beast?16:43
fwereademgz, I think that would go in the state package16:43
fwereademgz, eg consider Jobs16:43
mgzwith horacio, we stuck one in... environ or somewhere, just because we needed it and could factor it out later16:44
fwereademgz, state methods take/return state.Jobs, api bits take/return params.Jobs16:44
fwereademgz, I think?16:44
mgzI think it would need to be outside state, in instance or something, if I want to reuse the same one for the StartInstanceParams member16:47
fwereademgz, that may well make more sense16:54
fwereademgz, putting the one that's passed around into the package it best fits with16:54
mgz(case 71 is still my favourite, I always forget one part of it or other)16:54
=== vladk is now known as vladk|offline
rogpeppefwereade: FWIW i'm not convinced that http://thecodelesscode.com/case/97 is directly relevant in our case. we're not talking about a coincidental similarity, but two things that really are the same. they *can* be different (and that's something that can change at a later date) but i'm not sure it's really helpful to say that they *must* always be different.17:29
rogpeppetaken to its logical extreme, we wouldn't export *any* types with marshalling methods from any package17:32
sinzuinatefinch, Do you have any insights with this bug? https://bugs.launchpad.net/juju-core/+bug/129687018:07
_mup_Bug #1296870: bootstrap exits before deploy is supported on local provider <bootstrap> <deploy> <local-provider> <regression> <juju-core:Triaged> <https://launchpad.net/bugs/1296870>18:07
sinzuiI probably need to talk with jam or thumper18:07
natefinchsinzui: yeah, I don't know about that one18:10
sinzuithank you for looking natefinch18:10
natefinchsinzui: sorry I couldn't be more help.  I know there's been some work going on with the local provider, axw might have some idea, too18:11
=== hatch__ is now known as hatch
natefinchmorning thumper19:40
thumpero/19:40
natefincho_19:40
natefinch(can't lift my arms today.... worked out for the first time in 20-ish months yesterday)19:41
=== Ursinha is now known as Ursinha-afk
thumperhaha19:50
=== Ursinha-afk is now known as Ursinha
thumperI'm covered in small stab wounds19:50
thumpercut the holly hedge yesterday19:50
natefinchthumper: ouch.  That's why I want to rip out our holly :)19:54
thumperI want to rip out ours too19:54
=== hatch__ is now known as hatch
thumpermramm: you around?21:06
mrammyep21:06
sinzuithumper, I would like your opinion of bug 129687021:20
thumpersinzui: otp, with you soonish21:20
rogpeppethumper: would you be around for a brief chat?21:35
rogpeppeunless... fwereade, are you around?21:36
wwitzel3rogpeppe: you still messing with the HA stuff?21:37
rogpeppewwitzel3: yeah21:37
rogpeppewwitzel3: i'm still in the hangout if you wanna join me https://plus.google.com/hangouts/_/76cpjfeph92ud9qfcn92ant4io?hl=en21:38
thumperrogpeppe: yeah, I'm here21:38
thumperwhazzup?21:38
rogpeppethumper: just realised something unfortunate, not sure what we should do about it21:38
thumpershall I join the hangout?21:38
rogpeppethumper: that seems to work22:16
thumperawesome22:16
fwereaderogpeppe, thumper: it's lovely to pop online to discover a serious problem has just been fixed22:17
* fwereade hopes he drew correct inferences from the above22:17
hazmatthumper, strange one.. juju run returned denied on ssh but juju ssh and normal ssh run fine.. any suggestions.. http://pastebin.ubuntu.com/7148527/22:17
* thumper looks22:18
rogpeppefwereade: not fixed, but we've at least worked out a reasonable place to insert the required horrible hack22:18
thumperhazmat: old environment?22:18
thumperhazmat: could per perm denied on the fslock file22:18
rogpeppefwereade: the problem being that currently no agents aren't added as users to the mongo admin database22:18
fwereaderogpeppe, it sounds like that still qualified as good news22:18
fwereaderogpeppe, they're all still added?22:18
rogpeppes/aren't/are/22:18
thumperhazmat: local provier?22:19
fwereaderogpeppe, oh -- none *are*?22:19
hazmatthumper, manual with lxc host saucy, trusty containers.. futex(0x17e4318, FUTEX_WAIT, 0, {1, 999996635}Permission denied (publickey). is what i see of out of strace22:19
rogpeppefwereade: no, they're not, but they need to be (well, state servers only, of course)22:19
fwereaderogpeppe, right, ok, understood22:19
rogpeppefwereade: because without admin access, you can't access the replica set info22:19
hazmatthumper, other machines in the env are fine..22:19
fwereaderogpeppe, yep, indeed22:20
thumperhazmat: just machine 0?22:20
thumperprobably is a fslock thing...22:20
hazmatthumper, which fslock ? yes just machine 0..22:20
thumperpermissions on /var/lib/juju/locs?22:20
thumperpermissions on /var/lib/juju/locks22:20
rogpeppefwereade: so the horrible hack is to temporarily run mongo in non-auth mode (listening on localhost only) so we can add the required admin access for machine-022:20
hazmatthumper, those look fine.. dir owned by ubuntu22:20
thumperhmm...22:20
rogpeppefwereade: there are alternatives, but they all seem worse to me22:21
thumperhazmat: yes, very weird...22:21
thumperhazmat: juju run uses the system identity22:21
thumperhazmat: so not a local ssh22:21
thumperperhaps something missing there...22:21
fwereaderogpeppe, yeah, sounds tolerable :)22:22
thumperhazmat: check the authorized keys for the ubuntu user on machine 022:22
hazmatthumper, bingo.. machine log 2014-03-24 22:22:44 ERROR juju runner.go:220 worker: exited "authenticationworker": adding current Juju keys to ssh authorised keys: cannot add ssh key without comment22:23
hazmatmanually added the juju_home/ssh client key.. and removed the key that was causing issue (one with no comment), and it works22:24
thumperhazmat: is it a bug of ours?22:31
waigani_InstanceBroker.StopInstances appears to stop instances, not destroy them. InstanceBroker.StartInstances appears to create instances, not start stopped ones. Is this correct?22:39
hazmatthumper, not sure22:40
thumperwaigani_: not quite22:41
thumperwaigani_: now I remember why we had the methods the same way22:43
thumperwaigani_: the instance broker interface defines talking to cloud instances22:43
thumperstart instance -> create and start22:43
thumperstop isntance -> stop and destroy22:43
thumpervery much like what the container manager does22:43
waigani_and now we want to split that up into four methods22:43
thumperwaigani_: not the InstanceBroker no22:44
thumperjust the container manager22:44
thumperInstanceBroker is unchanged22:44
thumperjust the container manager changes here22:44
waigani_okay, so how do we make the container manager consitant with the InstanceBroker?22:44
thumperwe don't22:44
waigani_I think fwereade wants us to22:44
thumperthere is a kvm-broker and lxc-broker in the worker/provisioner code22:44
thumperit is the mapping22:45
thumperno he doesn't22:45
thumperhe just might not realize yet22:45
waigani_lol22:45
thumperand that is fine22:45
fwereadethumper, waigani_: I look forward to my education22:45
thumperfwereade: np22:45
thumperfwereade: go to sleep22:45
* thumper goes to the gym to hit things22:45
thumperI always feel better after the gym22:45
* rogpeppe finally finishes23:23
* davecheney applauds23:24

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