테라폼을 이용할 때 user_data의 변경이 없는 데도 replace 가 되면서 VM이 재생성 되는 경우가 있습니다.
이 문제가 발생하는 원인은 정확하게 찾지는 못했지만 테라폼의 버그 인 것으로 보입니다.
해결 방법
user_data 의 변경 사항이 없을 때 VM 재생성을 피하기 위해서 user_data 의 변경사항을 무시하는 옵션을 tf 파일에 추가하여 오류를 회피할 수 있습니다.
resource "openstack_compute_instance_v2" "compute-vm" {
...
user_data = "${file("vm-init.sh")}"
lifecycle {
ignore_changes = [user_data]
}
...
}
반응형