diff --git a/cmd/kubeadm/app/util/BUILD b/cmd/kubeadm/app/util/BUILD index 1b2a4d7802f..aba1277a54a 100644 --- a/cmd/kubeadm/app/util/BUILD +++ b/cmd/kubeadm/app/util/BUILD @@ -16,7 +16,10 @@ go_library( "version.go", ], 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( diff --git a/cmd/kubeadm/app/util/error.go b/cmd/kubeadm/app/util/error.go index 479c7cead48..2b8f638f79b 100644 --- a/cmd/kubeadm/app/util/error.go +++ b/cmd/kubeadm/app/util/error.go @@ -21,12 +21,14 @@ import ( "os" "strings" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/cmd/kubeadm/app/preflight" ) const ( DefaultErrorExitCode = 1 PreFlightExitCode = 2 + ValidationExitCode = 3 ) type debugError interface { @@ -63,6 +65,9 @@ func checkErr(prefix string, err error, handleErr func(string, int)) { return case *preflight.Error: handleErr(err.Error(), PreFlightExitCode) + case utilerrors.Aggregate: + handleErr(err.Error(), ValidationExitCode) + default: handleErr(err.Error(), DefaultErrorExitCode) }