anastasiamac | a very simple review PTAL https://github.com/juju/juju/pull/9118 - exposes lisitng of credential models from state | 00:47 |
---|---|---|
anastasiamac | wallyworld: babbageclunk: veebers: thumper ^^ | 01:15 |
* thumper looks | 01:15 | |
babbageclunk | anastasiamac: Already looking, should have said, sorry! | 01:15 |
babbageclunk | anastasiamac: approved | 01:19 |
thumper | I had a suggestion | 01:20 |
wallyworld | anastasiamac: i had a suggestion also | 01:21 |
anastasiamac | brilliant, thnx \o/ | 01:28 |
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:30 |
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:34 |
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:41 |
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:42 | |
thumper | babbageclunk: heading to 1:1 HO | 01:53 |
thumper | babbageclunk: ugh, installing a kernel before restarting | 02:01 |
* thumper waits | 02:01 | |
babbageclunk | heh | 02:01 |
veebers | Hmm, at some point I've accidently pasted the APGL license header into my terminal or so my history shows me :-P | 02:33 |
veebers | gotta love pasting the wrong clipboard into bash and hoping none of the text is actually destructive commands | 02:34 |
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 | 02:58 |
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:01 |
wallyworld | could just be slow connectiivity or something, it's on ec2 and i also see occasional mongo timeouts | 03:02 |
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:03 |
wallyworld | babbageclunk: no, just the one | 03:21 |
babbageclunk | wallyworld: weird - I could see the timeout being maybe too low for forwarding from a follower to the leader. | 03:23 |
wallyworld | might just be crappy environment | 03:24 |
wallyworld | mog sometimes times out too according to the logs | 03:24 |
wallyworld | *mgo | 03:24 |
babbageclunk | wallyworld: I think jam knows about the mongo errors - I'm not sure they're timeouts exactly. | 03:25 |
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:26 |
wallyworld | when i see it again i'll try and add some debugging | 03:28 |
babbageclunk | yeah, sounds good | 03:28 |
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:34 |
wallyworld | juju sets "creating mysql container" initially | 03:35 |
wallyworld | IIANM | 03:35 |
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:36 |
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:37 |
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:38 |
wallyworld | i think FullStatus is the apiserver side method whuich reads stuff out of hte db and populates the status params struct | 03:39 |
wallyworld | have you changed that bit? | 03:40 |
veebers | wallyworld: that might be it (only hit (u *Unit) Status() at the moment) | 03:42 |
veebers | I'll check that out | 03:42 |
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:43 |
thumper | wallyworld: you busy? | 03:54 |
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 | 03:55 |
thumper | thanks | 04:23 |
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:26 |
wallyworld | hmm, i guess it depends on the call | 05:28 |
babbageclunk | anastasiamac: so, effectively a list of lists of errors? | 05:29 |
anastasiamac | yes, altho i could break it down i guess | 05:30 |
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:31 |
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:32 |
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:33 |
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:34 |
wallyworld | it's different but worth considering i think | 05:35 |
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:36 |
anastasiamac | the other option, 3rd one that is, is map[cred]params.ErrorResults :D this way we r going to be very explicit... | 05:37 |
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/ | 05:39 |
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:24 |
* jhebden is back from [afk] - 426510h:37m:11s away | 06:37 | |
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:39 |
wallyworld | sure | 06:40 |
wallyworld | kelvinliu_: lgtm, ty | 06:42 |
kelvinliu_ | thanks | 06:43 |
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:04 |
kelvinliu_ | is the terminate bug the `terminating-> creating issue happens it gets deployed in the first time? | 07:18 |
wallyworld | kelvinliu_: yeah, that one | 07:38 |
kelvinliu_ | wallyworld, nice! | 07:38 |
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? | 07:53 |
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 | 08:59 |
stickupkid | manadart: we're good, sorry for the noise | 09:00 |
stickupkid | manadart: do you have 5 minutes for a quick hangout? | 10:18 |
stickupkid | anyone know where the provision of machines logs out to? | 14:00 |
stickupkid | can I use "juju debug-log"? | 14:00 |
pmatulis | stickupkid, i would try to use that command and apply it to the controller model (-m) | 14:20 |
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:22 |
stickupkid | hml: pmatulis: thanks | 14:23 |
stickupkid | manadart: LXD 2.0 doesn't have a server name :| | 16:25 |
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:56 |
stickupkid | hml: take your time, EOD for me :D | 16:57 |
hml | stickupkid: have a good evening | 16:57 |
=== gurmble is now known as grumble | ||
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:30 |
zeestrat | rick_h_: I'll try to be there | 20:37 |
rick_h_ | zeestrat: cool | 20:38 |
veebers | Morning all o/ | 20:43 |
magicaltrout | rick_h_: what time is it these days? | 20:50 |
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:51 |
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:52 |
veebers | \o/ | 20:55 |
* jhebden is back from [afk] - 426524h:56m:12s away | 20:56 | |
magicaltrout | ... | 20:58 |
magicaltrout | thats a long time | 20:58 |
rick_h_ | lol | 21:00 |
jhebden | epoch! | 21:09 |
thumper | https://github.com/juju/juju/pull/9123 | 22:33 |
veebers | wth, I had this working last night just before eod, and now it's not :-\ /me digs in | 22:36 |
babbageclunk | veebers: time of day related? ;) | 22:43 |
veebers | heh, unlikely :-) | 22:49 |
thumper | babbageclunk, wallyworld: https://github.com/juju/juju/pull/9123 has the hubwatcher fix | 22:52 |
wallyworld | thumper: is there a test? i think i saw one in the other PR? | 22:57 |
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:00 |
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:02 |
thumper | wallyworld: no, there isn't a test, it is very racy | 23:04 |
wallyworld | ok | 23:09 |
wallyworld | lgtm | 23:09 |
thumper | anastasiamac: I'm pretty sure the default value is an interafce{} type, so a missing value will be nil. | 23:34 |
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:35 |
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 | 23:53 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!