wallyworldaxw: looking at 1.25 PR. interesting that in 2.x, we have leaseClientId as an attribute on State and hence set that as part of State.start() instead of during lease worker startup as your 1.25 change does00:57
axwwallyworld: yeah probably should do it in 1.25 too, since it should be a terminal error. just made things a little simpler this way00:58
wallyworldaxw: yeah, it may be what's proposed is good enough. i guess if we can't get the clientId stuff will still break, but in a different way00:59
wallyworldanastasiamac: hml: axw: forgot to remind - if there's anything you want to add to release notes for beta3, now is the time01:02
hmlwallyworld: nothing coming to mind01:03
wallyworldyeah, mostly bug fixes this time01:03
wallyworldi added a few key things01:03
anastasiamacwallyworld: m all good but will confirm with the rest of the squad later on in the day01:04
wallyworldty, may be too late then :-)01:04
axwnah I don't think so01:06
anastasiamacreally? 4pm our time?..01:06
axwonly thing was the mutex fix, and that's out :~(01:06
anastasiamacwallyworld: most bug fixes anyway :)01:06
wallyworldanastasiamac: yeah veebers is on fire, i expect it wil be done by 4pm our time as that will be well into his evening and he will already be on the beer :-)01:07
anastasiamacwallyworld: :D01:08
veeberswallyworld: hah more like cleaning up spit-up and baby wees off my hands, but hopefully there will be a beer there sometime ^_^01:11
wallyworldthe joys of parenthood01:11
wallyworldyou'll be doing the same thing to yuorself when you hit 8001:11
veebershah ^_^01:11
veeberss/when/if/ /me dies of parenthood related stress01:12
axwwallyworld: https://github.com/juju/mutex/pull/501:32
axwcurrently running the network-health test with the old code to repro locally, then will run with this to make sure it's the problem01:33
axwit's definitely *a* problem though01:33
wallyworldaxw: looking. good we have CI01:34
wallyworldaxw: lgtm, just a comment typo01:39
axwwallyworld: heh thanks01:40
axwwallyworld: do you have rights to merge https://github.com/juju/mutex/pull/5 ?01:58
wallyworldyup, i think so01:58
wallyworldaxw: added you with perms to merge02:00
wallyworldtry it?02:00
axwwallyworld: thanks02:00
hmlwallyworld: changes we discussed have been made, pr updated03:24
thumperaxw: what was happening with the mutex?03:47
thumperaxw: was it inheriting the lock, and only one closed it, so it was still "held" or something?03:47
axwthumper: subprocess inherited the file descriptor, so flock was held by subprocess even though juju closed its FD03:48
thumperbut that sub process would have finished as well, releasing it, right?03:48
axwthumper: yeah, unless it spawned off something like "timeout"03:48
thumperaxw: is that what the tests were doing?03:55
thumperso that explains why some hooks were fine and others not yes?03:55
axwthumper: the network-health test starts a server from one of the hooks, and never stops it AFAICT03:57
axwthumper: yeah, depends on the hook implementation for sure03:57
thumperok, I like to know why things fail :)03:58
wallyworldaxw: the state we attach to the apiRoot object - the one facades get via ctx.GetState() - i can't see where that gets closed. do you know?05:10
axwwallyworld: looking, have to remind myself05:12
wallyworldi also can't see where we Stop() resources05:12
axwwallyworld: it's the same State that's attached to the Server05:13
wallyworldand we stop that one? let me look05:13
axwwallyworld: which is closed by the agent05:13
wallyworldok, ta05:13
wallyworldaxw: trying to decide whether to add a "controller" Resource05:14
wallyworldrather that yet another attribute on server05:14
wallyworldas resources i think is the preferred way to add stuff to the facade context05:14
axwwallyworld: I'd prefer it was part of the Server05:15
wallyworldthere's a snaky comment from willian next to ctx.State() that it should be a resource05:15
wallyworldany reason for preferring to add to Server?05:15
axwwallyworld: I don't know what that would buy us05:16
axwwallyworld: because State and StatePool are there. and because it's not a per-connectio nresource05:16
wallyworldkeeps facade Context interface stable05:16
axwit's owned by the Server, not by the connection05:16
axwand eventually it shouldn't even be owned by the Server, but passed in and owned by a manifold05:17
wallyworldhmmm, ok, let me think on it05:18
axwwallyworld: perhaps we should start a new branch for this work? I have some things I'd like to land too, but have been holding off until after 2.305:18
wallyworlda feature branch? yeah maybe05:19
axwwallyworld: though possibly my work will make fixing https://bugs.launchpad.net/juju/+bug/1642618 easier anyway05:19
mupBug #1642618: enable-ha using existing machines breaks agents <enable-ha> <juju:In Progress by axwalk> <https://launchpad.net/bugs/1642618>05:19
wallyworldi think we can do a few things on develop05:19
wallyworlda lot of this stuff is shifting furnature around05:20
axwwallyworld: sometimes the furniture is accidentally load bearing though :)05:21
wallyworldthat is true05:22
wallyworldi'll do this work and see how it looks05:23
wallyworldcan propose against a fb if it looks too messy05:23
wallyworldaxw: sorry, another question. do you know why we pass in a State to startStateWorkers() but then provide a separate openState() method to the apiserverWorkerStarter? we barely use the result from openState(). but noentheless, why not just use the one we already have, especially when that one we alrready have comes from the manifold05:56
wallyworldopenState() as it turns out provides a State used to get ControllerConfig(), which we could just pass in from the original st, and create an audit log sink, which we also could get from a manifold.05:57
axwwallyworld: I thought there was a comment, but can't find it now. it's because the apiserver kills the state workers05:57
axwwallyworld: so if hte apiserver restarts, it needs a new State05:58
axwsas the old's watchers, lease manager, etc. will have been stopped05:58
axwwallyworld: this is one of the things I have fixes for in the pipeline05:58
axwwallyworld: if it makes it easier for you to do what you want to do, I can look to land my work sooner rather than later05:58
wallyworldyeah, that would be good. i want to thread through a controller05:59
wallyworldbut need a state05:59
axwwallyworld: I have a branch that will move the apiserver to a manifold, too, but needs a bit more work05:59
axwwallyworld: probably better to get that in, then you can use the controller manifold?05:59
wallyworldwould be good to get that stuff landed05:59
wallyworldmaybe a fb then?05:59
wallyworldit's all very messy atm06:00
wallyworldwould be good to get this cleaned up06:00
axwwallyworld: I think that'd be prudent. then fold it into develop as soon as we branch06:00
axwwallyworld: first step is to land https://github.com/juju/juju/pull/8038 in a feature branch then06:00
wallyworldok, and it's been approved06:01
axwwallyworld: want to review for me? it has rog's +1, would be good to get a second opinion tho, as it's core06:01
wallyworldi'll create the fb06:01
wallyworldas well06:01
wallyworldaxw: https://github.com/juju/juju/tree/state-controller-refactor06:05
wallyworldlooking at PR now06:05
axwwallyworld: thanks06:05
axwwallyworld: note there's two commits, might be easier to review them independently06:06
axwone after the other, rather06:06
wallyworldaxw: i had a look earlier - we disucssed a bit already this week, i'll re-review06:07
axwwallyworld: we did? I don't remember htat at all :o06:07
* axw is losing the plot06:07
wallyworldi was asking about exposing context to api leayer, and clarifying operation on apiserver sid eetc06:08
* wallyworld has already lost the plot06:08
axwsounds vaguely familiar :p06:08
wallyworldaxw: +1 to go into fb. i'd like to ensure we get some good CI runs (which we will) and do some more extensive manual testing with all the other changes we will be landing soon06:19
axwwallyworld: ok. I think I broke something in the API package with a change I made about an hour ago, will fix that and land06:20
wallyworldaxw: and then you had a followup bit of work to go on top of this?06:20
wallyworldi'll look to pick up my stuff next week perhaps06:21
axwwallyworld: yes, to move apiserver to the dependency engine06:21
wallyworldgreat, ok06:21
axwthen there'll be more followups on top of that I'm sure06:21
axwwallyworld: e.g. once we move to using a single StatePool, the introspection code can be cleaned up a bit06:22
axwit's really awkward atm, the apiserver starter needs to create a new StatePool, then set that on the agent so the introspection worker can reference it06:22
=== frankban|afk is now known as frankban
wpkwpk@minnie:~/dev/src/gopkg.in/juju/names.v2$ grep -r IsValidRelation *08:45
wpkwpk@minnie:~/dev/src/gopkg.in/juju/names.v2$ grep -r IsValidRelation relation_test.go08:45
wpkc.Assert(names.IsValidRelation(key), gc.Equals, isValid)08:45
wpkc.Assert(names.IsValidRelation(peerKey), gc.Equals, isValid)08:45
=== frankban is now known as frankban|afk

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