terraform-google-modules / terraform-example-foundation

Shows how the CFT modules can be composed to build a secure cloud foundation
https://cloud.google.com/architecture/security-foundations
Apache License 2.0
1.21k stars 708 forks source link

1-Org - terraform-apply trigger fails with error: No such file or directory #176

Closed CpBulletSponge closed 4 years ago

CpBulletSponge commented 4 years ago

Hi,

I have successfully followed the steps in 0-Bootstrap and am following the instructions for the 1-Org Step.

The 'gcp-org--terrafrom-plan' trigger completes successfully but when the 'gcp-org---terraform-apply' is run (either by merging to master or manually triggering), It always fails with the floowing error: (this also happens if I try and run terraform locally).

Can anyone suggest what is wrong? Thanks

Already have image (with digest): gcr.io/cft-cloudbuild-2dd0/terraform
Running: terraform apply -auto-approve -input=false tfplan
module.org_shared_vpc_prod.module.project-factory.module.gcloud_disable.null_resource.decompress[0]: Destroying... [id=3763600970502604318]
module.org_monitoring_nonprod.module.project-factory.module.gcloud_disable.null_resource.decompress[0]: Destroying... [id=4463492896987653678]
module.org_shared_vpc_prod.module.project-factory.module.gcloud_disable.null_resource.decompress[0]: Destruction complete after 0s
module.org_monitoring_prod.module.project-factory.module.gcloud_disable.null_resource.decompress[0]: Destroying... [id=1984796085992115763]
module.org_shared_vpc_nonprod.module.project-factory.module.gcloud_disable.null_resource.decompress[0]: Destroying... [id=4746669583198035081]
module.org_monitoring_nonprod.module.project-factory.module.gcloud_disable.null_resource.decompress[0]: Destruction complete after 0s
module.org_shared_vpc_nonprod.module.project-factory.module.gcloud_disable.null_resource.decompress[0]: Destruction complete after 0s
module.org_monitoring_prod.module.project-factory.module.gcloud_disable.null_resource.decompress[0]: Destruction complete after 0s
module.org_shared_vpc_prod.module.project-factory.module.gcloud_disable.null_resource.decompress[0]: Creating...
module.org_shared_vpc_prod.module.project-factory.module.gcloud_disable.null_resource.decompress[0]: Provisioning with 'local-exec'...
module.org_monitoring_nonprod.module.project-factory.module.gcloud_disable.null_resource.decompress[0]: Creating...
module.org_shared_vpc_nonprod.module.project-factory.module.gcloud_disable.null_resource.decompress[0]: Creating...
module.org_monitoring_prod.module.project-factory.module.gcloud_disable.null_resource.decompress[0]: Creating...
module.org_monitoring_prod.module.project-factory.module.gcloud_disable.null_resource.decompress[0]: Provisioning with 'local-exec'...
module.org_monitoring_nonprod.module.project-factory.module.gcloud_disable.null_resource.decompress[0]: Provisioning with 'local-exec'...
module.org_shared_vpc_nonprod.module.project-factory.module.gcloud_disable.null_resource.decompress[0]: Provisioning with 'local-exec'...
module.org_shared_vpc_prod.module.project-factory.module.gcloud_disable.null_resource.decompress[0] (local-exec): Executing: ["/bin/sh" "-c" "tar -xzf .terraform/modules/org_shared_vpc_prod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/ca005e85/google-cloud-sdk.tar.gz -C .terraform/modules/org_shared_vpc_prod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/ca005e85 && cp .terraform/modules/org_shared_vpc_prod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/ca005e85/jq .terraform/modules/org_shared_vpc_prod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/ca005e85/google-cloud-sdk/bin/"]
module.org_monitoring_nonprod.module.project-factory.module.gcloud_disable.null_resource.decompress[0] (local-exec): Executing: ["/bin/sh" "-c" "tar -xzf .terraform/modules/org_monitoring_nonprod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/211505a2/google-cloud-sdk.tar.gz -C .terraform/modules/org_monitoring_nonprod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/211505a2 && cp .terraform/modules/org_monitoring_nonprod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/211505a2/jq .terraform/modules/org_monitoring_nonprod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/211505a2/google-cloud-sdk/bin/"]
module.org_shared_vpc_nonprod.module.project-factory.module.gcloud_disable.null_resource.decompress[0] (local-exec): Executing: ["/bin/sh" "-c" "tar -xzf .terraform/modules/org_shared_vpc_nonprod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/c209ae79/google-cloud-sdk.tar.gz -C .terraform/modules/org_shared_vpc_nonprod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/c209ae79 && cp .terraform/modules/org_shared_vpc_nonprod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/c209ae79/jq .terraform/modules/org_shared_vpc_nonprod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/c209ae79/google-cloud-sdk/bin/"]
module.org_monitoring_prod.module.project-factory.module.gcloud_disable.null_resource.decompress[0] (local-exec): Executing: ["/bin/sh" "-c" "tar -xzf .terraform/modules/org_monitoring_prod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/c288452b/google-cloud-sdk.tar.gz -C .terraform/modules/org_monitoring_prod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/c288452b && cp .terraform/modules/org_monitoring_prod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/c288452b/jq .terraform/modules/org_monitoring_prod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/c288452b/google-cloud-sdk/bin/"]
module.org_shared_vpc_nonprod.module.project-factory.module.gcloud_disable.null_resource.decompress[0] (local-exec): tar (child): .terraform/modules/org_shared_vpc_nonprod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/c209ae79/google-cloud-sdk.tar.gz: Cannot open: No such file or directory
module.org_shared_vpc_nonprod.module.project-factory.module.gcloud_disable.null_resource.decompress[0] (local-exec): tar (child): Error is not recoverable: exiting now
module.org_shared_vpc_nonprod.module.project-factory.module.gcloud_disable.null_resource.decompress[0] (local-exec): tar: Child returned status 2
module.org_shared_vpc_nonprod.module.project-factory.module.gcloud_disable.null_resource.decompress[0] (local-exec): tar: Error is not recoverable: exiting now
module.org_monitoring_prod.module.project-factory.module.gcloud_disable.null_resource.decompress[0] (local-exec): tar (child): .terraform/modules/org_monitoring_prod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/c288452b/google-cloud-sdk.tar.gz: Cannot open: No such file or directory
module.org_monitoring_prod.module.project-factory.module.gcloud_disable.null_resource.decompress[0] (local-exec): tar (child): Error is not recoverable: exiting now
module.org_monitoring_prod.module.project-factory.module.gcloud_disable.null_resource.decompress[0] (local-exec): tar: Child returned status 2
module.org_monitoring_prod.module.project-factory.module.gcloud_disable.null_resource.decompress[0] (local-exec): tar: Error is not recoverable: exiting now

