From 6a4b6dc0de94a9e75bb44fa6c03288c7d4dded7e Mon Sep 17 00:00:00 2001 From: eb3095 <45504889+eb3095@users.noreply.github.com> Date: Fri, 28 Jan 2022 14:43:35 -0500 Subject: [PATCH] Vultr: Fix lo being used for DHCP, try next on cmd fail (#1208) --- cloudinit/sources/helpers/vultr.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cloudinit/sources/helpers/vultr.py b/cloudinit/sources/helpers/vultr.py index 9848f8fd13c..350ba4ab925 100644 --- a/cloudinit/sources/helpers/vultr.py +++ b/cloudinit/sources/helpers/vultr.py @@ -21,9 +21,11 @@ def get_metadata(url, timeout, retries, sec_between, agent): # Seek iface with DHCP for iface in net.get_interfaces(): - # Skip dummy interfaces + # Skip dummy, lo interfaces if "dummy" in iface[0]: continue + if "lo" == iface[0]: + continue try: with EphemeralDHCPv4( iface=iface[0], connectivity_url_data={"url": url} @@ -33,7 +35,7 @@ def get_metadata(url, timeout, retries, sec_between, agent): # Fetch the metadata v1 = read_metadata(url, timeout, retries, sec_between, agent) - except (NoDHCPLeaseError) as exc: + except (NoDHCPLeaseError, subp.ProcessExecutionError) as exc: LOG.error("DHCP Exception: %s", exc) exception = exc