본문 바로가기
카테고리 없음

[terraform] user_data의 변경 사항이 없을 때 replace가 되는 문제 회피 하는 방법

by hs_seo 2023. 10. 6.

테라폼을 이용할 때 user_data의 변경이 없는 데도 replace 가 되면서 VM이 재생성 되는 경우가 있습니다.

 

 

이 문제가 발생하는 원인은 정확하게 찾지는 못했지만 테라폼의 버그 인 것으로 보입니다.

 

Hash for the new user_data in plan is incorrect and not the same one as apply · Issue #2627 · hashicorp/terraform

When using template_file for user_data in aws_instance, hash for the new user_data in plan always be the same one. (I have updated this issue to better describe the situation.) Step1 - Run plan (th...

github.com

https://discuss.hashicorp.com/t/data-sources-forcing-replacement-even-though-nothing-has-changed/46452/2

 

Data sources forcing replacement even though nothing has changed

Hi @cbus-guy, It’s hard to guess what might be going on here without seeing more details, but I do have some general ideas about what can cause this sort of thing, so hopefully this will be useful in dealing with the problem. Terraform aims to read data

discuss.hashicorp.com

 

해결 방법

user_data 의 변경 사항이 없을 때 VM 재생성을 피하기 위해서 user_data 의 변경사항을 무시하는 옵션을 tf 파일에 추가하여 오류를 회피할 수 있습니다.

 

resource "openstack_compute_instance_v2" "compute-vm" {
  ...

  user_data   = "${file("vm-init.sh")}"

  lifecycle {
    ignore_changes = [user_data]
  }

  ...
}
반응형