/srv/irclogs.ubuntu.com/2014/01/22/#juju-dev.txt

davecheneysinzui: I am having trouble enabling the 'proposed' repository for trusty00:27
davecheneyoh no00:28
davecheneywait00:28
davecheneyyeah, that got it00:28
wallyworldhttp://www.windowsazure.com/en-us/documentation/articles/manage-availability-virtual-machines/02:14
thumperwallyworld, axw, waigani: https://docs.google.com/a/canonical.com/document/d/1PJiqBiAndIKvT6WYT1fG4rBX2b4sF90j3m7GTLNoZiE/edit02:27
bigjoolsI upgraded to trusty and the environment I started under saucy doesn't look great now...02:32
bigjoolshttp://paste.ubuntu.com/6795052/02:32
bigjoolswhat's going on?02:32
thumperbigjools: you probably need to upgrade the environment02:33
thumperbigjools: but the short answre is "we hate you"02:33
bigjoolsthumper: I knew *that* already02:33
wallyworldbigjools: first mistake - upgrading to alpha software for production purposes02:34
wallyworld:-P02:34
bigjoolswho said it was production purposes? :)02:34
bigjoolsanyway you're missing all the fun weather over here02:35
wallyworldhot?02:37
bigjoolsheat index is nearly 4702:37
wallyworldah, so cool then02:37
bigjoolsyour missus will be asking you for a/c when you get back :)02:37
wallyworldamongst other things02:37
bigjoolsthumper: how do I upgrade an environment?02:39
thumperbigjools: juju upgrade ??02:39
bigjoolsyou may point me at TFM02:39
bigjoolsupgrade-juju?02:39
wallyworldthink so02:40
wallyworldif it's upgrading to a trunk release from source, you need --upload-tools IIRC02:41
bigjoolsI am using 1.17.0-trusty-amd6402:41
bigjoolsI think my existing env is 1.1602:41
bigjoolsso it should find tools for 1.17 without the --upload I guess?02:41
bigjoolswell looks like it didn't work anyway :(02:43
=== tim is now known as thumper
=== tim is now known as thumper
wallyworldthumper: https://codereview.appspot.com/55300043/03:35
bigjoolsfolks, I deleted a service and it's machine so I can redeploy it on a new series, but when trying to deploy it says the service already exists.  It doesn't appear on "juju status" though..... is this a bug?  v1.17.0.107:28
bigjoolsits*  gah hate that07:28
dimiternbigjools, is this a local env?07:36
bigjoolsdimitern: canonistack07:36
bigjoolsdimitern: http://paste.ubuntu.com/6795916/07:37
dimiternbigjools, hmm that's weird07:38
bigjoolsdimitern: I upgraded the tools from 1.16 earlier.  I suspect that may have something to do with it07:38
dimiternbigjools, we had issues like that but with the local provider, and they were fixed since07:38
dimiternbigjools, can you perhaps do a mongo dump and file a bug please?07:38
bigjoolsdimitern: if you give me monkey-like instructions to do that, yes :)07:39
dimiternbigjools, :) just a sec07:40
bigjoolsdimitern: np.  There's a massive storm bearing down on me that is likely to cut my power/internet, so no pressure.  :)07:42
dimiternbigjools, using juju backup07:42
dimiternbigjools, it's a plugin that does that - it has --help as well07:43
bigjoolswhere do I get it?07:43
bigjoolsdimitern: I have to run out for a bit, can you send me details please :)07:49
fwereadeaxw, am I right in thinking bigjools' problem above is that one about the env life field, that's fixed in trunk?08:25
TheMuefwereade: morning08:37
TheMuefwereade: any chance to take another look at https://codereview.appspot.com/44540043/ this morning?08:37
fwereadeTheMue, heyhey08:37
fwereadeTheMue, all I can say is "maybe" :/08:37
TheMuefwereade: ok, thx08:39
TheMuedimitern: after your help yesterday a deeper look at https://codereview.appspot.com/44540043/ would be appreciated too08:39
* TheMue is getting closer, but so far didn't found any watcher via API used in cmd/juju so far08:40
dimiternTheMue, definitely looks better now08:49
dimiternbigjools, it's part of core - in cmd/juju/plugins08:49
rogpeppe1mornin' all08:51
dimiternrogpeppe1, morning08:59
dimiternrogpeppe1, thanks again for all the reviews yesterday08:59
rogpeppe1dimitern: np09:00
rogpeppe1dimitern: i'm looking for a review of https://codereview.appspot.com/55150043 BTW09:00
dimiternrogpeppe1, looking09:00
dimiternrogpeppe1, quick question - what's the deal with NoVote and VotingMachineIds ?09:06
rogpeppe1dimitern: that's the way that EnsureAvailability will be able to reduce the number of machines in the peer group without just removing them.09:07
dimiternrogpeppe1, and a peer group is a set of machines in a replicaset ?09:08
rogpeppe1dimitern: if a machine goes down, we don't want to just remove it from the peer group, because it may come up again09:08
rogpeppe1dimitern: yes09:08
dimiternrogpeppe1, i see09:08
rogpeppe1dimitern: not all machines in a replica set are necessarily voting09:08
rogpeppe1dimitern: it also gives us the freedom in the future to be able to deliberately bring up non-voting machines to act as backup09:08
rogpeppe1dimitern: there will also be another field associated with the machine: IsVoting - indicating the actual voting status of the machine.09:09
rogpeppe1dimitern: that will be set by the peergrouper worker09:09
dimiternrogpeppe1, IsVoting or WantVote ?09:10
rogpeppe1dimitern: IsVoting09:10
dimiternrogpeppe1, and WantVote ?09:10
rogpeppe1dimitern: that's just the negation of NoVote09:10
dimiternrogpeppe1, (looking in the code comments of Ensure..)09:10
dimiternrogpeppe1, ah, ok09:10
rogpeppe1dimitern: i didn't want to do WantsVote in the machineDoc because that would be incompatible with previous versions.09:10
rogpeppe1dimitern: which wouldn't have the field in the schema09:11
dimiternrogpeppe1, yeah, but can't it be added in a compatible way? Like the default value (when missing) is fine?09:14
rogpeppe1dimitern: that just makes the logic harder - you'd have to look for "wantsVote==true || wantsVote==nil"09:15
rogpeppe1dimitern: i think it works pretty well inverted actually09:15
dimiternrogpeppe1, i see, well this can be hidden behind a machine method, no?09:15
rogpeppe1dimitern: it is, isn't it?09:16
dimiternrogpeppe1, sorry, just got there09:16
dimiternrogpeppe1, I see now09:16
rogpeppe1dimitern: apart from in the MachineTemplate, where NoVote actually makes sense, because you actually almost always want a vote09:16
rogpeppe1dimitern: things became simpler when I changed MachineTemplate.WantsVote to MachineTemplate.NoVote09:17
dimiternrogpeppe1, yeah, i agree09:17
dimiternrogpeppe1, reviewed09:29
rogpeppe1dimitern: thanks a lot09:29
jamfwereade: ping about API version numbering09:37
jamI've been trying to respond to your email and thinking about it, but I think it comes across rambling in email form, so it might be better as a 1:1 chat09:37
fwereadejam, pong09:44
jamfwereade: hey hey09:45
fwereadejam, was I terribly unclear?09:45
jamfwereade: there is just a lot that I've thought about it.09:47
jamfwereade: specifically, what does it actually *mean* to have a global rev vs a local rev, how does stuff look like in code, etc.09:47
fwereadejam, so, I think the local revs are purely an internal tool to help us manage bloat09:48
jamfwereade: I sent my long rambly email09:49
jamfwereade: there are problems with global rev that we should probably explore as well09:49
jamnamely, where /when is that sent on the wire09:49
fwereadejam, codewise, a request comes in with a version, namespace, method, params; we get the facade by looking up the namespace given the version and get an actual facade on which we can call.Method(Params)09:49
jamfwereade: codewise *today* it comes in with namespace, ??, method, params09:49
jamand we can make ?? == version09:50
fwereadejam, my suggestion earlier was that we demand it on every call09:50
fwereadejam, yeah09:50
jamIt looks confusing that global version comes after namespace09:50
jambut supersedes it09:50
jamfwereade: so the next failure I explored is that we can have a relatively new client09:50
jamthat still calls a really old version09:50
jamjust because we never touched that code09:50
jamand then we can't actually remove compatibility09:50
jamso even though the API is 5 years old, and "Machine", "100", "Add" works just fine and is identical to "Machine", "1", "Add"09:51
jamthe very newest 'juju' commandline tool still calls09:51
jam"Machine", "1", "Add"09:51
fwereadejam, I think that's the least of our problems because we can at least control that -- it's everybody else calling v1 that's the problem, surely?09:52
fwereadejam, and also that there will be old server versions that we'll have to fall back to even with new clients, at least for some time09:52
jamfwereade: we can audit for it, but it is fairly expensive to sort out what version of Juju was calling what version of the API. If we work on making the juju CLI always call "latest" versions, then you don't have 2 pieces that break independently09:52
fwereadejam, well, we *do* probably want to keep the CLI up to date with API versions, it's true, but we also need to leave fallback code in place, right?09:53
jamfwereade: so, if you have 1 global rev number, then all call sites get bumped any time you change anything, right?09:53
jamexcept the ones where that actually changes the implementation so we use the 'slightly older one' as we transition / (we want to update all our call sites eventually, I'm sure)09:54
fwereadejam, they could do, yes, but I don't think it's necessarily required or expected that everybody does so09:54
jamfwereade: so there is a little bit of "what do we do in Juju because we control both ends" and "what do we suggest 3rd parties do"09:56
jamif we're going with a global bump, and we can remove old ones after we've deprecated it for "long enough"09:56
fwereadejam, yeah, I think *we* should, but we can't necessarily impose it on everybody else09:56
jamthen we do want some sort of push for people to go to the latest thing they could09:56
jamfor example, how do people get informed that the API they are using is deprecated?09:57
fwereadejam, I'm not sure what mechanisms we have for encouraging people to update their clients (apart from public warnings that vX will be going away in N months -- and making version removal clear in release notes)09:58
jamfwereade: well, you can return something in the API that "this is deprecated" but it needs to be done in a way that is actually useful09:59
jamUsers don't actually care10:00
jamits developers that need to be informed about it10:00
jamI guess you could have client versions logged, and calling a deprecated version generates an email to juju-core that client X version Y is still using a now deprecated API ? :)10:00
fwereadejam, ok, you're talking about us here? or everyone else as well?10:01
jamfwereade: I mean the juju server would notice when a client connects and calls a deprecated API and aggregate that into something useful for other people10:02
jamthen you have some sort of report about "juju-1.16.5 is still very common in the wild and is making lots of calls to X", and "juju-developer 0.8 is still calling Y"10:02
jamit would be *useful* in the fact that we can then contact the developer directly and let them know we're deprecating something10:03
jambut it is highly invasive :)10:03
fwereadejam, well there is some reasonable worry about collecting that data10:03
rvbaHi guys, I'm was trying to bootstrap a juju env and I got this: http://paste.ubuntu.com/6796595/.  Is this a known problem?  It does not seem to happen consistently but I don't think that's the first time I saw this.10:45
jamrvba: looking10:45
jamrvba: what version of the client are you using?10:49
jam(juju version)10:49
jammgz: wallyworld: standup?10:49
rvbajam: apt-cache policy juju-core → 1.16.3-0ubuntu0.13.10.110:50
mgzta jam10:50
jamrvba: it is *possible* that this was something we fixed in 1.16.510:50
jamrvba: there was an EOF bug that we implemented a workaround fro10:50
jamfor10:50
rvbajam: ah ok, thanks. I guess I'll upgrade using the PPA and test again…10:51
jamrvba: you'll probably want a 1.16 series, rather than 1.17, I think10:52
rvbaThe stable PPA has 1.16.5-0ubuntu1~ubuntu13.10.1~juju1.10:53
jamrvba: great, I think devel has 1.17.010:53
rvbajam: same problem with the new version: http://paste.ubuntu.com/6796653/10:57
jamrvba: looks like https://bugs.launchpad.net/juju-core/+bug/123955810:57
jambut that actually claims it was only fixed in 1.17 :(10:58
rvbaah, right.10:58
rvbajam: sorry to bother you again… I'm trying to use juju on Trusty (1.17.0-0ubuntu2) and now I get: http://paste.ubuntu.com/6796670/11:04
rvbaAny idea what might be wrong?11:04
jamrvba: there you need to use "juju bootstrap --upload-toolS"11:05
jamwe're looking for tools on streams.canonical.com11:05
jambut that hasn't been finished being set up yet11:05
rvbaAh okay, makes sense.11:05
rvbaThanks.11:05
jammgz: do you have a chance to investigate why "juju-1.17" can't do "status" vs a 1.16 server? (Did it get fixed and I'm missing something?)11:23
jam(at least here trunk r2239 still fails)11:25
mgzjam: er, I'll recheck11:26
bigjoolsI am trying to bootstrap an environment using 1.17 and it insists that I am already bootstrapped but I am not.  What else is it checking? there are no instances running11:31
mgzbigjools: probably the bootstrap-verify file in your cloud storage11:32
mgzbigjools: you can just run `juju destroy-environment` to clear everything out11:32
bigjoolsmgz: it fails11:32
bigjoolsbecause I have no instances11:32
mgzI guess that's a provider bug then11:33
bigjoolsContinue [y/N]? y11:33
bigjoolsERROR no instances found11:33
mgzit should always do all the work, even if some parts of it have already completed11:33
bigjoolsthis is the openstack provider11:33
mgzcan you list the control bucket externally and see what it contains?11:33
bigjoolshow do I do that?  sorry I know bugger all about openstack11:34
mgzeg, look in ~/.juju/environment/<right one> for the control bucket name11:34
mgzthen `swift list <that name>`11:34
jammgz: just have him delete the fixed bucket in environments.yaml ?11:34
bigjoolsok11:34
mgzpython-swiftclient if you don't have it11:34
jamso we generate a random one11:34
mgzjam: I curious if we actually have a provider bug on destroy11:35
bigjoolsyes it lists the files11:35
bigjoolsprovider bug11:35
mgzso, now delete those with `swift delete` and bootstrap - if that works, please do file a bug11:36
bigjoolsok cheers11:36
bigjoolsmgz: that fixed it indeed.  thanks for the help11:37
* bigjools files bug11:37
natefinchfwereade: when you get a chance, I'd like to talk about your comments on the EnsureMongoServer stuff.11:39
rogpeppe1fwereade: it turns out that Machine.Destroy only fails if the machine has JobManageEnviron, not JobManageState...11:47
rogpeppe1fwereade: i think that's probably a bug, but it makes me think (yet again) of changing the semantics of those two jobs11:48
rvbajam: I /think/ the problem we're struggling with in MAAS+Juju might be related to https://bugs.launchpad.net/juju-core/+bug/1257649.  I don't understand the comment on there that says this is irrelevant now… care to enlighten me?12:37
fwereaderogpeppe1, I'd be +1 on that13:03
fwereadenatefinch, might need to be a bit later13:03
natefinchfwereade: np, I am currently encumbered anyway13:04
rogpeppe1fwereade: my thought is to have two manager jobs, one for jobs which can be blown away with probs (e.g. the API server) and one for jobs which require special handling with EnsureAvailability and freidns13:06
rogpeppe1friends, even13:06
rogpeppe1s/with probs/without probs/13:06
rogpeppe1fwereade: for the time being though, i'm wondering about just ditching one of the jobs entirely13:06
fwereaderogpeppe1, I'd be most happy just ditching one of them13:06
rogpeppe1fwereade: i don't think the distinction between ManageEnviron and ManageState is currently useful13:07
=== gary_poster|away is now known as gary_poster
rogpeppe1fwereade: cool, i'll do that.13:07
fwereaderogpeppe1, agreed, it seemed like a good idea at the time13:07
rogpeppe1fwereade: yeah13:07
fwereaderogpeppe1, the universal explanation13:07
rogpeppe1fwereade: at some point in the indefinite future, i'd like to be able to scale up API servers independently of mongo servers13:07
rogpeppe1fwereade: but i think that's easier to do by adding a new job then13:08
fwereaderogpeppe1, agreed, but I don't think we're actually getting there any faster by maintaining that somewhat fuzzy distinction at the moment13:08
rogpeppe1fwereade: yup13:08
fwereaderogpeppe1, sweet, thanks13:08
jamrvba: in the current code in trunk, we don't have an internal timeout for the SSH connection. (I think) I'd have to double check what version you're running and what disconnections you're seeing13:10
rvbajam: we think the bug in question might be the cause of the problem we're seeing in the lab.  It takes more than 10 minutes to bring up a bootstrap node in MAAS because before installing jujud on it, we have to install it using d-i.13:28
rvbajam: we're trying to re-build juju with a different timeout to confirm this.13:29
rvbajam: what we're seeing is that 'juju bootstrap' gives up after 10 minutes and we think it might have succeeded with a bit more time :)13:38
TheMuedebugging-by-println, sometimes nothing else works :D14:25
TheMueaaaaargh, apiserver.StringsWatcher requires to be called by an agent, client is not allowed (dunno why). THATS why debug-log has a "permission denied error"14:30
TheMue*sigh*14:30
rick_h_can anyone verify that a juju 'upgrade' to an older revision is possible on pyjuju please?14:35
=== rogpeppe2 is now known as rogpeppe
rogpeppefwereade: re: your comment on EnsureMongoServer, it's not adding anything that isn't already there14:50
rogpeppefwereade: and if the state port isn't stored in the agent config, where *would* it be stored?14:51
fwereaderogpeppe, well it's already in the env config14:52
rogpeppefwereade: but the agent doesn't have access to the env config until they've connected to the state, right?14:52
fwereaderogpeppe, this is all bootstrap time, isn't it? perhaps I'm confused there14:53
rogpeppefwereade: it's also used after bootstrap time, when new state servers come up14:54
rogpeppefwereade: but...14:54
rogpeppefwereade: i'm thinking you may be right, because a second state server will have access to the API, even if they can't connect to mongo14:54
fwereaderogpeppe, but anything setting up a state server is either doing so at bootstrap, or in response to being told to by the API, right?14:54
fwereaderogpeppe, yeah14:54
fwereaderick_h_, pyjuju didn't have juju upgrades at all14:55
TheMuefwereade: you may help me with a design decision? why do the watcher in apiserver/root.go require to be called by an agent?14:55
rogpeppefwereade, natefinch: huh, that call to ensureMongoServer in MachineAgent.Run doesn't look right at all14:56
fwereadeTheMue, that was the only thing that needed it at the time14:56
TheMuefwereade: would like to use the StringsWatcher from the client14:56
TheMuefwereade: so changing would be ok?14:56
fwereadeTheMue, let me take a quick look at the code14:56
TheMuefwereade: yep14:56
fwereadeTheMue, aw hell14:57
fwereadeTheMue, yes it's fine to change it14:57
fwereadeTheMue, but it's not a simpleone14:57
TheMuefwereade: great, that helps a lot for debug-log14:58
fwereadeTheMue, ISTM that there's a pretty serious problem with all the watchers14:58
TheMuefwereade: oh *listening*14:58
fwereadeTheMue, there's nothing preventing clients from grabbing each other's watchers willy-nilly14:58
TheMuefwereade: come on, let them have some fun *lol*14:59
fwereadeTheMue, there's presumably something about a given resource that ties it to a particular client, otherwise we couldn't tidy up resources when conns are closed14:59
fwereadeTheMue, haha14:59
rogpeppefwereade: clients don't share resources14:59
fwereadeTheMue, so ISTM this is something that can and should (nay must) be fixed for all the watchers14:59
TheMuerogpeppe: exactly, that's how I understood it too14:59
fwereaderogpeppe, yeah, I just can't remember the exact mechanism15:00
fwereaderogpeppe, ohhhhh ok it's maybe ok? individual clients get separate resource idspaces anyway, right?15:00
rogpeppefwereade: exactly15:00
fwereaderogpeppe, cool15:00
fwereadeTheMue, belay that panic then15:00
fwereadeTheMue, you can just open up stringswatcher I think15:01
TheMuefwereade: yes, will start with that one as I only need it15:01
rogpeppefwereade: specifically, newSrvRoot allocates a new resources map, and it's called when a client successfully logged in, and stored in the root object for that client15:01
rogpeppeTheMue, fwereade: opening up StringsWatcher seems fine to me15:02
* TheMue takes the key to open it15:03
natefinchfwereade: back, let me know when you'd like to talk15:28
dimiternrogpeppe, fwereade, natefinch - I have two branches up for review, which complete the firewaller API story: https://codereview.appspot.com/55670043 and -  https://codereview.appspot.com/55680043 I'd really appreciate if someone takes a look15:48
adeuringcould somebody have a llok here: https://codereview.appspot.com/55690043 ?16:32
natefinchadeuring: looking16:35
adeuringthanks16:36
natefinchadeuring: reviewed16:46
adeuringnatefinch: thanks!16:46
natefinchadeuring: thank you :)16:46
natefinchrogpeppe: what was the problem you had with ensuremongoserver?  I saw a couple problems while reviewing it with William (like, we only need to call it if we have a managestate job, and I need to be more tolerant in case the directory and files already exist).16:57
rogpeppenatefinch: why is it called unconditionally in the machine agent?16:57
rogpeppenatefinch: ah, yes, that's "we only need to call it if we have a managestate job"16:58
natefinchrogpeppe: right, I realized that when I went back to look over the code16:58
rogpeppenatefinch: i'm just about to delete JobManageState throughout the code, BTW, and just use JobManageEnviron throughout17:01
natefinchrogpeppe: cool, I'll check for that one then17:03
dimiternnatefinch, rogpeppe, review poke?17:03
rogpeppedimitern: will look shortly17:03
dimiternrogpeppe, cheers17:03
natefinchrogpeppe: is openApiState the appropriate way to get the list of jobs for the machine agent?  I don't see an easier way to do it17:12
rogpeppenatefinch: yes17:12
natefinchrogpeppe: cool17:12
rogpeppenatefinch: you might not find it that easy17:12
rogpeppenatefinch: but actually, as long as jobs stay constant, it's probably not too bad17:13
rogpeppenatefinch: the difficulty comes at bootstrap time17:13
rogpeppenatefinch: because at bootstrap time (or if a single remaining state server machine reboots) there's no API server to go to to ask for jobs17:14
natefinchrogpeppe: ahh, right17:15
dimiternnatefinch, can you take a look at this please? https://codereview.appspot.com/5568004317:17
natefinchdimitern: sure thing17:18
dimiternnatefinch, cheers17:20
rogpeppehmm, a recent update (revno 2226) has broken tests for me17:45
dimiternrogpeppe, natefinch , guys, sorry to poke you again, but i'd like to land these two today if possible17:58
rogpeppedimitern: looking, sorry, i've been struggling to get tests to pass17:59
dimiternrogpeppe, what's wrong?17:59
rogpeppedimitern: i've just reported https://bugs.launchpad.net/juju-core/+bug/1271674 and https://bugs.launchpad.net/juju-core/+bug/1271672,18:00
rogpeppedimitern: but mostly just crap from removing JobManageState18:00
dimiternrogpeppe, wow test.invalid resolves in your local net?18:01
rogpeppedimitern: yeah. blame my ISP18:01
rogpeppedimitern: they resolve everything to their yahoo search page18:02
dimiternrogpeppe, ah, nasty18:02
rogpeppedimitern: it resolves to 92.242.132.16 for me18:02
dimiternto what lengths some people go for the sake of marketing18:03
natefinchdimitern: sorry, caught me during lunch.  I'm looking now for real though18:06
dimiternnatefinch, thanks18:07
natefinchrogpeppe: my ISP does similar things, forwards DNS failures to their own page.  In theory you can disable it at the router, but I've forgotten the password to it :/18:07
* dimitern is aft for a while18:08
dimiternafk even18:08
natefinchdimitern: reviewed18:24
arosaleswill any folks here be joning the charm writing virt. sprint?18:50
natefincharosales: core is pretty slammed right now.  I know I'm pretty behind where I'm supposed to be.... not sure about others.19:00
arosalesnatefinch, ack I'll check with some others19:03
lazypowerto whomever fixed the state-watcher bug, i could hug you.19:19
rogpeppelazypower: you're welcome :-)19:22
lazypowerrogpeppe, you + me + beer in our future19:22
rogpeppelazypower: SGTM!19:23
=== fcorrea__ is now known as fcorrea
=== BradCrittenden is now known as bac
thumperarosales: hey there20:47
thumperarosales: I think you are under the mistaken impression that we know how to write charms :-)20:47
natefinchthumper: roger does, more or less :)  He wrote that Go charm thing, which looks pretty cool.20:49
thumperhey natefinch20:49
* natefinch might be biased for anything Go and against anything bash, though20:49
natefinchthumper: howdy20:49
thumpernatefinch: heh20:50
natefinchthumper: you're using Sublime Text and GoSublime, right?20:50
thumpernatefinch: I am now20:50
thumpergetting the hang of it20:51
natefinchdoes go to definition work for you on methods?  Like if you have s.Foo()  can you go to the definition of the Foo() method?  It doesn't work for me, and it's really annoying20:51
natefinchI can go to definition of types and top level functions, but not methods on types.20:52
natefinchI end up having to resort to a full text search like some kind of Neanderthal.20:53
arosalesthumper, you guys are coding kings I am sure you can crank out all sorts of quality code20:54
thumperbwahaha20:54
fwereadethumper, heyhey20:54
thumperarosales: we are kinda focused on several areas that will make others more happier20:54
thumperfwereade: hey dude20:54
arosalesthumper, understood. I thought it wouldn't hurt to ask though20:55
fwereadethumper, I should have come on earlier and arranged things and so on20:55
arosalesjust in case :-)20:55
thumperarosales: sure20:55
arosalesthumper, thanks for the consideration though20:55
fwereadethumper, don't suppose you're free to chat about availability sets a bit?20:55
thumperarosales: if we were just sitting around drinking, then yeah, we'd help20:55
thumperfwereade: sure20:55
arosalesthumper,  lol20:56
natefinchthumper: that doesn't sound like you guys....20:56
fwereadethumper, or have you just been explaining to arosales that you wouldn't do them? ;p20:56
arosalesthumper, I know you aren't doing that given I brought up the availability sets too20:56
thumperarosales: we aren't working on the availability sets just yet, but we have talked about it...20:56
arosalesfwereade, that was charm tests thumper was breaking my heart on20:56
thumperarosales: we are working on proxy support, local provider improvements20:56
fwereadeaww20:57
thumperfwereade: want a hangout?20:57
fwereadethumper, sgtm20:57
arosalesthumper, its only mid week  :-)20:57
thumperfwereade: https://plus.google.com/hangouts/_/7acpibmqriabeqpmu77ctb34ns?hl=en20:58
thumperarosales: for you.. thursday morning for us20:58
arosalesthats 2 full days :-)  I'll let you get back to work20:59
fwereadenatefinch, ping21:23
natefinchfwereade: pong21:23
thumpernatefinch: we should chat about upgrades21:33
natefinchthumper: I love upgrades21:33
natefinchthumper:  shall I join the hangout?21:34
thumpernatefinch: sure21:34
fwereadenatefinch, damn sorry I had a response half typed out21:34
thumpernatefinch: fwereade just left the hangout, but I'm still there waiting for you21:35
=== gary_poster is now known as gary_poster|away
hazmatthumper, runonallmachines .. runs on all units.. or just machines?22:19
thumperhazmat: it does what it says :-)22:19
thumperon the machiens22:19
thumperor machines22:19
thumperwe don't have an --all-units22:19
thumperif you need it, file a bug :)22:20
hazmatthumper, so this isn't juju-run.. this is arbitrary script run?22:20
thumperno...22:20
thumperonly when running on a unit does it get the unit context22:20
thumperyou can also run on the machine outside of a unit context22:20
thumperhowever it will get the hook execution flock22:21
thumperto make sure that it doesn't run in parallel with a hook22:21
hazmatcool, was just doing my monthly check for new api methods and came across.22:21
thumper:-)22:21
thumperit is freaky magic shit22:22
hazmatorchestration even ;-)22:22
thumperyeah, that22:22
thumperansible-lite22:22
hazmatthumper, so commands string need a #!/bin/executable preprend?22:23
thumperno22:23
thumperwe do that22:23
thumperactually, we send it through /bin/bash -s22:23
hazmathmm.. so assumes bash?22:23
thumperyes22:23
* hazmat files a bug ;-)22:23
hazmatbcsaller, ^ you might be interested in this22:24
thumpernah22:24
thumperwhy?22:24
thumperif you want to execute a magic script22:24
thumperwrite it to disk and call it22:24
hazmati guess exec works.. just feels a little klunky that way22:24
* bcsaller reads22:24
thumperbcsaller: we have 'juju run' now22:27
thumperwhich has an api end point22:27
thumperso in theory, the gui could run arbitrary code on any machine, service or unit22:27
bcsallerthumper: good stuff22:28
* thumper considers a button on a machine in the gui called 'reboot'22:29
* thumper chuckles to himself22:29
hazmatif only there were machines in the gui ;-)22:30
thumperyeah...22:31
thumperhazmat: we could reboot services :)22:31
thumperand it would work as long as the service isn't colocated with the api server :)22:31
hazmatthumper, ah.. that's no fun.. although the nondeterminism is pretty cool.. i'd prefer rm -Rf /22:31
thumperhazmat: don't get me wrong, it would reboot22:32
hazmatthe openstack charms w/ ha .. do tons of rebooting.22:32
davecheneythumper: o/23:48
davecheneythatnks for the good news on proxy support23:48
thumperhi davecheney23:49
davecheneyi need that super bad for testing on that platform that we can't talk about23:49
thumpercool23:49

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