From cb36bf38b823f811a3e938ccffc03d7d13190095 Mon Sep 17 00:00:00 2001 From: Brett Holman Date: Wed, 3 Jan 2024 09:11:40 -0700 Subject: [PATCH] fix(cloudstack): Use parsed lease file for virtual router in cloudstack Fixes 5942f4023e2581a --- cloudinit/sources/DataSourceCloudStack.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/cloudinit/sources/DataSourceCloudStack.py b/cloudinit/sources/DataSourceCloudStack.py index bc6c7d224fd..cc92859d263 100644 --- a/cloudinit/sources/DataSourceCloudStack.py +++ b/cloudinit/sources/DataSourceCloudStack.py @@ -281,18 +281,18 @@ def get_vr_address(): ) return latest_address - # Try dhcp lease files next... + # Try dhcp lease files next lease_file = dhcp.IscDhclient.get_latest_lease() - if not lease_file: - LOG.debug("No lease file found, using default gateway") - return get_default_gateway() - - lease_file = dhcp.IscDhclient.parse_dhcp_server_from_lease_file(lease_file) - if not latest_address: - # No virtual router found, fallback on default gateway - LOG.debug("No DHCP found, using default gateway") - return get_default_gateway() - return latest_address + if lease_file: + latest_address = dhcp.IscDhclient.parse_dhcp_server_from_lease_file( + lease_file + ) + if latest_address: + return latest_address + + # No virtual router found, fallback to default gateway + LOG.debug("No DHCP found, using default gateway") + return get_default_gateway() # Used to match classes to dependencies