Skip to content

shared_vpc example fails to create projects #977

@serpro69

Description

@serpro69

TL;DR

  • clone
  • cd examples/shared_vpc
  • apply

Expected behavior

Apply finishes successfully

Observed behavior

Do you want to perform these actions?
  OpenTofu will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

module.service-project.module.project-factory.random_id.random_project_id_suffix: Creating...
module.service-project-c.module.project-factory.random_id.random_project_id_suffix: Creating...
module.host-project.module.project-factory.random_id.random_project_id_suffix: Creating...
module.service-project-b.module.project-factory.random_id.random_project_id_suffix: Creating...
module.service-project.module.project-factory.random_id.random_project_id_suffix: Creation complete after 0s [id=qiU]
module.host-project.module.project-factory.random_id.random_project_id_suffix: Creation complete after 0s [id=6yI]
module.service-project-b.module.project-factory.random_id.random_project_id_suffix: Creation complete after 0s [id=c0E]
module.service-project-c.module.project-factory.random_id.random_project_id_suffix: Creation complete after 0s [id=qAs]
module.service-project.module.project-factory.google_project.main: Creating...
module.service-project-b.module.project-factory.google_project.main: Creating...
module.service-project-c.module.project-factory.google_project.main: Creating...
module.host-project.module.project-factory.google_project.main: Creating...
module.host-project.module.project-factory.google_project.main: Still creating... [10s elapsed]
module.host-project.module.project-factory.google_project.main: Still creating... [20s elapsed]
module.host-project.module.project-factory.google_project.main: Still creating... [30s elapsed]
module.host-project.module.project-factory.google_project.main: Still creating... [40s elapsed]
module.host-project.module.project-factory.google_project.main: Still creating... [50s elapsed]
module.host-project.module.project-factory.google_project.main: Still creating... [1m0s elapsed]
module.host-project.module.project-factory.google_project.main: Still creating... [1m10s elapsed]
module.host-project.module.project-factory.google_project.main: Still creating... [1m20s elapsed]
module.host-project.module.project-factory.google_project.main: Still creating... [1m30s elapsed]
module.host-project.module.project-factory.google_project.main: Still creating... [1m40s elapsed]
module.host-project.module.project-factory.google_project.main: Still creating... [1m50s elapsed]
module.host-project.module.project-factory.google_project.main: Still creating... [2m0s elapsed]
module.host-project.module.project-factory.google_project.main: Still creating... [2m10s elapsed]
module.host-project.module.project-factory.google_project.main: Still creating... [2m20s elapsed]
module.host-project.module.project-factory.google_project.main: Still creating... [2m30s elapsed]
module.host-project.module.project-factory.google_project.main: Still creating... [2m40s elapsed]
module.host-project.module.project-factory.google_project.main: Still creating... [2m50s elapsed]
module.host-project.module.project-factory.google_project.main: Still creating... [3m0s elapsed]
module.host-project.module.project-factory.google_project.main: Still creating... [3m10s elapsed]
module.host-project.module.project-factory.google_project.main: Still creating... [3m20s elapsed]
module.host-project.module.project-factory.google_project.main: Still creating... [3m30s elapsed]
module.host-project.module.project-factory.google_project.main: Creation complete after 3m36s [id=projects/shared-vpc-host-eb22]
module.host-project.module.project-factory.module.project_services.google_project_service.project_services["compute.googleapis.com"]: Creating...
module.host-project.module.project-factory.module.project_services.google_project_service.project_services["cloudresourcemanager.googleapis.com"]: Creating...
module.host-project.module.project-factory.google_service_account.default_service_account[0]: Creating...
module.host-project.module.project-factory.module.project_services.google_project_service.project_services["compute.googleapis.com"]: Creation complete after 4s [id=shared-vpc-host-eb22/compute.googleapis.com]
module.host-project.module.project-factory.module.project_services.google_project_service.project_services["cloudresourcemanager.googleapis.com"]: Still creating... [10s elapsed]
module.host-project.module.project-factory.google_service_account.default_service_account[0]: Still creating... [10s elapsed]
module.host-project.module.project-factory.google_service_account.default_service_account[0]: Creation complete after 15s [id=projects/shared-vpc-host-eb22/serviceAccounts/project-service-account@shared-vpc-host-eb22.iam.gserviceaccount.com]
module.host-project.module.project-factory.module.project_services.google_project_service.project_services["cloudresourcemanager.googleapis.com"]: Still creating... [20s elapsed]
module.host-project.module.project-factory.module.project_services.google_project_service.project_services["cloudresourcemanager.googleapis.com"]: Creation complete after 23s [id=shared-vpc-host-eb22/cloudresourcemanager.googleapis.com]
module.host-project.module.project-factory.google_project_default_service_accounts.default_service_accounts[0]: Creating...
module.host-project.module.project-factory.google_compute_shared_vpc_host_project.shared_vpc_host[0]: Creating...
module.host-project.module.project-factory.google_project_default_service_accounts.default_service_accounts[0]: Creation complete after 1s [id=projects/shared-vpc-host-eb22]
module.host-project.module.project-factory.google_compute_shared_vpc_host_project.shared_vpc_host[0]: Still creating... [10s elapsed]
module.host-project.module.project-factory.google_compute_shared_vpc_host_project.shared_vpc_host[0]: Creation complete after 13s [id=shared-vpc-host-eb22]
module.vpc.module.vpc.google_compute_network.network: Creating...
module.vpc.module.vpc.google_compute_network.network: Still creating... [10s elapsed]
module.vpc.module.vpc.google_compute_network.network: Still creating... [20s elapsed]
module.vpc.module.vpc.google_compute_network.network: Creation complete after 24s [id=projects/shared-vpc-host-eb22/global/networks/shared-network]
module.vpc.module.subnets.google_compute_subnetwork.subnetwork["us-west1/shared-network-subnet-01"]: Creating...
module.vpc.module.subnets.google_compute_subnetwork.subnetwork["us-west1/shared-network-subnet-02"]: Creating...
module.vpc.module.subnets.google_compute_subnetwork.subnetwork["us-west1/shared-network-subnet-01"]: Still creating... [10s elapsed]
module.vpc.module.subnets.google_compute_subnetwork.subnetwork["us-west1/shared-network-subnet-02"]: Still creating... [10s elapsed]
module.vpc.module.subnets.google_compute_subnetwork.subnetwork["us-west1/shared-network-subnet-02"]: Still creating... [20s elapsed]
module.vpc.module.subnets.google_compute_subnetwork.subnetwork["us-west1/shared-network-subnet-01"]: Still creating... [20s elapsed]
module.vpc.module.subnets.google_compute_subnetwork.subnetwork["us-west1/shared-network-subnet-02"]: Creation complete after 28s [id=projects/shared-vpc-host-eb22/regions/us-west1/subnetworks/shared-network-subnet-02]
module.vpc.module.subnets.google_compute_subnetwork.subnetwork["us-west1/shared-network-subnet-01"]: Creation complete after 28s [id=projects/shared-vpc-host-eb22/regions/us-west1/subnetworks/shared-network-subnet-01]
╷
│ Error: error creating project b-shared-vpc-service (b-shared-vpc-service): googleapi: Error 409: Requested entity already exists, alreadyExists. If you received a 403 error, make sure you have the `roles/resourcemanager.projectCreator` permission
│
│   with module.service-project-b.module.project-factory.google_project.main,
│   on .terraform/modules/service-project-b/modules/core_project_factory/main.tf line 73, in resource "google_project" "main":
│   73: resource "google_project" "main" {
│
╵
╷
│ Error: error creating project c-shared-vpc-service (c-shared-vpc-service): googleapi: Error 409: Requested entity already exists, alreadyExists. If you received a 403 error, make sure you have the `roles/resourcemanager.projectCreator` permission
│
│   with module.service-project-c.module.project-factory.google_project.main,
│   on .terraform/modules/service-project-c/modules/core_project_factory/main.tf line 73, in resource "google_project" "main":
│   73: resource "google_project" "main" {
│
╵
╷
│ Error: error creating project shared-vpc-service (shared-vpc-service): googleapi: Error 409: Requested entity already exists, alreadyExists. If you received a 403 error, make sure you have the `roles/resourcemanager.projectCreator` permission
│
│   with module.service-project.module.project-factory.google_project.main,
│   on .terraform/modules/service-project/modules/core_project_factory/main.tf line 73, in resource "google_project" "main":
│   73: resource "google_project" "main" {

Terraform Configuration

N/A, example used as-is

Terraform Version

OpenTofu v1.9.0
on darwin_arm64
+ provider registry.opentofu.org/hashicorp/google v6.12.0
+ provider registry.opentofu.org/hashicorp/google-beta v6.19.0
+ provider registry.opentofu.org/hashicorp/null v3.2.3
+ provider registry.opentofu.org/hashicorp/random v3.6.3
+ provider registry.opentofu.org/hashicorp/time v0.12.1

Terraform Provider Versions

Providers required by configuration:
.
├── provider[registry.opentofu.org/hashicorp/google] 6.12.0
├── module.service-project-b
│   ├── provider[registry.opentofu.org/hashicorp/google] >= 4.5.0, < 7.0.0
│   ├── provider[registry.opentofu.org/hashicorp/google-beta] >= 4.5.0, < 7.0.0
│   ├── module.budget
│   │   └── provider[registry.opentofu.org/hashicorp/google] >= 4.28.0, < 7.0.0
│   ├── module.gsuite_group
│   │   └── provider[registry.opentofu.org/hashicorp/google] >= 3.43.0, < 7.0.0
│   ├── module.project-factory
│   │   ├── provider[registry.opentofu.org/hashicorp/google] >= 5.41.0, < 7.0.0
│   │   ├── provider[registry.opentofu.org/hashicorp/google-beta] >= 5.41.0, < 7.0.0
│   │   ├── provider[registry.opentofu.org/hashicorp/null] >= 2.1.0
│   │   ├── provider[registry.opentofu.org/hashicorp/random] >= 2.2.0
│   │   ├── provider[registry.opentofu.org/hashicorp/time] >= 0.5.0
│   │   └── module.project_services
│   │       ├── provider[registry.opentofu.org/hashicorp/google] >= 3.43.0, < 7.0.0
│   │       └── provider[registry.opentofu.org/hashicorp/google-beta] >= 3.43.0, < 7.0.0
│   └── module.shared_vpc_access
│       ├── provider[registry.opentofu.org/hashicorp/google] >= 3.43.0, < 7.0.0
│       └── provider[registry.opentofu.org/hashicorp/google-beta] >= 3.43.0, < 7.0.0
├── module.service-project-c
│   ├── provider[registry.opentofu.org/hashicorp/google-beta] >= 4.5.0, < 7.0.0
│   ├── provider[registry.opentofu.org/hashicorp/google] >= 4.5.0, < 7.0.0
│   ├── module.shared_vpc_access
│       ├── provider[registry.opentofu.org/hashicorp/google] >= 3.43.0, < 7.0.0
│       └── provider[registry.opentofu.org/hashicorp/google-beta] >= 3.43.0, < 7.0.0
│   ├── module.budget
│       └── provider[registry.opentofu.org/hashicorp/google] >= 4.28.0, < 7.0.0
│   ├── module.gsuite_group
│       └── provider[registry.opentofu.org/hashicorp/google] >= 3.43.0, < 7.0.0
│   └── module.project-factory
│       ├── provider[registry.opentofu.org/hashicorp/null] >= 2.1.0
│       ├── provider[registry.opentofu.org/hashicorp/random] >= 2.2.0
│       ├── provider[registry.opentofu.org/hashicorp/time] >= 0.5.0
│       ├── provider[registry.opentofu.org/hashicorp/google] >= 5.41.0, < 7.0.0
│       ├── provider[registry.opentofu.org/hashicorp/google-beta] >= 5.41.0, < 7.0.0
│       └── module.project_services
│           ├── provider[registry.opentofu.org/hashicorp/google-beta] >= 3.43.0, < 7.0.0
│           └── provider[registry.opentofu.org/hashicorp/google] >= 3.43.0, < 7.0.0
├── module.vpc
│   ├── provider[registry.opentofu.org/hashicorp/google-beta] >= 4.64.0, < 7.0.0
│   ├── provider[registry.opentofu.org/hashicorp/google] >= 4.64.0, < 7.0.0
│   ├── module.firewall_rules
│       └── provider[registry.opentofu.org/hashicorp/google] >= 3.33.0, < 7.0.0
│   ├── module.routes
│       └── provider[registry.opentofu.org/hashicorp/google] >= 3.83.0, < 7.0.0
│   ├── module.subnets
│       └── provider[registry.opentofu.org/hashicorp/google] >= 4.25.0, < 7.0.0
│   └── module.vpc
│       ├── provider[registry.opentofu.org/hashicorp/google-beta] >= 6.13.0, < 7.0.0
│       └── provider[registry.opentofu.org/hashicorp/google] >= 4.64.0, < 7.0.0
├── module.host-project
│   ├── provider[registry.opentofu.org/hashicorp/google] >= 5.41.0, < 7.0.0
│   ├── provider[registry.opentofu.org/hashicorp/google-beta] >= 5.41.0, < 7.0.0
│   ├── module.budget
│       └── provider[registry.opentofu.org/hashicorp/google] >= 4.28.0, < 7.0.0
│   ├── module.essential_contacts
│       ├── provider[registry.opentofu.org/hashicorp/google-beta] >= 3.43.0, < 7.0.0
│       └── provider[registry.opentofu.org/hashicorp/google] >= 3.43.0, < 7.0.0
│   ├── module.gsuite_group
│       └── provider[registry.opentofu.org/hashicorp/google] >= 3.43.0, < 7.0.0
│   ├── module.project-factory
│       ├── provider[registry.opentofu.org/hashicorp/random] >= 2.2.0
│       ├── provider[registry.opentofu.org/hashicorp/time] >= 0.5.0
│       ├── provider[registry.opentofu.org/hashicorp/google] >= 5.41.0, < 7.0.0
│       ├── provider[registry.opentofu.org/hashicorp/google-beta] >= 5.41.0, < 7.0.0
│       ├── provider[registry.opentofu.org/hashicorp/null] >= 2.1.0
│       └── module.project_services
│           ├── provider[registry.opentofu.org/hashicorp/google] >= 3.43.0, < 7.0.0
│           └── provider[registry.opentofu.org/hashicorp/google-beta] >= 3.43.0, < 7.0.0
│   ├── module.quotas
│       └── provider[registry.opentofu.org/hashicorp/google-beta] >= 4.11.0, < 7.0.0
│   └── module.shared_vpc_access
│       ├── provider[registry.opentofu.org/hashicorp/google] >= 3.43.0, < 7.0.0
│       └── provider[registry.opentofu.org/hashicorp/google-beta] >= 3.43.0, < 7.0.0
└── module.service-project
    ├── provider[registry.opentofu.org/hashicorp/google] >= 4.5.0, < 7.0.0
    ├── provider[registry.opentofu.org/hashicorp/google-beta] >= 4.5.0, < 7.0.0
    ├── module.project-factory
        ├── provider[registry.opentofu.org/hashicorp/null] >= 2.1.0
        ├── provider[registry.opentofu.org/hashicorp/random] >= 2.2.0
        ├── provider[registry.opentofu.org/hashicorp/time] >= 0.5.0
        ├── provider[registry.opentofu.org/hashicorp/google] >= 5.41.0, < 7.0.0
        ├── provider[registry.opentofu.org/hashicorp/google-beta] >= 5.41.0, < 7.0.0
        └── module.project_services
            ├── provider[registry.opentofu.org/hashicorp/google] >= 3.43.0, < 7.0.0
            └── provider[registry.opentofu.org/hashicorp/google-beta] >= 3.43.0, < 7.0.0
    ├── module.shared_vpc_access
        ├── provider[registry.opentofu.org/hashicorp/google] >= 3.43.0, < 7.0.0
        └── provider[registry.opentofu.org/hashicorp/google-beta] >= 3.43.0, < 7.0.0
    ├── module.budget
        └── provider[registry.opentofu.org/hashicorp/google] >= 4.28.0, < 7.0.0
    └── module.gsuite_group
        └── provider[registry.opentofu.org/hashicorp/google] >= 3.43.0, < 7.0.0

Providers required by state:

    provider[registry.opentofu.org/hashicorp/google]

    provider[registry.opentofu.org/hashicorp/google-beta]

    provider[registry.opentofu.org/hashicorp/random]

    provider[registry.opentofu.org/hashicorp/time]

Additional information

I'm using opentofu, not terraform. But I don't think it matters in this particular case. In fact, I tried to run the same code from a clean state with terraform as well, and that failed with the same errors.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions