/srv/irclogs.ubuntu.com/2020/06/09/#juju.txt

pmatulisapparently when a LXD-backed controller is created there are some LXD profiles that come with it. one is supposedly called 'juju-default'. where can i see these?00:17
wallyworldpmatulis: off hand i can't remember but heather wil know for sure01:34
wallyworldtlm: got 5?01:34
Chipacais 2.7.1 the right cutoff for deciding whether relation-get/relation-set know about --app ?02:20
Chipacahttps://discourse.juju.is/t/juju-2-7-1-release-notes/2495 seems to imply that but i'm not positive; 2.7.2 already talks about fixing bugs in relation-get --app :)02:20
Chipacaand i have reports of it not working on 2.7.002:21
* Chipaca realises there aren't many options left in there :)02:21
tlmwallyworld: back now02:29
wallyworldtlm: dog ok?02:30
tlmfor the moment :)02:30
tlmHO wallyworld  ?02:30
wallyworldChipaca: not sure off hand - but have you considered upgrading to 2.7.6 where any such issues will be mot?02:31
wallyworldtlm: i answered by own question, so no need for HO02:31
tlmah cool02:31
wallyworld*moot02:31
Chipacawallyworld: i'm running 2.8 here :) but some heathens dare run older versions and still wnat to run charms02:31
wallyworldthey ned to upgrade cause really, anything < 2.7.6 is not so much supported02:32
wallyworldif there's a bug we'd to them to upgrade02:32
wallyworldrelation-set app came in in 2.702:33
wallyworldbut there were early bugs from emmory02:33
wallyworldso if they use < 2.7.6 they may not be happy02:33
Chipacathey're aware it's an issue, but they can't upgrade everywhere at this time02:34
Chipacawallyworld: but, good to know relation-get and relation-set got it at different times02:35
Chipacaer, or maybe i misunderstood you02:35
wallyworldrelation-get/set would have been done at the same time02:35
Chipacaok :)02:36
wallyworldit was part of an overall feature02:36
Chipacato be clear i don't think they're using the feature, it's just that we always sent --app=<bool> and it trips up on them02:36
Chipacaok, back to sleep. đź‘‹02:41
tlmwallyworld: got 5 min for HO ?03:02
wallyworldok03:02
=== ulidtko|k is now known as ulidtko
wallyworldmanadart: there's been a field critical bug, here's a PR i need your input on; not sure about my new link layer device removal code, i think we need to delete them even if a parent device (furture PR will want to compose as a model op as well but for now...). also, i am unclear why we would have excluded containers in the first place, that code seems like it was done way back in 2013 so who knows https://github.com/juju/juju/06:16
wallyworldpull/1168206:16
manadartwallyworld: Hmm. That code path is used now by both the instance-poller and the machiner. So I think this will cause flapping if there is a device seen by the machine, but not the provider.06:20
manadartI am actually working on this at present in the context of another bug.06:20
wallyworldok, no problem, i can abandon the PR if appropriate06:20
wallyworldthe quick fix was to remove the container ceck06:22
wallyworldbut then we got orphansed entries06:22
wallyworldi think we need to then separate out provider vs machine devices, like we do for addresses?06:23
wallyworldot at least tag where they came from06:23
wallyworldso we can then delete macine vs provider devices properly06:24
wallyworldand we aggregate in the getter?06:24
manadartwallyworld: Prior patches have introduced the idea of device address origin. This way the provider can effectively relinquish devices to the machiner, and the machiner can safely remove them if not observed.06:40
manadartThat's the bit I'm on at present.06:40
wallyworldsounds good, i was sort of hinting at something similar i think. so this new work is in 2.8 right? we need a quick fix for 2.706:42
manadartwallyworld: I will see if I can back-port.06:55
wallyworldok, ty, i should close my PR then06:55
wallyworlddid you want to include the small actual fix in yours? ie remove the container check? or i can slim mine down to just d that bit06:56
achilleasamanadart: can you take a look at https://github.com/juju/juju/pull/11670?08:36
manadartachilleasa: I'm working a field-critical bug ATM.08:37
achilleasamanadart: nw, I will look into another bug for now08:37
manadartachilleasa: Actually, can you hop in Daily?08:49
stickupkidmanadart, CR when you get a chance https://github.com/juju/juju/pull/1168410:57
jammanadart or achilleasa did either of you see: https://bugs.launchpad.net/juju/+bug/188212712:32
mupBug #1882127: nil pointer dereference in 'relation-set' <juju:Triaged> <juju 2.7:New> <https://launchpad.net/bugs/1882127>12:32
manadartjam: Yeah, I'll take a look when I've a moment.12:33
achilleasajam: that's an odd one. It means that either r.Settings or r.ApplicationSettings returned nil without an error (https://github.com/juju/juju/blob/2.7/worker/uniter/runner/jujuc/relation-set.go#L150-L160). Is it confirmed that we saw this in 2.7.6?12:35
jamachilleasa, that is what was reported, I haven't reproduced it12:35
achilleasaasking because we did some work in 2.7.6 to fix some of the issues accessing application data (inc. fixing some err var shadowing issues)12:37
achilleasaI will take a closer look later today12:38
jamachilleasa, thanks12:42
achilleasajam: also, we do have integration tests that check access to unit/app data in various scenarios: https://github.com/juju/juju/blob/develop/tests/suites/relations/relation_data_exchange.sh12:42
stickupkidachilleasa, I bet you this is a Settings(nil) issue12:50
achilleasastickupkid: they should be getting an empty map or an error12:50
achilleasaI suspect based on the bug report that this is a nil returned when fetching the ApplicationData12:51
stickupkidachilleasa, yeah, i don't get it yet, doing more looking12:51
stickupkidachilleasa, I'm just putting my flag in the sand12:51
achilleasaif you got a bit of time, can you run the integration tests against 2.7.6?12:51
achilleasa(the one linked above)12:52
jamachilleasa, stickupkid : yeah given the Python code is grabbing the application data, it would be that ApplicationSettings is returning nil, nil12:52
stickupkidachilleasa, sure, let me sort that out12:52
stickupkidachilleasa, do it after daily12:53
stickupkidthere are a lot of places that check that certain things exist in a map, but not actually the value of said item in the map is valid12:56
jamstickupkid, achilleasa for more context, it is a k8s charm where this is happening13:00
jamspecifically this charm: https://github.com/davigar15/zookeeper/tree/master/src happening in this code: https://github.com/davigar15/zookeeper/blob/master/mod/zookeeper/zookeeper_provides.py13:00
stickupkidpetevg, I think we can mark it as wontfix tbh https://bugs.launchpad.net/juju/+bug/188257114:03
mupBug #1882571: juju schema doesn't contain docs <juju:New> <https://launchpad.net/bugs/1882571>14:03
petevgstickupkid: agreed. Thx for the comment on it :-)14:03
pmatulishml, i've been told you may help me. apparently when a LXD-backed controller is created there are some LXD profiles that come with it. one is supposedly called 'juju-default'. where can i see these?14:27
hmlpmatulis:  on the machine the lxd containers are running on14:28
hmlpmatulis:  there is a profile created per model.  so by default “juju-defaul” and “juju-controller”14:28
stickupkidpmatulis, lxc profile list and lxc profile show juju-default14:31
pmatulishml, stickupkid: ok, so juju effectively creates a lxc profile (lxc profile create) along for every model that it creates and will apply that profile for that model?15:00
hmlpmatulis:  yes.  the profile is applied to all machines in that model15:00
hmlpmatulis:  the default profile is also use15:01
hmlfor all lxd machine15:01
pmatulishml, i don't understand. two profiles are used?15:03
hmlpmatulis:  the default one is what’ever the user put into the profile.  and contains network interfaces by default15:03
hmlpmatulis:  the juju one is what juju requires15:03
hmlpmatulis:  yes, 2 profiles minimum15:04
pmatulishml, wow ok thanks15:05
stickupkidpmatulis, think of them as a stack or profiles to apply. You concat them together to give you the container you want/need15:06
pmatulisstickupkid, so that default profile should normally never be deleted15:08
stickupkidpmatulis, indeed because we use that to find the bridge name15:09
pmatuliswould an error occur if a container was created w/o the 'default' profile? i mean, even for pure lxd (not juju)15:09
stickupkidpmatulis, not sure tbh, would need to test that scenario15:11
pmatulisstickupkid, cheers thanks15:12
hmlstickupkid: doesn’t juju verify the network info is in the default profile?  i can’t remember if it rewrites the default profile if its not15:15
stickupkidhml, it never re-writes the default profile, it just queries it15:16
hmlstickupkid: so what happens if there isn’t a nic defined then?15:16
stickupkidhml, there is logic around this, will check15:17
stickupkidhml, pmatulis we expect default profile in a lot of places15:18
stickupkidhml, oh wow, we do update the default, I was wrong sorry15:20
stickupkidhttps://github.com/juju/juju/blob/develop/container/lxd/network.go#L18315:20
hmlstickupkid: i thought so… remember being in that code a long time ago15:21
stickupkidhml, forgot about that, been a long time15:21
pmatulisstickupkid, ok thanks for that follow up15:25
pmatulisstickupkid, and if a charm itself included a profile the associated container would use a stack of three profiles?15:41
stickupkidpmatulis, correct15:47
pmatulisgot it thx15:49
stickupkidachilleasa, I can't reproduce the bug15:53
stickupkidachilleasa, well with the integration tests15:54
achilleasaeven on 2.7.5?15:54
stickupkidachilleasa, 2.7.5 returns     |     |16:07
stickupkid    | ERROR invalid value "db:2" for option -r: relation not found16:07
stickupkid    | ERROR permission denied16:07
stickupkid    | ERROR permission denied16:07
achilleasastickupkid: yeah... that was one of the things that got fixed in 2.7.616:15
stickupkidachilleasa, ho?16:23
achilleasastickupkid: omw16:23
kelvinliuwallyworld: ho for azure stuff?23:28

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!