/srv/irclogs.ubuntu.com/2021/11/05/#cloud-init.txt

=== cpaelzer_ is now known as cpaelzer
=== esv_ is now known as esv
anankeholmanb: thanks! I'll try to take a closer look today, hope I can finish my other projects13:22
holmanbananke: sounds good14:13
akutzfalcojr: I just added an assertion to that PR for set-name and resent the PR. I realized it was just printing the result :(15:59
akutzBy the way falcojr, this may be a silly question as I'm sure if you were aware of any land-mines you would just fix them, but could you possibly take 10m today or sometime soon and poke into the network state/render code and see if anything stands out as what might be a "set-name" issue laying in wait?16:04
falcojrThanks akutz, yeah...I noticed we had two similar issues like that recently, so I think it's worth doing an audit and/or adding some unit tests to see if there's other big things we've missed16:26
akutzYeah, and since I know (not blaming, just observing) your patch back in July caused the DNS one, and you work in that area not infrequently, I was hoping you might have a good sense of any warning signs.16:26
falcojryeah, I think until recently there hasn't been much v2 config usage outside of direct netplan passthrough which is why I think we're uncovering some of these issues now16:29
akutzI *think* what's likely a good indicator is anywhere a device id/name is used. If there's a chance that's been updated, or not updated, to reflect the set-name value, then anything else an id/name may have an incorrect one. I think it's a disconnect between what key is in the network state and the key in config.ethernets. After the NS is parsed, its keys are the ethernets[*].id values OR set-name if it was specified. But since config.ethernets is still16:30
akutz referenced quite a bit, it still used the old id/key. Both issues are nearly identical, but slightly different. One was iterating over config.ethernets and using that key to access the NS devices, and the other was the opposite.16:30
akutzOne quick hack would be to simply update the keys in config.ethernets to match their set-name values if those are present before doing anything else.16:31
falcojrgood advice16:38
akutzHey falcojr, I'm seeing weirdness on the tests for https://github.com/canonical/cloud-init/pull/1100. The 3.5 tests seem to fail randomly between xenial and py3, but only for Python 3.5. It seems to be based on the rendered content for networkd. I'm guessing the rendered text can be different? Not the keys in the dict, but the actual networkd file line/section ordering?18:33
ubottuPull 1100 in canonical/cloud-init "Fix for set-name bug in networkd renderer" [Open]18:33
akutzI can simplify the assertion so this doesn't fail, but I only want to do so if we confirm the rendered output isn't deterministic. 18:33
akutzIt only seems to fail for Python 3.5 though. And it's random at that. 18:35
falcojrakutz: looks like a symptom of iterating over a dictionary18:41
falcojr3.6+ order is preserved (as an implementation detail). 3.5 and below the order can be random18:41
akutzI guess. I'm fixing it in the test though by sorting the output of both before comparison.18:41
falcojrsounds good18:42
akutzOkay, it's pushed and running. Hopefully this clears it up. Not to be pushy, but do we have an idea when 21.5 might drop? I ask because I want to be able to indicate to the Kubernetes image builder community when they can stop downgrading and pinning Cloud-Init to 21.1. Since Cluster API uses "set-name," these latest bugs have hit those images hard.18:49
akutz(I know 21.4 *just* dropped, but I wasn't sure if perhaps there was a tentative ETA on the next release date)18:50
akutzIronically it was folks from MSFT who discovered the latest bug. They based their VMware DS for Cloudbase-Init off of my original DS, and I think between that and Azure, they've been doing a lot more testing around Cloud-Init. 18:52
akutzOh for the love of pete, my block comment got flagged in 3.6 by pylint for not having any effect :) Okay, fixing that...19:06
falcojrakutz: we do quarterly releases. 21.4 is the 4th release of 2021, so next will be 22.1 in 3-ish months from now19:50
akutzAck, thank you.19:50
=== paride4 is now known as paride
=== falcojr6 is now known as falcojr
=== mcint1 is now known as mcint

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