[00:16] $ juju status [00:16] ERROR state/api: websocket.Dial wss://10.55.60.209:17070/: EOF [00:16] what does that mean? [00:16] everything is up AFAICS [00:28] well, here we go: [00:28] -rw-r----- 1 syslog adm 25G May 13 06:38 all-machines.log [00:28] -rw-r--r-- 1 root root 23G May 15 00:28 machine-0.log [00:33] Filed https://bugs.launchpad.net/juju-core/+bug/1319608 [00:33] <_mup_> Bug #1319608: Poor error message when "status" fails [00:33] and https://bugs.launchpad.net/juju-core/+bug/1319607 [00:33] <_mup_> Bug #1319607: Logs are not rotated === Ursinha is now known as Ursinha-afk [00:48] well I just learned something. If you put "NOT LGTM" in a review, Rietveld counts that as disapproval. [00:55] yup [01:08] axw: the dupe detector never works in LP does it? :) [01:08] you'd think my keywords would have matched that one you duped it to [01:11] bigjools: took me a few searches too [01:11] bigjools: only "logrotate" came up with it [01:11] urgh [01:11] I must admit I was surprised when I didn't see a dupe [01:12] hey while I am here, what's the approved way to upgrade a bootstrap node? I have one on precise that I want on trusty. [01:12] just a regular dist upgrade? [01:13] I'm not sure that we have an approved method... I actually don't know what happens if you change series underneath juju [01:17] wallyworld_: I'm ready whenever you want to have a standup [01:18] sure === Ursinha-afk is now known as Ursinha [01:26] axw: it's an interesting question in the context of a distro going out of support [01:29] bigjools: agreed, I just don't know the answer ;) [01:37] axw, wallyworld_: small review? https://codereview.appspot.com/93410043/ [01:37] ok [01:38] funny man [01:38] wtf [01:38] small [01:49] thumper: reviewed [01:49] thanks [01:49] I was trying to be funny 8-) [01:49] wallyworld_: I think lxc-use-clone made it into 1.18.3 didn't it? [01:49] but didn't notice the responses until my client pinged me [01:50] wallyworld_: so I think we should technically handle upgrade/deprecation warning [01:50] but I wonder if it's really worthwhile, given how long it's been out [01:50] axw: ah, yeah. for some reason i had convinced myself it hadn't [01:51] sadly if it's in 1.18.3 i think we need to [01:51] axw: I was trying to keep the diff small [01:51] you might not think that... [01:51] but I did [01:51] :) [01:52] I'll review the use of coreerrors [01:52] it was mostly trivial anyway [01:52] wallyworld_: sorry about that [01:52] no need to say sorry [01:52] wallyworld_: wish I had remembered there was an existing config earlier [01:52] axw: only 33 matches in 14 files [01:53] i should have picked it up in review [01:53] but we were rushed to try and get something to them [02:03] sinzui: are you awake? [02:04] sinzui: actually never mind... question is for someone else [02:04] wallyworld_: do you know if the bot uses juju-mongodb? [02:04] or just mongodb-server [02:05] axw: not sure but i can check, just otp at the moment [02:05] sure [02:08] aws It was using mongodb-server [02:08] jam1 forced it to install [02:08] axw, ^ sorry It is a bit late [02:09] sinzui: thanks [02:09] axw, and CI installs both mongos for the trusty test as of last week [02:09] ok cool [02:24] axw: reading through the code. does azure call a vm a "role"? [02:25] waigani: yes that is right [02:25] waigani: there is a doc on azure in dthe docs directory [02:25] okay, I should probably read that [02:25] axw: and the api lib is called gwacl. Both very misleading [02:26] waigani: roles can be things other than VMs, but for our purposes they are the same [02:27] axw: just within azure right? [02:27] yes, azure roles [02:27] axw: we might be introducing authorisation roles for users [02:28] ah, yeah, totally different type of role :) [02:28] yeah! [02:30] gah... dumb gobot [02:30] * thumper tries to remember how to get there [02:31] thumper: 10.55.61.118 [02:31] wallyworld_: I have an alias called "gobot" [02:31] wallyworld_: that does the ssh for me so I don't have to think === vladk|offline is now known as vladk [04:07] \o/ r2731 [04:07] * thumper does a little dance [04:07] * thumper loses energy and goes back to writing planning documents [04:31] davecheney, waigani, menn0: iteration one email sent out, I'm still working on the work item breakdown [04:40] thumper, davecheney, menn0: first pass over codebase's current use of identity: https://docs.google.com/a/canonical.com/document/d/1t8i0uHuHM3zgPC8QF0_v_K3SB6syXM32IxTZGIJd_f0/edit# [04:49] thumper: ta [05:26] wallyworld_: heading out shortly, will review your test suite branch when I get back [05:26] ok, ta [05:26] finally got it all to work [06:05] can anyone help me with a bzr newbie question? [06:25] fwereade: when you're around, I would like to run something by you quickly [07:11] jam: is gobot running in lcy01 or lcy02? and do you know the constraints of the machine? [07:11] jam: I can't reproduce the peergrouper error locally, but it's happening pretty frequently on the bot now... [07:12] axw: I believe we've bounced back and forth, but right now we're on lcy01with a dual-core 4GB machine [07:12] axw: it is also running precise, if that matters [07:12] jam: cool, thanks [07:41] morning [07:41] jam: just answered your mail, free for a hangout now [07:42] TheMue: morning. I'm jut finishing up some stuff, can we chat in about 1 hr? [07:42] jam: yep, I’m ready when you are [07:43] jam: hmm, just wrote you that I’ve read your mail and answered it directly after my „morning“, but cannot see it here *stunning* seems I accidently cancelled the sending :( [07:44] oh,done a refresh now, it’s there. strange. [07:44] I got it [07:45] jam: yeah, I see it now. looks like a display problem with my client. [08:34] morning all [08:40] voidspace: heya === vladk is now known as vladk|offline [08:52] jam: would you mind importing my lp key into the bot? I'd like to have a look around to see if there's something different to the instance I created; I still can't reproduce the error even in lcy01 with the same constraints [08:53] axw: axwalk? [08:53] jam: yup [08:54] axw: done 10.55.61.118 is the IP [08:54] thanks [08:55] jam: sorry, what user? [08:56] system login [08:58] nm, realised it's ubuntu [09:03] fwereade: never realised comprise could be used like that; I always use compose in that case [09:04] axw, it's a funny word, part of me always worries that I'm using it the wrong way round [09:04] fwereade: SIGABRT tells the machine agent to exit with ErrTerminateAgent, which is what causes a cleanup [09:05] fwereade: it's for the manual provider, but I don't think we actually need it anymore [09:05] axw, a cleanup on the state server though? or just a local cleanup of the upstart conf etc? [09:05] fwereade: the Destroy method for manual does all the things now anyway, in case the machine agent didn't get set up correctly [09:05] umm [09:05] removes the upstart conf, and deletes the data-dir [09:06] axw, yeah, thought so [09:06] axw, I am definitely wondering if we still want it [09:06] axw, it's a bit of a drastic kill-switch in general I think [09:07] fwereade: the main benefit is that the server may know about things that the client does not [09:07] fwereade: e.g. if the server is a version ahead of the client [09:10] axw: you ssh in as ubuntu, the test suite runs as user "tarmac" [09:11] jam: thanks. I was hoping not to have to run them manually, but I can't see any obvious discrepancies. what's the protocol for locking the bot so I can run tests manually? [09:11] axw: flock -n /home/tarmac/tarmack.lock sleep 3600 [09:11] is what I run in screen [09:12] (screen -xRR as the Ubuntu user will get you some interesting shells [09:12] thanks [09:12] argh! ascii goatse [09:13] axw: I said they were interesting, I didn't specify SFW :) [09:13] ;) [09:13] I do think ascii goatse would lose some of its oomph [09:32] fwereade: that shouldEnableHA code is intended to be temporary; certainly if/when the local provider is changed to have an external provider agent, we could enable it for all providers [09:32] fwereade: it's only disabled at all right now because there's a bug in the replicaset initiation code (or mongo?) [09:32] theoretically it should be fine to initiate with a single member [09:35] axw: so wallyworld_ had tests fail with --replicaSet passed, but neither thumper nor I had the test suite fail with it. [09:36] jam: yeah. I think there may have been failures on the bot too? or CI? I forget [09:36] I believe CI said that local was failing for them [09:36] so AFAIK we don't do anything special for local, so really it's a bit of a hack to disable it for local [09:36] we're probably just papering over general brokenness [09:41] axw: yeah, my concern is that it really is something that would be failing ,we are just *noticing* in the CI local tests. [09:41] axw: there *is* a reason to disable HA for local, because only machine-0 can actually do provisioning [09:41] jam: yes, true, for now [09:41] though I'm reluctant to have lots of special code paths just for that. [09:41] agreed [09:45] i only put in the local hack cause we needed to cut a new release and time was running out [09:46] wallyworld_: sure, but it was also supported because of questions about "should we really have HA with local", which seems to go around a bit in circles [09:46] well yeah, but would be nice to have it to experiment, even wit the machine 0 limitation [09:53] good morning everyone [09:54] perrito666: morning [09:56] * perrito666 makes some effort to avoid falling asleep in the kb [09:56] perrito666: at least those keys usually are pokey enough to help keep you awake :) [10:06] are we doing the big team meeting? [10:06] perrito666: for people that want to be there [10:06] perrito666: yes, now [10:07] are you guys actually in the meeting? [10:07] I thought we were going to stop that one [10:08] * thumper wanders off for a bit [10:08] thumper: we're doing it [10:16] http://www.zdnet.com/canonical-juju-devops-tool-coming-to-centos-and-windows-7000029418/#ftag=RSS510d04f [10:17] Juju on windows and CentOS!! [10:17] we'd better make it happen then [10:18] according to that article we've already done it... [10:22] They were demoing Windows at ODS [10:22] natefinch: cool [10:27] anyone know the url to the github repo for docs? [10:27] I'd like to add a note about the HA logging [10:28] voidspace github.com/juju/docs iirc [10:28] github.com/juju/docs [10:29] thanks [10:29] voidspace: my understanding through the channels is that it is a bunch of "if $PLATFORM" hacks, but does "work" [10:29] jam: right [10:32] what is evil nick's nick? (irc handle) [10:32] jam: the article starts with [10:33] " No news may have been more surprising than that Canonical had ported its Juju DevOps program to its rival's operating systems: Red Hat's CentOS and Microsoft's Hyber-V and Windows Server 2012." [10:33] evilnick, IIRC [10:33] Certainly surprising to me that we've ported it to CentOS :-) [10:33] voidspace: well the client probably almost "just works" there, but Mark was pretty clear that it is "in the next few weeks" and not "already working" [10:33] Although later the article does say "Thanks to a customer request, Canonical will be releasing Juju for CentOS." [10:33] though "in the next few weeks" is still pretty ambitious [10:33] right, it's just typical tech-journal hyperbole [10:34] yep :-) [10:34] depending on your definition of "few" === vladk|offline is now known as vladk [10:50] jam: we have an api call (server side implementation) that does it's permissions check with: [10:50] "if !api.canModify {" [10:50] what permission is that checking for? [10:50] jam: answer when you have spare cycles... no rush [10:51] I can provide more context to the question [10:51] I think the specific test that is failing may not make sense any more [10:51] voidspace: which set of code? [10:51] rsyslog ? [10:51] this is in state/apiserver/rsyslog/rsyslog.go [10:51] so yes [10:51] canModify: authorizer.AuthEnvironManager(), [10:52] voidspace: so this was checking whether you are allowed to do something like set the ca-cert [10:52] the test is checking that calling SetRsyslogCert fails with a permissions error appropriately [10:52] and only EnvironManagers (aka state servers) were supposed to be allowed. [10:52] right, that's what I suspected [10:52] the test does [10:52] st.Rsyslog().SetRsyslogCert(coretesting.CACert) [10:52] voidspace: we don't want generic Machine/Unit agents be abel to set it, but they need to be able to read it [10:53] voidspace: sure, it should be done with an Authorizer that doesn't have AuthEnvironManager() [10:53] If that API is exposed then we should test that !EnvironManagers get a permission failure trying to call it [10:53] hmmm... [10:54] voidspace: apiserver/testing.FakeAuthorizer generally gives you lots of ability to tweak things. [10:54] jam: so the problem is that the test was previously doing "s.OpenAPIAsNewMachine(c, state.JobHostUnits)" [10:54] but that was failing because we need a "real" state server in order to be able to access st.Rsyslog() [10:55] bbl [10:55] but changing it to JobManageEnvirons causes the test to fail because there is no permissions error [10:55] so I think I need to create a state server, but then make this call from a unit [10:55] fwereade: after the next meeting i'd like to have a quick chat about the BaseSuite stuff if you have some time [10:55] jam: thanks [10:56] voidspace: I don't quite understand what you mean about the real state server to access st.Rsyslog(), you can create a machine entity which has JobManageEnviron and then create *another* one that doesn't [10:56] st.Rsyslog() fails with "no state servers can be found" [10:56] because Rsyslog checks APIHostPorts and if this is empty that call errors [10:57] voidspace: sure, there is a general thing that JujuConnSuite doesn't create a Machine-0 for you that has JobManageEnviron, you should be able to look around for tests that create one [10:57] and then do that firsrt [10:57] and then do OpenAPIAsNewMachine() [10:57] and then the rest of the test probably doesn't need much changing. [10:57] yep, that's what I meant - create a state server (and set address) but call Rsyslog from a machine with JobHostUnits [10:58] and that now passes [10:58] voidspace: right, so like state/apiserver/client/client_test.go line 2198 is creating machine0, but is connecting to the API server as Client [10:58] voidspace: cheers [10:59] no file should *ever* have a line 2198 :-D [10:59] +100 [11:00] jam: I've done this [11:00] https://pastebin.canonical.com/110265/ [11:00] I remember a 1000 line function from one of my early jobs... now I can't imagine how it wasn't broken up [11:00] jam: is s.State.AddMachine(...) preferable, or just a different spelling of the same thing? [11:01] voidspace: I believe OpenAPIAsNewMachine does s.State.AddMachine behind the scenes, but then goes on and connects to stuff, which you don't actually use [11:01] so just doing the s.State.AddMachine is prob better [11:01] jam: right, I'll try that then - thanks [11:02] to be fair, huge files are *less* of an issue for test files [11:02] still not ideal though [11:02] brb [11:02] voidspace: I'd be happy with a "// ensure there is a machine-0 so we have an address to copy logs to" [11:03] jam: yep, good call === vladk is now known as vladk|offline === vladk|offline is now known as vladk === vladk is now known as vladk|offline [11:49] wwitzel3: ping === psivaa is now known as psivaa-afk [12:07] voidspace: pong [12:23] TheMue: do you feel like you have enough guidance to start working on cleaning up the giant agenda doc, or do you need some more discussion? [12:25] jam: in my first step I’m running through the doc and make my notes what I think it is to change (from should/want to we do) and what is to cleanup [12:25] jam: in a second run I would like to share it with you to discuss it [12:26] jam: I’m currently working in a copy of that doc [12:27] that sounds good [12:27] wwitzel3: hey, hi [12:27] voidspace: hangout? [12:27] wwitzel3: so I have all tests passing in our branch [12:27] wwitzel3: sure === vladk|offline is now known as vladk [12:50] lunch [13:27] voidspace: it ended up being a permissions issue [13:27] voidspace: I pushed the changes, tested successfully with ec2 and maas [13:28] jam: did yo really mean to invite me to this meeting? "Every 3 weeks from 23:00 to 00:00 on Wednesday (ART)" [13:28] perrito666: I just sent out an email to canonical-juju explaining it [13:28] voidspace: I'm going to start fleshing out some of the test cases a bit more and working on doc [13:28] the idea is that the weekly meeting starts rotating by 8 hours [13:28] so some of them you can't make [13:28] hopefully most you can === psivaa-afk is now known as psivaa === vladk is now known as vladk|offline === vladk|offline is now known as vladk [13:47] booya, gojsonschema now apache2 licensed === BradCrittenden is now known as bac [13:54] bodie_: nice! [14:08] wwitzel3: cool, I suspected as much [14:09] wwitzel3: yup, MachineAgent *or* UnitAgent [14:09] voidspace: yep [14:09] I wondered if that would be the fix :-) [14:09] wwitzel3: nice work, thanks [14:09] grabbing coffee [14:15] wwitzel3: I have some simple docs by the way [14:15] jam, natefinch : is anyone about to look into bug 1319822 [14:15] <_mup_> Bug #1319822: lxc unit tests broken for trusty [14:16] wwitzel3: http://pastebin.ubuntu.com/7467981/ [14:16] ^ telling my CI is mis-configured is an acceptable answer [14:16] sorry about the line wrapping [14:18] voidspace: cool, I just pushed some comment updates [14:27] sinzui: seems it's likely an environmental issue, but I'm not sure exactly what's going on there [14:28] voidspace: did the initial propose, figure people can start looking at it now while we button things up with doc [14:28] fwereade: are you back? [14:28] wwitzel3: ok [14:28] cool [14:29] natefinch, jam, fwereade, voidspace: https://codereview.appspot.com/94510043/ (rsyslog API/watcher changes), fixes bug #1310268 [14:29] <_mup_> Bug #1310268: rsyslog should accumulate on all state machines [14:29] natefinch, the trusty unit-tests setup forces mongodb-server. I don't think it is a factor. trusty /could/ get a newer lxc, but I hasn't [14:30] voidspace: I'm going to test what happens with multiple units --to the same machine, then doing ensure-availability [14:30] great [14:30] voidspace: also that doc you wrote LGTM [14:30] wwitzel3: I'll go though checking our test coverage [14:30] wwitzel3: cool - I sent an email to juju list asking where it should go, but I didn't see the email land [14:31] wwitzel3: ah, it did - curtis replied [14:32] and Nick [14:32] I'll put those in a github issue [14:34] sinzui: you on the cross team call? [14:37] I am [14:37] natefinch, after the call cmars has suggested you guys could do with some help on the ha work, ping me when you have a moment and we'll see if there's anything I can help with [14:37] mattyw: that would be awesome [15:23] I'm off to pick up some chicks (of the baby chicken variety). Back in like an hour and a half-ish. === natefinch is now known as natefinch-afk [15:24] I must say natefinch has the best bbl messages [15:27] perrito666: haha, yeah [15:28] mm, what is the proper way to make juju look for juju-local in gopath? [16:34] jam: ping [16:56] mm, juju local is broken? [16:56] I mean in trunk === vladk is now known as vladk|offline [17:25] perrito666: local provider or the juju-local package? [17:25] voidspace: no, I built the one from trunk and am using that, but I suspect is not working so well [17:25] perrito666: juju local what though? [17:26] perrito666: I thought juju-local was just an empty package to declare dependencies [17:26] perrito666: what on trunk did you build/ [17:26] ? [17:27] voidspace: I meant juju-local the binary [17:27] :) [17:27] oh [17:27] heh [17:28] perrito666: fair enough :-) [17:28] which bootstraps but the bootstraped env has address localhost, which is wrong [17:29] hmmm... doesn't sound good [17:29] but I'm EOD [17:29] voidspace: have a nice day [17:29] perrito666: thanks === natefinch-afk is now known as natefinch [17:34] I'm back, sadly without chicks. [17:35] natefinch: eggs, a hot lamp and time? [17:36] perrito666: haha, no. When I called, they said the chicks had come in, but it turns out only half their order had come in - sadly, the half that had the varieties we were not interested in [17:36] natefinch: I am slightly curious, what are you going to do with the chicks? [17:40] perrito666: they're egg layers. We eat some and sell most of them to a local hostel [17:42] natefinch: you are a full fledged farmer [17:44] perrito666: heh... I have chickens and bees and a vegetable garden. Not really a farmer, but working my way there. Someday we'll have goats and maybe pigs... right now the kids kinda make that too much to take on. [17:44] natefinch, that sounds like farming to me [17:45] natefinch: and don’t forget your coffee [17:45] yummy [17:45] does your vegetable garden require a tractor to sow? [17:46] natefinch, I'm going to be ending my day soon, do you have a few minutes to talk about ha work items you need help with? [17:46] natefinch: heh, too much work, I only do bread and yogurt [17:46] mattyw: haha... I wish, then I'd have an excuse to buy a tractor ;) [17:46] TheMue: I roast coffee, but I don't grow it, that hardly counts :) [17:46] mattyw: yes, sorry I didn't get to you earlier. [17:46] natefinch: I know, but it’s still very special [17:47] natefinch, no problem at all [17:48] perrito666: btw, are you working on that APIWorker thing? If so, you should assign the card to yourself and put it in doing [17:48] natefinch: yup sorry [17:49] mattyw: we have our kanban board here, my team is Moonstone, so you can see the stuff that is in the "2 week planning" which is essentially the "Todo" lane (ignore the actual todo lane, that's not in current use) https://canonical.leankit.com/Boards/View/103148069#workflow-view [17:50] mattyw: anything not assigned to anyone is up for grabs. [17:50] natefinch, it appears that my leankit account has been deactivated (despite me asking it not to be) [17:57] mattyw: doh, I'll talk to IS about getting it set back up [17:59] mattyw: you can look here instead, this is basically the same stuff: https://docs.google.com/a/canonical.com/document/d/17yV2hZHhTch7fn33s3qJoT3qXJrXSeD40z8k7Rt90I8/edit [17:59] mattyw: how familiar are you with the juju-core code? [18:02] mattyw: we can talk tomorrow too, if that's easier. I don't want to keep you past EOD [18:05] natefinch: https://codereview.appspot.com/94510043/ when you have a chance (rsyslog stuff from voidspace and myself) [18:05] wwitzel3: sweet, I'll take a look [18:07] natefinch, I'm "hopefully" in the process of getting my leankit account setup again [18:08] mattyw: [18:08] cool [18:08] somehow hit enter rather than space... stupid fingers [18:09] natefinch: they are close... :p [18:10] natefinch, I've done some stuff with the api before, and a little bit of stuff around the service docs in the state server, but that's about it [18:13] natefinch, yeah, if it's ok with you can we talk tomorrow morning (your time) about ha and I'll pick something up [18:13] mattyw: that's cool. Have a good evening, we can talk tomorrow. [20:54] fwereade, the thinking behind "actionsspec" was that Actions would be the list of actions on the state [20:54] I guess a charm can't have a list of actions :) [20:55] bodie_, hey, I'm here now for a bit [20:55] bodie_, need to push that code for jcw4, it depends on some more code I should push, need a few mins [20:55] right on. I'm still mid-stride with the last bits here in state [20:55] added actions.yaml, reader, and charm member [20:56] I don't want it to become another monolithic commit but adding it as a piece of the Charm interface has a pretty long-reaching effect [20:56] however I think I've been able to pare it down significantly from what we had before [21:02] bodie_, you could rationally add the types and reader to the charm package without needing to hit anything else -- not even reading them when you read a charm [21:02] ah [21:02] bodie_, adding a type and actually using it in 2 CLs generally makes me pretty happy even :) [21:02] ^_^ [21:03] should I snip the other bits out then? I figured the mission was "add Actions to Charm" [21:03] bodie_, and inevitably the second CL includes a tweak or 2 to adapt to reality, but that's just fine [21:03] which, I think is mostly pushed through by now [21:03] bodie_, sure, but the more and smaller the steps you take to get there the smoother everything usually goes -- but if it's bigger don't let that stop you either [21:03] I can of course yoink the relevant bits but I think this is pretty sane [21:03] okay, cool [21:04] hi ppl. [21:04] menn0, heyhey [21:04] fwereade: do you not sleep? :-p [21:04] menn0, I'm well behind wallyworld_ in the no-sleep stakes :) [21:04] menn0, and actually I had a nap this afternoon so I'm feeling a bit guilty about that ;) [21:05] no rest for the wicked! [21:05] fair enough [21:05] question: I picked up this yesterday but it appears that it's already been fixed. https://bugs.launchpad.net/juju-core/+bug/1194481 [21:05] <_mup_> Bug #1194481: Can't determine which relation is in error from status [21:06] menn0, hmm, I knew we recorded the necessary information, didn't remember that we actually exposed that in status [21:06] menn0, do we expose the relation id, or just the name? [21:06] actually, now that I re-read the ticket... I think I understand the problem more. [21:07] the full hook name is given but the relation isn't [21:07] nevermind [21:07] menn0, knowing that mysql's "db" relation has an error is not quite all we need; it might be driving wordpress, mediawiki, etc [21:07] menn0, cool [21:07] menn0, that info is in the status data dict [21:07] fwereade: yeah but the StatusData map isn't pushed through the API yet [21:08] o/ [21:08] i'll sort that out! [21:08] * thumper has a haircut appt shortly [21:08] thumper: \o [21:08] thumper, heyhey [21:08] menn0, heh, "dict", my python is showing [21:09] fwereade: I noticed but chose not to tease you :) [21:10] jcw4, https://codereview.appspot.com/94540043 is a quick hack that I'm not yet sure is a good idea; but it does involve adding a new cleanup type, as I suspect we'll need to deal with actions referencing dead units [21:11] fwereade: thanks~ [21:12] fwereade: StatusData doesn't have the relation name either so I may have to fix that. Or is it easy to derive the relation name from the id? [21:12] * thumper back soonish [21:13] menn0, name is a tricky concept in a relation, the two sides might call it different things [21:13] menn0, but, yes, you can look up relations be id and get a human-readable name out [21:13] menn0, eg "wordpress:mysql mysql:db" [21:13] fwereade, I'm starting to think this MR is going to be a little out of control, but again, broad scope.... well, maybe you can give me a little feedback in a couple of minutes here [21:14] menn0, that's a pair of "endpoints" -- not sure if you cast an eye over doc/glossary.txt? [21:14] fwereade: that makes sense. I guess I need to figure out if juju status has enough information to figure out the appropriate endpoint name from just the relation-id and the unit. [21:15] fwereade: or if I need to put more in to the StatusData map so that it can show the required info [21:15] fwereade: yep, I have read glossary.txt [21:15] menn0, you shouldn;t need more in the statusdata map -- just get it if you need it when you're generating the actual status [21:16] fwereade: cool [21:16] fwereade: per your cleanup code... I would add code to cleanupDyingUnit for scrubbing Actions? [21:16] jcw4, well, it'd be a deadUnit cleanup, but yeah [21:16] bingo [21:17] fwereade: got it [21:17] fwereade: first step then is to thread StatusData through the API, which I think I've almost done [21:18] fwereade: should I merge your branch in, or just emulate it and we'll merge before landing? [21:19] jcw4, I would just clone the structure, all the *actual* code will be different I think [21:20] menn0, not 100% sure there -- see state/apiserver/client.go:525 [21:20] fwereade: ok so by clone you mean copy and modify for Dead vs. Dying? [21:20] menn0, one thing we did discuss at the sprint -- but I forget under what heading -- was the unification of the AllWatcher data stream and the Status result [21:21] menn0, they're different for no good reason ATM [21:22] menn0, if (as I think it is) it's in the AllWatcher stream, consider poking it into status in a vaguely similar way -- but *consider*, it might be crazy/impossible to do so [21:22] * menn0 looks at code. knows nothing about AllWatcher stream. [21:22] menn0, ideally we'll let the two formats converge and have CLI status just be a wrapper converting exactly the same data into the existing output format [21:23] menn0, but I don;t want to trigger crazy refactorings in the course of this bug fix [21:23] menn0, just do it if it's easy :) [21:23] jcw4, I think you'll find there;s little that actually gets copied [21:23] fwereade: I will have a go [21:23] jcw4, a branch in the switch, but new and different code for (1) queuing it and (2) handling it [21:24] fwereade: yeah.. okay -- the code helps tremendously as a guide [21:24] jcw4, cool [21:24] fwereade: that line number in state/apiserver/client.go doesn't seem at all relevant to our discussion. It lands me half way down GetServiceConstraints [21:24] fwereade: I've just pulled to be sure [21:24] menn0, balls, sorry: /client/status.go [21:26] menn0, FWIW there's another TODO in that about maybe not hitting the DB at least twice for each relation -- might be good to address that one tbh, rather than worrying about AllWatcher now [21:27] fwereade: I've already spiked to address that TODO in status.go :) [21:27] * fwereade cheers at menn0 [21:27] fwereade: I'll check out the other TODO as well [21:33] * menn0 is having fun [21:39] * fwereade is happy [21:40] * fwereade maybe bbiab, but most likely going to sleep [22:02] menn0: what bug are you working on? [22:03] waigani: https://bugs.launchpad.net/juju-core/+bug/1194481 [22:03] <_mup_> Bug #1194481: Can't determine which relation is in error from status === Ursinha is now known as Ursinha-afk [22:14] rick_h_: around? [22:14] rick_h_: I'd like to understand some more the charmstore work [22:15] also... [22:15] damnit [22:15] I had a great idea for an email I was going to write to the juju-dev list outlining something [22:15] and now it has gone [22:15] * thumper sits back and thinks through what he was thinking through [22:16] oh [22:16] that was it [22:16] yay [22:16] note to self: email juju-dev about schema upgrade process [22:23] thumper: around [22:23] rick_h_: got time? [22:23] thumper: sure, sec === Ursinha-afk is now known as Ursinha [22:24] rick_h_: https://plus.google.com/hangouts/_/gsd6yrioblijf2oz3fvdnyesjma?hl=en [23:44] davecheney: re: https://github.com/juju/errgo/pull/2/files I don't get why this fixes the errgo tests, but when called from juju/errors it behaves correctly (given the extra generated method that we now side step) [23:44] davecheney: can you explain it? [23:50] is it related to the testing module? [23:50] that is the only other difference between the tests, juju/errors uses gocheck whereas juju/errgo just uses the builtin testing module