🦔
terraform plan/apply が終わらない
はじめに
この度 Terraform デビューをしました。
初学者がいろいろと試していたら terraform plan/apply が延々と終わらない事象に遭遇したので備忘録として残します。
環境
Terraform v1.0.9
on darwin_arm64
provider registry.terraform.io/hashicorp/google v4.5.0
やったこと
新しくCloud Storageを作成
- tfファイルにstorage_bucketとstorge_bucket_objectの設定を追記
-
terraform plan
で差分確認 -> 🆗 -
terraform apply
を実行 -> 成功🎉
やっぱりCloud Storageのnameを変更したい...
👩🏻💻「さっき作ったStorageを削除してapplyし直そう」
- Google Cloudのコンソールから手動で削除
- tfファイルでCloud Storageのnameを変えて
terraform plan
- Refreshing stateが以下の箇所でずっと止まったままで終わらなくなる(terraform applyも同様)
module.development-service.google_compute_global_forwarding_rule.lp_forwarding_rule: Refreshing state... [id=projects/dev-tspf/global/forwardingRules/lp-forwarding-rule]
module.development-service.google_container_node_pool.tspf-node-pool: Refreshing state... [id=projects/dev-tspf/locations/us-east1/clusters/tspf-cluster/nodePools/tspf-pool]
^C
で強制終了
一向に終わる気配がないので👩🏻💻 「^C してみよ」
- 再度
terraform apply
- ロックがかかって実行できない
-
terraform force-unlock [ID]
でロック解除
(⚠️同時に他の作業者がいないことを確認してから実行しましょう⚠️)
何度やってもterraform plan/applyが途中で止まるためログを出してみる
export TF_LOG=TRACE
export TF_LOG_PATH='./terraform.log'
terraform plan
以下のようなログが吐き出されていた
---[ RESPONSE ]--------------------------------------
HTTP/2.0 404 Not Found
Content-Length: 171
Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
(中略)
{
"error": {
"code": 404,
"message": "The specified bucket does not exist.",
"errors": [
{
"message": "The specified bucket does not exist.",
"domain": "global",
"reason": "notFound"
}
]
}
}
どうやら不要なものが残ってしまっているらしい
不要なstateを削除
-
terraform state list
でstateの一覧を確認 -> nameを変える前のstorage_bucketやstorage_objectが残っていた -
terraform state rm [削除したいstate]
で不要なものを削除 - 再度
terraform plan
を実行 -> 通った...😭
おわりに
こちらの記事に助けられました。ありがとうございます!
Discussion