[15:59] <paride> holmanb, fwiw responses==0.17.0 is the versions that fixes the issue that affects your ec2-dualstack branch
[15:59] <paride> but I can't spot an obvious change between 0.16.0 and 0.17.0 that could make the difference *and* can be backported to 0.5.1
[22:24] <akutz> I will be filing an issue with LP, but it looks like there's a bug in the SystemD renderer -- https://github.com/canonical/cloud-init/blob/main/cloudinit/net/networkd.py. Can someone confirm that only the Photon distro uses this renderer and other distros that use systemd use the netplan renderer?
[22:25] <akutz> FWIW, the bug is with generate_match_section -- https://github.com/canonical/cloud-init/blob/bb93952cb90e07e9a9c2e4e6bdab94a1582ffeeb/cloudinit/net/networkd.py#L83-L98. This always adds the name to the match section, regardless of whether the scalar in the cloud-init network config matches the name of the device. I'm going to propose if the MAC address is known then the name should be omitted from the match section.
[22:25] <akutz> I was wondering why I did not hit this when testing with Ubuntu (since RHEL uses sysconfig), and I realized it's because Ubuntu uses netplan, not the direct systemd renderer that was ported from the old Photon distro source.
[22:26] <akutz> I also realized the reason this never tripped anyone up in CAPV is because set-name was always used there, so the devices always ended up renamed to the intended name anyway. 
[22:26] <akutz> But for a distro that uses the networkd renderer that does not use set-name, unless the network config ethernets scalar matches the name of the device on the guest, the match section, even if the MAC address is provided, will never match.
[22:27] <akutz> Because as per the docs, at https://www.freedesktop.org/software/systemd/man/systemd.network.html -- "A network file is said to match a network interface if all matches specified by the [Match] section are satisfied."