diff --git a/cli/scripts/cluster.py b/cli/scripts/cluster.py index d6a1fa42..d90619c3 100755 --- a/cli/scripts/cluster.py +++ b/cli/scripts/cluster.py @@ -8,10 +8,11 @@ import sys import getpass from tabulate import tabulate # type: ignore -from ipaddress import ip_address +import socket import os import re + BASE_DIR = "cluster" DEFAULT_REPO = "https://pgedge-download.s3.amazonaws.com/REPO" @@ -1042,12 +1043,14 @@ def get_cluster_info(cluster_name): ) try: if public_ip: - ip_address(public_ip) + socket.gethostbyname(public_ip) + if private_ip: - ip_address(private_ip) - except ValueError: + socket.gethostbyname(private_ip) + + except socket.gaierror as e: validation_errors.append( - f"Invalid IP address provided for node {node.get('name')}." + f"Error resolving hostname or ip adress for node {node.get('name')} : {e}." ) for sub_node in node.get("sub_nodes", []): @@ -1077,12 +1080,12 @@ def get_cluster_info(cluster_name): ) try: if public_ip: - ip_address(public_ip) + socket.gethostbyname(public_ip) if private_ip: - ip_address(private_ip) - except ValueError: + socket.gethostbyname(private_ip) + except socket.gaierror as e: validation_errors.append( - f"Invalid IP address provided for sub-node {sub_node.get('name')}." + f"Error resolving hostname or ip adress for sub-node {sub_node.get('name')}: {e}." ) if validation_errors: