Tidy node labelling code

This commit is contained in:
harbottle
2022-05-16 19:43:22 +01:00
committed by Christian Kotzbauer
parent 67e979c198
commit c3cb2bbc6c

View File

@@ -217,8 +217,7 @@ func flagCheck(cmd *cobra.Command, args []string) {
notifyURL = fmt.Sprintf("slack://%s", strings.Trim(trataURL.Path, "/services/"))
}
}
var preRebootNodeLabelKeys []string
var afterRebootNodeLabelKeys []string
var preRebootNodeLabelKeys, afterRebootNodeLabelKeys []string
for _, label := range preRebootNodeLabels {
preRebootNodeLabelKeys = append(preRebootNodeLabelKeys, strings.Split(label, "=")[0])
}
@@ -450,7 +449,7 @@ func drain(client *kubernetes.Clientset, node *v1.Node) error {
nodename := node.GetName()
if preRebootNodeLabels != nil {
addNodeLabels(client, node, preRebootNodeLabels)
updateNodeLabels(client, node, preRebootNodeLabels)
}
log.Infof("Draining node %s", nodename)
@@ -499,7 +498,7 @@ func uncordon(client *kubernetes.Clientset, node *v1.Node) error {
log.Fatalf("Error uncordonning %s: %v", nodename, err)
return err
} else if afterRebootNodeLabels != nil {
addNodeLabels(client, node, afterRebootNodeLabels)
updateNodeLabels(client, node, afterRebootNodeLabels)
}
return nil
}
@@ -578,12 +577,12 @@ func deleteNodeAnnotation(client *kubernetes.Clientset, nodeID, key string) erro
return nil
}
func addNodeLabels(client *kubernetes.Clientset, node *v1.Node, labels []string) {
func updateNodeLabels(client *kubernetes.Clientset, node *v1.Node, labels []string) {
for _, label := range labels {
k := strings.Split(label, "=")[0]
v := strings.Split(label, "=")[1]
node.Labels[k] = v
log.Infof("Adding node %s label: %s=%s", node.GetName(), k, v)
log.Infof("Updating node %s label: %s=%s", node.GetName(), k, v)
}
bytes, err := json.Marshal(node)
@@ -599,7 +598,7 @@ func addNodeLabels(client *kubernetes.Clientset, node *v1.Node, labels []string)
v := strings.Split(label, "=")[1]
labelsErr += fmt.Sprintf("%s=%s ", k, v)
}
log.Fatalf("Error adding node labels %s via k8s API: %v", labelsErr, err)
log.Fatalf("Error updating node labels %s via k8s API: %v", labelsErr, err)
}
}