class_docstr: Minimal manager.
  
  Builds app config and compute template but does not start or stop session.
code: def create_cluster_compute(self, _repeat: bool = True):
      assert self.cluster_compute_id is None
  
      if self.cluster_compute:
          assert self.cluster_compute
  
          logger.info(
              f"Tests uses compute template "
              f"with name {self.cluster_compute_name}. "
              f"Looking up existing cluster computes."
          )
  
          paging_token = None
          while not self.cluster_compute_id:
              result = self.sdk.search_cluster_computes(
                  dict(
                      project_id=self.project_id,
                      name=dict(equals=self.cluster_compute_name),
                      include_anonymous=True,
                      paging=dict(paging_token=paging_token),
                  )
              )
              paging_token = result.metadata.next_paging_token
  
              for res in result.results:
                  if res.name == self.cluster_compute_name:
                      self.cluster_compute_id = res.id
                      logger.info(
                          f"Cluster compute already exists "
                          f"with ID {self.cluster_compute_id}"
                      )
                      break
  
              if not paging_token:
                  break
  
          if not self.cluster_compute_id:
              logger.info(
                  f"Cluster compute not found. "
                  f"Creating with name {self.cluster_compute_name}."
              )
              try:
                  result = self.sdk.create_cluster_compute(
                      dict(
                          name=self.cluster_compute_name,
                          project_id=self.project_id,
                          config=self.cluster_compute,
                      )
                  )
                  self.cluster_compute_id = result.result.id
              except Exception as e:
                  if _repeat:
                      logger.warning(
                          f"Got exception when trying to create cluster "
                          f"compute: {e}. Sleeping for 10 seconds and then "
                          f"try again once..."
                      )
                      time.sleep(10)
                      return self.create_cluster_compute(_repeat=False)
  
                  raise ClusterComputeCreateError(
                      "Could not create cluster compute"
                  ) from e
  
              logger.info(
                  f"Cluster compute template created with "
                  f"name {self.cluster_compute_name} and "
                  f"ID {self.cluster_compute_id}"
              )
  
file_path: ray/release/ray_release/cluster_manager/minimal.py
imports: import time
  from ray_release.exception import ClusterEnvBuildError, ClusterEnvBuildTimeout, ClusterEnvCreateError, ClusterComputeCreateError
  from ray_release.logger import logger
  from ray_release.cluster_manager.cluster_manager import ClusterManager
  from ray_release.util import format_link, anyscale_cluster_env_build_url
  from retry import retry
label_desc: Use image node_id 3 for calling the MinimalClusterManager obj's underlying member method code with example usage: obj.create_cluster_compute(_repeat) and returns: self