Show openapi custom columns in kubectl get

Change the name of the flag to something slightly more user-friendly,
while making it default true. The flag is kept so that someone can
revert it temporarly if things go wrong.
This commit is contained in:
Antoine Pelisse 2017-10-04 20:51:41 -07:00
parent 9778b1a9ba
commit 1d99b763df
4 changed files with 11 additions and 5 deletions

View File

@ -197,6 +197,7 @@ go_test(
],
data = [
"testdata",
"//api/openapi-spec:swagger-spec",
"//examples:config",
"//test/fixtures",
],

View File

@ -32,6 +32,7 @@ go_test(
name = "go_default_test",
srcs = ["get_test.go"],
data = [
"//api/openapi-spec:swagger-spec",
"//examples:config",
"//test/fixtures",
],
@ -45,6 +46,7 @@ go_test(
"//pkg/kubectl/cmd/testing:go_default_library",
"//pkg/kubectl/cmd/util:go_default_library",
"//pkg/kubectl/cmd/util/openapi:go_default_library",
"//pkg/kubectl/cmd/util/openapi/testing:go_default_library",
"//pkg/kubectl/scheme:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/meta:go_default_library",

View File

@ -114,7 +114,7 @@ var (
)
const (
useOpenAPIPrintColumnFlagLabel = "experimental-use-openapi-print-columns"
useOpenAPIPrintColumnFlagLabel = "use-openapi-print-columns"
)
// NewCmdGet creates a command object for the generic "get" action, which
@ -641,9 +641,7 @@ func (options *GetOptions) printGeneric(printer printers.ResourcePrinter, r *res
}
func addOpenAPIPrintColumnFlags(cmd *cobra.Command) {
cmd.Flags().Bool(useOpenAPIPrintColumnFlagLabel, false, "If true, use x-kubernetes-print-column metadata (if present) from the OpenAPI schema for displaying a resource.")
// marking it deprecated so that it is hidden from usage/help text.
cmd.Flags().MarkDeprecated(useOpenAPIPrintColumnFlagLabel, "This flag is experimental and may be removed in the future.")
cmd.Flags().Bool(useOpenAPIPrintColumnFlagLabel, true, "If true, use x-kubernetes-print-column metadata (if present) from the OpenAPI schema for displaying a resource.")
}
func shouldGetNewPrinterForMapping(printer printers.ResourcePrinter, lastMapping, mapping *meta.RESTMapping) bool {

View File

@ -23,6 +23,7 @@ import (
"io"
"io/ioutil"
"net/http"
"path/filepath"
"reflect"
"strings"
"testing"
@ -49,9 +50,12 @@ import (
cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing"
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/cmd/util/openapi"
openapitesting "k8s.io/kubernetes/pkg/kubectl/cmd/util/openapi/testing"
"k8s.io/kubernetes/pkg/kubectl/scheme"
)
var openapiSchemaPath = filepath.Join("..", "..", "..", "..", "api", "openapi-spec", "swagger.json")
// This init should be removed after switching this command and its tests to user external types.
func init() {
api.AddToScheme(scheme.Scheme)
@ -206,6 +210,7 @@ func TestGetUnknownSchemaObject(t *testing.T) {
f, tf, _, _ := cmdtesting.NewAPIFactory()
_, _, codec, _ := cmdtesting.NewTestFactory()
tf.Printer = &testPrinter{}
tf.OpenAPISchemaFunc = openapitesting.CreateOpenAPISchemaFunc(openapiSchemaPath)
tf.UnstructuredClient = &fake.RESTClient{
NegotiatedSerializer: unstructuredSerializer,
Resp: &http.Response{StatusCode: 200, Header: defaultHeader(), Body: objBody(codec, cmdtesting.NewInternalType("", "", "foo"))},