def _remove_node_internally()

in src/hpc/autoscale/node/nodemanager.py [0:0]


    def _remove_node_internally(self, node: Node) -> None:
        by_bucket_id_and_pg = partition_single(
            self.__node_buckets, lambda b: (b.bucket_id, b.placement_group)
        )

        key = (node.bucket_id, node.placement_group)

        if key not in by_bucket_id_and_pg:
            logging.warning(
                "Unknown bucketid/placement_group??? %s not in %s",
                key,
                by_bucket_id_and_pg,
            )
            return

        bucket = by_bucket_id_and_pg[key]
        nodes_list = bucket.nodes

        if node not in nodes_list:

            logging.warning(
                (
                    "Somehow {} is not being tracked by bucket {}. "
                    + "Did you try to shutdown/terminate/delete a node twice?"
                ).format(node, bucket)
            )
            return

        bucket.nodes.remove(node)