terraform-google-modules/terraform-google-network

While creating router: 400 - resourceNotReady

chiefy opened this issue · 4 comments

TL;DR

Trying to use this module to create a VPC and on first attempt I always get:

Error: Error creating Router: googleapi: Error 400: The resource 'projects/parsley-development/global/networks/hansgruber-gke-vpc' is not ready, resourceNotReady
│
│   with module.vpc.module.cloud_router.google_compute_router.router,
│   on .terraform/modules/vpc.cloud_router/main.tf line 17, in resource "google_compute_router" "router":
│   17: resource "google_compute_router" "router" {

Expected behavior

VPC and Router get created w/o error

Observed behavior

first-attempt:

Error: Error creating Router: googleapi: Error 400: The resource 'projects/parsley-development/global/networks/hansgruber-gke-vpc' is not ready, resourceNotReady
│
│   with module.vpc.module.cloud_router.google_compute_router.router,
│   on .terraform/modules/vpc.cloud_router/main.tf line 17, in resource "google_compute_router" "router":
│   17: resource "google_compute_router" "router" {

second-attempt (w/o intervention or change):
works as expected

module.vpc.module.cloud_router.google_compute_router.router: Creating...
module.vpc.module.cloud_router.google_compute_router.router: Still creating... [10s elapsed]
module.vpc.module.cloud_router.google_compute_router.router: Creation complete after 11s [id=projects/parsley-development/regions/us-east1/routers/hansgruber-gke-vpc-router]

Terraform Configuration

module "vpc" {
  source  = "terraform-google-modules/network/google"
  version = "~> 5.0"

  project_id                             = var.project_id
  network_name                           = var.network_id
  routing_mode                           = "GLOBAL"
  delete_default_internet_gateway_routes = true

  subnets = local.vpc_subnets

  secondary_ranges = {
    "${var.gke_subnet_name}" = [
      {
        range_name    = "${var.gke_subnet_name}-pods"
        ip_cidr_range = "192.168.64.0/19"
      },
      {
        range_name    = "${var.gke_subnet_name}-services"
        ip_cidr_range = "192.168.96.0/19"
      }
    ]
  }

  routes = [
    {
      name              = "egress-internet"
      description       = "route through Cloud NAT to access internet"
      destination_range = "0.0.0.0/0"
      next_hop_internet = "true"
    },
  ]

}

Terraform Version

✗  terraform version
Terraform v1.2.2
on darwin_amd64


### Additional information

_No response_

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days

Any ideas on this?

@chiefy I think you also be using a different module for cloud_router, could you post full resource config? We have a different cloud router module and this module does not manage any google_compute_router resources.

@bharathkkb Thanks, somehow that completely escaped me, I am actually using the cloud router module you linked. I just had to add a depends_on into it and now it works great. Thanks again!