kubeadm use output/v1alpha3 version to print objects
This commit is contained in:
		@@ -39,7 +39,7 @@ import (
 | 
				
			|||||||
	kubeadmapiv1old "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta3"
 | 
						kubeadmapiv1old "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta3"
 | 
				
			||||||
	kubeadmapiv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta4"
 | 
						kubeadmapiv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta4"
 | 
				
			||||||
	outputapischeme "k8s.io/kubernetes/cmd/kubeadm/app/apis/output/scheme"
 | 
						outputapischeme "k8s.io/kubernetes/cmd/kubeadm/app/apis/output/scheme"
 | 
				
			||||||
	outputapiv1alpha2 "k8s.io/kubernetes/cmd/kubeadm/app/apis/output/v1alpha2"
 | 
						outputapiv1alpha3 "k8s.io/kubernetes/cmd/kubeadm/app/apis/output/v1alpha3"
 | 
				
			||||||
	"k8s.io/kubernetes/cmd/kubeadm/app/cmd/options"
 | 
						"k8s.io/kubernetes/cmd/kubeadm/app/cmd/options"
 | 
				
			||||||
	cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util"
 | 
						cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util"
 | 
				
			||||||
	"k8s.io/kubernetes/cmd/kubeadm/app/componentconfigs"
 | 
						"k8s.io/kubernetes/cmd/kubeadm/app/componentconfigs"
 | 
				
			||||||
@@ -468,7 +468,7 @@ type imageTextPrinter struct {
 | 
				
			|||||||
// PrintObj is an implementation of ResourcePrinter.PrintObj for plain text output
 | 
					// PrintObj is an implementation of ResourcePrinter.PrintObj for plain text output
 | 
				
			||||||
func (itp *imageTextPrinter) PrintObj(obj runtime.Object, writer io.Writer) error {
 | 
					func (itp *imageTextPrinter) PrintObj(obj runtime.Object, writer io.Writer) error {
 | 
				
			||||||
	var err error
 | 
						var err error
 | 
				
			||||||
	if imgs, ok := obj.(*outputapiv1alpha2.Images); ok {
 | 
						if imgs, ok := obj.(*outputapiv1alpha3.Images); ok {
 | 
				
			||||||
		_, err = fmt.Fprintln(writer, strings.Join(imgs.Images, "\n"))
 | 
							_, err = fmt.Fprintln(writer, strings.Join(imgs.Images, "\n"))
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		err = errors.New("unexpected object type")
 | 
							err = errors.New("unexpected object type")
 | 
				
			||||||
@@ -491,7 +491,7 @@ func (ipf *imageTextPrintFlags) ToPrinter(outputFormat string) (output.Printer,
 | 
				
			|||||||
func (i *ImagesList) Run(out io.Writer, printer output.Printer) error {
 | 
					func (i *ImagesList) Run(out io.Writer, printer output.Printer) error {
 | 
				
			||||||
	imgs := images.GetControlPlaneImages(&i.cfg.ClusterConfiguration)
 | 
						imgs := images.GetControlPlaneImages(&i.cfg.ClusterConfiguration)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if err := printer.PrintObj(&outputapiv1alpha2.Images{Images: imgs}, out); err != nil {
 | 
						if err := printer.PrintObj(&outputapiv1alpha3.Images{Images: imgs}, out); err != nil {
 | 
				
			||||||
		return errors.Wrap(err, "unable to print images")
 | 
							return errors.Wrap(err, "unable to print images")
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -248,7 +248,7 @@ registry.k8s.io/etcd:{{.EtcdVersion}}
 | 
				
			|||||||
			outputFormat: "json",
 | 
								outputFormat: "json",
 | 
				
			||||||
			expectedOutput: `{
 | 
								expectedOutput: `{
 | 
				
			||||||
    "kind": "Images",
 | 
					    "kind": "Images",
 | 
				
			||||||
    "apiVersion": "output.kubeadm.k8s.io/v1alpha2",
 | 
					    "apiVersion": "output.kubeadm.k8s.io/v1alpha3",
 | 
				
			||||||
    "images": [
 | 
					    "images": [
 | 
				
			||||||
        "registry.k8s.io/kube-apiserver:{{.KubeVersion}}",
 | 
					        "registry.k8s.io/kube-apiserver:{{.KubeVersion}}",
 | 
				
			||||||
        "registry.k8s.io/kube-controller-manager:{{.KubeVersion}}",
 | 
					        "registry.k8s.io/kube-controller-manager:{{.KubeVersion}}",
 | 
				
			||||||
@@ -267,7 +267,7 @@ registry.k8s.io/etcd:{{.EtcdVersion}}
 | 
				
			|||||||
				KubernetesVersion: dummyKubernetesVersionStr,
 | 
									KubernetesVersion: dummyKubernetesVersionStr,
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
			outputFormat: "yaml",
 | 
								outputFormat: "yaml",
 | 
				
			||||||
			expectedOutput: `apiVersion: output.kubeadm.k8s.io/v1alpha2
 | 
								expectedOutput: `apiVersion: output.kubeadm.k8s.io/v1alpha3
 | 
				
			||||||
images:
 | 
					images:
 | 
				
			||||||
- registry.k8s.io/kube-apiserver:{{.KubeVersion}}
 | 
					- registry.k8s.io/kube-apiserver:{{.KubeVersion}}
 | 
				
			||||||
- registry.k8s.io/kube-controller-manager:{{.KubeVersion}}
 | 
					- registry.k8s.io/kube-controller-manager:{{.KubeVersion}}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -43,7 +43,7 @@ import (
 | 
				
			|||||||
	kubeadmapiv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta3"
 | 
						kubeadmapiv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta3"
 | 
				
			||||||
	"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation"
 | 
						"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation"
 | 
				
			||||||
	outputapischeme "k8s.io/kubernetes/cmd/kubeadm/app/apis/output/scheme"
 | 
						outputapischeme "k8s.io/kubernetes/cmd/kubeadm/app/apis/output/scheme"
 | 
				
			||||||
	outputapiv1alpha2 "k8s.io/kubernetes/cmd/kubeadm/app/apis/output/v1alpha2"
 | 
						outputapiv1alpha3 "k8s.io/kubernetes/cmd/kubeadm/app/apis/output/v1alpha3"
 | 
				
			||||||
	"k8s.io/kubernetes/cmd/kubeadm/app/cmd/options"
 | 
						"k8s.io/kubernetes/cmd/kubeadm/app/cmd/options"
 | 
				
			||||||
	cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util"
 | 
						cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util"
 | 
				
			||||||
	kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants"
 | 
						kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants"
 | 
				
			||||||
@@ -298,7 +298,7 @@ func RunGenerateToken(out io.Writer) error {
 | 
				
			|||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func formatBootstrapToken(obj *outputapiv1alpha2.BootstrapToken) string {
 | 
					func formatBootstrapToken(obj *outputapiv1alpha3.BootstrapToken) string {
 | 
				
			||||||
	ttl := "<forever>"
 | 
						ttl := "<forever>"
 | 
				
			||||||
	expires := "<never>"
 | 
						expires := "<never>"
 | 
				
			||||||
	if obj.Expires != nil {
 | 
						if obj.Expires != nil {
 | 
				
			||||||
@@ -345,7 +345,7 @@ func (ttp *tokenTextPrinter) PrintObj(obj runtime.Object, writer io.Writer) erro
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Print token
 | 
						// Print token
 | 
				
			||||||
	fmt.Fprint(tabw, formatBootstrapToken(obj.(*outputapiv1alpha2.BootstrapToken)))
 | 
						fmt.Fprint(tabw, formatBootstrapToken(obj.(*outputapiv1alpha3.BootstrapToken)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return tabw.Flush()
 | 
						return tabw.Flush()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -389,7 +389,7 @@ func RunListTokens(out io.Writer, errW io.Writer, client clientset.Interface, pr
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// Convert token into versioned output structure
 | 
							// Convert token into versioned output structure
 | 
				
			||||||
		outputToken := outputapiv1alpha2.BootstrapToken{
 | 
							outputToken := outputapiv1alpha3.BootstrapToken{
 | 
				
			||||||
			BootstrapToken: bootstraptokenv1.BootstrapToken{
 | 
								BootstrapToken: bootstraptokenv1.BootstrapToken{
 | 
				
			||||||
				Token:       &bootstraptokenv1.BootstrapTokenString{ID: token.Token.ID, Secret: token.Token.Secret},
 | 
									Token:       &bootstraptokenv1.BootstrapTokenString{ID: token.Token.ID, Secret: token.Token.Secret},
 | 
				
			||||||
				Description: token.Description,
 | 
									Description: token.Description,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,7 +34,7 @@ import (
 | 
				
			|||||||
	bootstraptokenv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/bootstraptoken/v1"
 | 
						bootstraptokenv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/bootstraptoken/v1"
 | 
				
			||||||
	kubeadmapiv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta3"
 | 
						kubeadmapiv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta3"
 | 
				
			||||||
	outputapischeme "k8s.io/kubernetes/cmd/kubeadm/app/apis/output/scheme"
 | 
						outputapischeme "k8s.io/kubernetes/cmd/kubeadm/app/apis/output/scheme"
 | 
				
			||||||
	outputapiv1alpha2 "k8s.io/kubernetes/cmd/kubeadm/app/apis/output/v1alpha2"
 | 
						outputapiv1alpha3 "k8s.io/kubernetes/cmd/kubeadm/app/apis/output/v1alpha3"
 | 
				
			||||||
	cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util"
 | 
						cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util"
 | 
				
			||||||
	"k8s.io/kubernetes/cmd/kubeadm/app/util/output"
 | 
						"k8s.io/kubernetes/cmd/kubeadm/app/util/output"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
@@ -355,7 +355,7 @@ func TestTokenOutput(t *testing.T) {
 | 
				
			|||||||
			outputFormat: "json",
 | 
								outputFormat: "json",
 | 
				
			||||||
			expected: `{
 | 
								expected: `{
 | 
				
			||||||
    "kind": "BootstrapToken",
 | 
					    "kind": "BootstrapToken",
 | 
				
			||||||
    "apiVersion": "output.kubeadm.k8s.io/v1alpha2",
 | 
					    "apiVersion": "output.kubeadm.k8s.io/v1alpha3",
 | 
				
			||||||
    "token": "abcdef.1234567890123456",
 | 
					    "token": "abcdef.1234567890123456",
 | 
				
			||||||
    "description": "valid bootstrap tooken",
 | 
					    "description": "valid bootstrap tooken",
 | 
				
			||||||
    "usages": [
 | 
					    "usages": [
 | 
				
			||||||
@@ -376,7 +376,7 @@ func TestTokenOutput(t *testing.T) {
 | 
				
			|||||||
			usages:       []string{"signing", "authentication"},
 | 
								usages:       []string{"signing", "authentication"},
 | 
				
			||||||
			extraGroups:  []string{"system:bootstrappers:kubeadm:default-node-token"},
 | 
								extraGroups:  []string{"system:bootstrappers:kubeadm:default-node-token"},
 | 
				
			||||||
			outputFormat: "yaml",
 | 
								outputFormat: "yaml",
 | 
				
			||||||
			expected: `apiVersion: output.kubeadm.k8s.io/v1alpha2
 | 
								expected: `apiVersion: output.kubeadm.k8s.io/v1alpha3
 | 
				
			||||||
description: valid bootstrap tooken
 | 
					description: valid bootstrap tooken
 | 
				
			||||||
groups:
 | 
					groups:
 | 
				
			||||||
- system:bootstrappers:kubeadm:default-node-token
 | 
					- system:bootstrappers:kubeadm:default-node-token
 | 
				
			||||||
@@ -423,7 +423,7 @@ abcdef.1234567890123456   <forever>   <never>   signing,authentication   valid b
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	for _, tc := range testCases {
 | 
						for _, tc := range testCases {
 | 
				
			||||||
		t.Run(tc.name, func(t *testing.T) {
 | 
							t.Run(tc.name, func(t *testing.T) {
 | 
				
			||||||
			token := outputapiv1alpha2.BootstrapToken{
 | 
								token := outputapiv1alpha3.BootstrapToken{
 | 
				
			||||||
				BootstrapToken: bootstraptokenv1.BootstrapToken{
 | 
									BootstrapToken: bootstraptokenv1.BootstrapToken{
 | 
				
			||||||
					Token:       &bootstraptokenv1.BootstrapTokenString{ID: tc.id, Secret: tc.secret},
 | 
										Token:       &bootstraptokenv1.BootstrapTokenString{ID: tc.id, Secret: tc.secret},
 | 
				
			||||||
					Description: tc.description,
 | 
										Description: tc.description,
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user