[00:09] thumper: everyone is busy fixing CI issues, or away on leave... i'd love to land this today https://github.com/juju/juju/pull/11058 [01:20] wallyworld: I'll look [01:41] wallyworld: I've got a question for ya [01:42] apiserver/facades/agent/uniter/uniter.go:1478 [01:42] if err is nil, we still log [01:42] we got a lot of those error logs during my scale testing [01:42] it seems that we should log if err != nil, but not if there is no error [01:43] does that sound right? [02:00] thumper: looking at code [02:05] wallyworld: looks like the jujud-versions.yaml works fine with build number https://www.irccloud.com/pastebin/aCgSCcrp/ [02:06] thumper: so in theory, we should always know the address of the machine the unit is running on, so we should always be able to set the address info. for k8s, that's not always the case. for iaas, we either use the public address for cmr or fall back to the private one if needed. so if we are logging that we need to understand why [02:07] wallyworld: I saw it a huge number of times in my scale testing [02:07] there was no error [02:07] which i think means we don't have a unit private address whic seems weird [02:08] we could drop to debug but we'd want to understand what's happening, hence it was done a sa warning [02:09] well, the message gives us no info [02:09] it just says : can't do it: [02:09] it can't - all it knows is that there's no unit address [02:09] so not really useful [02:10] it may be that the unit enters scope before the address is know [02:10] in which case the default relation data will be unpopulated [02:11] it may be that only old charms relay on that default data [02:11] as new charms should be using network-get [02:11] so dropping the severity may be ok [02:12] hpidcock: it looks like you created a build yaml by hand with the correct sha? [02:13] yeah, testing what the snap would do [02:14] look ok then [02:14] i think [02:14] yep, just testing without build number as well now [02:15] thumper: so charms should be resiliant to delayed address info - they need to handle it when the address info is not known up front, especially for k8s charms. it's just that historically they haven't catered for this and expected juju to always seed the relation data with private-address [02:15] so i think we can consider this as not something worth a warning [02:15] and if charms break that's on them to fix [02:15] hmm, ok [02:16] i mean, it is possible a relation can be formed and the address info is not yet known [02:16] there's not much we can do about that [02:16] especially for say k8s charms like gitlab [02:17] where the relation comes up and then that triggers the pod starting [02:17] and then we get the address [02:25] thumper: ta for review. were you going to drop the warning to a debug or something given for many k8s charms it will just be noise, and even for iaas charms, they could aguably not expect to rely on that info [02:26] wallyworld: I'm just prepping the PR [02:27] wallyworld: https://github.com/juju/juju/pull/11064 [02:27] looking [02:36] thumper: lgtm, we have found in a few places stuff hitting not found during teardown. whack-o-mole [02:36] wallyworld: yeah [02:43] wallyworld: I keep filing bugs thinking tlm could fix this... [02:44] perhaps he could, tag them as bitesize or something [03:43] I only want big ones :) [04:17] hpidcock: have you managed to check all the build num fix scenarios? [04:18] wallyworld: I've found a snag, the versioned tools dir [04:19] testing just having SharedToolsDir return the dir without buildnumber [04:19] ah yes [04:21] I'm not sure how the uploaded tools are unpacked. Does the bootstrapping client scp them over and untar it? [04:21] essentially yeah [04:22] including simplestreams? [04:22] or does simplestreams just get wget'd onto the machine? [04:23] see github.com/juju/juju/cloudconfig/userdatacfg_unix.go [04:23] line 346 [04:23] that's where the dir is first created [04:24] and just underneath is where the tools are downloaded [04:24] the url in the tools struct is i think streams.c.c [04:25] at bootstrap anyway [04:25] after that the controller caches them [12:29] manadart, https://github.com/juju/description/pull/70 [12:29] manadart, this should prevent the panic when migrating consumers [12:30] stickupkid: Looking. [12:33] ta [12:33] This is blocking me from testing the migration error, so hopefully I'll be able to see what's the cause soon [13:39] hey jujuers [13:40] hey Laney [13:40] got a question for you! [13:40] Is there a way to check if an application has an upgrade available? I've got a `set -e` shell script which is running `juju upgrade-charm` over all of them, but it bails out if there is no update available because that causes an exit 1. [13:41] Laney: juju status shows that there's an upgrade available [13:42] Laney: the controller checks once a day [13:42] ah, can I make it check in that script then? [13:42] yea, I'm just trying to dbl check where that shows up [13:42] it's usually that I release a new version of the charm and want to run this upgrade-all-the-things script to roll it out [13:43] once a day wouldn't be great given that :-) [13:43] or maybe there's a better way of doing all of this [13:43] Laney: so juju status --format=yaml and can-upgrade-to: cs:haproxy-55 [13:44] Laney: so I'd update your script to run that once a day, iterate the applications in the YAML, and check for the "can-upgrade-to" [13:46] alright, thanks! [13:47] Laney: no problem, let me know how it goes maybe if you've got a cool script drop it in discourse for folks to see