-def verify_connectivity(adress, port, timeout=10):
- """ Returns true if an ip/port is reachable"""
- connection = socket.socket()
- count = 0
- while count < timeout:
- try:
- connection.connect((adress, port))
- LOGGER.debug('%s:%s is reachable!', adress, port)
- return True
- except socket.error:
- count += 1
- time.sleep(1)
- continue
- LOGGER.error('%s:%s is not reachable.', adress, port)
+def verify_connectivity(endpoint):
+ """ Returns true if an hostname/port is reachable"""
+ try:
+ connection = socket.socket()
+ connection.settimeout(10)
+ url = urllib.parse.urlparse(endpoint)
+ port = url.port
+ if not port:
+ port = 443 if url.scheme == "https" else 80
+ connection.connect((url.hostname, port))
+ LOGGER.debug('%s:%s is reachable!', url.hostname, port)
+ return True
+ except socket.error:
+ LOGGER.error('%s:%s is not reachable.', url.hostname, port)
+ except Exception: # pylint: disable=broad-except
+ LOGGER.exception(
+ 'Errors when verifying connectivity to %s:%s', url.hostname, port)