diff --git a/docs/devel/kubectl-conventions.md b/docs/devel/kubectl-conventions.md index af9642859a..1e94b3ba53 100644 --- a/docs/devel/kubectl-conventions.md +++ b/docs/devel/kubectl-conventions.md @@ -151,6 +151,9 @@ generation, etc., and display the output * `--output-version=...`: Convert the output to a different API group/version +* `--short`: Output a compact summary of normal output; the format is subject +to change and is optimizied for reading not parsing. + * `--validate`: Validate the resource schema ## Output conventions diff --git a/pkg/kubectl/BUILD b/pkg/kubectl/BUILD index 0480f464a1..cc112dd3ef 100644 --- a/pkg/kubectl/BUILD +++ b/pkg/kubectl/BUILD @@ -46,7 +46,6 @@ go_library( "sorted_resource_name_list.go", "sorting_printer.go", "stop.go", - "version.go", ], tags = ["automanaged"], deps = [ @@ -102,7 +101,6 @@ go_library( "//pkg/util/uuid:go_default_library", "//pkg/util/validation:go_default_library", "//pkg/util/wait:go_default_library", - "//pkg/version:go_default_library", "//pkg/watch:go_default_library", "//vendor:github.com/emicklei/go-restful/swagger", "//vendor:github.com/ghodss/yaml", diff --git a/pkg/kubectl/cmd/BUILD b/pkg/kubectl/cmd/BUILD index b6237d039c..ba6a9ef1a9 100644 --- a/pkg/kubectl/cmd/BUILD +++ b/pkg/kubectl/cmd/BUILD @@ -107,6 +107,7 @@ go_library( "//pkg/util/validation/field:go_default_library", "//pkg/util/wait:go_default_library", "//pkg/util/yaml:go_default_library", + "//pkg/version:go_default_library", "//pkg/watch:go_default_library", "//vendor:github.com/daviddengcn/go-colortext", "//vendor:github.com/docker/distribution/reference", diff --git a/pkg/kubectl/cmd/version.go b/pkg/kubectl/cmd/version.go index f128918a3f..b5bfaf5e71 100644 --- a/pkg/kubectl/cmd/version.go +++ b/pkg/kubectl/cmd/version.go @@ -22,8 +22,8 @@ import ( "github.com/spf13/cobra" - "k8s.io/kubernetes/pkg/kubectl" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" + "k8s.io/kubernetes/pkg/version" ) func NewCmdVersion(f cmdutil.Factory, out io.Writer) *cobra.Command { @@ -36,12 +36,18 @@ func NewCmdVersion(f cmdutil.Factory, out io.Writer) *cobra.Command { }, } cmd.Flags().BoolP("client", "c", false, "Client version only (no server required).") + cmd.Flags().BoolP("short", "", false, "Print just the version number.") cmd.Flags().MarkShorthandDeprecated("client", "please use --client instead.") return cmd } func RunVersion(f cmdutil.Factory, out io.Writer, cmd *cobra.Command) error { - kubectl.GetClientVersion(out) + v := fmt.Sprintf("%#v", version.Get()) + if cmdutil.GetFlagBool(cmd, "short") { + v = version.Get().GitVersion + } + + fmt.Fprintf(out, "Client Version: %s\n", v) if cmdutil.GetFlagBool(cmd, "client") { return nil } @@ -56,6 +62,11 @@ func RunVersion(f cmdutil.Factory, out io.Writer, cmd *cobra.Command) error { return err } - fmt.Fprintf(out, "Server Version: %#v\n", *serverVersion) + v = fmt.Sprintf("%#v", *serverVersion) + if cmdutil.GetFlagBool(cmd, "short") { + v = serverVersion.GitVersion + } + + fmt.Fprintf(out, "Server Version: %s\n", v) return nil } diff --git a/pkg/kubectl/version.go b/pkg/kubectl/version.go deleted file mode 100644 index d015df727f..0000000000 --- a/pkg/kubectl/version.go +++ /dev/null @@ -1,28 +0,0 @@ -/* -Copyright 2014 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package kubectl - -import ( - "fmt" - "io" - - "k8s.io/kubernetes/pkg/version" -) - -func GetClientVersion(w io.Writer) { - fmt.Fprintf(w, "Client Version: %#v\n", version.Get()) -}