> Where in this diff[1] is the change only impacting "Hetzner"?
Strictly, it's not, but that's the only datasource we know of that is affected. In early boot, before networking has started, cloud-init usually sets up an Ephemeral DHCP connection so that it connect to the IMDS and then tears that connection down. This is can be quite expensive time-wise, and there are a few datasources that already have network configured by the time cloud-init comes up. Because of this, a few datasources use a "connectivity url" to check if a datasource already has network connectivity to the IMDS so that the ephemeral DHCP setup can be skipped. If the connectivity check fails, that's no problem because it indicates to us that we need to set up ephemeral DHCP. When we need to retrieve data from a remote URL, cloud-init has two separate helper functions with slightly different usage semantics. In 24.4, the helper used to do the connectivity check was changed in order to accommodate multiple connectivity urls being used by Oracle. The helper that we switched to would emit a log at ERROR level if the request failed. Ultimately, this is incorrect because there are valid reasons for a GET request to fail (as mentioned above). This change impacted Hetzer because they DO at times expect their connectivity check to fail. The error log resulted in the cloud-init process returning 2 where it used to return 0 before. The fix was to stop logging the error so deep in the call stack, and instead have each individual datasource log error if they cannot retrieve IMDS data (most already do), as that is the true error we need to be concerned with. We have 3 datasources that use the connectivity url: Oracle, NWCS, and Hetzner. I'm 99.9% sure this issue can't affect Oracle, because their network is always brought up in the initramfs, so the connectivity check should never fail there. It is possible that NWCS is also affected, but no problems have been reported there. So what you're seeing in that diff is the removal of the error message from the helper function that handles the GET responses, and the addition of error messages in datasources that didn't previously report them, but instead relied on the error from that helper function. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2094857 Title: cloud-init exits 2 if IMDS connectivity fails To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/2094857/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
