gruntwork-io / terragrunt

Terragrunt is a flexible orchestration tool that allows Infrastructure as Code written in OpenTofu/Terraform to scale.
https://terragrunt.gruntwork.io/
MIT License
8.12k stars 986 forks source link

[govcloud] DynamoDB table management fails with `CRC32CheckFailed` #1059

Open yorinasub17 opened 4 years ago

yorinasub17 commented 4 years ago

Description

There appears to be an issue with checksum validation during API calls to DynamoDB in GovCloud, where you get an AWS failure in the SDK (CRC32CheckFailed).

Related issues

There is no issue filed related to this in the Go SDK, but there are a few related issues in other SDK flavors:

Error logs

[terragrunt] [/path/to/terragrunt/module] 2020/02/18 17:26:30 Initializing remote state for the s3 backend
[terragrunt] 2020/02/18 17:27:43 *awserr.baseError CRC32CheckFailed: CRC32 integrity check failed
/go/src/github.com/gruntwork-io/terragrunt/dynamodb/dynamo_lock_table.go:61 (0xc0d321)
/go/src/github.com/gruntwork-io/terragrunt/dynamodb/dynamo_lock_table.go:41 (0xc0d086)
/go/src/github.com/gruntwork-io/terragrunt/remote/remote_state_s3.go:663 (0xc188ac)
/go/src/github.com/gruntwork-io/terragrunt/remote/remote_state_s3.go:223 (0xc149aa)
<autogenerated>:1 (0xc1a946)
/go/src/github.com/gruntwork-io/terragrunt/remote/remote_state.go:68 (0xc0f962)
/go/src/github.com/gruntwork-io/terragrunt/cli/cli_app.go:534 (0xd343fb)
/go/src/github.com/gruntwork-io/terragrunt/cli/cli_app.go:449 (0xd33bd3)
/go/src/github.com/gruntwork-io/terragrunt/cli/cli_app.go:655 (0xd34e4a)
/go/src/github.com/gruntwork-io/terragrunt/cli/cli_app.go:598 (0xd34b1b)
/go/src/github.com/gruntwork-io/terragrunt/cli/cli_app.go:453 (0xd33ab1)
/go/src/github.com/gruntwork-io/terragrunt/cli/cli_app.go:349 (0xd32704)
/go/src/github.com/gruntwork-io/terragrunt/cli/cli_app.go:231 (0xd31f71)
/go/src/github.com/gruntwork-io/terragrunt/cli/cli_app.go:212 (0xd31c9e)
/go/src/github.com/gruntwork-io/terragrunt/vendor/github.com/urfave/cli/app.go:490 (0xccf028)
/go/src/github.com/gruntwork-io/terragrunt/vendor/github.com/urfave/cli/app.go:264 (0xccd29d)
/go/src/github.com/gruntwork-io/terragrunt/main.go:27 (0xd3ab11)
/usr/local/go/src/runtime/proc.go:201 (0x42c1b7)
/usr/local/go/src/runtime/asm_amd64.s:1333 (0x457fe1)
[terragrunt] 2020/02/18 17:27:43 Unable to determine underlying exit code, so Terragrunt will exit with error code 1

Workaround

Starting with https://github.com/gruntwork-io/terragrunt/releases/tag/v0.22.2, you can disable the checksum checks by adding the property disable_aws_client_checksums = true.

tburow commented 4 years ago

Tracking