在 Jenkins 上 运行 时 Terraform 卡住了
Terraform getting stuck when running on Jenkins
我正在将 terraform 与 aws 结合使用:
- 地形
v0.14.8
- 供应商
registry.terraform.io/hashicorp/archive
v2.2.0
- 供应商
registry.terraform.io/hashicorp/aws
v3.55.0
当前行为:
- 在我的本地机器上它工作正常。
- 在 Jenkins 使用的本地 docker 上运行良好
- Jenkins 在 US-WEST-2 上使用相同的 docker 工作正常
但是,
- 在 EU-CENTRAL-1 上使用相同 docker 的 Jenkins 卡住了。
在调试模式下,我得到:
2021-08-24T20:16:08.901Z [INFO]
plugin.terraform-provider-aws_v3.55.0_x5: 2021/08/24 20:16:08 [DEBUG]
[aws-sdk-go] DEBUG: Send Request lambda/GetLayerVersion failed,
attempt 25/25, error RequestError: send request failed caused by: Get
"https://lambda.eu-central-1.amazonaws.com/2018-10-31/layers/awswrangler/versions/2":
dial tcp 3.121.178.128:443: i/o timeout:
timestamp=2021-08-24T20:16:08.901Z 2021/08/24 20:16:08 [TRACE] vertex
"module.key_rotation.aws_lambda_layer_version.lambda_layer": visit
complete 2021/08/24 20:16:08 [TRACE] vertex
"module.key_rotation.aws_lambda_layer_version.lambda_layer": dynamic
subgraph encountered errors 2021/08/24 20:16:08 [TRACE] vertex
"module.key_rotation.aws_lambda_layer_version.lambda_layer": visit
complete 2021/08/24 20:16:08 [TRACE] vertex
"module.key_rotation.aws_lambda_layer_version.lambda_layer (expand)":
dynamic subgraph encountered errors 2021/08/24 20:16:08 [TRACE] vertex
"module.key_rotation.aws_lambda_layer_version.lambda_layer (expand)":
visit complete 2021/08/24 20:16:08 [TRACE] dag/walk: upstream of
"module.key_rotation.aws_lambda_function.sync_apps_db_lambda_function
(expand)" errored, so skipping 2021/08/24 20:16:08 [TRACE] dag/walk:
upstream of
"module.key_rotation.aws_lambda_function.cleanup_lambda_function
(expand)" errored, so skipping 2021/08/24 20:16:08 [TRACE] dag/walk:
upstream of
"module.key_rotation.aws_lambda_function.check_application_keys_lambda_function
(expand)" errored, so skipping 2021/08/24 20:16:08 [TRACE] dag/walk:
upstream of
"module.key_rotation.aws_cloudwatch_event_target.event_target_lambda
(expand)" errored, so skipping 2021/08/24 20:16:08 [TRACE] dag/walk:
upstream of
"module.key_rotation.aws_lambda_permission.allow_cloudwatch_to_call_cleaner_lambda
(expand)" errored, so skipping 2021/08/24 20:16:08 [TRACE] dag/walk:
upstream of
"module.key_rotation.aws_lambda_permission.allow_cloudwatch_to_call_lambda
(expand)" errored, so skipping 2021/08/24 20:16:08 [TRACE] dag/walk:
upstream of
"module.key_rotation.aws_cloudwatch_event_target.event_target_cleaner_lambda
(expand)" errored, so skipping 2021/08/24 20:16:08 [TRACE] dag/walk:
upstream of "module.key_rotation (close)" errored, so skipping
2021/08/24 20:16:08 [TRACE] dag/walk: upstream of
"provider["registry.terraform.io/hashicorp/aws"] (close)" errored,
so skipping 2021/08/24 20:16:08 [TRACE] dag/walk: upstream of
"meta.count-boundary (EachMode fixup)" errored, so skipping 2021/08/24
20:16:08 [TRACE] dag/walk: upstream of "root" errored, so skipping
好像和lambda上传有关。
我试过:
- 将地形更新到最新
- 毁灭一切
- 也从 S3 中删除所有状态
同样的结果。
我认为您的问题的根本原因是:
Get "https://lambda.eu-central-1.amazonaws.com/2018-10-31/layers/awswrangler/versions/2": dial tcp 3.121.178.128:443: i/o timeout
为什么 terraform
二进制文件无法连接到 Lambda 服务的 eu-central-1
端点,根据您提供的信息无法解释。
您没有说明 Jenkins 的部署位置或方式。我假设在 AWS 上的某个容器中?
这可能是暂时的网络故障,或者由于某种原因,您的 Jenkins 部署阻止了与 eu-central-1
的连接。
几个小时后你重试了吗?
您能否始终如一地重现此行为?
找到问题了。
如其他回复所述,问题是:
Get
"https://lambda.eu-central-1.amazonaws.com/2018-10-31/layers/awswrangler/versions/2":
dial tcp 3.121.178.128:443: i/o timeout
原因是我们的代理上缺少 lambda 域。
我正在将 terraform 与 aws 结合使用:
- 地形
v0.14.8
- 供应商
registry.terraform.io/hashicorp/archive
v2.2.0
- 供应商
registry.terraform.io/hashicorp/aws
v3.55.0
当前行为:
- 在我的本地机器上它工作正常。
- 在 Jenkins 使用的本地 docker 上运行良好
- Jenkins 在 US-WEST-2 上使用相同的 docker 工作正常 但是,
- 在 EU-CENTRAL-1 上使用相同 docker 的 Jenkins 卡住了。 在调试模式下,我得到:
2021-08-24T20:16:08.901Z [INFO] plugin.terraform-provider-aws_v3.55.0_x5: 2021/08/24 20:16:08 [DEBUG] [aws-sdk-go] DEBUG: Send Request lambda/GetLayerVersion failed, attempt 25/25, error RequestError: send request failed caused by: Get "https://lambda.eu-central-1.amazonaws.com/2018-10-31/layers/awswrangler/versions/2": dial tcp 3.121.178.128:443: i/o timeout: timestamp=2021-08-24T20:16:08.901Z 2021/08/24 20:16:08 [TRACE] vertex "module.key_rotation.aws_lambda_layer_version.lambda_layer": visit complete 2021/08/24 20:16:08 [TRACE] vertex "module.key_rotation.aws_lambda_layer_version.lambda_layer": dynamic subgraph encountered errors 2021/08/24 20:16:08 [TRACE] vertex "module.key_rotation.aws_lambda_layer_version.lambda_layer": visit complete 2021/08/24 20:16:08 [TRACE] vertex "module.key_rotation.aws_lambda_layer_version.lambda_layer (expand)": dynamic subgraph encountered errors 2021/08/24 20:16:08 [TRACE] vertex "module.key_rotation.aws_lambda_layer_version.lambda_layer (expand)": visit complete 2021/08/24 20:16:08 [TRACE] dag/walk: upstream of "module.key_rotation.aws_lambda_function.sync_apps_db_lambda_function (expand)" errored, so skipping 2021/08/24 20:16:08 [TRACE] dag/walk: upstream of "module.key_rotation.aws_lambda_function.cleanup_lambda_function (expand)" errored, so skipping 2021/08/24 20:16:08 [TRACE] dag/walk: upstream of "module.key_rotation.aws_lambda_function.check_application_keys_lambda_function (expand)" errored, so skipping 2021/08/24 20:16:08 [TRACE] dag/walk: upstream of "module.key_rotation.aws_cloudwatch_event_target.event_target_lambda (expand)" errored, so skipping 2021/08/24 20:16:08 [TRACE] dag/walk: upstream of "module.key_rotation.aws_lambda_permission.allow_cloudwatch_to_call_cleaner_lambda (expand)" errored, so skipping 2021/08/24 20:16:08 [TRACE] dag/walk: upstream of "module.key_rotation.aws_lambda_permission.allow_cloudwatch_to_call_lambda (expand)" errored, so skipping 2021/08/24 20:16:08 [TRACE] dag/walk: upstream of "module.key_rotation.aws_cloudwatch_event_target.event_target_cleaner_lambda (expand)" errored, so skipping 2021/08/24 20:16:08 [TRACE] dag/walk: upstream of "module.key_rotation (close)" errored, so skipping 2021/08/24 20:16:08 [TRACE] dag/walk: upstream of "provider["registry.terraform.io/hashicorp/aws"] (close)" errored, so skipping 2021/08/24 20:16:08 [TRACE] dag/walk: upstream of "meta.count-boundary (EachMode fixup)" errored, so skipping 2021/08/24 20:16:08 [TRACE] dag/walk: upstream of "root" errored, so skipping
好像和lambda上传有关。
我试过:
- 将地形更新到最新
- 毁灭一切
- 也从 S3 中删除所有状态
同样的结果。
我认为您的问题的根本原因是:
Get "https://lambda.eu-central-1.amazonaws.com/2018-10-31/layers/awswrangler/versions/2": dial tcp 3.121.178.128:443: i/o timeout
为什么 terraform
二进制文件无法连接到 Lambda 服务的 eu-central-1
端点,根据您提供的信息无法解释。
您没有说明 Jenkins 的部署位置或方式。我假设在 AWS 上的某个容器中?
这可能是暂时的网络故障,或者由于某种原因,您的 Jenkins 部署阻止了与 eu-central-1
的连接。
几个小时后你重试了吗?
您能否始终如一地重现此行为?
找到问题了。
如其他回复所述,问题是:
Get "https://lambda.eu-central-1.amazonaws.com/2018-10-31/layers/awswrangler/versions/2": dial tcp 3.121.178.128:443: i/o timeout
原因是我们的代理上缺少 lambda 域。