-
Notifications
You must be signed in to change notification settings - Fork 524
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
config is valid at installation but invalid at runtime when disabling config persistence #3676
Comments
Kevin, do you have screenshot/log of the boot? SMBIOS shouldn't be touched on config validation, there must be something else here. |
I think there's something into the play here, and it's not related to the machine configuration at all. What is happening is that Talos fails to load SMBIOS data while trying to fill in First of all, do you know where that UUID Do you have different versions of Talos in PXE boot environment in Sidero and in installer config? Feels like it should have never worked even on the first boot unless there's some recent change which breaks SMBIOS reading on Raspberry Pi. |
Nope, Sidero is configured to pull v0.10.3 kernel and initram. There is nothing specified in the install config which makes it default to also v0.10.3.
This is a good question and an interesting question. Did you ask because it's printed before it's actually fetched 😅 ? I would need to do some digging to come up with the answer. |
yes, because Sidero passes So I wonder if we have a bug with SMBIOS library on RPi or arm64, because you could be the first one to test this :) |
Yea but I wonder how, because
seems to print the correct URL and the following code tries to fetch the UUID while it already has it 🤔 So in theory changing the code to check if the uuid value is not empty would actually bypass smbios. But then I'm also wondering where and how the UUID is populated in the first place. I'll do some digging and see what I'll find. |
During boot sequence, if `talos.config`'s url has the uuid parameter, the uuid value is retrieved via SMBIOS. However, at this part of the code it can happen that the uuid is already set and valid. If this is the case, instead of re-fetching the uuid, the one that is already set can be used. closes siderolabs#3676
During boot sequence, if `talos.config`'s url has the uuid parameter, the uuid value is retrieved via SMBIOS. However, at this part of the code it can happen that the uuid is already set and valid. If this is the case, instead of re-fetching the uuid, the one that is already set can be used. closes siderolabs#3676
During boot sequence, if `talos.config`'s url has the uuid parameter, the uuid value is retrieved via SMBIOS. However, at this part of the code it can happen that the uuid is already set and valid. If this is the case, instead of re-fetching the uuid, the one that is already set can be used. closes siderolabs#3676 Signed-off-by: Kevin Hellemun <17928966+OGKevin@users.noreply.github.com>
During boot sequence, if `talos.config`'s url has the uuid parameter, the uuid value is retrieved via SMBIOS. However, at this part of the code it can happen that the uuid is already set and valid. If this is the case, instead of re-fetching the uuid, the one that is already set can be used. closes siderolabs#3676 Signed-off-by: Kevin Hellemun <17928966+OGKevin@users.noreply.github.com>
During boot sequence, if `talos.config`'s url has the uuid parameter, the uuid value is retrieved via SMBIOS. However, at this part of the code it can happen that the uuid is already set and valid. If this is the case, instead of re-fetching the uuid, the one that is already set can be used. closes siderolabs#3676 Signed-off-by: Kevin Hellemun <17928966+OGKevin@users.noreply.github.com>
During boot sequence, if `talos.config`'s url has the uuid parameter, the uuid value is retrieved via SMBIOS. However, at this part of the code it can happen that the uuid is already set and valid. If this is the case, instead of re-fetching the uuid, the one that is already set can be used. closes siderolabs#3676 Signed-off-by: Kevin Hellemun <17928966+OGKevin@users.noreply.github.com>
During boot sequence, if `talos.config`'s url has the uuid parameter, the uuid value is retrieved via SMBIOS. However, at this part of the code it can happen that the uuid is already set and valid. If this is the case, instead of re-fetching the uuid, the one that is already set can be used. closes siderolabs#3676 Signed-off-by: Kevin Hellemun <17928966+OGKevin@users.noreply.github.com>
During boot sequence, if `talos.config`'s url has the uuid parameter, the uuid value is retrieved via SMBIOS. However, at this part of the code it can happen that the uuid is already set and valid. If this is the case, instead of re-fetching the uuid, the one that is already set can be used. closes siderolabs#3676 Signed-off-by: Kevin Hellemun <17928966+OGKevin@users.noreply.github.com>
During boot sequence, if `talos.config`'s url has the uuid parameter, the uuid value is retrieved via SMBIOS. However, at this part of the code it can happen that the uuid is already set and valid. If this is the case, instead of re-fetching the uuid, the one that is already set can be used. closes #3676 Signed-off-by: Kevin Hellemun <17928966+OGKevin@users.noreply.github.com>
Bug Report
When using the following config:
The installation of Talos succeeds, however, after rebooting into Talos and the config is re-fetched due to
persist: false
the config validation fails and the nodes ends up in a boot loop.However, when I change persist to
True
and re-install Talos and reboot to Talos, it works as expected.Logs
Looking for the error msg in the code, I've found https://github.com/talos-systems/go-smbios/blob/d3a32bea731a0c2a60ce7f5eae60253300ef27e1/smbios/smbios.go#L60 which is a perfect match.
failed to decode structures: unexpected EOF
Environment
Kernel args
kernel: args: - init_on_alloc=1 - initrd=initramfs.xz - ip=dhcp - slab_nomerge - pti=on - talos.board=rpi_4 - talos.shutdown=poweroff - talos.config=http://192.168.1.200:30005/configdata?uuid= - talos.platform=metal
The text was updated successfully, but these errors were encountered: