Merge pull request #101307 from wangyysde/replace-groupversion

kubeadm:Use kubeadmapiv1.SchemeGroupVersion.String() instead of kubeadm.k8s.i…
This commit is contained in:
Kubernetes Prow Robot 2021-04-27 17:26:51 -07:00 committed by GitHub
commit 05e90d97d7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 122 additions and 108 deletions

View File

@ -39,7 +39,7 @@ func generateTestKubeadmConfig(dir, id, certDir, clusterName string) (string, er
cfgPath := filepath.Join(dir, id) cfgPath := filepath.Join(dir, id)
initCfg := kubeadmapiv1.InitConfiguration{ initCfg := kubeadmapiv1.InitConfiguration{
TypeMeta: metav1.TypeMeta{ TypeMeta: metav1.TypeMeta{
APIVersion: "kubeadm.k8s.io/v1beta3", APIVersion: kubeadmapiv1.SchemeGroupVersion.String(),
Kind: "InitConfiguration", Kind: "InitConfiguration",
}, },
LocalAPIEndpoint: kubeadmapiv1.APIEndpoint{ LocalAPIEndpoint: kubeadmapiv1.APIEndpoint{
@ -49,7 +49,7 @@ func generateTestKubeadmConfig(dir, id, certDir, clusterName string) (string, er
} }
clusterCfg := kubeadmapiv1.ClusterConfiguration{ clusterCfg := kubeadmapiv1.ClusterConfiguration{
TypeMeta: metav1.TypeMeta{ TypeMeta: metav1.TypeMeta{
APIVersion: "kubeadm.k8s.io/v1beta3", APIVersion: kubeadmapiv1.SchemeGroupVersion.String(),
Kind: "ClusterConfiguration", Kind: "ClusterConfiguration",
}, },
CertificatesDir: certDir, CertificatesDir: certDir,

View File

@ -378,18 +378,20 @@ func TestGenCSRConfig(t *testing.T) {
// A minimal kubeadm config with just enough values to avoid triggering // A minimal kubeadm config with just enough values to avoid triggering
// auto-detection of config values at runtime. // auto-detection of config values at runtime.
var kubeadmConfig = ` var kubeadmConfig = fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta3 apiVersion: %s
kind: InitConfiguration kind: InitConfiguration
localAPIEndpoint: localAPIEndpoint:
advertiseAddress: 192.0.2.1 advertiseAddress: 192.0.2.1
nodeRegistration: nodeRegistration:
criSocket: /path/to/dockershim.sock criSocket: /path/to/dockershim.sock
--- ---
apiVersion: kubeadm.k8s.io/v1beta3 apiVersion: %[1]s
kind: ClusterConfiguration kind: ClusterConfiguration
certificatesDir: /custom/config/certificates-dir certificatesDir: /custom/config/certificates-dir
kubernetesVersion: ` + kubeadmconstants.MinimumControlPlaneVersion.String() kubernetesVersion: %s`,
kubeadmapiv1.SchemeGroupVersion.String(),
kubeadmconstants.MinimumControlPlaneVersion.String())
tmpDir := testutil.SetupTempDir(t) tmpDir := testutil.SetupTempDir(t)
defer os.RemoveAll(tmpDir) defer os.RemoveAll(tmpDir)

View File

@ -31,6 +31,7 @@ import (
"github.com/lithammer/dedent" "github.com/lithammer/dedent"
"github.com/spf13/cobra" "github.com/spf13/cobra"
kubeadmapiv1old "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2"
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"
"k8s.io/kubernetes/cmd/kubeadm/app/constants" "k8s.io/kubernetes/cmd/kubeadm/app/constants"
@ -81,10 +82,10 @@ func TestImagesListRunWithCustomConfigPath(t *testing.T) {
constants.CurrentKubernetesVersion.String(), constants.CurrentKubernetesVersion.String(),
}, },
configContents: []byte(dedent.Dedent(fmt.Sprintf(` configContents: []byte(dedent.Dedent(fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta3 apiVersion: %s
kind: ClusterConfiguration kind: ClusterConfiguration
kubernetesVersion: %s kubernetesVersion: %s
`, constants.CurrentKubernetesVersion))), `, kubeadmapiv1.SchemeGroupVersion.String(), constants.CurrentKubernetesVersion))),
}, },
{ {
name: "use coredns", name: "use coredns",
@ -93,10 +94,10 @@ func TestImagesListRunWithCustomConfigPath(t *testing.T) {
"coredns", "coredns",
}, },
configContents: []byte(dedent.Dedent(fmt.Sprintf(` configContents: []byte(dedent.Dedent(fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta3 apiVersion: %s
kind: ClusterConfiguration kind: ClusterConfiguration
kubernetesVersion: %s kubernetesVersion: %s
`, constants.MinimumControlPlaneVersion))), `, kubeadmapiv1.SchemeGroupVersion.String(), constants.MinimumControlPlaneVersion))),
}, },
} }
@ -382,11 +383,11 @@ func TestImagesPull(t *testing.T) {
} }
func TestMigrate(t *testing.T) { func TestMigrate(t *testing.T) {
cfg := []byte(dedent.Dedent(` cfg := []byte(dedent.Dedent(fmt.Sprintf(`
# This is intentionally testing an old API version. Sometimes this may be the latest version (if no old configs are supported). # This is intentionally testing an old API version. Sometimes this may be the latest version (if no old configs are supported).
apiVersion: kubeadm.k8s.io/v1beta2 apiVersion: %s
kind: InitConfiguration kind: InitConfiguration
`)) `, kubeadmapiv1old.SchemeGroupVersion.String())))
configFile, cleanup := tempConfig(t, cfg) configFile, cleanup := tempConfig(t, cfg)
defer cleanup() defer cleanup()

View File

@ -17,18 +17,19 @@ limitations under the License.
package cmd package cmd
import ( import (
"fmt"
"io/ioutil" "io/ioutil"
"os" "os"
"path/filepath" "path/filepath"
"testing" "testing"
"k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/sets"
kubeadmapiv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta3"
"k8s.io/kubernetes/cmd/kubeadm/app/cmd/options" "k8s.io/kubernetes/cmd/kubeadm/app/cmd/options"
) )
const ( var testInitConfig = fmt.Sprintf(`---
testInitConfig = `--- apiVersion: %s
apiVersion: kubeadm.k8s.io/v1beta3
kind: InitConfiguration kind: InitConfiguration
localAPIEndpoint: localAPIEndpoint:
advertiseAddress: "1.2.3.4" advertiseAddress: "1.2.3.4"
@ -41,11 +42,10 @@ nodeRegistration:
- c - c
- d - d
--- ---
apiVersion: kubeadm.k8s.io/v1beta3 apiVersion: %[1]s
kind: ClusterConfiguration kind: ClusterConfiguration
controlPlaneEndpoint: "3.4.5.6" controlPlaneEndpoint: "3.4.5.6"
` `, kubeadmapiv1.SchemeGroupVersion.String())
)
func TestNewInitData(t *testing.T) { func TestNewInitData(t *testing.T) {
// create temp directory // create temp directory

View File

@ -17,18 +17,19 @@ limitations under the License.
package cmd package cmd
import ( import (
"fmt"
"io/ioutil" "io/ioutil"
"os" "os"
"path/filepath" "path/filepath"
"testing" "testing"
"k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/sets"
kubeadmapiv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta3"
"k8s.io/kubernetes/cmd/kubeadm/app/cmd/options" "k8s.io/kubernetes/cmd/kubeadm/app/cmd/options"
kubeconfigutil "k8s.io/kubernetes/cmd/kubeadm/app/util/kubeconfig" kubeconfigutil "k8s.io/kubernetes/cmd/kubeadm/app/util/kubeconfig"
) )
const ( var testJoinConfig = fmt.Sprintf(`apiVersion: %s
testJoinConfig = `apiVersion: kubeadm.k8s.io/v1beta3
kind: JoinConfiguration kind: JoinConfiguration
discovery: discovery:
bootstrapToken: bootstrapToken:
@ -41,8 +42,7 @@ nodeRegistration:
ignorePreflightErrors: ignorePreflightErrors:
- c - c
- d - d
` `, kubeadmapiv1.SchemeGroupVersion.String())
)
func TestNewJoinData(t *testing.T) { func TestNewJoinData(t *testing.T) {
// create temp directory // create temp directory

View File

@ -18,9 +18,11 @@ package upgrade
import ( import (
"bytes" "bytes"
"fmt"
"testing" "testing"
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
kubeadmapiv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta3"
) )
func TestEnforceRequirements(t *testing.T) { func TestEnforceRequirements(t *testing.T) {
@ -89,9 +91,9 @@ func TestPrintConfiguration(t *testing.T) {
Type: kubeadmapi.CoreDNS, Type: kubeadmapi.CoreDNS,
}, },
}, },
expectedBytes: []byte(`[upgrade/config] Configuration used: expectedBytes: []byte(fmt.Sprintf(`[upgrade/config] Configuration used:
apiServer: {} apiServer: {}
apiVersion: kubeadm.k8s.io/v1beta3 apiVersion: %s
controllerManager: {} controllerManager: {}
dns: dns:
type: CoreDNS type: CoreDNS
@ -102,7 +104,7 @@ func TestPrintConfiguration(t *testing.T) {
kubernetesVersion: v1.7.1 kubernetesVersion: v1.7.1
networking: {} networking: {}
scheduler: {} scheduler: {}
`), `, kubeadmapiv1.SchemeGroupVersion.String())),
}, },
{ {
name: "cluster config with ServiceSubnet and external Etcd", name: "cluster config with ServiceSubnet and external Etcd",
@ -122,7 +124,7 @@ func TestPrintConfiguration(t *testing.T) {
}, },
expectedBytes: []byte(`[upgrade/config] Configuration used: expectedBytes: []byte(`[upgrade/config] Configuration used:
apiServer: {} apiServer: {}
apiVersion: kubeadm.k8s.io/v1beta3 apiVersion: ` + kubeadmapiv1.SchemeGroupVersion.String() + `
controllerManager: {} controllerManager: {}
dns: dns:
type: CoreDNS type: CoreDNS

View File

@ -17,11 +17,13 @@ limitations under the License.
package upgrade package upgrade
import ( import (
"fmt"
"io/ioutil" "io/ioutil"
"os" "os"
"testing" "testing"
"github.com/pkg/errors" "github.com/pkg/errors"
kubeadmapiv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta3"
"k8s.io/kubernetes/cmd/kubeadm/app/constants" "k8s.io/kubernetes/cmd/kubeadm/app/constants"
) )
@ -43,9 +45,9 @@ func TestRunDiff(t *testing.T) {
currentVersion := "v" + constants.CurrentKubernetesVersion.String() currentVersion := "v" + constants.CurrentKubernetesVersion.String()
// create a temporary file with valid ClusterConfiguration // create a temporary file with valid ClusterConfiguration
testUpgradeDiffConfigContents := []byte("apiVersion: kubeadm.k8s.io/v1beta3\n" + testUpgradeDiffConfigContents := []byte(fmt.Sprintf("apiVersion: %s\n"+
"kind: ClusterConfiguration\n" + "kind: ClusterConfiguration\n"+
"kubernetesVersion: " + currentVersion) "kubernetesVersion: %s", kubeadmapiv1.SchemeGroupVersion.String(), currentVersion))
testUpgradeDiffConfig, err := createTestRunDiffFile(testUpgradeDiffConfigContents) testUpgradeDiffConfig, err := createTestRunDiffFile(testUpgradeDiffConfigContents)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)

View File

@ -203,10 +203,10 @@ var (
yaml string yaml string
obj kubeadmapiv1.ClusterConfiguration obj kubeadmapiv1.ClusterConfiguration
}{ }{
yaml: dedent.Dedent(` yaml: dedent.Dedent(fmt.Sprintf(`
apiServer: apiServer:
timeoutForControlPlane: 4m timeoutForControlPlane: 4m
apiVersion: kubeadm.k8s.io/v1beta3 apiVersion: %s
certificatesDir: /etc/kubernetes/pki certificatesDir: /etc/kubernetes/pki
clusterName: LeCluster clusterName: LeCluster
controllerManager: {} controllerManager: {}
@ -222,7 +222,7 @@ var (
dnsDomain: cluster.local dnsDomain: cluster.local
serviceSubnet: 10.96.0.0/12 serviceSubnet: 10.96.0.0/12
scheduler: {} scheduler: {}
`), `, kubeadmapiv1.SchemeGroupVersion.String())),
obj: kubeadmapiv1.ClusterConfiguration{ obj: kubeadmapiv1.ClusterConfiguration{
TypeMeta: metav1.TypeMeta{ TypeMeta: metav1.TypeMeta{
APIVersion: kubeadmapiv1.SchemeGroupVersion.String(), APIVersion: kubeadmapiv1.SchemeGroupVersion.String(),
@ -275,9 +275,9 @@ func TestConfigBaseMarshal(t *testing.T) {
} }
got := strings.TrimSpace(string(b)) got := strings.TrimSpace(string(b))
expected := strings.TrimSpace(dedent.Dedent(` expected := strings.TrimSpace(dedent.Dedent(fmt.Sprintf(`
apiServer: {} apiServer: {}
apiVersion: kubeadm.k8s.io/v1beta3 apiVersion: %s
clusterName: LeCluster clusterName: LeCluster
controllerManager: {} controllerManager: {}
dns: dns:
@ -287,7 +287,7 @@ func TestConfigBaseMarshal(t *testing.T) {
kubernetesVersion: 1.2.3 kubernetesVersion: 1.2.3
networking: {} networking: {}
scheduler: {} scheduler: {}
`)) `, kubeadmapiv1.SchemeGroupVersion.String())))
if expected != got { if expected != got {
t.Fatalf("Missmatch between expected and got:\nExpected:\n%s\n---\nGot:\n%s", expected, got) t.Fatalf("Missmatch between expected and got:\nExpected:\n%s\n---\nGot:\n%s", expected, got)
@ -326,10 +326,10 @@ func TestConfigBaseUnmarshal(t *testing.T) {
func TestGeneratedConfigFromCluster(t *testing.T) { func TestGeneratedConfigFromCluster(t *testing.T) {
fakeKnownContext(func() { fakeKnownContext(func() {
testYAML := dedent.Dedent(` testYAML := dedent.Dedent(fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta3 apiVersion: %s
kind: ClusterConfiguration kind: ClusterConfiguration
`) `, kubeadmapiv1.SchemeGroupVersion.String()))
testYAMLHash := fmt.Sprintf("sha256:%x", sha256.Sum256([]byte(testYAML))) testYAMLHash := fmt.Sprintf("sha256:%x", sha256.Sum256([]byte(testYAML)))
// The SHA256 sum of "The quick brown fox jumps over the lazy dog" // The SHA256 sum of "The quick brown fox jumps over the lazy dog"
const mismatchHash = "sha256:d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592" const mismatchHash = "sha256:d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592"
@ -405,10 +405,10 @@ func runClusterConfigFromTest(t *testing.T, perform func(t *testing.T, in string
}, },
{ {
name: "Unknown kind returns an error", name: "Unknown kind returns an error",
in: dedent.Dedent(` in: dedent.Dedent(fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta3 apiVersion: %s
kind: Configuration kind: Configuration
`), `, kubeadmapiv1.SchemeGroupVersion.String())),
expectErr: true, expectErr: true,
}, },
{ {

View File

@ -34,6 +34,7 @@ import (
"k8s.io/client-go/tools/clientcmd" "k8s.io/client-go/tools/clientcmd"
certutil "k8s.io/client-go/util/cert" certutil "k8s.io/client-go/util/cert"
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
kubeadmapiv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta3"
"k8s.io/kubernetes/cmd/kubeadm/app/constants" "k8s.io/kubernetes/cmd/kubeadm/app/constants"
certsphase "k8s.io/kubernetes/cmd/kubeadm/app/phases/certs" certsphase "k8s.io/kubernetes/cmd/kubeadm/app/phases/certs"
"k8s.io/kubernetes/cmd/kubeadm/app/phases/certs/renewal" "k8s.io/kubernetes/cmd/kubeadm/app/phases/certs/renewal"
@ -53,9 +54,10 @@ const (
waitForHashes = "wait-for-hashes" waitForHashes = "wait-for-hashes"
waitForHashChange = "wait-for-hash-change" waitForHashChange = "wait-for-hash-change"
waitForPodsWithLabel = "wait-for-pods-with-label" waitForPodsWithLabel = "wait-for-pods-with-label"
)
testConfiguration = ` var testConfiguration = fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta3 apiVersion: %s
kind: InitConfiguration kind: InitConfiguration
nodeRegistration: nodeRegistration:
name: foo name: foo
@ -67,26 +69,25 @@ bootstrapTokens:
- token: ce3aa5.5ec8455bb76b379f - token: ce3aa5.5ec8455bb76b379f
ttl: 24h ttl: 24h
--- ---
apiVersion: kubeadm.k8s.io/v1beta3 apiVersion: %[1]s
kind: ClusterConfiguration kind: ClusterConfiguration
apiServer: apiServer:
certSANs: null certSANs: null
extraArgs: null extraArgs: null
certificatesDir: %s certificatesDir: %%s
etcd: etcd:
local: local:
dataDir: %s dataDir: %%s
image: "" image: ""
imageRepository: k8s.gcr.io imageRepository: k8s.gcr.io
kubernetesVersion: %s kubernetesVersion: %%s
networking: networking:
dnsDomain: cluster.local dnsDomain: cluster.local
podSubnet: "" podSubnet: ""
serviceSubnet: 10.96.0.0/12 serviceSubnet: 10.96.0.0/12
useHyperKubeImage: false useHyperKubeImage: false
` `, kubeadmapiv1.SchemeGroupVersion.String())
)
// fakeWaiter is a fake apiclient.Waiter that returns errors it was initialized with // fakeWaiter is a fake apiclient.Waiter that returns errors it was initialized with
type fakeWaiter struct { type fakeWaiter struct {

View File

@ -18,6 +18,7 @@ package config
import ( import (
"context" "context"
"fmt"
"io/ioutil" "io/ioutil"
"os" "os"
"path/filepath" "path/filepath"
@ -37,6 +38,8 @@ import (
clientsetfake "k8s.io/client-go/kubernetes/fake" clientsetfake "k8s.io/client-go/kubernetes/fake"
clienttesting "k8s.io/client-go/testing" clienttesting "k8s.io/client-go/testing"
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
kubeadmapiv1old "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/componentconfigs" "k8s.io/kubernetes/cmd/kubeadm/app/componentconfigs"
kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants"
testresources "k8s.io/kubernetes/cmd/kubeadm/test/resources" testresources "k8s.io/kubernetes/cmd/kubeadm/test/resources"
@ -46,24 +49,24 @@ var k8sVersionString = kubeadmconstants.MinimumControlPlaneVersion.String()
var k8sVersion = version.MustParseGeneric(k8sVersionString) var k8sVersion = version.MustParseGeneric(k8sVersionString)
var nodeName = "mynode" var nodeName = "mynode"
var cfgFiles = map[string][]byte{ var cfgFiles = map[string][]byte{
"InitConfiguration_v1beta2": []byte(` "InitConfiguration_v1beta2": []byte(fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta2 apiVersion: %s
kind: InitConfiguration kind: InitConfiguration
`), `, kubeadmapiv1old.SchemeGroupVersion.String())),
"ClusterConfiguration_v1beta2": []byte(` "ClusterConfiguration_v1beta2": []byte(fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta2 apiVersion: %s
kind: ClusterConfiguration kind: ClusterConfiguration
kubernetesVersion: ` + k8sVersionString + ` kubernetesVersion: %s
`), `, kubeadmapiv1old.SchemeGroupVersion.String(), k8sVersionString)),
"InitConfiguration_v1beta3": []byte(` "InitConfiguration_v1beta3": []byte(fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta3 apiVersion: %s
kind: InitConfiguration kind: InitConfiguration
`), `, kubeadmapiv1.SchemeGroupVersion.String())),
"ClusterConfiguration_v1beta3": []byte(` "ClusterConfiguration_v1beta3": []byte(fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta3 apiVersion: %s
kind: ClusterConfiguration kind: ClusterConfiguration
kubernetesVersion: ` + k8sVersionString + ` kubernetesVersion: %s
`), `, kubeadmapiv1.SchemeGroupVersion.String(), k8sVersionString)),
"Kube-proxy_componentconfig": []byte(` "Kube-proxy_componentconfig": []byte(`
apiVersion: kubeproxy.config.k8s.io/v1alpha1 apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration kind: KubeProxyConfiguration

View File

@ -23,6 +23,7 @@ import (
"github.com/lithammer/dedent" "github.com/lithammer/dedent"
"k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/runtime/schema"
kubeadmapiv1old "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2"
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/constants" "k8s.io/kubernetes/cmd/kubeadm/app/constants"
kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util"
@ -209,17 +210,17 @@ func TestMigrateOldConfigFromFile(t *testing.T) {
}, },
{ {
desc: "bad config produces error", desc: "bad config produces error",
oldCfg: dedent.Dedent(` oldCfg: dedent.Dedent(fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta2 apiVersion: %s
`), `, kubeadmapiv1old.SchemeGroupVersion.String())),
expectErr: true, expectErr: true,
}, },
{ {
desc: "InitConfiguration only gets migrated", desc: "InitConfiguration only gets migrated",
oldCfg: dedent.Dedent(` oldCfg: dedent.Dedent(fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta2 apiVersion: %s
kind: InitConfiguration kind: InitConfiguration
`), `, kubeadmapiv1old.SchemeGroupVersion.String())),
expectedKinds: []string{ expectedKinds: []string{
constants.InitConfigurationKind, constants.InitConfigurationKind,
constants.ClusterConfigurationKind, constants.ClusterConfigurationKind,
@ -228,10 +229,10 @@ func TestMigrateOldConfigFromFile(t *testing.T) {
}, },
{ {
desc: "ClusterConfiguration only gets migrated", desc: "ClusterConfiguration only gets migrated",
oldCfg: dedent.Dedent(` oldCfg: dedent.Dedent(fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta2 apiVersion: %s
kind: ClusterConfiguration kind: ClusterConfiguration
`), `, kubeadmapiv1old.SchemeGroupVersion.String())),
expectedKinds: []string{ expectedKinds: []string{
constants.InitConfigurationKind, constants.InitConfigurationKind,
constants.ClusterConfigurationKind, constants.ClusterConfigurationKind,
@ -240,15 +241,15 @@ func TestMigrateOldConfigFromFile(t *testing.T) {
}, },
{ {
desc: "JoinConfiguration only gets migrated", desc: "JoinConfiguration only gets migrated",
oldCfg: dedent.Dedent(` oldCfg: dedent.Dedent(fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta2 apiVersion: %s
kind: JoinConfiguration kind: JoinConfiguration
discovery: discovery:
bootstrapToken: bootstrapToken:
token: abcdef.0123456789abcdef token: abcdef.0123456789abcdef
apiServerEndpoint: kube-apiserver:6443 apiServerEndpoint: kube-apiserver:6443
unsafeSkipCAVerification: true unsafeSkipCAVerification: true
`), `, kubeadmapiv1old.SchemeGroupVersion.String())),
expectedKinds: []string{ expectedKinds: []string{
constants.JoinConfigurationKind, constants.JoinConfigurationKind,
}, },
@ -256,13 +257,13 @@ func TestMigrateOldConfigFromFile(t *testing.T) {
}, },
{ {
desc: "Init + Cluster Configurations are migrated", desc: "Init + Cluster Configurations are migrated",
oldCfg: dedent.Dedent(` oldCfg: dedent.Dedent(fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta2 apiVersion: %s
kind: InitConfiguration kind: InitConfiguration
--- ---
apiVersion: kubeadm.k8s.io/v1beta2 apiVersion: %[1]s
kind: ClusterConfiguration kind: ClusterConfiguration
`), `, kubeadmapiv1old.SchemeGroupVersion.String())),
expectedKinds: []string{ expectedKinds: []string{
constants.InitConfigurationKind, constants.InitConfigurationKind,
constants.ClusterConfigurationKind, constants.ClusterConfigurationKind,
@ -271,18 +272,18 @@ func TestMigrateOldConfigFromFile(t *testing.T) {
}, },
{ {
desc: "Init + Join Configurations are migrated", desc: "Init + Join Configurations are migrated",
oldCfg: dedent.Dedent(` oldCfg: dedent.Dedent(fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta2 apiVersion: %s
kind: InitConfiguration kind: InitConfiguration
--- ---
apiVersion: kubeadm.k8s.io/v1beta2 apiVersion: %[1]s
kind: JoinConfiguration kind: JoinConfiguration
discovery: discovery:
bootstrapToken: bootstrapToken:
token: abcdef.0123456789abcdef token: abcdef.0123456789abcdef
apiServerEndpoint: kube-apiserver:6443 apiServerEndpoint: kube-apiserver:6443
unsafeSkipCAVerification: true unsafeSkipCAVerification: true
`), `, kubeadmapiv1old.SchemeGroupVersion.String())),
expectedKinds: []string{ expectedKinds: []string{
constants.InitConfigurationKind, constants.InitConfigurationKind,
constants.ClusterConfigurationKind, constants.ClusterConfigurationKind,
@ -292,18 +293,18 @@ func TestMigrateOldConfigFromFile(t *testing.T) {
}, },
{ {
desc: "Cluster + Join Configurations are migrated", desc: "Cluster + Join Configurations are migrated",
oldCfg: dedent.Dedent(` oldCfg: dedent.Dedent(fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta2 apiVersion: %s
kind: ClusterConfiguration kind: ClusterConfiguration
--- ---
apiVersion: kubeadm.k8s.io/v1beta2 apiVersion: %[1]s
kind: JoinConfiguration kind: JoinConfiguration
discovery: discovery:
bootstrapToken: bootstrapToken:
token: abcdef.0123456789abcdef token: abcdef.0123456789abcdef
apiServerEndpoint: kube-apiserver:6443 apiServerEndpoint: kube-apiserver:6443
unsafeSkipCAVerification: true unsafeSkipCAVerification: true
`), `, kubeadmapiv1old.SchemeGroupVersion.String())),
expectedKinds: []string{ expectedKinds: []string{
constants.InitConfigurationKind, constants.InitConfigurationKind,
constants.ClusterConfigurationKind, constants.ClusterConfigurationKind,
@ -313,21 +314,21 @@ func TestMigrateOldConfigFromFile(t *testing.T) {
}, },
{ {
desc: "Init + Cluster + Join Configurations are migrated", desc: "Init + Cluster + Join Configurations are migrated",
oldCfg: dedent.Dedent(` oldCfg: dedent.Dedent(fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta2 apiVersion: %s
kind: InitConfiguration kind: InitConfiguration
--- ---
apiVersion: kubeadm.k8s.io/v1beta2 apiVersion: %[1]s
kind: ClusterConfiguration kind: ClusterConfiguration
--- ---
apiVersion: kubeadm.k8s.io/v1beta2 apiVersion: %[1]s
kind: JoinConfiguration kind: JoinConfiguration
discovery: discovery:
bootstrapToken: bootstrapToken:
token: abcdef.0123456789abcdef token: abcdef.0123456789abcdef
apiServerEndpoint: kube-apiserver:6443 apiServerEndpoint: kube-apiserver:6443
unsafeSkipCAVerification: true unsafeSkipCAVerification: true
`), `, kubeadmapiv1old.SchemeGroupVersion.String())),
expectedKinds: []string{ expectedKinds: []string{
constants.InitConfigurationKind, constants.InitConfigurationKind,
constants.ClusterConfigurationKind, constants.ClusterConfigurationKind,
@ -337,14 +338,14 @@ func TestMigrateOldConfigFromFile(t *testing.T) {
}, },
{ {
desc: "component configs are not migrated", desc: "component configs are not migrated",
oldCfg: dedent.Dedent(` oldCfg: dedent.Dedent(fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta2 apiVersion: %s
kind: InitConfiguration kind: InitConfiguration
--- ---
apiVersion: kubeadm.k8s.io/v1beta2 apiVersion: %[1]s
kind: ClusterConfiguration kind: ClusterConfiguration
--- ---
apiVersion: kubeadm.k8s.io/v1beta2 apiVersion: %[1]s
kind: JoinConfiguration kind: JoinConfiguration
discovery: discovery:
bootstrapToken: bootstrapToken:
@ -357,7 +358,7 @@ func TestMigrateOldConfigFromFile(t *testing.T) {
--- ---
apiVersion: kubelet.config.k8s.io/v1beta1 apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration kind: KubeletConfiguration
`), `, kubeadmapiv1old.SchemeGroupVersion.String())),
expectedKinds: []string{ expectedKinds: []string{
constants.InitConfigurationKind, constants.InitConfigurationKind,
constants.ClusterConfigurationKind, constants.ClusterConfigurationKind,

View File

@ -118,7 +118,7 @@ func TestDefaultTaintsMarshaling(t *testing.T) {
desc: "Uninitialized nodeRegistration field produces a single taint (the master one)", desc: "Uninitialized nodeRegistration field produces a single taint (the master one)",
cfg: kubeadmapiv1.InitConfiguration{ cfg: kubeadmapiv1.InitConfiguration{
TypeMeta: metav1.TypeMeta{ TypeMeta: metav1.TypeMeta{
APIVersion: "kubeadm.k8s.io/v1beta3", APIVersion: kubeadmapiv1.SchemeGroupVersion.String(),
Kind: constants.InitConfigurationKind, Kind: constants.InitConfigurationKind,
}, },
}, },
@ -128,7 +128,7 @@ func TestDefaultTaintsMarshaling(t *testing.T) {
desc: "Uninitialized taints field produces a single taint (the master one)", desc: "Uninitialized taints field produces a single taint (the master one)",
cfg: kubeadmapiv1.InitConfiguration{ cfg: kubeadmapiv1.InitConfiguration{
TypeMeta: metav1.TypeMeta{ TypeMeta: metav1.TypeMeta{
APIVersion: "kubeadm.k8s.io/v1beta3", APIVersion: kubeadmapiv1.SchemeGroupVersion.String(),
Kind: constants.InitConfigurationKind, Kind: constants.InitConfigurationKind,
}, },
NodeRegistration: kubeadmapiv1.NodeRegistrationOptions{}, NodeRegistration: kubeadmapiv1.NodeRegistrationOptions{},
@ -139,7 +139,7 @@ func TestDefaultTaintsMarshaling(t *testing.T) {
desc: "Forsing taints to an empty slice produces no taints", desc: "Forsing taints to an empty slice produces no taints",
cfg: kubeadmapiv1.InitConfiguration{ cfg: kubeadmapiv1.InitConfiguration{
TypeMeta: metav1.TypeMeta{ TypeMeta: metav1.TypeMeta{
APIVersion: "kubeadm.k8s.io/v1beta3", APIVersion: kubeadmapiv1.SchemeGroupVersion.String(),
Kind: constants.InitConfigurationKind, Kind: constants.InitConfigurationKind,
}, },
NodeRegistration: kubeadmapiv1.NodeRegistrationOptions{ NodeRegistration: kubeadmapiv1.NodeRegistrationOptions{
@ -152,7 +152,7 @@ func TestDefaultTaintsMarshaling(t *testing.T) {
desc: "Custom taints are used", desc: "Custom taints are used",
cfg: kubeadmapiv1.InitConfiguration{ cfg: kubeadmapiv1.InitConfiguration{
TypeMeta: metav1.TypeMeta{ TypeMeta: metav1.TypeMeta{
APIVersion: "kubeadm.k8s.io/v1beta3", APIVersion: kubeadmapiv1.SchemeGroupVersion.String(),
Kind: constants.InitConfigurationKind, Kind: constants.InitConfigurationKind,
}, },
NodeRegistration: kubeadmapiv1.NodeRegistrationOptions{ NodeRegistration: kubeadmapiv1.NodeRegistrationOptions{

View File

@ -17,12 +17,14 @@ limitations under the License.
package config package config
import ( import (
"fmt"
"io/ioutil" "io/ioutil"
"os" "os"
"path/filepath" "path/filepath"
"testing" "testing"
"github.com/lithammer/dedent" "github.com/lithammer/dedent"
kubeadmapiv1old "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2"
) )
func TestLoadJoinConfigurationFromFile(t *testing.T) { func TestLoadJoinConfigurationFromFile(t *testing.T) {
@ -45,16 +47,16 @@ func TestLoadJoinConfigurationFromFile(t *testing.T) {
}, },
{ {
name: "Invalid v1beta2 causes error", name: "Invalid v1beta2 causes error",
fileContents: dedent.Dedent(` fileContents: dedent.Dedent(fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta2 apiVersion: %s
kind: JoinConfiguration kind: JoinConfiguration
`), `, kubeadmapiv1old.SchemeGroupVersion.String())),
expectErr: true, expectErr: true,
}, },
{ {
name: "valid v1beta2 is loaded", name: "valid v1beta2 is loaded",
fileContents: dedent.Dedent(` fileContents: dedent.Dedent(fmt.Sprintf(`
apiVersion: kubeadm.k8s.io/v1beta2 apiVersion: %s
kind: JoinConfiguration kind: JoinConfiguration
caCertPath: /etc/kubernetes/pki/ca.crt caCertPath: /etc/kubernetes/pki/ca.crt
discovery: discovery:
@ -64,7 +66,7 @@ func TestLoadJoinConfigurationFromFile(t *testing.T) {
unsafeSkipCAVerification: true unsafeSkipCAVerification: true
timeout: 5m0s timeout: 5m0s
tlsBootstrapToken: abcdef.0123456789abcdef tlsBootstrapToken: abcdef.0123456789abcdef
`), `, kubeadmapiv1old.SchemeGroupVersion.String())),
}, },
{ {
name: "Invalid v1beta3 causes error", name: "Invalid v1beta3 causes error",