module.org_shared_vpc_prod.module.project-factory.module.gcloud_disable.null_resource.decompress[0] (local-exec): tar (child): .terraform/modules/org_shared_vpc_prod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/ca005e85/google-cloud-sdk.tar.gz: Cannot open: No such file or directory
module.org_shared_vpc_prod.module.project-factory.module.gcloud_disable.null_resource.decompress[0] (local-exec): tar (child): Error is not recoverable: exiting now
module.org_shared_vpc_prod.module.project-factory.module.gcloud_disable.null_resource.decompress[0] (local-exec): tar: Child returned status 2
module.org_shared_vpc_prod.module.project-factory.module.gcloud_disable.null_resource.decompress[0] (local-exec): tar: Error is not recoverable: exiting now

module.org_monitoring_nonprod.module.project-factory.module.gcloud_disable.null_resource.decompress[0] (local-exec): tar (child): .terraform/modules/org_monitoring_nonprod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/211505a2/google-cloud-sdk.tar.gz: Cannot open: No such file or directory
module.org_monitoring_nonprod.module.project-factory.module.gcloud_disable.null_resource.decompress[0] (local-exec): tar (child): Error is not recoverable: exiting now
module.org_monitoring_nonprod.module.project-factory.module.gcloud_disable.null_resource.decompress[0] (local-exec): tar: Child returned status 2
module.org_monitoring_nonprod.module.project-factory.module.gcloud_disable.null_resource.decompress[0] (local-exec): tar: Error is not recoverable: exiting now

Error: Error running command 'tar -xzf .terraform/modules/org_shared_vpc_nonprod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/c209ae79/google-cloud-sdk.tar.gz -C .terraform/modules/org_shared_vpc_nonprod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/c209ae79 && cp .terraform/modules/org_shared_vpc_nonprod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/c209ae79/jq .terraform/modules/org_shared_vpc_nonprod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/c209ae79/google-cloud-sdk/bin/': exit status 2. Output: tar (child): .terraform/modules/org_shared_vpc_nonprod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/c209ae79/google-cloud-sdk.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now

