[00:47] a very simple review PTAL https://github.com/juju/juju/pull/9118 - exposes lisitng of credential models from state [01:15] wallyworld: babbageclunk: veebers: thumper ^^ [01:15] * thumper looks [01:15] anastasiamac: Already looking, should have said, sorry! [01:19] anastasiamac: approved [01:20] I had a suggestion [01:21] anastasiamac: i had a suggestion also [01:28] brilliant, thnx \o/ [01:30] 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] i'll change anyway to b inline with convention [01:34] 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] but since it's my bleh, i'll change to uuid [01:34] thanks [01:41] babbageclunk: I'm going to make a coffee and then work through some intermittent failures with watchers [01:41] if you want to chat while I do that, I'd be up for it [01:41] kinda like pair programming [01:42] thumper: ok - are those the ones you think the raftleases might be causing? [01:42] I think vscode has some code sharing features too for this [01:42] Or just a second brain making light work [01:42] the later [01:42] there is a lease issue [01:42] Sure! [01:42] in the state package [01:42] so I have two types of problems to fix [01:42] * thumper goes to make coffee first [01:53] babbageclunk: heading to 1:1 HO [02:01] babbageclunk: ugh, installing a kernel before restarting [02:01] * thumper waits [02:01] heh [02:33] Hmm, at some point I've accidently pasted the APGL license header into my terminal or so my history shows me :-P [02:34] gotta love pasting the wrong clipboard into bash and hoping none of the text is actually destructive commands [02:58] babbageclunk: i'm seeing several of these in the logs [02:58] ERROR juju.worker.dependency "lease-clock-updater" manifold worker returned unexpected error: updating global clock: lease operation timed out [03:01] wallyworld: in startup? [03:01] Or after that? [03:01] after, when system has been running for a while [03:01] hmm [03:02] could just be slow connectiivity or something, it's on ec2 and i also see occasional mongo timeouts [03:03] probs nothing to worry about immediately [03:03] Might be that I've got the timeout threshold too low. [03:03] Are you running with multiple controllers? [03:21] babbageclunk: no, just the one [03:23] wallyworld: weird - I could see the timeout being maybe too low for forwarding from a follower to the leader. [03:24] might just be crappy environment [03:24] mog sometimes times out too according to the logs [03:24] *mgo [03:25] wallyworld: I think jam knows about the mongo errors - I'm not sure they're timeouts exactly. [03:26] the logs claim they are [03:26] io.timeout [03:26] can't recall the exact message now [03:26] I think it's trying to connect to old addresses. [03:28] when i see it again i'll try and add some debugging [03:28] yeah, sounds good [03:34] 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] juju sets "creating mysql container" initially [03:35] IIANM [03:36] 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] it's set when the unit is first created i seem to recall [03:37] and then the charm can overrite it as it comes up [03:37] i don't quite follow how the cloud container bits are being ignore [03:38] FullStatus() would need to read them [03:38] so it's in our control [03:38] wallyworld: juju defaults it to 'waiting for container' and the charm sets for mysql: status_set('maintenance', 'Creating mysql container') [03:38] ah that sounds right [03:38] oh, by ignores it I mean; I'm not changing the right part to thread it through [03:39] i think FullStatus is the apiserver side method whuich reads stuff out of hte db and populates the status params struct [03:40] have you changed that bit? [03:42] wallyworld: that might be it (only hit (u *Unit) Status() at the moment) [03:42] I'll check that out [03:43] veebers: right, that won't do anything [03:43] juju status calls client facade FullStatus() [03:43] there's a bunch of logic in there [03:43] it might call unit.Status() though, not sure [03:43] ack, that looks more promising, thanks! [03:43] but that's the place to look [03:54] wallyworld: you busy? [03:55] https://github.com/juju/juju/pull/9116/files [03:55] thumper: about to have a m,eeting with carmine [03:55] can look after [04:23] thanks [05:26] 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] (or a struct that contains[]params.ErrorResults) [05:28] hmm, i guess it depends on the call [05:29] anastasiamac: so, effectively a list of lists of errors? [05:30] yes, altho i could break it down i guess [05:31] the reason - we have a bulk call to update credential [05:31] and each credential can have a number of models that could error out [05:31] so my choices are - list of lists of errors [05:31] 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] of a struct where i can identify each credential with a map[model]error and an error [05:32] yes, so slice of errorresults [05:32] was tryingt o not change the actual method much [05:32] but i'll have to to return different result [05:33] it could work [05:33] 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] 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] it's different but worth considering i think [05:36] 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] the other option, 3rd one that is, is map[cred]params.ErrorResults :D this way we r going to be very explicit... [05:39] 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] thnx for ur help and listening \o/ [06:24] 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] 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] sure [06:42] kelvinliu_: lgtm, ty [06:43] thanks [07:04] wallyworld, the pr looks great. [07:04] tyvm [07:04] i'm happy with it [07:04] seems to solve a few issues [07:18] is the terminate bug the `terminating-> creating issue happens it gets deployed in the first time? [07:38] kelvinliu_: yeah, that one [07:38] wallyworld, nice! [07:53] 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] manadart: did we port the lxd stuff to 2.4? [08:59] manadart: just checking we've not regressed the 2.4 branch of lxd 2.0.x [09:00] manadart: we're good, sorry for the noise [10:18] manadart: do you have 5 minutes for a quick hangout? [14:00] anyone know where the provision of machines logs out to? [14:00] can I use "juju debug-log"? [14:20] stickupkid, i would try to use that command and apply it to the controller model (-m) [14:22] stickupkid: sometimes its easier to grep the /var/log/juju/machine-0.log on the controller [14:22] stickupkid: if you up the root logging level to trace, you can see the api calls too, which may help [14:22] and their payload [14:23] hml: pmatulis: thanks [16:25] manadart: LXD 2.0 doesn't have a server name :| [16:56] 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] stickupkid: i’ll look shortly [16:57] hml: take your time, EOD for me :D [16:57] stickupkid: have a good evening === gurmble is now known as grumble [20:30] 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] rick_h_: I'll try to be there [20:38] zeestrat: cool [20:43] Morning all o/ [20:50] rick_h_: what time is it these days? [20:51] magicaltrout: it'll be normal 2pm EST [20:51] magicaltrout: though maybe I should re-evaluate the timing if folks want me to move it up in the day more [20:51] veebers: woot woot [20:52] 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] I'll swing by tomorrow, I want to discuss big data/big data ldn and some other stuff [20:52] magicaltrout: sweet [20:52] hmmm, I could do an hour earlier. anyone else have feedback? [20:55] \o/ [20:56] * jhebden is back from [afk] - 426524h:56m:12s away [20:58] ... [20:58] thats a long time [21:00] lol [21:09] epoch! [22:33] https://github.com/juju/juju/pull/9123 [22:36] wth, I had this working last night just before eod, and now it's not :-\ /me digs in [22:43] veebers: time of day related? ;) [22:49] heh, unlikely :-) [22:52] babbageclunk, wallyworld: https://github.com/juju/juju/pull/9123 has the hubwatcher fix [22:57] thumper: is there a test? i think i saw one in the other PR? [23:00] 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] when you run it in the UK during BST is passes [23:00] then daylight savings end and it returns to failure.... [23:02] 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] wallyworld: no, there isn't a test, it is very racy [23:09] ok [23:09] lgtm [23:34] anastasiamac: I'm pretty sure the default value is an interafce{} type, so a missing value will be nil. [23:35] so any type could have no default [23:35] thumper: k [23:35] and all missing values should just be the empty string [23:35] I think [23:35] i agree [23:53] 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