siderolabs / talos

Talos Linux is a modern Linux distribution built for Kubernetes.
https://www.talos.dev
Mozilla Public License 2.0
6.34k stars 511 forks source link

Talos won't connect to Omni without system information #8647

Open rothgar opened 4 months ago

rothgar commented 4 months ago

Bug Report

When trying to connect to an Omni endpoint the connection is not established until the system is able to gather information. https://github.com/siderolabs/talos/blob/main/pkg/machinery/resources/hardware/system_information.go#L28-L35

We should have a way to set/override this information dynamically if the underlying hypervisor or environment doesn't provide the needed details.

This is also related to #8646 because we saw the problem on Oxide instances but it could be applied generically for any system that doesn't return information.

Description

We should add a provider for Oxide but we also should think of a way to generically solve this problem. Either with kernel parameters to specify the information or a way for Talos to skip needing this information and having Omni automatically generate a UUID if not provided.

Logs

Environment

smira commented 4 months ago

This is by design, as Talos has to identify itself before establishing SideroLink connection. Proper question from my point of view is:

But the fact that Talos doesn't establish SideroLink connection without instance ID is not an issue on its own.