def verify_ipaddress(address: Optional[HostAddress]) -> None: if not address: raise MKIPAddressLookupError("Host as no IP address configured.") if address in ["0.0.0.0", "::"]: raise MKIPAddressLookupError( "Failed to lookup IP address and no explicit IP address configured")
def _verify_ipaddress(self): # type: () -> None if not self._ipaddress: raise MKIPAddressLookupError("Host as no IP address configured.") if self._ipaddress in ["0.0.0.0", "::"]: raise MKIPAddressLookupError( "Failed to lookup IP address and no explicit IP address configured")
def cached_dns_lookup(hostname, family): # type: (HostName, int) -> Optional[str] cache = cmk.base.config_cache.get_dict("cached_dns_lookup") cache_id = hostname, family # Address has already been resolved in prior call to this function? try: return cache[cache_id] except KeyError: pass ip_lookup_cache = _get_ip_lookup_cache() cached_ip = ip_lookup_cache.get(cache_id) if cached_ip and config.use_dns_cache: cache[cache_id] = cached_ip return cached_ip host_config = config.get_config_cache().get_host_config(hostname) if host_config.is_no_ip_host: cache[cache_id] = None return None # Now do the actual DNS lookup try: ipa = socket.getaddrinfo( hostname, None, family == 4 and socket.AF_INET or socket.AF_INET6)[0][4][0] # Update our cached address if that has changed or was missing if ipa != cached_ip: console.verbose("Updating IPv%d DNS cache for %s: %s\n" % (family, hostname, ipa)) ip_lookup_cache.update_cache(cache_id, ipa) cache[cache_id] = ipa # Update in-memory-cache return ipa except (MKTerminate, MKTimeout): # We should be more specific with the exception handler below, then we # could drop this special handling here raise except Exception as e: # DNS failed. Use cached IP address if present, even if caching # is disabled. if cached_ip: cache[cache_id] = cached_ip return cached_ip else: cache[cache_id] = None raise MKIPAddressLookupError( "Failed to lookup IPv%d address of %s via DNS: %s" % (family, hostname, e))
def failed_ip_lookup(h): raise MKIPAddressLookupError("Failed to ...")
def fake_lookup_ip_address(host_config, family=None, for_mgmt_board=True): raise MKIPAddressLookupError("Failed to ...")