def _construct_clients(self): _, _, compute, tpu = construct_clients_from_provider_config( self.provider_config ) # Dict of different resources provided by GCP. # At this moment - Compute and TPUs self.resources: Dict[GCPNodeType, GCPResource] = {} # Compute is always required self.resources[GCPNodeType.COMPUTE] = GCPCompute( compute, self.provider_config["project_id"], self.provider_config["availability_zone"], self.cluster_name, ) # if there are no TPU nodes defined in config, tpu will be None. if tpu is not None: self.resources[GCPNodeType.TPU] = GCPTPU( tpu, self.provider_config["project_id"], self.provider_config["availability_zone"], self.cluster_name, )
def __init__(self, provider_config, cluster_name): NodeProvider.__init__(self, provider_config, cluster_name) self.lock = RLock() _, _, self.compute = construct_clients_from_provider_config( provider_config) # Cache of node objects from the last nodes() call. This avoids # excessive DescribeInstances requests. self.cached_nodes = {}
def _construct_clients(self): _, _, self.compute = construct_clients_from_provider_config( self.provider_config)