v3.0.0 — Reinstall is now opt-in on latitudesh_server
Server reinstalls used to happen by default whenever certain attributes changed.
This release makes them explicit. The allow_reinstall attribute now defaults
to false and the provider refuses to silently accept changes that require a
reinstall unless you opt in.
Breaking changes
-
allow_reinstalldefault flipped fromtruetofalse.
On the first plan after upgrading, every existinglatitudesh_server
resource will show~ allow_reinstall: true -> false. This is expected and,
on its own, does not change the server. -
Reinstall-only field changes now fail the plan unless
allow_reinstall = true.
Changingoperating_system,ssh_keys,user_data,raidoripxewhile
allow_reinstallisfalse(the new default) produces:Server Reinstall Required: changes require a server reinstall, but
allow_reinstall is false. Set allow_reinstall = true on this resource to
allow the reinstall, or revert the change.Previously the provider emitted a warning and silently updated Terraform
state to match the config without touching the server, producing drift.
That code path has been removed. -
hostnameis now a reinstall trigger whenallow_reinstall = true.
With the default (false), hostname changes are still applied in-place via
PATCH /servers/{id}exactly like before — no behavior change. With
allow_reinstall = true, hostname changes now go through
POST /servers/{id}/reinstall.
Migration
For every latitudesh_server resource where you actually want changes to
operating_system, ssh_keys, user_data, raid or ipxe to reinstall the
server (this used to be the implicit default), add the flag explicitly:
resource "latitudesh_server" "example" {
# ...
allow_reinstall = true
}If you don't, the next time you change one of those fields the plan will fail
with the error above and tell you exactly what to do.
For resources you only ever update via in-place fields (hostname, billing,
tags, project), you can leave allow_reinstall unset; the new default is
the safe choice.
What's Changed
- feat(server)!: make reinstall opt-in (allow_reinstall default false) +
hostname trigger (PD-6009) by @LanusseMorais in #176