Merge pull request #44627 from dmmcquay/kubeadm_add_validation_error_code

Automatic merge from submit-queue

kubeadm: add api validation exit code

**What this PR does / why we need it**: This will help with automation and provide more meaningful exit code for api validation. 

WIP to add more meaningful exit codes https://github.com/kubernetes/kubeadm/issues/61

This is a continuation from https://github.com/kubernetes/kubernetes/pull/42825 since it had to be closed.

**Special notes for your reviewer**: /cc @luxas 

**Release note**:
```release-note
NONE
```
pull/6/head
Kubernetes Submit Queue 2017-04-21 15:39:56 -07:00 committed by GitHub
commit 072c127b47
2 changed files with 9 additions and 1 deletions

View File

@ -16,7 +16,10 @@ go_library(
"version.go", "version.go",
], ],
tags = ["automanaged"], tags = ["automanaged"],
deps = ["//cmd/kubeadm/app/preflight:go_default_library"], deps = [
"//cmd/kubeadm/app/preflight:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/errors:go_default_library",
],
) )
go_test( go_test(

View File

@ -21,12 +21,14 @@ import (
"os" "os"
"strings" "strings"
utilerrors "k8s.io/apimachinery/pkg/util/errors"
"k8s.io/kubernetes/cmd/kubeadm/app/preflight" "k8s.io/kubernetes/cmd/kubeadm/app/preflight"
) )
const ( const (
DefaultErrorExitCode = 1 DefaultErrorExitCode = 1
PreFlightExitCode = 2 PreFlightExitCode = 2
ValidationExitCode = 3
) )
type debugError interface { type debugError interface {
@ -63,6 +65,9 @@ func checkErr(prefix string, err error, handleErr func(string, int)) {
return return
case *preflight.Error: case *preflight.Error:
handleErr(err.Error(), PreFlightExitCode) handleErr(err.Error(), PreFlightExitCode)
case utilerrors.Aggregate:
handleErr(err.Error(), ValidationExitCode)
default: default:
handleErr(err.Error(), DefaultErrorExitCode) handleErr(err.Error(), DefaultErrorExitCode)
} }