本文提供有关使用 Databricks Terraform 提供程序时出现的常见错误的故障排除信息。 有关 Databricks Terraform 提供程序的信息,请参阅 Databricks Terraform 提供程序。
注意
有关 Terraform 特定的支持,请查看 HashiCorp Discuss 网站上的最新 Terraform 主题。 有关 Databricks Terraform 提供程序特定的问题,请查看 GitHub 存储库 databrickslabs/terraform-provider-databricks 中的问题。
问题:如果未将 terraform.lock.hcl
文件签入版本控制系统,并且运行 terraform init
命令,则会显示以下消息:Failed to install provider
。 其他输出可能包括如下所示的消息:
Error while installing databrickslabs/databricks: v1.0.0: checksum list has no SHA-256 hash for "https://github.com/databricks/terraform-provider-databricks/releases/download/v1.0.0/terraform-provider-databricks_1.0.0_darwin_amd64.zip"
原因:Terraform 配置引用了过时的 Databricks Terraform 提供程序。
解决方案;
在所有
.tf
文件中将databrickslabs/databricks
替换为databricks/databricks
。若要自动执行这些替换,请从包含要更新的
.tf
文件的父文件夹运行以下 Python 命令:python3 -c "$(curl -Ls https://dbricks.co/updtfns)"
运行以下 Terraform 命令,然后在出现提示时批准更改:
terraform state replace-provider databrickslabs/databricks databricks/databricks
有关此命令的信息,请参阅 Terraform 文档中的命令:state replace-provider。
运行以下 Terraform 命令验证更改:
terraform init
问题:如果未将 terraform.lock.hcl
文件签入版本控制系统,并且运行 terraform init
命令,则会显示以下消息:Failed to query available provider packages
。
原因:Terraform 配置引用了过时的 Databricks Terraform 提供程序。
解决方案:按照错误:无法安装提供程序中的解决方案说明进行操作。
为帮助排查问题,Databricks Terraform 提供程序可输出可以通过将 TF_LOG
环境变量设置为 DEBUG
或 Terraform 支持的任何其他日志级别来启用的日志。
默认情况下,日志将发送到 stderr
。 要将日志发送到文件,请将 TF_LOG_PATH
环境变量设置为目标文件路径。
例如,可以运行以下命令以在调试级别启用日志记录,并将单色格式的日志输出到相对于当前工作目录的名为 tf.log
的文件,而 terraform apply
命令则运行:
TF_LOG=DEBUG TF_LOG_PATH=tf.log terraform apply -no-color
有关 Terraform 日志记录的详细信息,请参阅调试 Terraform。