Commit 22cc2943 authored by Kubernetes Submit Queue's avatar Kubernetes Submit Queue Committed by GitHub

Merge pull request #46598 from xiangpengzhao/fix-kubectl-version

Automatic merge from submit-queue (batch tested with PRs 46210, 48607, 46874, 46598, 49240) Make "kubectl version" json format output more readable. **What this PR does / why we need it**: ##39858 adds a flag --output to `kubectl version`, but the json format output is displayed in one line. It's not so readable. This PR fixes it. and - adds a shorthand for `output` - ~~refactors that: if `--short` is specified, `--output` will be ignored~~ **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #43750 **Special notes for your reviewer**: /cc @php-coder @alejandroEsc **Release note**: ```release-note NONE ```
parents c90fda82 a6be3b64
...@@ -327,7 +327,7 @@ kube::test::version::object_to_file() { ...@@ -327,7 +327,7 @@ kube::test::version::object_to_file() {
kube::test::version::json_object_to_file() { kube::test::version::json_object_to_file() {
flags=$1 flags=$1
file=$2 file=$2
kubectl version $flags --output json | sed -e s/'\"'/''/g -e s/'}'/''/g -e s/'{'/''/g -e s/'clientVersion:'/'clientVersion:,'/ -e s/'serverVersion:'/'serverVersion:,'/ | tr , '\n' > "${file}" kubectl version $flags --output json | sed -e s/' '/''/g -e s/'\"'/''/g -e s/'}'/''/g -e s/'{'/''/g -e s/'clientVersion:'/'clientVersion:,'/ -e s/'serverVersion:'/'serverVersion:,'/ | tr , '\n' > "${file}"
} }
kube::test::version::json_client_server_object_to_file() { kube::test::version::json_client_server_object_to_file() {
......
...@@ -66,7 +66,7 @@ func NewCmdVersion(f cmdutil.Factory, out io.Writer) *cobra.Command { ...@@ -66,7 +66,7 @@ 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("client", "c", false, "Client version only (no server required).")
cmd.Flags().BoolP("short", "", false, "Print just the version number.") cmd.Flags().BoolP("short", "", false, "Print just the version number.")
cmd.Flags().String("output", "", "one of 'yaml' or 'json'") cmd.Flags().StringP("output", "o", "", "One of 'yaml' or 'json'.")
cmd.Flags().MarkShorthandDeprecated("client", "please use --client instead.") cmd.Flags().MarkShorthandDeprecated("client", "please use --client instead.")
return cmd return cmd
} }
...@@ -117,7 +117,7 @@ func (o *VersionOptions) Run(f cmdutil.Factory, out io.Writer) error { ...@@ -117,7 +117,7 @@ func (o *VersionOptions) Run(f cmdutil.Factory, out io.Writer) error {
} }
fmt.Fprintln(out, string(marshalled)) fmt.Fprintln(out, string(marshalled))
case "json": case "json":
marshalled, err := json.Marshal(&versionInfo) marshalled, err := json.MarshalIndent(&versionInfo, "", " ")
if err != nil { if err != nil {
return err return err
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment