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

bigjools$ juju status00:16
bigjoolsERROR state/api: websocket.Dial wss://10.55.60.209:17070/: EOF00:16
bigjoolswhat does that mean?00:16
bigjoolseverything is up AFAICS00:16
bigjoolswell, here we go:00:28
bigjools-rw-r----- 1 syslog adm    25G May 13 06:38 all-machines.log00:28
bigjools-rw-r--r-- 1 root   root   23G May 15 00:28 machine-0.log00:28
bigjoolsFiled https://bugs.launchpad.net/juju-core/+bug/131960800:33
_mup_Bug #1319608: Poor error message when "status" fails <juju-core:New> <https://launchpad.net/bugs/1319608>00:33
bigjoolsand https://bugs.launchpad.net/juju-core/+bug/131960700:33
_mup_Bug #1319607: Logs are not rotated <juju-core:New> <https://launchpad.net/bugs/1319607>00:33
=== Ursinha is now known as Ursinha-afk
menn0well I just learned something. If you put "NOT LGTM" in a review, Rietveld counts that as disapproval.00:48
davecheneyyup00:55
bigjoolsaxw: the dupe detector never works in LP does it? :)01:08
bigjoolsyou'd think my keywords would have matched that one you duped it to01:08
axwbigjools: took me a few searches too01:11
axwbigjools: only "logrotate" came up with it01:11
bigjoolsurgh01:11
bigjoolsI must admit I was surprised when I didn't see a dupe01:11
bigjoolshey 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
bigjoolsjust a regular dist upgrade?01:12
axwI'm not sure that we have an approved method... I actually don't know what happens if you change series underneath juju01:13
axwwallyworld_: I'm ready whenever you want to have a standup01:17
wallyworld_sure01:18
=== Ursinha-afk is now known as Ursinha
bigjoolsaxw: it's an interesting question in the context of a distro going out of support01:26
axwbigjools: agreed, I just don't know the answer ;)01:29
thumperaxw, wallyworld_: small review? https://codereview.appspot.com/93410043/01:37
wallyworld_ok01:37
axwfunny man01:38
wallyworld_wtf01:38
wallyworld_small01:38
axwthumper: reviewed01:49
thumperthanks01:49
thumperI was trying to be funny 8-)01:49
axwwallyworld_: I think lxc-use-clone made it into 1.18.3 didn't it?01:49
thumperbut didn't notice the responses until my client pinged me01:49
axwwallyworld_: so I think we should technically handle upgrade/deprecation warning01:50
axwbut I wonder if it's really worthwhile, given how long it's been out01:50
wallyworld_axw: ah, yeah. for some reason i had convinced myself it hadn't01:50
wallyworld_sadly if it's in 1.18.3 i think we need to01:51
thumperaxw: I was trying to keep the diff small01:51
thumperyou might not think that...01:51
thumperbut I did01:51
axw:)01:51
thumperI'll review the use of coreerrors01:52
axwit was mostly trivial anyway01:52
axwwallyworld_: sorry about that01:52
wallyworld_no need to say sorry01:52
axwwallyworld_: wish I had remembered there was an existing config earlier01:52
thumperaxw: only 33 matches in 14 files01:52
wallyworld_i should have picked it up in review01:53
wallyworld_but we were rushed to try and get something to them01:53
axwsinzui: are you awake?02:03
axwsinzui: actually never mind... question is for someone else02:04
axwwallyworld_: do you know if the bot uses juju-mongodb?02:04
axwor just mongodb-server02:04
wallyworld_axw: not sure but i can check, just otp at the moment02:05
axwsure02:05
sinzuiaws It was using mongodb-server02:08
sinzuijam1 forced it to install02:08
sinzuiaxw, ^ sorry It is a bit late02:08
axwsinzui: thanks02:09
sinzuiaxw, and CI installs both mongos for the trusty test as of last week02:09
axwok cool02:09
waiganiaxw: reading through the code. does azure call a vm a "role"?02:24
axwwaigani: yes that is right02:25
axwwaigani: there is a doc on azure in dthe docs directory02:25
waiganiokay, I should probably read that02:25
waiganiaxw: and the api lib is called gwacl. Both very misleading02:25
axwwaigani: roles can be things other than VMs, but for our purposes they are the same02:26
waiganiaxw: just within azure right?02:27
axwyes, azure roles02:27
waiganiaxw: we might be introducing authorisation roles for users02:27
axwah, yeah, totally different type of role :)02:28
waiganiyeah!02:28
thumpergah... dumb gobot02:30
* thumper tries to remember how to get there02:30
wallyworld_thumper: 10.55.61.11802:31
thumperwallyworld_: I have an alias called "gobot"02:31
thumperwallyworld_: that does the ssh for me so I don't have to think02:31
=== vladk|offline is now known as vladk
thumper\o/ r273104:07
* thumper does a little dance04:07
* thumper loses energy and goes back to writing planning documents04:07
thumperdavecheney, waigani, menn0: iteration one email sent out, I'm still working on the work item breakdown04:31
waiganithumper, 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:40
davecheneythumper: ta04:49
axwwallyworld_: heading out shortly, will review your test suite branch when I get back05:26
wallyworld_ok, ta05:26
wallyworld_finally got it all to work05:26
menn0can anyone help me with a bzr newbie question?06:05
jamfwereade: when you're around, I would like to run something by you quickly06:25
axwjam: is gobot running in lcy01 or lcy02? and do you know the constraints of the machine?07:11
axwjam: I can't reproduce the peergrouper error locally, but it's happening pretty frequently on the bot now...07:11
jamaxw: I believe we've bounced back and forth, but right now we're on lcy01with a dual-core 4GB machine07:12
jamaxw: it is also running precise, if that matters07:12
axwjam: cool, thanks07:12
TheMuemorning07:41
TheMuejam: just answered your mail, free for a hangout now07:41
jamTheMue: morning. I'm jut finishing up some stuff, can we chat in about 1 hr?07:42
TheMuejam: yep, I’m ready when you are07:42
TheMuejam: 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:43
TheMueoh,done a refresh now, it’s there. strange.07:44
jamI got it07:44
TheMuejam: yeah, I see it now. looks like a display problem with my client.07:45
voidspacemorning all08:34
TheMuevoidspace: heya08:40
=== vladk is now known as vladk|offline
axwjam: 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 constraints08:52
jamaxw: axwalk?08:53
axwjam: yup08:53
jamaxw: done 10.55.61.118 is the IP08:54
axwthanks08:54
axwjam: sorry, what user?08:55
axwsystem login08:56
axwnm, realised it's ubuntu08:58
axwfwereade: never realised comprise could be used like that; I always use compose in that case09:03
fwereadeaxw, it's a funny word, part of me always worries that I'm using it the wrong way round09:04
axwfwereade: SIGABRT tells the machine agent to exit with ErrTerminateAgent, which is what causes a cleanup09:04
axwfwereade: it's for the manual provider, but I don't think we actually need it anymore09:05
fwereadeaxw, a cleanup on the state server though? or just a local cleanup of the upstart conf etc?09:05
axwfwereade: the Destroy method for manual does all the things now anyway, in case the machine agent didn't get set up correctly09:05
axwumm09:05
axwremoves the upstart conf, and deletes the data-dir09:05
fwereadeaxw, yeah, thought so09:06
fwereadeaxw, I am definitely wondering if we still want it09:06
fwereadeaxw, it's a bit of a drastic kill-switch in general I think09:06
axwfwereade: the main benefit is that the server may know about things that the client does not09:07
axwfwereade: e.g. if the server is a version ahead of the client09:07
jamaxw: you ssh in as ubuntu, the test suite runs as user "tarmac"09:10
axwjam: 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
jamaxw: flock -n /home/tarmac/tarmack.lock sleep 360009:11
jamis what I run in screen09:11
jam(screen -xRR as the Ubuntu user will get you some interesting shells09:12
axwthanks09:12
axwargh! ascii goatse09:12
jamaxw: I said they were interesting, I didn't specify SFW :)09:13
axw;)09:13
jamI do think ascii goatse would lose some of its oomph09:13
axwfwereade: 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 providers09:32
axwfwereade: it's only disabled at all right now because there's a bug in the replicaset initiation code (or mongo?)09:32
axwtheoretically it should be fine to initiate with a single member09:32
jamaxw: so wallyworld_ had tests fail with --replicaSet passed, but neither thumper nor I had the test suite fail with it.09:35
axwjam: yeah. I think there may have been failures on the bot too? or CI? I forget09:36
jamI believe CI said that local was failing for them09:36
axwso AFAIK we don't do anything special for local, so really it's a bit of a hack to disable it for local09:36
axwwe're probably just papering over general brokenness09:36
jamaxw: yeah, my concern is that it really is something that would be failing ,we are just *noticing* in the CI local tests.09:41
jamaxw: there *is* a reason to disable HA for local, because only machine-0 can actually do provisioning09:41
axwjam: yes, true, for now09:41
jamthough I'm reluctant to have lots of special code paths just for that.09:41
axwagreed09:41
wallyworld_i only put in the local hack cause we needed to cut a new release and time was running out09:45
jamwallyworld_: 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 circles09:46
wallyworld_well yeah, but would be nice to have it to experiment, even wit the machine 0 limitation09:46
perrito666good morning everyone09:53
voidspaceperrito666: morning09:54
* perrito666 makes some effort to avoid falling asleep in the kb09:56
jamperrito666: at least those keys usually are pokey enough to help keep you awake :)09:56
perrito666are we doing the big team meeting?10:06
jamperrito666: for people that want to be there10:06
voidspaceperrito666: yes, now10:06
thumperare you guys actually in the meeting?10:07
thumperI thought we were going to stop that one10:07
* thumper wanders off for a bit10:08
voidspacethumper: we're doing it10:08
voidspacehttp://www.zdnet.com/canonical-juju-devops-tool-coming-to-centos-and-windows-7000029418/#ftag=RSS510d04f10:16
voidspaceJuju on windows and CentOS!!10:17
voidspacewe'd better make it happen then10:17
voidspaceaccording to that article we've already done it...10:18
natefinchThey were demoing Windows at ODS10:22
voidspacenatefinch: cool10:22
voidspaceanyone know the url to the github repo for docs?10:27
voidspaceI'd like to add a note about the HA logging10:27
perrito666voidspace github.com/juju/docs iirc10:28
lazyPowergithub.com/juju/docs10:28
voidspacethanks10:29
jamvoidspace: my understanding through the channels is that it is a bunch  of "if $PLATFORM" hacks, but does "work"10:29
voidspacejam: right10:29
voidspacewhat is evil nick's nick? (irc handle)10:32
voidspacejam: the article starts with10:32
voidspace" 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
jamevilnick, IIRC10:33
voidspaceCertainly surprising to me that we've ported it to CentOS :-)10:33
jamvoidspace: 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
voidspaceAlthough later the article does say "Thanks to a customer request, Canonical will be releasing Juju for CentOS."10:33
jamthough "in the next few weeks" is still pretty ambitious10:33
voidspaceright, it's just typical tech-journal hyperbole10:33
voidspaceyep :-)10:34
jamdepending on your definition of "few"10:34
=== vladk|offline is now known as vladk
voidspacejam: we have an api call (server side implementation) that does it's permissions check with:10:50
voidspace"if !api.canModify {"10:50
voidspacewhat permission is that checking for?10:50
voidspacejam: answer when you have spare cycles... no rush10:50
voidspaceI can provide more context to the question10:51
voidspaceI think the specific test that is failing may not make sense any more10:51
jamvoidspace: which set of code?10:51
jamrsyslog ?10:51
voidspacethis is in state/apiserver/rsyslog/rsyslog.go10:51
voidspaceso yes10:51
jamcanModify:      authorizer.AuthEnvironManager(),10:51
jamvoidspace: so this was checking whether you are allowed to do something like set the ca-cert10:52
voidspacethe test is checking that calling SetRsyslogCert fails with a permissions error appropriately10:52
jamand only EnvironManagers (aka state servers) were supposed to be allowed.10:52
voidspaceright, that's what I suspected10:52
voidspacethe test does10:52
voidspacest.Rsyslog().SetRsyslogCert(coretesting.CACert)10:52
jamvoidspace: we don't want generic Machine/Unit agents be abel to set it, but they need to be able to read it10:52
jamvoidspace: sure, it should be done with an Authorizer that doesn't have AuthEnvironManager()10:53
jamIf that API is exposed then we should test that !EnvironManagers get a permission failure trying to call it10:53
voidspacehmmm...10:53
jamvoidspace: apiserver/testing.FakeAuthorizer generally gives you lots of ability to tweak things.10:54
voidspacejam: so the problem is that the test was previously doing "s.OpenAPIAsNewMachine(c, state.JobHostUnits)"10:54
voidspacebut that was failing because we need a "real" state server in order to be able to access st.Rsyslog()10:54
perrito666bbl10:55
voidspacebut changing it to JobManageEnvirons causes the test to fail because there is no permissions error10:55
voidspaceso I think I need to create a state server, but then make this call from a unit10:55
wallyworld_fwereade: after the next meeting i'd like to have a quick chat about the BaseSuite stuff if you have some time10:55
voidspacejam: thanks10:55
jamvoidspace: 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't10:56
voidspacest.Rsyslog() fails with "no state servers can be found"10:56
voidspacebecause Rsyslog checks APIHostPorts and if this is empty that call errors10:56
jamvoidspace: 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 one10:57
jamand then do that firsrt10:57
jamand then do OpenAPIAsNewMachine()10:57
jamand then the rest of the test probably doesn't need much changing.10:57
voidspaceyep, that's what I meant - create a state server (and set address) but call Rsyslog from a machine with JobHostUnits10:57
voidspaceand that now passes10:58
jamvoidspace: right, so like state/apiserver/client/client_test.go line 2198 is creating machine0, but is connecting to the API server as Client10:58
jamvoidspace: cheers10:58
voidspaceno file should *ever* have a line 2198 :-D10:59
natefinch+10010:59
voidspacejam: I've done this11:00
voidspacehttps://pastebin.canonical.com/110265/11:00
natefinchI remember a 1000 line function from one of my early jobs...  now I can't imagine how it wasn't broken up11:00
voidspacejam: is s.State.AddMachine(...) preferable, or just a different spelling of the same thing?11:00
jamvoidspace: I believe OpenAPIAsNewMachine does s.State.AddMachine behind the scenes, but then goes on and connects to stuff, which you don't actually use11:01
jamso just doing the s.State.AddMachine is prob better11:01
voidspacejam: right, I'll try that then - thanks11:01
voidspaceto be fair, huge files are *less* of an issue for test files11:02
voidspacestill not ideal though11:02
voidspacebrb11:02
jamvoidspace: I'd be happy with a "// ensure there is a machine-0 so we have an address to copy logs to"11:02
voidspacejam: yep, good call11:03
=== vladk is now known as vladk|offline
=== vladk|offline is now known as vladk
=== vladk is now known as vladk|offline
voidspacewwitzel3: ping11:49
=== psivaa is now known as psivaa-afk
wwitzel3voidspace: pong12:07
jamTheMue: 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:23
TheMuejam: 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 cleanup12:25
TheMuejam: in a second run I would like to share it with you to discuss it12:25
TheMuejam: I’m currently working in a copy of that doc12:26
jamthat sounds good12:27
voidspacewwitzel3: hey, hi12:27
wwitzel3voidspace: hangout?12:27
voidspacewwitzel3: so I have all tests passing in our branch12:27
voidspacewwitzel3: sure12:27
=== vladk|offline is now known as vladk
voidspacelunch12:50
wwitzel3voidspace: it ended up being a permissions issue13:27
wwitzel3voidspace: I pushed the changes, tested successfully with ec2 and maas13:27
perrito666jam: did yo really mean to invite me to this meeting? "Every 3 weeks from 23:00 to 00:00 on Wednesday (ART)"13:28
jamperrito666: I just sent out an email to canonical-juju explaining it13:28
wwitzel3voidspace: I'm going to start fleshing out some of the test cases a bit more and working on doc13:28
jamthe idea is that the weekly meeting starts rotating by 8 hours13:28
jamso some of them you can't make13:28
jamhopefully most you can13:28
=== psivaa-afk is now known as psivaa
=== vladk is now known as vladk|offline
=== vladk|offline is now known as vladk
bodie_booya, gojsonschema now apache2 licensed13:47
=== BradCrittenden is now known as bac
jcw4bodie_: nice!13:54
voidspacewwitzel3: cool, I suspected as much14:08
voidspacewwitzel3: yup, MachineAgent *or* UnitAgent14:09
wwitzel3voidspace: yep14:09
voidspaceI wondered if that would be the fix :-)14:09
voidspacewwitzel3: nice work, thanks14:09
voidspacegrabbing coffee14:09
voidspacewwitzel3: I have some simple docs by the way14:15
sinzuijam, natefinch : is anyone about to look into bug 131982214:15
_mup_Bug #1319822: lxc unit tests broken for trusty <lxc> <regression> <test-failure> <juju-core:Triaged> <https://launchpad.net/bugs/1319822>14:15
voidspacewwitzel3: http://pastebin.ubuntu.com/7467981/14:16
sinzui^ telling my CI is mis-configured is an acceptable answer14:16
voidspacesorry about the line wrapping14:16
wwitzel3voidspace: cool, I just pushed some comment updates14:18
natefinchsinzui: seems it's likely an environmental issue, but I'm not sure exactly what's going on there14:27
wwitzel3voidspace: did the initial propose, figure people can start looking at it now while we button things up with doc14:28
natefinchfwereade: are you back?14:28
voidspacewwitzel3: ok14:28
voidspacecool14:28
wwitzel3natefinch, jam, fwereade, voidspace: https://codereview.appspot.com/94510043/ (rsyslog API/watcher changes), fixes bug #131026814:29
_mup_Bug #1310268: rsyslog should accumulate on all state machines <debug-log> <ha> <juju-core:In Progress by wwitzel3> <https://launchpad.net/bugs/1310268>14:29
sinzuinatefinch, 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't14:29
wwitzel3voidspace: I'm going to test what happens with multiple units --to the same machine, then doing ensure-availability14:30
voidspacegreat14:30
wwitzel3voidspace: also that doc you wrote LGTM14:30
voidspacewwitzel3: I'll go though checking our test coverage14:30
voidspacewwitzel3: cool - I sent an email to juju list asking where it should go, but I didn't see the email land14:30
voidspacewwitzel3: ah, it did - curtis replied14:31
voidspaceand Nick14:32
voidspaceI'll put those in a github issue14:32
natefinchsinzui: you on the cross team call?14:34
sinzuiI am14:37
mattywnatefinch, 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 with14:37
natefinchmattyw: that would be awesome14:37
natefinchI'm off to pick up some chicks (of the baby chicken variety).  Back in like an hour and a half-ish.15:23
=== natefinch is now known as natefinch-afk
perrito666I must say natefinch has the best bbl messages15:24
wwitzel3perrito666: haha, yeah15:27
perrito666mm, what is the proper way to make juju look for juju-local in gopath?15:28
voidspacejam: ping16:34
perrito666mm, juju local is broken?16:56
perrito666I mean in trunk16:56
=== vladk is now known as vladk|offline
voidspaceperrito666: local provider or the juju-local package?17:25
perrito666voidspace: no, I built the one from trunk and am using that, but I suspect is not working so well17:25
voidspaceperrito666: juju local what though?17:25
voidspaceperrito666: I thought juju-local was just an empty package to declare dependencies17:26
voidspaceperrito666: what on trunk did you build/17:26
voidspace?17:26
perrito666voidspace: I meant juju-local the binary17:27
perrito666:)17:27
voidspaceoh17:27
voidspaceheh17:27
voidspaceperrito666: fair enough :-)17:28
perrito666which bootstraps but the bootstraped env has address localhost, which is wrong17:28
voidspacehmmm... doesn't sound good17:29
voidspacebut I'm EOD17:29
perrito666voidspace: have a nice day17:29
voidspaceperrito666: thanks17:29
=== natefinch-afk is now known as natefinch
natefinchI'm back, sadly without chicks.17:34
perrito666natefinch: eggs, a hot lamp and time?17:35
natefinchperrito666: 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 in17:36
perrito666natefinch: I am slightly curious, what are you going to do with the chicks?17:36
natefinchperrito666: they're egg layers.  We eat some and sell most of them to a local hostel17:40
perrito666natefinch: you are a full fledged farmer17:42
natefinchperrito666: 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
mattywnatefinch, that sounds like farming to me17:44
TheMuenatefinch: and don’t forget your coffee17:45
TheMueyummy17:45
mattywdoes your vegetable garden require a tractor to sow?17:45
mattywnatefinch, 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
perrito666natefinch: heh, too much work, I only do bread and yogurt17:46
natefinchmattyw: haha... I wish, then I'd have an excuse to buy a tractor ;)17:46
natefinchTheMue: I roast coffee, but I don't grow it, that hardly counts :)17:46
natefinchmattyw: yes, sorry I didn't get to you earlier.17:46
TheMuenatefinch: I know, but it’s still very special17:46
mattywnatefinch, no problem at all17:47
natefinchperrito666: btw, are you working on that APIWorker thing? If so, you should assign the card to yourself and put it in doing17:48
perrito666natefinch: yup sorry17:48
natefinchmattyw: 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-view17:49
natefinchmattyw: anything not assigned to anyone is up for grabs.17:50
mattywnatefinch, it appears that my leankit account has been deactivated (despite me asking it not to be)17:50
natefinchmattyw: doh, I'll talk to IS about getting it set back up17:57
natefinchmattyw: you can look here instead, this is basically the same stuff: https://docs.google.com/a/canonical.com/document/d/17yV2hZHhTch7fn33s3qJoT3qXJrXSeD40z8k7Rt90I8/edit17:59
natefinchmattyw: how familiar are you with the juju-core code?17:59
natefinchmattyw: we can talk tomorrow too, if that's easier.  I don't want to keep you past EOD18:02
wwitzel3natefinch: https://codereview.appspot.com/94510043/ when you have a chance (rsyslog stuff from voidspace and myself)18:05
natefinchwwitzel3: sweet, I'll take a look18:05
mattywnatefinch, I'm "hopefully" in the process of getting my leankit account setup again18:07
natefinchmattyw:18:08
natefinchcool18:08
natefinchsomehow hit enter rather than space... stupid fingers18:08
perrito666natefinch: they are close... :p18:09
mattywnatefinch, 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 it18:10
mattywnatefinch, yeah, if it's ok with you can we talk tomorrow morning (your time) about ha and I'll pick something up18:13
natefinchmattyw: that's cool.  Have a good evening, we can talk tomorrow.18:13
bodie_fwereade, the thinking behind "actionsspec" was that Actions would be the list of actions on the state20:54
bodie_I guess a charm can't have a list of actions :)20:54
fwereadebodie_, hey, I'm here now for a bit20:55
fwereadebodie_, need to push that code for jcw4, it depends on some more code I should push, need a few mins20:55
bodie_right on.  I'm still mid-stride with the last bits here in state20:55
bodie_added actions.yaml, reader, and charm member20:55
bodie_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 effect20:56
bodie_however I think I've been able to pare it down significantly from what we had before20:56
fwereadebodie_, 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 charm21:02
bodie_ah21:02
fwereadebodie_, adding a type and actually using it in 2 CLs generally makes me pretty happy even :)21:02
bodie_^_^21:02
bodie_should I snip the other bits out then?  I figured the mission was "add Actions to Charm"21:03
fwereadebodie_, and inevitably the second CL includes a tweak or 2 to adapt to reality, but that's just fine21:03
bodie_which, I think is mostly pushed through by now21:03
fwereadebodie_, 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 either21:03
bodie_I can of course yoink the relevant bits but I think this is pretty sane21:03
bodie_okay, cool21:03
menn0hi ppl.21:04
fwereademenn0, heyhey21:04
menn0fwereade: do you not sleep? :-p21:04
fwereademenn0, I'm well behind wallyworld_ in the no-sleep stakes :)21:04
fwereademenn0, and actually I had a nap this afternoon so I'm feeling a bit guilty about that ;)21:04
bodie_no rest for the wicked!21:05
menn0fair enough21:05
menn0question: I picked up this yesterday but it appears that it's already been fixed. https://bugs.launchpad.net/juju-core/+bug/119448121:05
_mup_Bug #1194481: Can't determine which relation is in error from status <hours> <observability> <ui> <juju-core:In Progress by menno.smits> <https://launchpad.net/bugs/1194481>21:05
fwereademenn0, hmm, I knew we recorded the necessary information, didn't remember that we actually exposed that in status21:06
fwereademenn0, do we expose the relation id, or just the name?21:06
menn0actually, now that I re-read the ticket... I think I understand the problem more.21:06
menn0the full hook name is given but the relation isn't21:07
menn0nevermind21:07
fwereademenn0, knowing that mysql's "db" relation has an error is not quite all we need; it might be driving wordpress, mediawiki, etc21:07
fwereademenn0, cool21:07
fwereademenn0, that info is in the status data dict21:07
menn0fwereade: yeah but the StatusData map isn't pushed through the API yet21:07
thumpero/21:08
menn0i'll sort that out!21:08
* thumper has a haircut appt shortly21:08
menn0thumper:   \o21:08
fwereadethumper, heyhey21:08
fwereademenn0, heh, "dict", my python is showing21:08
menn0fwereade: I noticed but chose not to tease you :)21:09
fwereadejcw4, 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 units21:10
jcw4fwereade: thanks~21:11
menn0fwereade: 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 soonish21:12
fwereademenn0, name is a tricky concept in a relation, the two sides might call it different things21:13
fwereademenn0, but, yes, you can look up relations be id and get a human-readable name out21:13
fwereademenn0, eg "wordpress:mysql mysql:db"21:13
bodie_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 here21:13
fwereademenn0, that's a pair of "endpoints" -- not sure if you cast an eye over doc/glossary.txt?21:14
menn0fwereade: 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:14
menn0fwereade: or if I need to put more in to the StatusData map so that it can show the required info21:15
menn0fwereade: yep, I have read glossary.txt21:15
fwereademenn0, you shouldn;t need more in the statusdata map -- just get it if you need it when you're generating the actual status21:15
menn0fwereade: cool21:16
jcw4fwereade: per your cleanup code... I would add code to cleanupDyingUnit for scrubbing Actions?21:16
fwereadejcw4, well, it'd be a deadUnit cleanup, but yeah21:16
jcw4bingo21:16
jcw4fwereade: got it21:17
menn0fwereade: first step then is to thread StatusData through the API, which I think I've almost done21:17
jcw4fwereade: should I merge your branch in, or just emulate it and we'll merge before landing?21:18
fwereadejcw4, I would just clone the structure, all the *actual* code will be different I think21:19
fwereademenn0, not 100% sure there -- see state/apiserver/client.go:52521:20
jcw4fwereade: ok so by clone you mean copy and modify for Dead vs. Dying?21:20
fwereademenn0, 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 result21:20
fwereademenn0, they're different for no good reason ATM21:21
fwereademenn0, 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 so21:22
* menn0 looks at code. knows nothing about AllWatcher stream.21:22
fwereademenn0, 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 format21:22
fwereademenn0, but I don;t want to trigger crazy refactorings in the course of this bug fix21:23
fwereademenn0, just do it if it's easy :)21:23
fwereadejcw4, I think you'll find there;s little that actually gets copied21:23
menn0fwereade: I will have a go21:23
fwereadejcw4, a branch in the switch, but new and different code for (1) queuing it and (2) handling it21:23
jcw4fwereade: yeah.. okay -- the code helps tremendously as a guide21:24
fwereadejcw4, cool21:24
menn0fwereade: that line number in state/apiserver/client.go doesn't seem at all relevant to our discussion. It lands me half way down GetServiceConstraints21:24
menn0fwereade: I've just pulled to be sure21:24
fwereademenn0, balls, sorry: /client/status.go21:24
fwereademenn0, 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 now21:26
menn0fwereade: I've already spiked to address that TODO in status.go :)21:27
* fwereade cheers at menn021:27
menn0fwereade: I'll check out the other TODO as well21:27
* menn0 is having fun21:33
* fwereade is happy21:39
* fwereade maybe bbiab, but most likely going to sleep21:40
waiganimenn0: what bug are you working on?22:02
menn0waigani: https://bugs.launchpad.net/juju-core/+bug/119448122:03
_mup_Bug #1194481: Can't determine which relation is in error from status <hours> <observability> <ui> <juju-core:In Progress by menno.smits> <https://launchpad.net/bugs/1194481>22:03
=== Ursinha is now known as Ursinha-afk
thumperrick_h_: around?22:14
thumperrick_h_: I'd like to understand some more the charmstore work22:14
thumperalso...22:15
thumperdamnit22:15
thumperI had a great idea for an email I was going to write to the juju-dev list outlining something22:15
thumperand now it has gone22:15
* thumper sits back and thinks through what he was thinking through22:15
thumperoh22:16
thumperthat was it22:16
thumperyay22:16
thumpernote to self: email juju-dev about schema upgrade process22:16
rick_h_thumper: around22:23
thumperrick_h_: got time?22:23
rick_h_thumper: sure, sec22:23
=== Ursinha-afk is now known as Ursinha
thumperrick_h_: https://plus.google.com/hangouts/_/gsd6yrioblijf2oz3fvdnyesjma?hl=en22:24
thumperdavecheney: 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
thumperdavecheney: can you explain it?23:44
thumperis it related to the testing module?23:50
thumperthat is the only other difference between the tests, juju/errors uses gocheck whereas juju/errgo just uses the builtin testing module23:50

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