mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
Merge pull request #65229 from luxas/kubeadm_bump_default_version_v111
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. kubeadm: Use the release-1.11 branch by default **What this PR does / why we need it**: Carries https://github.com/kubernetes/kubernetes/pull/63919 **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*: Fixes https://github.com/kubernetes/kubeadm/issues/820 **Special notes for your reviewer**: **Release note**: ```release-note kubeadm: Use the release-1.11 branch by default ``` cc @kubernetes/sig-cluster-lifecycle-pr-reviews @kubernetes/kubernetes-release-managers /kind cleanup /priority critical-urgent /milestone v1.11 /status approved-for-milestone /assign @timothysc
This commit is contained in:
commit
56d9d73f38
@ -39,7 +39,7 @@ const (
|
|||||||
// DefaultClusterDNSIP defines default DNS IP
|
// DefaultClusterDNSIP defines default DNS IP
|
||||||
DefaultClusterDNSIP = "10.96.0.10"
|
DefaultClusterDNSIP = "10.96.0.10"
|
||||||
// DefaultKubernetesVersion defines default kubernetes version
|
// DefaultKubernetesVersion defines default kubernetes version
|
||||||
DefaultKubernetesVersion = "stable-1.10"
|
DefaultKubernetesVersion = "stable-1.11"
|
||||||
// DefaultAPIBindPort defines default API port
|
// DefaultAPIBindPort defines default API port
|
||||||
DefaultAPIBindPort = 6443
|
DefaultAPIBindPort = 6443
|
||||||
// DefaultAuthorizationModes defines default authorization modes
|
// DefaultAuthorizationModes defines default authorization modes
|
||||||
|
@ -38,7 +38,7 @@ const (
|
|||||||
// DefaultClusterDNSIP defines default DNS IP
|
// DefaultClusterDNSIP defines default DNS IP
|
||||||
DefaultClusterDNSIP = "10.96.0.10"
|
DefaultClusterDNSIP = "10.96.0.10"
|
||||||
// DefaultKubernetesVersion defines default kubernetes version
|
// DefaultKubernetesVersion defines default kubernetes version
|
||||||
DefaultKubernetesVersion = "stable-1.10"
|
DefaultKubernetesVersion = "stable-1.11"
|
||||||
// DefaultAPIBindPort defines default API port
|
// DefaultAPIBindPort defines default API port
|
||||||
DefaultAPIBindPort = 6443
|
DefaultAPIBindPort = 6443
|
||||||
// DefaultCertificatesDir defines default certificate directory
|
// DefaultCertificatesDir defines default certificate directory
|
||||||
|
@ -358,7 +358,7 @@ func NewCmdConfigImages(out io.Writer) *cobra.Command {
|
|||||||
Short: "Interact with container images used by kubeadm.",
|
Short: "Interact with container images used by kubeadm.",
|
||||||
RunE: cmdutil.SubCmdRunE("images"),
|
RunE: cmdutil.SubCmdRunE("images"),
|
||||||
}
|
}
|
||||||
cmd.AddCommand(NewCmdConfigImagesList(out))
|
cmd.AddCommand(NewCmdConfigImagesList(out, nil))
|
||||||
cmd.AddCommand(NewCmdConfigImagesPull())
|
cmd.AddCommand(NewCmdConfigImagesPull())
|
||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
@ -416,12 +416,18 @@ func (ip *ImagesPull) PullAll() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NewCmdConfigImagesList returns the "kubeadm config images list" command
|
// NewCmdConfigImagesList returns the "kubeadm config images list" command
|
||||||
func NewCmdConfigImagesList(out io.Writer) *cobra.Command {
|
func NewCmdConfigImagesList(out io.Writer, mockK8sVersion *string) *cobra.Command {
|
||||||
cfg := &kubeadmapiv1alpha2.MasterConfiguration{}
|
cfg := &kubeadmapiv1alpha2.MasterConfiguration{}
|
||||||
kubeadmscheme.Scheme.Default(cfg)
|
kubeadmscheme.Scheme.Default(cfg)
|
||||||
var cfgPath, featureGatesString string
|
var cfgPath, featureGatesString string
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
|
// This just sets the kubernetes version for unit testing so kubeadm won't try to
|
||||||
|
// lookup the latest release from the internet.
|
||||||
|
if mockK8sVersion != nil {
|
||||||
|
cfg.KubernetesVersion = *mockK8sVersion
|
||||||
|
}
|
||||||
|
|
||||||
cmd := &cobra.Command{
|
cmd := &cobra.Command{
|
||||||
Use: "list",
|
Use: "list",
|
||||||
Short: "Print a list of images kubeadm will use. The configuration file is used in case any images or image repositories are customized.",
|
Short: "Print a list of images kubeadm will use. The configuration file is used in case any images or image repositories are customized.",
|
||||||
|
@ -34,11 +34,15 @@ import (
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
defaultNumberOfImages = 8
|
defaultNumberOfImages = 8
|
||||||
|
// dummyKubernetesVersion is just used for unit testing, in order to not make
|
||||||
|
// kubeadm lookup dl.k8s.io to resolve what the latest stable release is
|
||||||
|
dummyKubernetesVersion = "v1.10.0"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestNewCmdConfigImagesList(t *testing.T) {
|
func TestNewCmdConfigImagesList(t *testing.T) {
|
||||||
var output bytes.Buffer
|
var output bytes.Buffer
|
||||||
images := cmd.NewCmdConfigImagesList(&output)
|
mockK8sVersion := dummyKubernetesVersion
|
||||||
|
images := cmd.NewCmdConfigImagesList(&output, &mockK8sVersion)
|
||||||
images.Run(nil, nil)
|
images.Run(nil, nil)
|
||||||
actual := strings.Split(output.String(), "\n")
|
actual := strings.Split(output.String(), "\n")
|
||||||
if len(actual) != defaultNumberOfImages {
|
if len(actual) != defaultNumberOfImages {
|
||||||
@ -54,11 +58,6 @@ func TestImagesListRunWithCustomConfigPath(t *testing.T) {
|
|||||||
expectedImageSubstrings []string
|
expectedImageSubstrings []string
|
||||||
configContents []byte
|
configContents []byte
|
||||||
}{
|
}{
|
||||||
{
|
|
||||||
name: "empty config contents",
|
|
||||||
expectedImageCount: defaultNumberOfImages,
|
|
||||||
configContents: []byte{},
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "set k8s version",
|
name: "set k8s version",
|
||||||
expectedImageCount: defaultNumberOfImages,
|
expectedImageCount: defaultNumberOfImages,
|
||||||
@ -68,7 +67,7 @@ func TestImagesListRunWithCustomConfigPath(t *testing.T) {
|
|||||||
configContents: []byte(dedent.Dedent(`
|
configContents: []byte(dedent.Dedent(`
|
||||||
apiVersion: kubeadm.k8s.io/v1alpha2
|
apiVersion: kubeadm.k8s.io/v1alpha2
|
||||||
kind: MasterConfiguration
|
kind: MasterConfiguration
|
||||||
kubernetesVersion: 1.10.1
|
kubernetesVersion: v1.10.1
|
||||||
`)),
|
`)),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -80,8 +79,9 @@ func TestImagesListRunWithCustomConfigPath(t *testing.T) {
|
|||||||
configContents: []byte(dedent.Dedent(`
|
configContents: []byte(dedent.Dedent(`
|
||||||
apiVersion: kubeadm.k8s.io/v1alpha2
|
apiVersion: kubeadm.k8s.io/v1alpha2
|
||||||
kind: MasterConfiguration
|
kind: MasterConfiguration
|
||||||
|
kubernetesVersion: v1.11.0
|
||||||
featureGates:
|
featureGates:
|
||||||
CoreDNS: True
|
CoreDNS: True
|
||||||
`)),
|
`)),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -100,7 +100,9 @@ func TestImagesListRunWithCustomConfigPath(t *testing.T) {
|
|||||||
t.Fatalf("Failed writing a config file: %v", err)
|
t.Fatalf("Failed writing a config file: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
i, err := cmd.NewImagesList(configFilePath, &kubeadmapiv1alpha2.MasterConfiguration{})
|
i, err := cmd.NewImagesList(configFilePath, &kubeadmapiv1alpha2.MasterConfiguration{
|
||||||
|
KubernetesVersion: dummyKubernetesVersion,
|
||||||
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed getting the kubeadm images command: %v", err)
|
t.Fatalf("Failed getting the kubeadm images command: %v", err)
|
||||||
}
|
}
|
||||||
@ -131,6 +133,9 @@ func TestConfigImagesListRunWithoutPath(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "empty config",
|
name: "empty config",
|
||||||
expectedImages: defaultNumberOfImages,
|
expectedImages: defaultNumberOfImages,
|
||||||
|
cfg: kubeadmapiv1alpha2.MasterConfiguration{
|
||||||
|
KubernetesVersion: dummyKubernetesVersion,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "external etcd configuration",
|
name: "external etcd configuration",
|
||||||
@ -140,6 +145,7 @@ func TestConfigImagesListRunWithoutPath(t *testing.T) {
|
|||||||
Endpoints: []string{"https://some.etcd.com:2379"},
|
Endpoints: []string{"https://some.etcd.com:2379"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
KubernetesVersion: dummyKubernetesVersion,
|
||||||
},
|
},
|
||||||
expectedImages: defaultNumberOfImages - 1,
|
expectedImages: defaultNumberOfImages - 1,
|
||||||
},
|
},
|
||||||
@ -149,6 +155,7 @@ func TestConfigImagesListRunWithoutPath(t *testing.T) {
|
|||||||
FeatureGates: map[string]bool{
|
FeatureGates: map[string]bool{
|
||||||
features.CoreDNS: true,
|
features.CoreDNS: true,
|
||||||
},
|
},
|
||||||
|
KubernetesVersion: dummyKubernetesVersion,
|
||||||
},
|
},
|
||||||
expectedImages: defaultNumberOfImages,
|
expectedImages: defaultNumberOfImages,
|
||||||
},
|
},
|
||||||
@ -202,6 +209,7 @@ func TestMigrate(t *testing.T) {
|
|||||||
cfg := []byte(dedent.Dedent(`
|
cfg := []byte(dedent.Dedent(`
|
||||||
apiVersion: kubeadm.k8s.io/v1alpha2
|
apiVersion: kubeadm.k8s.io/v1alpha2
|
||||||
kind: MasterConfiguration
|
kind: MasterConfiguration
|
||||||
|
kubernetesVersion: v1.10.0
|
||||||
`))
|
`))
|
||||||
configFile, cleanup := tempConfig(t, cfg)
|
configFile, cleanup := tempConfig(t, cfg)
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
@ -61,6 +61,7 @@ func SetupMasterConfigurationFile(t *testing.T, tmpdir string, cfg *kubeadmapi.M
|
|||||||
bindPort: {{.API.BindPort}}
|
bindPort: {{.API.BindPort}}
|
||||||
nodeRegistration:
|
nodeRegistration:
|
||||||
name: {{.NodeRegistration.Name}}
|
name: {{.NodeRegistration.Name}}
|
||||||
|
kubernetesVersion: v1.10.0
|
||||||
`)))
|
`)))
|
||||||
|
|
||||||
f, err := os.Create(cfgPath)
|
f, err := os.Create(cfgPath)
|
||||||
|
Loading…
Reference in New Issue
Block a user