■ はじめに
pulumi up --target をした際に エラー「snapshot integrity failure」が発生して焦ったが どうにか解消できたので、メモ。
目次
【1】トラブル概要 1)似たようなトラブル:pulumi stack selectをした際にエラー 【2】エラー内容 【3】原因 【4】解決案 【5】補足:使用したCLI 1)pulumi stack delete 2)pulumi refresh
【1】トラブル概要
https://dk521123.hatenablog.com/entry/2022/08/04/124321
でやった「pulumi up --target 'urn:pulumi:xxxxx'」を実行したら 以下「【2】エラー内容」が表示され、どうしようもなくなった。
1)似たようなトラブル:pulumi stack selectをした際にエラー
以下の関連記事の 『【1】pulumi stack selectをした際に エラー「snapshot integrity failure」が発生』を参照のこと。
Pulumi に関するトラブル2
https://dk521123.hatenablog.com/entry/2022/09/29/001141
【2】エラー内容
error: .pulumi/stacks/your-stack.json snapshot integrity failure; refusing to use it: resource urn:pulumi:xxxxx refer to missing parent urn:pulumi:yyyyy [訳] エラー: .pulumi/stacks/your-stack.json スナップショット整合性失敗; 次の使用を拒否する:リソース「urn:pulumi:xxxxx」は 欠落した親リソース「urn:pulumi:yyyyy」を参照する ※ integrity = 整合性
【3】原因
* 親子関係があるリソースに対して、親リソースを作成せずに 子リソース(urn:pulumi:xxxxx)を作成しようとしたため。
※ 注意
* ただし、今回の場合、 個別に親リソース(urn:pulumi:yyyyy)をpulumi up --target し 解決を試みたが、同じエラーになり、どうしようもなくなった。 => 今回の場合、どうも Pulumi で保持しているファイルと 実環境が一致していないっぽい。
【4】解決案
* 似たような事例で以下のIssueがあったので参考にした。
https://github.com/pulumi/pulumi/issues/4996
# 1)スタックのステートから子リソース「urn:pulumi:xxxxx」を削除 $ pulumi state delete 'urn:pulumi:xxxxx' --disable-integrity-checking # 「直接スタックのステートを編集するけどいいっすか?」って聞いてくる warning: This command will edit your stack‘s state directly. y (「y」を入力) # 2)リフレッシュ(ステートと実リソースの差分を同期する) $ pulumi refresh # 3)Pulumi up(個別だともう怖い、、、) $ pulumi up
【5】補足:使用したCLI
1)pulumi stack delete
pulumi stack delete
https://www.pulumi.com/docs/reference/cli/pulumi_state_delete/
Deletes a resource from a stack’s state [訳] スタックのステートからリソースを削除する
比較:pulumi stack rm
https://www.pulumi.com/docs/reference/cli/pulumi_stack_rm/
Remove a stack and its configuration [訳] スタックとその設定を削除する
オプション:--disable-integrity-checking
https://www.pulumi.com/docs/reference/cli/#options
Disable integrity checking of checkpoint files [訳] チェックポイントファイルの整合性チェックを無効にする => 今回の場合、どうも Pulumi で保持しているファイルと 実環境が一致していないので、無効にしておく必要がある => 以下のサイトも参照。
https://github.com/pulumi/pulumi/issues/4984
2)pulumi refresh
https://www.pulumi.com/docs/reference/cli/pulumi_refresh/
Refresh the resources in a stack [訳] スタック内のリソースをリフレッシュする => っていってもよくわからないので、以下のサイト参照。
https://tech.guitarrapc.com/entry/2019/12/23/000000
関連記事
Pulumi ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/10/23/025230
Pulumi ~ 基本編 / CLI ~
https://dk521123.hatenablog.com/entry/2021/10/25/215508
pulumiで対象リソースのみデプロイ / 削除(--target)
https://dk521123.hatenablog.com/entry/2022/06/28/000000
pulumiで 新規作成リソースのみデプロイ
https://dk521123.hatenablog.com/entry/2022/08/04/124321
Pulumi に関するトラブル
https://dk521123.hatenablog.com/entry/2022/01/11/105319
Pulumi に関するトラブル2
https://dk521123.hatenablog.com/entry/2022/09/29/001141
pulumi up 時のトラブル
https://dk521123.hatenablog.com/entry/2022/04/05/150240