Terraform 1.16.5 是本周的基础设施侧重点,补的是两个会直接崩的问题。
修了什么
一是当实例状态被标记为 tainted 但没有有效 status 时触发的崩溃;二是资源删除过程中的 nil identity panic。
为什么这两个值得单独发版
tainted 状态通常出现在资源创建中途失败的情况下,这时候状态文件记录了资源存在但标记为需要重建。如果这个资源同时没有有效的 status 字段,Terraform 在后续 plan 时会直接崩掉而不是给出可操作的错误。
对使用者来说,崩溃比报错糟糕得多——报错至少有恢复路径,崩溃意味着你得手工去改状态文件。
升级建议
如果你的环境里出现过创建中途失败的資源,升级后先跑一次 terraform plan 确认能正常输出,再考虑动生产。
同时放出的还有 1.17.0-rc1
主要变化是允许在 provider 需求里使用变量和 locals。这个限制此前困扰了不少需要多环境差异化 provider 配置的团队。
RC 阶段不建议直接上生产,但可以拿来做兼容性验证。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。