HashiCorp 发布 Terraform v1.16.5,内容不多但都是崩溃级问题。
修复内容
- 修复由处于 tainted 状态且没有有效 status 的实例触发的崩溃。
- 修复资源删除过程中的 nil-identity panic。
第一个问题的现实场景
tainted 状态通常出现在资源创建部分失败时——比如云上资源已经建了一半,但 provider 返回了错误,Terraform 会把它标记为 tainted,下次 plan 时尝试重建。
如果这个资源恰好没有有效的 status 信息,旧版本会直接崩。
崩溃本身不是最糟的,最糟的是崩溃时可能留下不完整的状态文件。所以遇到这类问题后,除了升级,还要检查 state 文件的一致性。
第二个问题的场景
资源删除过程中的 nil-identity panic,通常和资源在远端已被删除或状态异常有关。手动删过资源的环境更容易撞上。
建议动作
第一,升到 1.16.5。这类崩溃修复的升级风险很低。
第二,升级前备份 state 文件。这是硬规矩,尤其是有 tainted 资源的情况下。
第三,检查现有 state 里是否有 tainted 资源。terraform plan 会显示,别等到 apply 时才发现问题。
第四,如果已经在旧版本上撞到了崩溃,先别急着重试。导出 state 检查完整性,确认没有半写状态再继续操作。
顺带:本周的其他基础设施发布
LiteLLM v1.104.0 新增了泄露密码检测、自助改密和强制重置,并把 /model/info 列表序列化改用 orjson 降低延迟。v1.103.3 是稳定回移植,避免启动时重建 SpendLogs 索引这类高开销阻塞操作。
Cloudflare workerd 本周连续发了几个版本,涉及重入与微任务时序调整、Durable Object 快照 API、ctx.cache.invalidate() 等。
习惯建议
IaC 工具的小版本更新往往被忽略,但崩溃类修复的价值很高。建议把 provider 和核心工具的小版本也纳入定期更新节奏。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。