Ok, I think I figured it out and it's not as complicated as it seems.
When an interface has changed, for example with a NIC replacement, we won't be deleting the switch config to fix that. What…
redhat operators are not always available, it depends on how the OKD cluster was brought up. This method may not be as portable as we need.
The clone has been bugging me too. We could use an Rc or Arc too as a balance between usability and performance.
If I understand correctly this has the correct behavior. It is perfectly normal for a host to have mac addresses that are not connected to the switch. Most of them do have disconnected 1gb interfaces.
I understand we don't want to use the "inventory agent" data structures, but I think it's OK to have one base data structure that we try to reuse across crates for basic components like NetworkInterface and these few others.
This is more of a fallback to a default than a true way to detect that we're running vanilla k8s (made by kubeadm for example).
That is a clear naming problem. Should be either k3d for real by detecting it another way or k3sFamily just like OpenshiftFamily
Should be OpenshiftFamily(Version) as we want the same behavior between okd and openshift.