Notify slack before draining a node

Fixes #12
This commit is contained in:
Marcus Cobden
2018-09-04 14:37:34 +01:00
parent 5731b98a8a
commit ebf0fb5119
2 changed files with 17 additions and 2 deletions
+7
View File
@@ -173,6 +173,13 @@ func release(lock *daemonsetlock.DaemonSetLock) {
func drain(nodeID string) {
log.Infof("Draining node %s", nodeID)
if slackHookURL != "" {
if err := slack.NotifyDrain(slackHookURL, slackUsername, nodeID); err != nil {
log.Warnf("Error notifying slack: %v", err)
}
}
drainCmd := newCommand("/usr/bin/kubectl", "drain",
"--ignore-daemonsets", "--delete-local-data", "--force", nodeID)
+10 -2
View File
@@ -17,9 +17,9 @@ type body struct {
Username string `json:"username,omitempty"`
}
func NotifyReboot(hookURL, username, nodeID string) error {
func notify(hookURL, username, message string) error {
msg := body{
Text: fmt.Sprintf("Rebooting node %s", nodeID),
Text: message,
Username: username,
}
@@ -40,3 +40,11 @@ func NotifyReboot(hookURL, username, nodeID string) error {
return nil
}
func NotifyDrain(hookURL, username, nodeID string) error {
return notify(hookURL, username, fmt.Sprintf("Draining node %s", nodeID))
}
func NotifyReboot(hookURL, username, nodeID string) error {
return notify(hookURL, username, fmt.Sprintf("Rebooting node %s", nodeID))
}