Initial node drain implementation for #3885.

It cordons (marks unschedulable) the given node, and then deletes every
pod on it, optionally using a grace period.  It will not delete pods
managed by neither a ReplicationController nor a DaemonSet without the
use of --force.

Also add cordon/uncordon, which just toggle node schedulability.
This commit is contained in:
Matt Liggett
2015-10-30 17:16:57 -07:00
parent 547bf75b54
commit c6e9ad066e
17 changed files with 1621 additions and 2 deletions

View File

@@ -76,6 +76,12 @@ func BehaviorOnFatal(f func(string)) {
fatalErrHandler = f
}
// DefaultBehaviorOnFatal allows you to undo any previous override. Useful in
// tests.
func DefaultBehaviorOnFatal() {
fatalErrHandler = fatal
}
// fatal prints the message and then exits. If V(2) or greater, glog.Fatal
// is invoked for extended information.
func fatal(msg string) {