From b92966aeac935f75f9ba30e1e7399de15f5fa7bd Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" Date: Mon, 27 Sep 2021 23:35:43 +0300 Subject: [PATCH] kubeadm: use output/v1alpha2 in kubeadm commands Use the new API for "config images list" and "token list". --- cmd/kubeadm/app/cmd/config.go | 6 +++--- cmd/kubeadm/app/cmd/config_test.go | 4 ++-- cmd/kubeadm/app/cmd/token.go | 13 ++++++------- cmd/kubeadm/app/cmd/token_test.go | 13 ++++++------- 4 files changed, 17 insertions(+), 19 deletions(-) diff --git a/cmd/kubeadm/app/cmd/config.go b/cmd/kubeadm/app/cmd/config.go index ce0ed16f62e..6c875a8bb37 100644 --- a/cmd/kubeadm/app/cmd/config.go +++ b/cmd/kubeadm/app/cmd/config.go @@ -38,7 +38,7 @@ import ( kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" kubeadmapiv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta3" outputapischeme "k8s.io/kubernetes/cmd/kubeadm/app/apis/output/scheme" - outputapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/output/v1alpha1" + outputapiv1alpha2 "k8s.io/kubernetes/cmd/kubeadm/app/apis/output/v1alpha2" "k8s.io/kubernetes/cmd/kubeadm/app/cmd/options" cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util" "k8s.io/kubernetes/cmd/kubeadm/app/componentconfigs" @@ -413,7 +413,7 @@ type imageTextPrinter struct { // PrintObj is an implementation of ResourcePrinter.PrintObj for plain text output func (itp *imageTextPrinter) PrintObj(obj runtime.Object, writer io.Writer) error { var err error - if imgs, ok := obj.(*outputapiv1alpha1.Images); ok { + if imgs, ok := obj.(*outputapiv1alpha2.Images); ok { _, err = fmt.Fprintln(writer, strings.Join(imgs.Images, "\n")) } else { err = errors.New("unexpected object type") @@ -436,7 +436,7 @@ func (ipf *imageTextPrintFlags) ToPrinter(outputFormat string) (output.Printer, func (i *ImagesList) Run(out io.Writer, printer output.Printer) error { imgs := images.GetControlPlaneImages(&i.cfg.ClusterConfiguration) - if err := printer.PrintObj(&outputapiv1alpha1.Images{Images: imgs}, out); err != nil { + if err := printer.PrintObj(&outputapiv1alpha2.Images{Images: imgs}, out); err != nil { return errors.Wrap(err, "unable to print images") } diff --git a/cmd/kubeadm/app/cmd/config_test.go b/cmd/kubeadm/app/cmd/config_test.go index 10facfd16c6..d7d88878ccd 100644 --- a/cmd/kubeadm/app/cmd/config_test.go +++ b/cmd/kubeadm/app/cmd/config_test.go @@ -253,7 +253,7 @@ k8s.gcr.io/coredns/coredns:{{.CoreDNSVersion}} outputFormat: "json", expectedOutput: `{ "kind": "Images", - "apiVersion": "output.kubeadm.k8s.io/v1alpha1", + "apiVersion": "output.kubeadm.k8s.io/v1alpha2", "images": [ "k8s.gcr.io/kube-apiserver:{{.KubeVersion}}", "k8s.gcr.io/kube-controller-manager:{{.KubeVersion}}", @@ -272,7 +272,7 @@ k8s.gcr.io/coredns/coredns:{{.CoreDNSVersion}} KubernetesVersion: dummyKubernetesVersionStr, }, outputFormat: "yaml", - expectedOutput: `apiVersion: output.kubeadm.k8s.io/v1alpha1 + expectedOutput: `apiVersion: output.kubeadm.k8s.io/v1alpha2 images: - k8s.gcr.io/kube-apiserver:{{.KubeVersion}} - k8s.gcr.io/kube-controller-manager:{{.KubeVersion}} diff --git a/cmd/kubeadm/app/cmd/token.go b/cmd/kubeadm/app/cmd/token.go index b7f138124a2..529efac51af 100644 --- a/cmd/kubeadm/app/cmd/token.go +++ b/cmd/kubeadm/app/cmd/token.go @@ -41,11 +41,10 @@ import ( bootstraptokenv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/bootstraptoken/v1" kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" - kubeadmapiv1beta2 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2" kubeadmapiv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta3" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation" outputapischeme "k8s.io/kubernetes/cmd/kubeadm/app/apis/output/scheme" - outputapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/output/v1alpha1" + outputapiv1alpha2 "k8s.io/kubernetes/cmd/kubeadm/app/apis/output/v1alpha2" "k8s.io/kubernetes/cmd/kubeadm/app/cmd/options" cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" @@ -300,7 +299,7 @@ func RunGenerateToken(out io.Writer) error { return nil } -func formatBootstrapToken(obj *outputapiv1alpha1.BootstrapToken) string { +func formatBootstrapToken(obj *outputapiv1alpha2.BootstrapToken) string { ttl := "" expires := "" if obj.Expires != nil { @@ -347,7 +346,7 @@ func (ttp *tokenTextPrinter) PrintObj(obj runtime.Object, writer io.Writer) erro } // Print token - fmt.Fprint(tabw, formatBootstrapToken(obj.(*outputapiv1alpha1.BootstrapToken))) + fmt.Fprint(tabw, formatBootstrapToken(obj.(*outputapiv1alpha2.BootstrapToken))) return tabw.Flush() } @@ -391,9 +390,9 @@ func RunListTokens(out io.Writer, errW io.Writer, client clientset.Interface, pr } // Convert token into versioned output structure - outputToken := outputapiv1alpha1.BootstrapToken{ - BootstrapToken: kubeadmapiv1beta2.BootstrapToken{ - Token: &kubeadmapiv1beta2.BootstrapTokenString{ID: token.Token.ID, Secret: token.Token.Secret}, + outputToken := outputapiv1alpha2.BootstrapToken{ + BootstrapToken: bootstraptokenv1.BootstrapToken{ + Token: &bootstraptokenv1.BootstrapTokenString{ID: token.Token.ID, Secret: token.Token.Secret}, Description: token.Description, TTL: token.TTL, Expires: token.Expires, diff --git a/cmd/kubeadm/app/cmd/token_test.go b/cmd/kubeadm/app/cmd/token_test.go index e3de16a5877..dd8e0d950b6 100644 --- a/cmd/kubeadm/app/cmd/token_test.go +++ b/cmd/kubeadm/app/cmd/token_test.go @@ -33,10 +33,9 @@ import ( "k8s.io/client-go/tools/clientcmd" bootstraptokenv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/bootstraptoken/v1" - kubeadmapiv1beta2 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2" kubeadmapiv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta3" outputapischeme "k8s.io/kubernetes/cmd/kubeadm/app/apis/output/scheme" - outputapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/output/v1alpha1" + outputapiv1alpha2 "k8s.io/kubernetes/cmd/kubeadm/app/apis/output/v1alpha2" "k8s.io/kubernetes/cmd/kubeadm/app/util/output" ) @@ -360,7 +359,7 @@ func TestTokenOutput(t *testing.T) { outputFormat: "json", expected: `{ "kind": "BootstrapToken", - "apiVersion": "output.kubeadm.k8s.io/v1alpha1", + "apiVersion": "output.kubeadm.k8s.io/v1alpha2", "token": "abcdef.1234567890123456", "description": "valid bootstrap tooken", "usages": [ @@ -381,7 +380,7 @@ func TestTokenOutput(t *testing.T) { usages: []string{"signing", "authentication"}, extraGroups: []string{"system:bootstrappers:kubeadm:default-node-token"}, outputFormat: "yaml", - expected: `apiVersion: output.kubeadm.k8s.io/v1alpha1 + expected: `apiVersion: output.kubeadm.k8s.io/v1alpha2 description: valid bootstrap tooken groups: - system:bootstrappers:kubeadm:default-node-token @@ -428,9 +427,9 @@ abcdef.1234567890123456 signing,authentication valid b } for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { - token := outputapiv1alpha1.BootstrapToken{ - BootstrapToken: kubeadmapiv1beta2.BootstrapToken{ - Token: &kubeadmapiv1beta2.BootstrapTokenString{ID: tc.id, Secret: tc.secret}, + token := outputapiv1alpha2.BootstrapToken{ + BootstrapToken: bootstraptokenv1.BootstrapToken{ + Token: &bootstraptokenv1.BootstrapTokenString{ID: tc.id, Secret: tc.secret}, Description: tc.description, Usages: tc.usages, Groups: tc.extraGroups,