[00:41] <davecheney> I now have -3 open reviews in my RB incoming review queue
[00:41] <perrito666> is that a minus?
[00:41] <thumper> davecheney: those are your reviews I think
[00:41] <thumper> haha
[00:41] <thumper> if it is, that's funny
[00:43] <davecheney> thumper: how many (negative) reviews do you have ?
[00:44] <thumper> personal ones are positive, juju-team shows -3
[00:44] <jcw4> davecheney: that seems like double entendre
[00:44] <thumper> jcw4: I'm looking at yours now
[00:44] <jcw4> thumper: cool... I hope it's not negative
[00:44]  * jcw4 cracks himself up
[00:45] <davecheney> yay software
[00:50]  * thumper wonders what jcw4 will think of this...
[00:51]  * jcw4 waits with anticipation
[00:52] <jcw4> unless you hit publish in the next 2 minutes though my anticipation will have to stretch til after family supper.
[00:52] <jcw4> ;)
[00:52] <davecheney> the man knows how to negotiate
[00:52] <jcw4> haha
[00:52]  * thumper recoils from that idea after reading the code, and goes back to the review
[00:53]  * jcw4 suspects recoil isn't usually used in context of a happy review
[00:54] <thumper> it isn't too bad, just getting my head around this
[00:54] <jcw4> thumper: you should know that you bang your head on your desk a lot in irc... my thin skin can't take too much of that m'kay?
[00:55] <jcw4> :)
[00:56] <thumper> jcw4: do we have a way to remove actions and their results yet?
[00:57] <jcw4> thumper: no
[00:57] <jcw4> thumper: we do have a forthcoming 'Cancel' API call
[00:57] <jcw4> thumper: but that's not quite the same thing
[00:57] <thumper> pretty sure I'm not going to want every call around for ever :)
[00:58] <thumper> hmm...
[00:58] <jcw4> thumper: +1... should that be handled with an API call (ArchiveActions) or within Jujud somehow?
[00:58] <thumper> jcw4: probably some api call
[00:59]  * jcw4 adds that to the actions api branch
[01:02]  * jcw4 is off to supper
[01:05] <thumper> oh FFS
[01:05]  * thumper wanted to edit that
[01:05] <thumper> wrong button
[01:08] <axw> thumper: pong (it was a public holiday yesterday)
[01:08] <thumper> axw: hey, guessed that in the end
[01:08] <thumper> axw: got a few minutes?
[01:08] <axw> sure
[01:09] <thumper> axw: https://plus.google.com/hangouts/_/gvxqrkm74ije2z64ochcr5bbhia?hl=en
[01:11] <sebas5384> hey there o/ :)
[01:11] <sebas5384> i'm building a juju api client
[01:13] <sebas5384> but i don't know why i only can connect to the socket ws://juju-gui:8001/ws
[01:13] <sebas5384> which i suppose is being proxyed or something like that
[01:14] <rick_h_> sebas5384: well the juju-gui talks to a proxy service on the charm
[01:14] <sebas5384> because that socket is already knowing to which environment to communicate
[01:14] <sebas5384> hmmm yeah
[01:14] <rick_h_> sebas5384: it does that to provide services like bundle deployments which the juju api doesn't have at this time. So it intercepts some calls to do actions manually
[01:14] <sebas5384> rick_h_: hi o/
[01:15] <rick_h_> sebas5384: but most calls it just proxies through to the state server
[01:16] <sebas5384> hmmm i was imagining something like that
[01:16] <sebas5384> can you show me the code of that proxy ?
[01:17] <sebas5384> I want to use it as an example of how to connect to the api state server
[01:17] <rick_h_> sebas5384: yep, looking now, it's the 'guiserver' bit http://bazaar.launchpad.net/~juju-gui-charmers/charms/trusty/juju-gui/trunk/files/head:/server/guiserver/
[01:18] <sebas5384> i'm taking a look at it
[01:20] <rick_h_> sebas5384: http://bazaar.launchpad.net/~juju-gui-charmers/charms/trusty/juju-gui/trunk/view/head:/hooks/utils.py#L140 might be of interest to you
[01:20] <sebas5384> hmmmm here it is:)
[01:20] <sebas5384> http://bazaar.launchpad.net/~juju-gui-charmers/charms/trusty/juju-gui/trunk/view/head:/server/guiserver/handlers.py
[01:20] <rick_h_> sebas5384: since it sounds like you really want the real ip addr of the state server
[01:20] <sebas5384> yeah exactly!!
[01:21] <rick_h_> sebas5384: but yea, there's some magic bits in the juju-gui charm so worth going through some of that.
[01:21] <rick_h_> sebas5384: hope that helps
[01:21] <sebas5384> definitively rick_h_ !
[01:22] <sebas5384> thanks man! you are always helpful :)
[01:22] <sebas5384> rick_h_ ++
[01:22] <rick_h_> np, have fun. I'm out for the night.
[01:23] <sebas5384> rick_h_: o/
[01:26] <axw> thumper: I just saw your email from yesterday about the 403s; it *shouldn't* be using the proxy for uploading to provider storage (probably the no_proxy mask isn't quite right)
[01:27] <axw> thumper: that wouldn't happen on master tho
[01:41] <jcw4> thumper: responded to your comments... great review. thank you.
[01:43] <thumper> jcw4: the old name or the new name?
[01:43] <thumper> jcw4: if Name -> Id
[01:43] <thumper> and Id() returns the localID
[01:43] <thumper> all good
[01:43] <jcw4> thumper: good
[01:44] <jcw4> thumper: did you get your first question about old vs. new name answered?
[01:44] <jcw4> oh... I think it all goes together
[01:44] <thumper> it does :)
[01:44] <jcw4> in which case I'm clear and that's cool
[01:44] <thumper> good
[02:02] <thumper> jcw4: names.Tag represents any tag
[02:02] <jcw4> k
[02:02] <thumper> jcw4: names.UnitTag is a concrete implementation of a tag
[02:02] <jcw4> right
[02:02] <thumper> since the design leans towards different receiver types
[02:02] <jcw4> ah
[02:02] <thumper> it makes sense to be a names.Tag rather than a UnitTag
[02:02] <jcw4> got it
[02:02] <thumper> we can then do type switches on it
[02:03] <thumper> and know that it is well formed
[02:03] <thumper> tags have become more than just API level
[02:03] <thumper> they are typed key values
[02:03] <jcw4> so if we use Tags instead of string ids for the receiver,  we make the parameter the general Tag type
[02:03] <jcw4> thumper: okay, so it's okay to use them internally
[02:03] <thumper> the document should keep a string value
[02:03] <thumper> but it is internal
[02:03] <thumper> the public interface to the Action should use a Tag
[02:04] <thumper> IMO
[02:04] <jcw4> +1
[02:04] <thumper> jcw4: state.User now takes a names.UserTag arg
[02:04] <jcw4> but the string repr. is the tag version instead of the internal Name() version
[02:04] <thumper> so we know that it is valid
[02:04] <jcw4> k
[02:04] <thumper> jcw4: no, just store the Id() of the tag
[02:04] <jcw4> right
[02:04] <thumper> which is the same value you are storing now
[02:04] <jcw4> hmm; I see in the case of Units yes
[02:05] <jcw4> I was distracted because the internal representation of action* id's are different than the tag version
[02:18] <sinzui> thumper, do you have a minute to review https://github.com/juju/juju/pull/862
[02:18]  * thumper looks
[02:19] <thumper> sinzui: do we have a good power build now?
[02:19] <sinzui> thumper, we don't know yet. I have update all the machines and sent 1.20.9 off to the builders to find out
[02:20] <thumper> sinzui: ok, thanks for the info
[03:17] <wwitzel3> jam: for bug #1375507 , should I be looking at going the NonValidatingClient route? should we generate new certs and leave the client as is?
[03:17] <mup> Bug #1375507: rsyslog worker continuously restarts due to x509 error following upgrade <logging> <rsyslog> <upgrade-juju> <juju-core:Triaged> <https://launchpad.net/bugs/1375507>
[03:23] <wwitzel3> menn0: what provider did you use when you noticed the bug ^
[03:56] <menn0> wwitzel3: local
[03:57] <menn0> wwitzel3: it's probably not relevant but I can give you the script I was using to set up the 1.20 env
[04:02] <wwitzel3> menn0: actually, that'd be helpful .. my local is giving me a bit of a different error
[04:03] <menn0> ok
[04:03] <menn0> wwitzel3: i'll email it to you know
[04:03] <wwitzel3> thanks
[04:03] <wwitzel3> menn0: also were you using 1.20 from the git tag? Or a pre-built?
[04:04] <menn0> wwitzel3: pre-built - I noticed the problem coming from both 1.20.7 and 1.20.8 from the stable PPA
[04:04] <wwitzel3> menn0: k
[04:06] <menn0> wwitzel3: just sent the script
[04:07] <menn0> wwitzel3: I was using it to test upgrades for the units collection migration to using env uuids in the _id
[04:07] <menn0> wwitzel3: the rsyslog issue is just something I noticed incidentally
[04:08] <menn0> wwitzel3: wait for all agent-states to be "started" before running "juju upgrade-juju --upload-tools" with the juju built from master
[04:12] <wwitzel3> menn0: thanks again, I'll give it a whirl right now
[04:12] <menn0> wwitzel3: ok
[04:40]  * thumper feels much better after a few hours coding
[04:40]  * thumper EODs
[04:40] <thumper> jam: FWIW, just implemented 'juju api-info' with nice options
[04:40] <thumper> jam: will propose tomorrow
[04:40] <jam> thumper: sounds good
[04:43] <axw> jam: are you still maintaining the old juju landing bot? I tried to land a contribution to gwacl, and it spat the dummy
[04:43] <axw> `/bin/sh: 1: Syntax error: "&&" unexpected`
[04:44] <jam> axw: mgz is probably more aware of that bot than I am.
[04:44] <axw> okey dokey
[04:44] <axw> thanks
[04:44] <jam> axw: I'll see if I can find it
[04:44] <jam> axw: can you link the MP ?
[04:45] <axw> jam: https://code.launchpad.net/~mark-sheahan-ms/gwacl/cert-args/+merge/235889
[04:45] <axw> I can merge manually if it's too much hassle, unit tests should be pretty a safe bet
[05:40] <dimitern> morning all
[05:41] <wwitzel3> dimitern: morning
[05:42] <dimitern> wwitzel3, hey, isn't it way to late there?
[05:42] <dimitern> :)
[05:43] <jam> dimitern: isn't it a bit too early there :)
[05:43] <jam> I think its only about midnight for wwitzel3
[05:44] <dimitern> jam, 8:44, nice and early :)
[05:44] <wwitzel3> dimitern: yeah, it isn't super late, but mostly I'm sick and not sleeping well, so figure I'd be productive since I was up anyway
[05:44] <dimitern> wwitzel3, oh, get well soon then!
[05:45] <wwitzel3> dimitern: my goal is to not be sick at the sprint, that would be awful
[05:46] <dimitern> wwitzel3, yeah, I almost managed to get a cold in the past few days, but it's ok now
[05:47] <wwitzel3> dimitern: I hung out with some friends who have kids on Saturday and felt it coming on Sunday .. I should know better than to leave the house :P
[05:47] <dimitern> jam, can I bother you for a couple of early reviews? :) http://reviews.vapour.ws/r/123/ and http://reviews.vapour.ws/r/125/
[05:48] <dimitern> wwitzel3, is it cold already in fl ?
[05:49] <wwitzel3> dimitern: my friends tell me no, not yet, I'm up in NC
[05:49] <wwitzel3> (north carolina)
[05:49] <dimitern> wwitzel3, ah, right
[05:51] <dimitern> fwereade, hey, I know it's awful early, but can you take a look as well when you can? ^^
[05:59] <jam> dimitern: commented on http://reviews.vapour.ws/r/123/
[05:59] <jam> fwereade: I'd like your input on the idea of "Does adding a method require us to bump the API version"
[06:05] <jam> dimitern: and a comment on http://reviews.vapour.ws/r/125/
[06:05] <dimitern> jam, thanks!
[06:06] <dimitern> jam, well, it's the agent api, and if we needed to do that for the uniter api, we already missed the train a few times with the actions and metrics, etc.
[06:07] <jam> dimitern: "we made mistakes in the past, so clearly we shouldn't stop making mistakes now"
[06:07] <dimitern> jam, :)
[06:27] <dimitern> jam, btw Tag() returning names.Tag is wrong
[06:27] <dimitern> jam, it's only like that in state because of FindEntity() and things like that
[06:28] <dimitern> jam, in other places, esp. in the api we should use proper tag types - return them and take them as args; that was one of davecheney's comments on one of my previous PRs
[06:31] <dimitern> jam, introducing versions into the uniter api server facade, considering how big it is, will require massive changes to the PR
[06:31] <jam> dimitern: grep -rnI "func.*Tag()" . shows an awful lack of common implementations
[06:31] <dimitern> jam, yes, but we're moving towards better consistency in the implementations
[06:31] <jam> dimitern: type  UniterV1 struct { Uniter } is not particularly large
[06:32] <dimitern> jam, and testing both versions without much code duplication will need all test suites to be refactored
[06:33] <jam> dimitern: so I agree we should move towards consistency, though (IMO) having a consistent "you can call Tag() on objects to get a Tag describing it" seems useful, and Go tends to require that if you ever want to put those objects into an Interface the method has to return identical types
[06:33] <dimitern> jam, like what I did for the firewaller
[06:34] <dimitern> jam, yeah, that kinda sucks, esp. having to do apiuniter.Unit(stateUnit.Tag().(names.UnitTag))
[06:35] <jam> dimitern: I feel like the pain of Versioning is a pain we need to endure sooner rather than later, as there will always be "its a lot of work" for anything we want to do.
[06:35] <jam> dimitern: I can live with us agreeing it isn't worth it
[06:35] <jam> but we should discuss that with more than just 2 people
[06:36] <dimitern> jam, much of the stir around serializing and deserializing tags for the api can be solved by making the tags handle that and use tags instead of strings in params/results
[06:38] <dimitern> jam, so how about instead of adding a new version of the api in this PR, I add some fallback code in the uniter to handle IsCodeNotImplemented ?
[06:39] <jam> dimitern: as stated, I don't want it to just be you and I that come up with what is good enough in this case. I want at least fwereade and maybe a wider agreement from the list.
[06:39] <jam> dimitern: there is lots of ways we can reduce the work (like just using what you have right now which is even easier for you)
[06:40] <jam> dimitern: but whatever we do is going to be precedent (like Metrics, etc), and I'd like the group to have decided what we are doing
[06:41] <dimitern> jam, considering the rush to implement a lot of features in the past months, by different teams, even outside contributors, the mess will only get worse if we don't gate api changes with some process we agree upon
[06:49] <dimitern> jam, ok, while waiting for consensus I'll switch to container addressability to prepare some tasks for breakdown and estimation
[09:01] <axw> reviewboard's dead? :(
[09:36] <dimitern> axw, works for me btw
[09:36] <axw> dimitern: it started working again
[09:36] <axw> guess someone restarted it ...
[10:44] <perrito666> morning
[10:47] <dimitern> morning perrito666
[10:47] <dimitern> jam, standup?
[11:03] <tasdomas> hi
[11:04] <tasdomas> I'm having problems trying to bootstrap a juju environment on amazon using the latest master
[11:04] <tasdomas> http://paste.ubuntu.com/8465277/
[11:08] <perrito666> fwereade: ping me if you have a spare moment
[11:09] <fwereade> perrito666, I have to be out in 10 mins, let's be quick
[12:21] <perrito666> mattyw: remember to get approval from someone more senior than I
[12:22] <mattyw> perrito666, thanks very much for the review
[12:22] <mattyw> and I will
[13:50] <perrito666> ericsnow: wwitzel3 I am in the noisiest place ever, I am bailing out
[13:50] <perrito666> of the call
[13:50] <ericsnow> perrito666: pity
[13:50] <ericsnow> perrito666: I need to talk to you about backups at some point
[13:52] <perrito666> ericsnow: well if you need to I can squeeze myself into a quieter place
[13:52] <ericsnow> perrito666: it can wait
[13:52] <perrito666> they seem to have these meeting booths
[13:52] <perrito666> ericsnow: gimme a moment and Ill be there
[13:52] <perrito666> cameraless as usual
[13:55] <perrito666> ericsnow: I am in
[14:16] <perrito666> ericsnow: wwitzel3 you both just froze
[14:16] <perrito666> I guess itsme
[14:16] <ericsnow> perrito666: yep
[14:18] <perrito666> ericsnow: I am having some form of connection error to hangouts
[14:18] <perrito666> :(
[14:18] <perrito666> man rainy days really kill internets here
[14:18] <perrito666> I have lost dns
[14:19] <ericsnow> perrito666: :(
[14:23] <perrito666> ericsnow: so, yes, scp approach is far from perfect if you are doing an upload/download mechanism I am sure there are better things to use
[14:23] <perrito666> ericsnow: I dont remember very well now but voidspace had done something for download
[14:23] <ericsnow> perrito666: I'll see what I can come up with
[14:23] <perrito666> maybe that can be used as a start point
[14:23] <ericsnow> perrito666: yeah, that's what I'm doing
[14:23] <ericsnow> perrito666: :)
[14:52] <TheMue> oh, looks like my test error is a race. interesting, but ok, logically it made no sense
[14:56] <tasdomas> could somebody take a look at http://reviews.vapour.ws/r/124/ and http://reviews.vapour.ws/r/131/ ? Much appreciated!
[14:56] <perrito666> tasdomas: looking
[14:57] <tasdomas> perrito666, thanks!
[14:59] <perrito666> tasdomas: 131 has already been reviewed by me earlier
[14:59] <tasdomas> perrito666, thanks
[15:32] <perrito666> tasdomas: done
[15:54] <tasdomas> perrito666, thanks
[16:13] <mgz> perrito666: care to stamp a trivial dep change for me?
[16:14] <mgz> perrito666: <https://github.com/juju/juju/pull/867>
[16:15] <perrito666> mgz: looking
[16:18] <perrito666> mgz: lgtm
[16:19] <mgz> ta
[16:22] <perrito666> brb lunch
[18:47] <wwitzel3> 0
[18:48] <wwitzel3> I guess that is the number of things I'm winning at today
[18:49] <wwitzel3> is there an easy way to get rendered URL and params of a FacadeCall?
[18:51] <wwitzel3> figure a well placed Debugf should give me that ..
[19:01] <alexisb> perrito666, what is your twitter handle?
[19:02] <LAS_QUELO_TODAS> klflvlv
[19:02] <LAS_QUELO_TODAS> v
[19:02] <LAS_QUELO_TODAS> v
[19:02] <LAS_QUELO_TODAS> v
[19:02] <LAS_QUELO_TODAS> v
[19:02] <LAS_QUELO_TODAS> v
[19:02] <LAS_QUELO_TODAS> v
[19:02] <LAS_QUELO_TODAS> v
[19:03] <alexisb> hmmm
[19:04] <benji> Going down.
[20:15] <perrito666> alexisb: extremelite late ping, my twitter handle is: perrito666
[20:16] <perrito666> no surprise there :p
[20:37] <jcw4> thanks thumper
[20:37] <thumper> np
[21:04] <cmars> thumper, hangout? or should i reschedule +1 hour
[21:05] <thumper> cmars: can we reschedule for 30min?
[21:05] <cmars> thumper, np
[21:10] <arosales> thumper: working on deploying to a power8 maas cluster from a amd64 client
[21:11] <arosales> thumper: we try to use --arch=ppc|64|64el|64le with no luck
[21:11] <arosales> looking at the juju help it does not list ppc* as a supported arch
[21:12] <thumper> shouldn't that be constraints?
[21:12] <arosales> thumper: do you know what the recomended way to deploy from an x86 client to ppc maas cluster
[21:12] <thumper> no I don't, sorry
[21:12] <arosales> juju deploy --constraints arch=ppc*
[21:13] <arosales> s/deploy/constraints/
[21:13] <arosales> thumper can you confrirm ppc64* is a valid arch?
[21:14] <thumper> yes
[21:14] <thumper> I think ppc64, ppc64el and ppc64le all work
[21:15] <thumper> so 'juju bootstrap --constraints arch=ppc64' should work
[21:15]  * thumper crosses fingers
[21:15] <arosales> from x86 it fails miserably
[21:16] <arosales> trying from ppc64el
[21:16] <arosales> machine
[21:18] <thumper> arosales: fails how? and bug plz?
[21:21] <arosales> thumper: will file, just trying to get something to work.
[21:21] <arosales> mbruzek: has the details, but he is trying to get 1.20.9 to test that hypothesis
[21:22] <jcw4> thumper: still cleaning up in response to your other points, but I updated http://reviews.vapour.ws/r/127/ with a couple questions for you
[21:33]  * thumper looks
[21:33] <thumper> jcw4: don't see your answers
[21:34] <jcw4> thumper: hmm; last two points you made
[21:34] <jcw4> basically you suggested when searching for actions or actionresults by actionreceiver that we could just use the receiver name instead of using docID on the receiver name
[21:35] <jcw4> I was asking 1) don't we need to still include the EnvUUID prefix in the filter
[21:35] <jcw4> and 2) can we safely ignore using QuoteMeta on the combination of env uuid and receiver name
[21:38] <thumper> 1) yes, but you can specify the uuid field
[21:38] <thumper> 2) avoid regex
[21:38] <jcw4> thumper: +1
[21:38] <jcw4> thumper: so just reconstruct the prefix with uuid + receiver name
[21:39] <jcw4> thumper: but can I search for matching actions by prefix without regex?  is there a simple prefix search method I can use in the bson package?
[21:39] <thumper> jcw4: just look for the specific fields bson.D{{'env-uuid': envuuid},{'reciever': receiver}}
[21:39] <jcw4> thumper: doh
[21:39] <jcw4> thumper: got it
[21:41] <jcw4> thumper: thanks
[21:42] <thumper> cmars: still around?
[21:52] <davecheney> thumper: fuck
[21:52] <davecheney> ingore mu half sent mail
[21:52] <davecheney> PEBKAC
[21:52] <thumper> ack
[22:27] <wwitzel3> anyone know where the FacadeCall stuff gets distilled down in to just a URL with params? I'm trying to Debugf the URL for the rsyslog facade calls.
[23:09] <cmars> menn0, can i trouble you to take a look at my versioned login API PR, https://github.com/juju/juju/pull/392 ?
[23:55] <menn0> cmars: sorry, was having lunch. looking now.
[23:56] <perrito666> hi