I am trying to provision a Cloud Composer V2 instance via Terraform. Terraform version: 1.1.3 Provider versions:
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.