Error: Error running command 'tar -xzf .terraform/modules/org_monitoring_prod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/c288452b/google-cloud-sdk.tar.gz -C .terraform/modules/org_monitoring_prod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/c288452b && cp .terraform/modules/org_monitoring_prod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/c288452b/jq .terraform/modules/org_monitoring_prod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/c288452b/google-cloud-sdk/bin/': exit status 2. Output: tar (child): .terraform/modules/org_monitoring_prod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/c288452b/google-cloud-sdk.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now

Error: Error running command 'tar -xzf .terraform/modules/org_monitoring_nonprod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/211505a2/google-cloud-sdk.tar.gz -C .terraform/modules/org_monitoring_nonprod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/211505a2 && cp .terraform/modules/org_monitoring_nonprod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/211505a2/jq .terraform/modules/org_monitoring_nonprod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/211505a2/google-cloud-sdk/bin/': exit status 2. Output: tar (child): .terraform/modules/org_monitoring_nonprod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/211505a2/google-cloud-sdk.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now

Error: Error running command 'tar -xzf .terraform/modules/org_shared_vpc_prod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/ca005e85/google-cloud-sdk.tar.gz -C .terraform/modules/org_shared_vpc_prod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/ca005e85 && cp .terraform/modules/org_shared_vpc_prod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/ca005e85/jq .terraform/modules/org_shared_vpc_prod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/ca005e85/google-cloud-sdk/bin/': exit status 2. Output: tar (child): .terraform/modules/org_shared_vpc_prod.project-factory.gcloud_disable/terraform-google-gcloud-0.5.1/cache/ca005e85/google-cloud-sdk.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
bharathkkb commented 4 years ago

Hi @CpBulletSponge I believe this is originating from the terraform-google-gcloud which has been fixed but the main branch is using an older version. Could you try the develop branch which has the more recent version?

CpBulletSponge commented 4 years ago

Thanks for the response. I followed the instructions in the develop branch but get a different error on the apply step Step #4 - "tf apply": Error: Error running command 'PATH=/workspace/envs/shared/.terraform/modules/scc_notification/terraform-google-gcloud-1.1.1/cache/b8e0331b/google-cloud-sdk/bin:$PATH Step #4 - "tf apply": gcloud alpha scc notifications create --organization 121012289018 \ Step #4 - "tf apply": --description "SCC Notification for all active findings" \ Step #4 - "tf apply": --pubsub-topic projects/prj-p-org-scc-08af/topics/top-scc-notification \ Step #4 - "tf apply": --filter "state=\"ACTIVE\"" \ Step #4 - "tf apply": --impersonate-service-account=org-terraform@cft-seed-7cdc.iam.gserviceaccount.com Step #4 - "tf apply": Step #4 - "tf apply": ': exit status 2. Output: ERROR: (gcloud.alpha.scc.notifications.create) argument NOTIFICATION_CONFIG_ID: Must be specified. Step #4 - "tf apply": Usage: gcloud alpha scc notifications create NOTIFICATION_CONFIG_ID --pubsub-topic=PUBSUB_TOPIC [optional flags] Step #4 - "tf apply": optional flags may be --description | --filter | --help | --organization Step #4 - "tf apply": Step #4 - "tf apply": For detailed information on this command and its flags, run: Step #4 - "tf apply": gcloud alpha scc notifications create --help Step #4 - "tf apply": Step #4 - "tf apply": Step #4 - "tf apply": Finished Step #4 - "tf apply" ERROR ERROR: build step 4 "gcr.io/cft-cloudbuild-5f1b/terraform" failed: step exited with non-zero status: 1

rjerrems commented 4 years ago

Hi @CpBulletSponge - can you please share the tfvars you are using for that step? I think this might be related to the scc_notification_name being unset

FYI @amandakarina

bharathkkb commented 4 years ago

@CpBulletSponge Yup @rjerrems is correct. I would check the value that was provided via the tfvars. It should not be "". https://github.com/terraform-google-modules/terraform-example-foundation/blob/e27de9f1ede09e6f4be4e48d2fb4835e7b636a5a/1-org/envs/shared/terraform.example.tfvars#L31

CpBulletSponge commented 4 years ago

Thanks, that seemed to be the issue.