diff --git a/pkg/drivers/kvm/network.go b/pkg/drivers/kvm/network.go index b704b55c80..835c2c6480 100644 --- a/pkg/drivers/kvm/network.go +++ b/pkg/drivers/kvm/network.go @@ -478,9 +478,19 @@ func ifListFromAPI(conn *libvirt.Connect, domain string) ([]libvirt.DomainInterf } defer func() { _ = dom.Free() }() - ifs, err := dom.ListAllInterfaceAddresses(libvirt.DOMAIN_INTERFACE_ADDRESSES_SRC_LEASE) - if err != nil { - return nil, fmt.Errorf("failed listing network interface addresses of domain %s: %w", domain, err) + ifs, err := dom.ListAllInterfaceAddresses(libvirt.DOMAIN_INTERFACE_ADDRESSES_SRC_ARP) + if ifs == nil { + if err != nil { + log.Debugf("failed listing network interface addresses of domain %s(source=arp): %w", domain, err) + } else { + log.Debugf("No network interface addresses found for domain %s(source=arp)", domain) + } + log.Debugf("trying to list again with source=lease") + + ifs, err = dom.ListAllInterfaceAddresses(libvirt.DOMAIN_INTERFACE_ADDRESSES_SRC_LEASE) + if err != nil { + return nil, fmt.Errorf("failed listing network interface addresses of domain %s(source=lease): %w", domain, err) + } } return ifs, nil