mirror of
https://github.com/kubernetes-sigs/node-feature-discovery.git
synced 2025-03-28 02:37:11 +00:00
nfd-master: refactor filtering of taints
This commit is contained in:
parent
43ced0c1a1
commit
fb20388028
1 changed files with 17 additions and 13 deletions
|
@ -519,24 +519,28 @@ func filterTaints(taints []corev1.Taint) []corev1.Taint {
|
|||
outTaints := []corev1.Taint{}
|
||||
|
||||
for _, taint := range taints {
|
||||
ns, _ := splitNs(taint.Key)
|
||||
|
||||
// Check prefix of the key, filter out disallowed ones
|
||||
if ns == "" {
|
||||
klog.Errorf("taint keys without namespace (prefix/) are not allowed. Ignoring taint %v", ns, taint)
|
||||
continue
|
||||
if err := filterTaint(&taint); err != nil {
|
||||
klog.Errorf("ignoring taint %q: %w", taint.ToString(), err)
|
||||
} else {
|
||||
outTaints = append(outTaints, taint)
|
||||
}
|
||||
if ns != nfdv1alpha1.TaintNs && !strings.HasSuffix(ns, nfdv1alpha1.TaintSubNsSuffix) &&
|
||||
(ns == "kubernetes.io" || strings.HasSuffix(ns, ".kubernetes.io")) {
|
||||
klog.Errorf("Prefix %q is not allowed for taint key. Ignoring taint %v", ns, taint)
|
||||
continue
|
||||
}
|
||||
outTaints = append(outTaints, taint)
|
||||
}
|
||||
|
||||
return outTaints
|
||||
}
|
||||
|
||||
func filterTaint(taint *corev1.Taint) error {
|
||||
// Check prefix of the key, filter out disallowed ones
|
||||
ns, _ := splitNs(taint.Key)
|
||||
if ns == "" {
|
||||
return fmt.Errorf("taint keys without namespace (prefix/) are not allowed")
|
||||
}
|
||||
if ns != nfdv1alpha1.TaintNs && !strings.HasSuffix(ns, nfdv1alpha1.TaintSubNsSuffix) &&
|
||||
(ns == "kubernetes.io" || strings.HasSuffix(ns, ".kubernetes.io")) {
|
||||
return fmt.Errorf("prefix %q is not allowed for taint key", ns)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func verifyNodeName(cert *x509.Certificate, nodeName string) error {
|
||||
if cert.Subject.CommonName == nodeName {
|
||||
return nil
|
||||
|
|
Loading…
Add table
Reference in a new issue