From 573384e6dca654cddc717e087a76132cd3ffb36a Mon Sep 17 00:00:00 2001 From: Robert Kaussow Date: Sun, 27 Feb 2022 16:04:01 +0100 Subject: [PATCH] fix: stop ip address gathering after first found (#156) --- prometheuspvesd/discovery.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/prometheuspvesd/discovery.py b/prometheuspvesd/discovery.py index 04e3905..b81289d 100644 --- a/prometheuspvesd/discovery.py +++ b/prometheuspvesd/discovery.py @@ -109,14 +109,13 @@ class Discovery(): except Exception: # noqa # nosec pass - if networks: - if type(networks) is list: - for network in networks: - for ip_address in network["ip-addresses"]: - if ip_address["ip-address-type"] == "ipv4": - ipv4_address = validate_ip(ip_address["ip-address"]) - elif ip_address["ip-address-type"] == "ipv6": - ipv6_address = validate_ip(ip_address["ip-address"]) + if type(networks) is list: + for network in networks: + for ip_address in network["ip-addresses"]: + if ip_address["ip-address-type"] == "ipv4" and not ipv4_address: + ipv4_address = self._validate_ip(ip_address["ip-address"]) + elif ip_address["ip-address-type"] == "ipv6" and not ipv6_address: + ipv6_address = self._validate_ip(ip_address["ip-address"]) if not ipv4_address: try: @@ -218,7 +217,7 @@ class Discovery(): except ValueError: metadata = {"notes": description} - ipv4_address, ipv6_address = self._get_ip_addresses(pve_type, node, vmid) or host + ipv4_address, ipv6_address = self._get_ip_addresses(pve_type, node, vmid) prom_host = Host(vmid, host, ipv4_address, ipv6_address, pve_type)