[02:15] anastasiamac: got tme for a HO? [02:16] in standup [03:10] super easy review anyone? https://github.com/juju/juju/pull/10827 [03:19] babbageclunk: lgtm, i thought we had found all those! [03:19] what is the significance of the "development" model default? [03:19] I think they might have been new [03:20] timClicks: it's a big legacy, one thig it does is force the use of non release simplestreams [03:21] *bit [03:21] ok [03:21] we should use agent-stream for that now [03:21] or image-stream [03:22] i wish we could kill it [03:22] juju 3 [03:23] quick! mark it deprecated [03:25] are there any inheritance rules for model defaults? e.g. can juju-ftp-proxy and/or apt-ftp-proxy inherit their values automatically from ftp-proxy? [03:36] <_thumper_> timClicks: not for proxies [03:36] <_thumper_> proxies are special [03:36] <_thumper_> we should probably talk about them [03:36] <_thumper_> as they should have good docs === _thumper_ is now known as thumper [03:37] ok, that would be good to know [03:37] new post should be up shortly [03:38] * thumper heading to pickup family [04:05] Fantastic Settings and Where to Find Them https://discourse.jujucharms.com/t/fantastic-settings-and-where-to-find-them/2284 [04:06] if anyone has a few minutes, I would appreciate a review (anything from typos to egregious errors) [04:26] simple pr to update worker dependency for better engine report: https://github.com/juju/juju/pull/10828 [04:26] timClicks: how did you want feedback? in a google doc you can make comments and add suggestions etc. not quite so easy in a discourse pos [04:26] t [04:27] thumper: the resource log is sometimes very useful [04:27] wallyworld: i'd suggest not a google doc [04:27] babbageclunk: like when? [04:27] thumper: why? they are built for collaborative editing [04:28] discourse isn't [04:28] wallyworld: because it fragments where things are [04:28] When trying to understand what resources a worker has got? I feel like this is a trick question [04:28] thumper: the idea was to get the copy correct in a collaborative way and ten post to discourse [04:28] babbageclunk: I've not really found that useful from the report point of view [04:28] it's only an interimt step [04:29] thumper: I've definitely used it in the past. For example there are some workers that behave differently depending on which dependencies are present [04:29] which supports te collaboration workflow we need until the copy is polished [04:30] you're right that it's mostly not useful [04:30] babbageclunk: I've found that it is almost always noise when I'm looking at the engine report [04:30] but occasionally it is - it seems a pity to ditch it [04:30] I guess I've never even hit that occasionally bit [04:30] oh sure, it's mostly not what one is looking for [04:30] posting content that needs feedback stright to discourse is like landing code without a code review [04:31] IMO [04:31] especially if multiple people need to have input [04:31] and collaboaraively tweak wording etc [04:31] wallyworld: yeah, that is why timClicks and I tried out the discourse branch on the docs repo [04:31] and used github PR for iteration [04:32] that's better, but google doc is easier for this tak [04:32] as people can ask qustions, make sidebars etc [04:32] edit content directly etc etc [04:33] see the changes insitu plus other comments/clarifications separately [04:39] wallyworld: just saw ur msg :( still want to meet? [04:40] anastasiamac: sure, let's jump in standup [04:40] k [05:09] wallyworld: just add a comment in discourse; otherwise edit directly for anything major [05:10] timClicks: i can do that, but 1) there might be significant things we prefer to collaborat eon, 2) making comments is divorced from the content they pertain to so hard to reconcile [05:10] you need to keep scrolling up and down [05:11] instead of highlighting and comment [05:11] and i might want to say "needs fleshing out, look here ..." and not do the writing myself [05:11] etc [05:22] hpidcock: you going ok? not blocked? [05:22] wallyworld: not blocked, I just keep finding issues [05:22] I feel like Alice going down the rabbit hole [05:24] did you need som ehelp? [05:25] nah, just time [05:29] hpidcock: feel free to put up a wip if you want a sanity check [08:16] wallyworld: I think I'm at the point where I've handled all the weird cases for now. We need to come back to this at some point, but for now I think we should land it. [08:27] ok, i'll look [09:23] morning manadart: how would you add a test that accesses a local concept like "activeBranch" in the status output here: https://github.com/juju/juju/blob/3ef20221f2bd332ac5cfd53d3ff6bc6759b7f2bc/cmd/juju/status/status_internal_test.go which currently only mocks the state? [09:30] manadart: Is this what you had in mind? https://github.com/juju/juju/pull/10805/commits/69de6b3e6ad72a130001bd87bb762c1ef3785691 [09:33] nammn_de, integration test #cough# [09:33] achilleasa: Yeah, but I would make the subnetURLs a set, an break the collection out into its own method. [09:34] stickupkid: Ha, good point. Let me add both if possible [09:34] manadart: yeah... didn't think of dups in URLs... caffeine has not kicked in yet :D [09:42] manadart: looks better now: https://github.com/juju/juju/pull/10805/commits/fb515c68a35f8e177a635e609eeb879a6fbde91c [09:45] achilleasa: Yep. [09:45] achilleasa: We will need to talk about how to move forward with O7k. [09:46] O7k? Got time to chat now? [10:12] achilleasa: Sorry missed that. Openstack. HO? [10:12] manadart: omw === bugg is now known as magicaltrout [10:58] nammn_de: JujuConnSuite emulates the local file-store with an in-memory store, so you might be able to do something like this: https://paste.ubuntu.com/p/jxYDPvHQcS/ [10:59] manadart: great, thanks! [10:59] nammn_de: BTW, can you look at https://github.com/juju/juju/pull/10830 ? [11:00] manadart: can do [11:40] hml rick_h: added acceptancetests (stickupkid) and unit tests https://github.com/juju/juju/pull/10796 [11:41] acceptancetest ^ https://github.com/juju/juju/blob/90905e71dd4fecd3eaeeaae64e602fc80ef2fccd/tests/suites/cli/active_branch.sh [11:45] manadart: looking at your pr now. Why did we warrant this change again? [11:45] this kills me https://paste.ubuntu.com/p/MfRxxsqK8W/ [11:46] nammn_de: Requirement changed. There is no longer a configuration default for the model's default space. [11:47] we actively break piping - 2>/dev/null is the fix :( [11:47] manadart: got it [11:47] nammn_de, do we not highlight the active branche in status? [11:48] we should, with a * [11:48] https://paste.ubuntu.com/p/Gkn6Bx6qFG/ [11:48] except it being master [11:48] nammn_de, json or yaml? [11:48] stickupkid: should both. But we are talking about my pr, right?> [11:48] nammn_de, what ever is develop [11:49] stickupkid: not in develop yet [11:49] nammn_de, ah [11:49] stickupkid: https://github.com/juju/juju/pull/10796 [11:49] there is it :D [11:49] *it is [11:50] nammn_de, NICE [11:50] that's what i want [11:51] nammn_de, going to add some comments [11:51] stickupkid: sure feel free, you can take a look at the acceptancetest(!)/unit test [11:53] nammn_de: looking at the unit tests [11:55] nammn_de: i don’t think we’ve gotten to mocks in the status output code yet. :-( looks like you found away without. [12:00] manadart: approved, one small nit [12:01] hml: Actually I was struggling to updatethemodel, luckily manadart gave me some pointers. [12:01] hml: feel free to comment if you think the assert of the unit test is too small [12:06] nammn_de: added to the pr. typically we’d test 1 thing in a unit test, so the status output test would be broken into 2. if the first 1 fails, we don’t run the 2nd if they are combined, which may pass on its own. [12:19] hml: sure will update [12:19] stickupkid: where did the idle_condition come from? [12:20] nammn_de, https://github.com/juju/juju/commit/e14e76eefc3d8fee8e785099f2717e63732a4b83 [12:24] stickupkid: we should document the place where we can use/find the common utilities function. Some kind of doc which gets updates or just redirects to juju.sh. I find myself suprised that things are either there or keep getting updates. Which is great though [12:27] we have an issue trying to upgrade controller 2.6.9 to 2.6.10, I'm just investigating it - jenkins release brought it up [12:28] stickupkid: ruh roh, ok [12:36] stickupkid hml: thanks for your review, I updated both tests [13:38] coming back hml stickupkid want to take a look at the tests again? https://github.com/juju/juju/pull/10796 rick_h is fine with the qa output itself [13:41] nammn_de: will do shortly [13:41] nammn_de, i've approved the integration tests :D [13:52] nammn_de: approved the other pieces. ty for the change [14:22] thanks! [14:24] manadart im starting to look deeper now into metrics. With metrics we mean offering an scraping endpoint for prometheus, right? [14:24] Where we give prometheus data for each scrape action? [14:34] nammn_de: Yes, but this is all set up for the cache. We just need the guages. See core/cache/metrics.go and how those are used. [14:42] manadart: just a nit on 10831, and approved. [14:43] hml: Thanks. [14:44] manadart: do you have some time to chat on 10825? [14:46] hml: I am in daily. [15:20] manadart: which namespaces should those gauges go? [15:22] and this was for charm config cache hits/misses, right? [15:26] general: each watcher is a goroutine /agent(?) which watches something for changes and does something on changes? E.g. a watcher can be responsible for updating a cache on db changes (?( [15:26] *) [15:36] nammn_de, the worker/modelcache updates the core/cache [15:37] nammn_de, i believe it's the all watcher that outputs deltas which the modelcache consumes and puts into the core/cache [15:37] stickupkid: thanks! How does that play with the watchers? [15:37] nammn_de, in what regards? [15:40] or more a general thing. A watcher is some kind of goroutine which watches something changes in the mongodb (e.g. charmconfigwatcher watches changes on specific collections of mongo db?) and e.g. updates a local cache [15:40] ? [15:43] yeah, not far off. So a watcher at it's core has a tomb. A tomb is a managed gorountine, that wraps a gorountine up so that you can kill it or track it via wait [15:44] the watcher then just instantiates a tomb (well normally someone inits a watcher and the tomb) and it just loops collecting changes and dispatches them out when it's ready [15:44] think of a watcher as a self contained event dispatcher [15:45] each watcher can then look at db collections and filter on changes. [15:46] the point of the model cache hit/miss is to see if some piece of code is requesting a config, but it's not in the cache [15:46] stickupkid: makes sense! A watcher is usually there to watch db collection changes, right? [15:46] correct [15:49] stickupkid: now things makes more sense slowely. Need to let it sink [15:49] all of that different naming and each having its purpose. Need to map things internally for me [15:50] it's worth reading tomb implementation, then you can build on what a worker and a watcher adds to the party [15:51] then a fortress, etc [15:55] stickupkid: great will do [15:56] stickupkid: its always so hard to find where to start with the reading [18:10] stickupkid manadart something along this line? https://github.com/juju/juju/pull/10833/files