/srv/irclogs.ubuntu.com/2022/04/06/#cloud-init.txt

=== lowercase is now known as lowercase00
=== esv_ is now known as esv
akutzWhat is the expectation of the METADATA_CHANGE when it is eventually funded? Do we expect that it will respond at runtime? Ex. will cloud-init maintain a loop that polls the DS for changes?18:31
falcojrakutz: or some kind of long-poll socket, but yes, something along those lines if somebody wants to opt-in to it18:51
blackboxswfalcojr: holmanb sorry for delay. Here is a PR to help address ds-identify detection of LXD KVM instances when launched from Jammy 19:35
blackboxswhttps://github.com/canonical/cloud-init/pull/137019:35
ubottuPull 1370 in canonical/cloud-init "ds-identify: detect LXD for VMs launched from host with > 5.10 kernel" [Open]19:35
blackboxswtook me a while to write up the related bug19:36
blackboxswas I'd like to target that bug for fixing in Jammy19:36
blackboxswhttps://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/196808519:36
ubottuLaunchpad bug 1968085 in cloud-init (Ubuntu) "Jammy: ds-identify: cloud-init disabled by generator due to inability to detect LXD datasource when launched from Jammy host system" [High, In Progress]19:36
holmanb@blackboxsw: no problem at all, looking now19:49
akutzfalcojr: that sounds about right, thanks for the confirmation. my real question was to understand whether the METADATA_CHANGE event was intended to be another boot time event or runtime. If it's runtime then it's what I expected it would be. I'm thinking of when users want to add NICs or modify network settings from outside the guest and how to pipe that information into the guest.20:00
falcojrakutz: yes, it's runtime20:01
akutzfalcojr: nice. is there any plumbing in place yet for runtime reconfig of networking yet? I'm not talking about the eventing work, but just the ability to cause a network reconfig post-boot. I might be tempted to work on the eventing if the networking side was already present.20:03
falcojrakutz: https://cloudinit.readthedocs.io/en/latest/topics/modules.html#install-hotplug is what turns it on. https://github.com/canonical/cloud-init/blob/main/cloudinit/cmd/devel/hotplug_hook.py is what we run in response to the udev event20:08
falcojris that what you're looking for?20:08
akutzYes, thank you. So I can imagine an eventual 'updates: network: when: ["hotplug", "metadata"]'20:09
falcojras of right now, yes, something like that20:12
blackboxswoooh, I'm getting excited with that conversation about hotplug metadata :)20:16
blackboxswholmanb: just pushed flake fixes and updated the requested commit msg.20:16
blackboxswon 137020:16
blackboxswawiating CI, then we should be able to squash merge with the suggested commit msg in the description20:17
akutzfalcojr: by the way, thanks for the confirmation on the networkd thing. I spoke with the other VMware engineer, and he agrees it's an issue we should resolve. We discussed two options, and he's considering which one to use.20:23
falcojrsounds good20:23
akutzCrud -- I just realized the challenge on metadata updates. Where our updates do not require networking, EC2 and other datasources get that info from their ephemeral DHCP network. I imagine by the time the instance is online it can no longer access that metadata URL? Or maybe it can? I do not really know. So yeah, ultimately to opt-in to supporting this, datasources would have to revaluate how/when they are able to provide metadata.20:25
holmanb@blackboxsw: thanks!20:26
falcojrakutz: not exactly sure I follow, but across most datasources, metadata URLs should still be reachable after boot has finished20:30
akutzAck. I wasn't sure since EC2 uses the ephemeral DHCP network to grab its metadata. I wasn't sure if that meant the URL was no longer available once the actual network is up.20:32
akutzAnd my point is that since many DSs use networking to check metadata, cloud-init's own polling mechanism would likely want to be aware of that and not be over-eager in checking for MD changes (since it could result in network traffic). It's up to the DS though -- it could use a websocket to just "watch" the MD endpoint. I imagine CI would say "our polling interval and how you poll should be completely divorced from one another."20:34
falcojrakutz: right, yeah, there's still a lot of details to work out20:35
=== lowercase is now known as lowercase00

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