简体   繁体   中英

Creating a GCP Cloud Composer V2 instance via Terraform

I am trying to provision a Cloud Composer V2 instance via Terraform. Terraform version: 1.1.3 Provider versions:

  • hashicorp/google: ~> 3.87.0

My tf code is as below:

resource "google_composer_environment" "cc_foo_uat_airflow" {
  name    = "cc-foo-uat-airflow"
  region  = var.region
  project = var.project_id
  provider = google-beta
  config {
    node_config {
      zone            = var.primary_zone
      network         = google_compute_network.foo_uat_composer.id
      subnetwork      = google_compute_subnetwork.foo_uat_composer.id
      service_account = module.sa_foo_uat_airflow_runner.id
    }
    software_config {
      image_version    = var.image_version
      python_version   = var.python_version
      airflow_config_overrides = {
       secrets-backend = "airflow.providers.google.cloud.secrets.secret_manager.CloudSecretManagerBackend"
       webserver-expose_config = "True"
      }
    }
  }
}

Relevant variables are below:

variable "image_version" {
  default = "composer-2.0.1-airflow-2.1.4"
}
variable "python_version" {
  default = "3"
}

Running terraform init via the CLI produces a valid plan, but my build on Terraform cloud fails with the following error:

Error: googleapi: Error 400: Found 1 problem: 1) Configuring node location is not supported for Cloud Composer environments in versions 2.0.0 and newer., badRequest
with google_composer_environment.cc_foo_uat_airflow
on main.tf line 100, in resource "google_composer_environment" "cc_foo_uat_airflow":
resource "google_composer_environment" "cc_foo_uat_airflow" {

I cannot discern from this error message what portion of my TF code is invalid. I cannot remove the zone block from the node_config section, as it is required. I cannot figure out what is causing this error.

Edit: anonymized a missing reference to a proper noun

We're using "terraform-google-composer2.0" module and our.yaml file looks like this

module: "terraform-google-composer2.0"
version: "1.0.0"

name: XXXXX
image_version: composer-2.0.0-airflow-2.1.4
network: XXXXX
subnetwork: composer-XXXXX
region: us-east1
service_account: XXXXXXX
environment_size: ENVIRONMENT_SIZE_LARGE

scheduler_cpu: 2
scheduler_memory_gb: 4
scheduler_storage_gb: 4
scheduler_count: 4

web_server_cpu: 2
web_server_memory_gb: 4
web_server_storage_gb: 4

worker_cpu: 2
worker_max_count: 100
worker_min_count: 3
worker_memory_gb: 4

airflow_config_overrides: 
  scheduler-catchup_by_default: false
  scheduler-dag_dir_list_interval: 180

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM