[00:47] <anastasiamac> a very simple review PTAL https://github.com/juju/juju/pull/9118 - exposes lisitng of credential models from state
[01:15] <anastasiamac> wallyworld: babbageclunk: veebers: thumper ^^
[01:15]  * thumper looks
[01:15] <babbageclunk> anastasiamac: Already looking, should have said, sorry!
[01:19] <babbageclunk> anastasiamac: approved
[01:20] <thumper> I had a suggestion
[01:21] <wallyworld> anastasiamac: i had a suggestion also
[01:28] <anastasiamac> brilliant, thnx \o/
[01:30] <anastasiamac> wallyworld: i have been thinking uuid vs tag too.. the trick is that i know where it'll be used and they will all go back to tag....
[01:30] <anastasiamac> i'll change anyway to b inline with convention
[01:34] <anastasiamac> thumper: my only bleh with map[string]string keyed on uuid is that it's not blatantly obvious what is actually in the map... with map[names.ModelTag]string, a casual observer can deduce it from type ;D
[01:34] <anastasiamac> but since it's my bleh, i'll change to uuid
[01:34] <thumper> thanks
[01:41] <thumper> babbageclunk: I'm going to make a coffee and then work through some intermittent failures with watchers
[01:41] <thumper> if you want to chat while I do that, I'd be up for it
[01:41] <thumper> kinda like pair programming
[01:42] <babbageclunk> thumper: ok - are those the ones you think the raftleases might be causing?
[01:42] <thumper> I think vscode has some code sharing features too for this
[01:42] <babbageclunk> Or just a second brain making light work
[01:42] <thumper> the later
[01:42] <thumper> there is a lease issue
[01:42] <babbageclunk> Sure!
[01:42] <thumper> in the state package
[01:42] <thumper> so I have two types of problems to fix
[01:42]  * thumper goes to make coffee first
[01:53] <thumper> babbageclunk: heading to 1:1 HO
[02:01] <thumper> babbageclunk: ugh, installing a kernel before restarting
[02:01]  * thumper waits
[02:01] <babbageclunk> heh
[02:33] <veebers> Hmm, at some point I've accidently pasted the APGL license header into my terminal or so my history shows me :-P
[02:34] <veebers> gotta love pasting the wrong clipboard into bash and hoping none of the text is actually destructive commands
[02:58] <wallyworld> babbageclunk: i'm seeing several of these in the logs
[02:58] <wallyworld> ERROR juju.worker.dependency "lease-clock-updater" manifold worker returned unexpected error: updating global clock: lease operation timed out
[03:01] <babbageclunk> wallyworld: in startup?
[03:01] <babbageclunk> Or after that?
[03:01] <wallyworld> after, when system has been running for a while
[03:01] <babbageclunk> hmm
[03:02] <wallyworld> could just be slow connectiivity or something, it's on ec2 and i also see occasional mongo timeouts
[03:03] <wallyworld> probs nothing to worry about immediately
[03:03] <babbageclunk> Might be that I've got the timeout threshold too low.
[03:03] <babbageclunk> Are you running with multiple controllers?
[03:21] <wallyworld> babbageclunk: no, just the one
[03:23] <babbageclunk> wallyworld: weird - I could see the timeout being maybe too low for forwarding from a follower to the leader.
[03:24] <wallyworld> might just be crappy environment
[03:24] <wallyworld> mog sometimes times out too according to the logs
[03:24] <wallyworld> *mgo
[03:25] <babbageclunk> wallyworld: I think jam knows about the mongo errors - I'm not sure they're timeouts exactly.
[03:26] <wallyworld> the logs claim they are
[03:26] <wallyworld> io.timeout
[03:26] <wallyworld> can't recall the exact message now
[03:26] <babbageclunk> I think it's trying to connect to old addresses.
[03:28] <wallyworld> when i see it again i'll try and add some debugging
[03:28] <babbageclunk> yeah, sounds good
[03:34] <veebers> wallyworld: you have a couple of moments? Slighlty stuck with the status bits, I can the cloud container status is being updated; but status shows "Creating mysql container" which is a unit status (set by the charm), it seems where I think the status message for 'juju status' is not right?
[03:35] <wallyworld> juju sets "creating mysql container" initially
[03:35] <wallyworld> IIANM
[03:36] <veebers> aye, it's setting it as unit status, and my cloudcontainer status bits are being ignored. I can't see where that "creating mysql . . " is intially getting set
[03:37] <wallyworld> it's set when the unit is first created i seem to recall
[03:37] <wallyworld> and then the charm can overrite it as it comes up
[03:37] <wallyworld> i don't quite follow how the cloud container bits are being ignore
[03:38] <wallyworld> FullStatus() would need to read them
[03:38] <wallyworld> so it's in our control
[03:38] <veebers> wallyworld: juju defaults it to 'waiting for container' and the charm sets for mysql: status_set('maintenance', 'Creating mysql container')
[03:38] <wallyworld> ah that sounds right
[03:38] <veebers> oh, by ignores it I mean; I'm not changing the right part to thread it through
[03:39] <wallyworld> i think FullStatus is the apiserver side method whuich reads stuff out of hte db and populates the status params struct
[03:40] <wallyworld> have you changed that bit?
[03:42] <veebers> wallyworld: that might be it (only hit (u *Unit) Status() at the moment)
[03:42] <veebers> I'll check that out
[03:43] <wallyworld> veebers: right, that won't do anything
[03:43] <wallyworld> juju status calls client facade FullStatus()
[03:43] <wallyworld> there's a bunch of logic in there
[03:43] <wallyworld> it might call unit.Status() though, not sure
[03:43] <veebers> ack, that looks more promising, thanks!
[03:43] <wallyworld> but that's the place to look
[03:54] <thumper> wallyworld: you busy?
[03:55] <thumper> https://github.com/juju/juju/pull/9116/files
[03:55] <wallyworld> thumper: about to have a m,eeting with carmine
[03:55] <wallyworld> can look after
[04:23] <thumper> thanks
[05:26] <anastasiamac> wallyworld: babbageclunk: m finding myself in this nice, cozy spot where I wan to return []params.ErrorResults from apiserver facade... how r u feeling about that?
[05:26] <anastasiamac> (or a struct that contains[]params.ErrorResults)
[05:28] <wallyworld> hmm, i guess it depends on the call
[05:29] <babbageclunk> anastasiamac: so, effectively a list of lists of errors?
[05:30] <anastasiamac> yes, altho i could break it down i guess
[05:31] <anastasiamac> the reason - we have a bulk call to update credential
[05:31] <anastasiamac> and each credential can have a number of models that could error out
[05:31] <anastasiamac> so my choices are - list of lists of errors
[05:31] <wallyworld> typically the bulk call would be a slice of things and a corresponding slice of errors. well that's been what we've dome till now
[05:32] <anastasiamac> of a struct where i can identify each credential with a map[model]error and an error
[05:32] <anastasiamac> yes, so slice of errorresults
[05:32] <anastasiamac> was tryingt o not change the actual method much
[05:32] <anastasiamac> but i'll have to to return different result
[05:33] <wallyworld> it could work
[05:33] <anastasiamac> so, right now this bulk call does return params.ErrorResults but this, of course, does not cater for the cred models check where each can error out too... hence []params.ErrorResults...
[05:34] <anastasiamac> it culd, for sure :) i'll sleep on it and experiment a bit more... just wanted to know if ppl will immediately dislike or b k with this...
[05:35] <wallyworld> it's different but worth considering i think
[05:36] <anastasiamac> ion one hand, returning []params.ErrorResults will be neater.. but i feel like there will be a lot of complex understanding that is kind of implied and only comes naturally if u read the code... that is the only consideration that is holding me back :)
[05:37] <anastasiamac> the other option, 3rd one that is, is map[cred]params.ErrorResults :D this way we r going to be very explicit...
[05:39] <anastasiamac> but kind of unprecedented, so i think i talked myself into breaking a separate struct per credential where each item contains []params.Error or similar....
[05:39] <anastasiamac> thnx for ur help and listening \o/
[06:24] <wallyworld> kelvinliu_: this PR makes operators use statefulsets / storage and also i think fixes that termination bounce bug at startup https://github.com/juju/juju/pull/9120
[06:37]  * jhebden is back from [afk] - 426510h:37m:11s away
[06:39] <kelvinliu_> wallyworld, looking. and https://github.com/juju/juju/pull/9119 this small fix, would u take a look when u got time, thanks
[06:40] <wallyworld> sure
[06:42] <wallyworld> kelvinliu_: lgtm, ty
[06:43] <kelvinliu_> thanks
[07:04] <kelvinliu_> wallyworld, the pr looks great.
[07:04] <wallyworld> tyvm
[07:04] <wallyworld> i'm happy with it
[07:04] <wallyworld> seems to solve a few issues
[07:18] <kelvinliu_> is the terminate bug the `terminating-> creating issue happens it gets deployed in the first time?
[07:38] <wallyworld> kelvinliu_: yeah, that one
[07:38] <kelvinliu_> wallyworld, nice!
[07:53] <rmcd> Hey all, having an issue building a charm... It's saying there's no fetcher for a relation I've written. Recently switched to a new laptop so gone from having the interface locally to grabbing it from Gitlab. Any idea how I can fix this?
[08:59] <stickupkid> manadart: did we port the lxd stuff to 2.4?
[08:59] <stickupkid> manadart: just checking we've not regressed the 2.4 branch of lxd 2.0.x
[09:00] <stickupkid> manadart: we're good, sorry for the noise
[10:18] <stickupkid> manadart: do you have 5 minutes for a quick hangout?
[14:00] <stickupkid> anyone know where the provision of machines logs out to?
[14:00] <stickupkid> can I use "juju debug-log"?
[14:20] <pmatulis> stickupkid, i would try to use that command and apply it to the controller model (-m)
[14:22] <hml> stickupkid: sometimes its easier to grep the /var/log/juju/machine-0.log on the controller
[14:22] <hml> stickupkid: if you up the root logging level to trace, you can see the api calls too, which may help
[14:22] <hml> and their payload
[14:23] <stickupkid> hml: pmatulis: thanks
[16:25] <stickupkid> manadart: LXD 2.0 doesn't have a server name :|
[16:56] <stickupkid> hml: https://github.com/juju/juju/pull/9121 can you give a quick look at this, I need to fix the deploy still, but it should make sense at least
[16:56] <hml> stickupkid: i’ll look shortly
[16:57] <stickupkid> hml: take your time, EOD for me :D
[16:57] <hml> stickupkid:  have a good evening
[20:30] <rick_h_> kwmonroe: bdx cory_fu zeestrat looking to do the Juju Show tomorrow. You all around to join? I've started a discourse post for show planning/notes afterwards https://discourse.jujucharms.com/t/juju-show-38-wed-aug-29th/202 if you have anything
[20:37] <zeestrat> rick_h_: I'll try to be there
[20:38] <rick_h_> zeestrat: cool
[20:43] <veebers> Morning all o/
[20:50] <magicaltrout> rick_h_: what time is it these days?
[20:51] <rick_h_> magicaltrout: it'll be normal 2pm EST
[20:51] <rick_h_> magicaltrout: though maybe I should re-evaluate the timing if folks want me to move it up in the day more
[20:51] <rick_h_> veebers: woot woot
[20:52] <magicaltrout> my biggest issue is that its kids bedtime =/ hour earlier or later would be better for myself, but don't switch stuff on my account.
[20:52] <magicaltrout> I'll swing by tomorrow, I want to discuss big data/big data ldn and some other stuff
[20:52] <rick_h_> magicaltrout: sweet
[20:52] <rick_h_> hmmm, I could do an hour earlier. anyone else have feedback?
[20:55] <veebers> \o/
[20:56]  * jhebden is back from [afk] - 426524h:56m:12s away
[20:58] <magicaltrout> ...
[20:58] <magicaltrout> thats a long time
[21:00] <rick_h_> lol
[21:09] <jhebden> epoch!
[22:33] <thumper> https://github.com/juju/juju/pull/9123
[22:36] <veebers> wth, I had this working last night just before eod, and now it's not :-\ /me digs in
[22:43] <babbageclunk> veebers: time of day related? ;)
[22:49] <veebers> heh, unlikely :-)
[22:52] <thumper> babbageclunk, wallyworld: https://github.com/juju/juju/pull/9123 has the hubwatcher fix
[22:57] <wallyworld> thumper: is there a test? i think i saw one in the other PR?
[23:00] <magicaltrout> you shoudn't discount time of day related bugs.. in one platform i develop we have a unit test that passes in any other timezone than GMT
[23:00] <magicaltrout> when you run it in the UK during BST is passes
[23:00] <magicaltrout> then daylight savings end and it returns to failure....
[23:02] <veebers> magicaltrout: hah, actually I've had issues with something like that before. Tests always worked in NZ-TZ but my English coworker had occasional failures :-)
[23:04] <thumper> wallyworld: no, there isn't a test, it is very racy
[23:09] <wallyworld> ok
[23:09] <wallyworld> lgtm
[23:34] <thumper> anastasiamac: I'm pretty sure the default value is an interafce{} type, so a missing value will be nil.
[23:35] <thumper> so any type could have no default
[23:35] <anastasiamac> thumper: k
[23:35] <thumper> and all missing values should just be the empty string
[23:35] <thumper> I think
[23:35] <anastasiamac> i agree
[23:53] <veebers> wallyworld: this is really odd, the status stuff is messed up if I use the model name that I've been using over and over (but destroying controllers between each run). If I use a new model name everything is fine