-
-
Notifications
You must be signed in to change notification settings - Fork 763
Description
Bug Report
Description
When upgrading Talos nodes running on RPi 4s from v1.11.6 to v1.12.0, Talos seems to lose track of the disk encryption configuration for the STATE partition, leaving the node stuck offline. To recover, I have to reset it back into maintenance mode via the grub entry and reinstall. This seems to be 100% reproducible - I hit it twice on one node and then once on another.
The nodes are still using the deprecated systemDiskEncryption field for this:
systemDiskEncryption:
state:
provider: luks2
keys:
- nodeID: {}
slot: 0
ephemeral:
provider: luks2
keys:
- nodeID: {}
slot: 0I also tried adding a hardcoded password in slot 1 before upgrading the second node, but it still hit the same issue.
I can install v1.12.0 directly with the same disk encryption config and it seems to work fine.
Logs
(Sorry for the screenshot - I had to pull these off of a UART probe since the node can't come online)
The VolumeConfig object for the STATE volume looks the same between the nodes I reinstalled 1.12 on to and one I still have on 1.11:
1.12:
node: 192.168.4.11
metadata:
namespace: runtime
type: VolumeConfigs.block.talos.dev
id: STATE
version: 3
owner: block.VolumeConfigController
phase: running
created: 2025-12-28T20:11:45Z
updated: 2025-12-28T20:14:58Z
labels:
talos.dev/system-volume:
finalizers:
- block.VolumeManagerController
spec:
type: partition
provisioning:
wave: -1
diskSelector:
match: system_disk
partitionSpec:
minSize: 104857600
maxSize: 104857600
relativeMaxSize: 0
grow: false
label: STATE
typeUUID: 0FC63DAF-8483-4772-8E79-3D69D8477DE4
filesystemSpec:
type: xfs
label: STATE
encryption:
provider: luks2
keys:
- slot: 0
type: nodeID
locator:
match: volume.partition_label == "STATE"
mount:
targetPath: /system/state
selinuxLabel: system_u:object_r:system_state_t:s0
projectQuotaSupport: false
fileMode: 4481.11:
node: 192.168.4.12
metadata:
namespace: runtime
type: VolumeConfigs.block.talos.dev
id: STATE
version: 4
owner: block.VolumeConfigController
phase: running
created: 2025-12-17T15:51:44Z
updated: 2025-12-17T15:51:49Z
finalizers:
- block.VolumeManagerController
spec:
type: partition
provisioning:
wave: -1
diskSelector:
match: system_disk
partitionSpec:
minSize: 104857600
maxSize: 104857600
grow: false
label: STATE
typeUUID: 0FC63DAF-8483-4772-8E79-3D69D8477DE4
filesystemSpec:
type: xfs
label: STATE
encryption:
provider: luks2
keys:
- slot: 0
type: nodeID
locator:
match: volume.partition_label == "STATE"
mount:
targetPath: /system/state
selinuxLabel: system_u:object_r:system_state_t:s0
projectQuotaSupport: false
fileMode: 448Environment
- Talos version: v1.12.0
- Kubernetes version: v1.34.3
- Platform: Raspberry PI 4