如何解决Terraform错误“等待状态变为'done:true'时超时(最后一个状态:'done:false',超时:10m0s)”?

时间:2020-08-24 12:29:47

标签: google-cloud-platform terraform terraform-provider-gcp

我正在尝试在GCP中使用Terraform创建Firestore索引。 以下是我的Terraform脚本:

resource "google_firestore_index" "job_config1_index" {
  project = var.projectId

  collection = var.job_config_firestore
  depends_on = [
    "google_firestore_index.job_config4_index"
  ]

  fields {
    field_path = "customer_id"
    order      = "ASCENDING"
  }

  fields {
    field_path = "job_type"
    order      = "ASCENDING"
  }

  fields {
    field_path = "start_date_time"
    order      = "ASCENDING"
  }

  fields {
    field_path = "__name__"
    order      = "ASCENDING"
  }
}

下面是日志:

Step #2: Error: Error waiting to create Index: Error waiting for Creating Index: timeout while waiting for state to become 'done: true' (last state: 'done: false', timeout: 10m0s)
Step #2: 
Step #2:   on firestore.tf line 298, in resource "google_firestore_index" "job_config1_index":
Step #2:  298: resource "google_firestore_index" "job_config1_index" {
Step #2: 
Step #2: 

我的其他Firestore索引运行良好。 如何增加每个索引的超时时间?

1 个答案:

答案 0 :(得分:3)

包括google_firestore_index资源在内的某些资源具有使用timeouts block创建,更新和/或删除的可选配置超时:

resource "aws_db_instance" "example" {
  # ...

  timeouts {
    create = "60m"
    delete = "2h"
  }
}

因此,在您的情况下,您需要向Firestore索引添加create超时,如下所示:

resource "google_firestore_index" "job_config1_index" {
  project = var.projectId

  collection = var.job_config_firestore
  depends_on = [
    "google_firestore_index.job_config4_index"
  ]

  fields {
    field_path = "customer_id"
    order      = "ASCENDING"
  }

  fields {
    field_path = "job_type"
    order      = "ASCENDING"
  }

  fields {
    field_path = "start_date_time"
    order      = "ASCENDING"
  }

  fields {
    field_path = "__name__"
    order      = "ASCENDING"
  }

  timeouts {
    create = "60m"
  }
}