def is_valid_hostname()

in azure-slurm-install/installlib.py [0:0]


def is_valid_hostname(config: Dict, node: CCNode) -> bool:
    """
See await_node_hostname for details.
    """

    if not node.hostname:
        return False

    valid_hostnames: Optional[List[str]] = config.get("valid_hostnames")

    if not valid_hostnames:
        if is_standalone_dns(node):
            valid_hostnames = ["^ip-[0-9A-Za-z]{8}$"]
        else:
            unescaped_nodename_prefix = (
                node.software_configuration.get("slurm", {}).get("node_prefix") or ""
            )
            nodename_prefix = re.sub("[^a-zA-Z0-9-]", "-", unescaped_nodename_prefix)
            if nodename_prefix:
                valid_hostnames = [f"^{nodename_prefix}{node.name}$".lower()]
            else:
                valid_hostnames = [f"^{node.name}$".lower()]

    for valid_hostname in valid_hostnames:
        # assert "D" not in node.hostname, f"{node.hostname} with {valid_hostname}"
        if re.match(valid_hostname, node.hostname):
            return True

    logging.warning(
        "Rejecting invalid hostname '%s': Did not match any of the following patterns: %s",
        node.hostname,
        valid_hostnames,
    )
    return False