Currently, there are some unit tests that are failing on Windows due to
various reasons:
- flexvolume coverts its paths to absolute paths, which means that on Windows the C:\ prefix
will be added. This becomes an issue when prober.fs.Walk is called, which will join 2 absolute
paths, both containing the C:\ prefix, resulting in an incorrect path.
This assumes that any such field is atomic, except:
* OwnerReferences: because it has a `+patchStrategy=merge`, but it
probably needs a `+listMapKey=...` ?
* Finalizers: because it hs a `+patchStrategy=merge`, but is a
primitive type (string).
* []byte fields, which should not be failing this anyway (fixed
subsequently).
An alternative approach could be just to turn off the API warnings for
these fields, but it felt more correct to declare the semantics.
The notes printed to the user from common.go when
loadConfig fails are outdated and incorrect.
If the config cannot be loaded the user should not be instructed
to re-upload the config with kubeadm commands. Instead they
should do it manually with kubectl.
On loadConfig() error just wrap the error in a simple message
and show it to the user.
The current setup stomps missing IsNotFound errors for Node objects.
The underlying fetching of init configuration uses
the node object to construct an initconfiguration for this
upgrade process, so if the Node is missing the kube-config CM
will be reported as missing, which is incorrect.
default_preemtion.go has an unnecessary fmt.Sprintf call which
triggers common code checkers. This removes it.
Signed-off-by: Ukri Niemimuukko <ukri.niemimuukko@intel.com>
Go 1.21 provides its own type constraint permitting ordered types,
cmp.Ordered; use that instead of the private ordered constraint.
Go 1.21 introduces a clear function for maps, use that to clear sets.
Signed-off-by: Stephen Kitt <skitt@redhat.com>