Merge branch 'master' of github.com:kubernetes/minikube into kic-preload-images
commit
85ade71bab
|
|
@ -316,7 +316,7 @@ func runStart(cmd *cobra.Command, args []string) {
|
|||
updateDriver(driverName)
|
||||
}
|
||||
|
||||
k8sVersion, isUpgrade := getKubernetesVersion(existing)
|
||||
k8sVersion := getKubernetesVersion(existing)
|
||||
mc, n, err := generateCfgFromFlags(cmd, k8sVersion, driverName)
|
||||
if err != nil {
|
||||
exit.WithError("Failed to generate config", err)
|
||||
|
|
@ -365,7 +365,7 @@ func runStart(cmd *cobra.Command, args []string) {
|
|||
bs := setupKubeAdm(machineAPI, mc, n)
|
||||
|
||||
// pull images or restart cluster
|
||||
bootstrapCluster(bs, cr, mRunner, mc, preExists, isUpgrade)
|
||||
bootstrapCluster(bs, cr, mRunner, mc)
|
||||
configureMounts()
|
||||
|
||||
// enable addons, both old and new!
|
||||
|
|
@ -1187,9 +1187,8 @@ func tryRegistry(r command.Runner) {
|
|||
}
|
||||
|
||||
// getKubernetesVersion ensures that the requested version is reasonable
|
||||
func getKubernetesVersion(old *config.MachineConfig) (string, bool) {
|
||||
func getKubernetesVersion(old *config.MachineConfig) string {
|
||||
paramVersion := viper.GetString(kubernetesVersion)
|
||||
isUpgrade := false
|
||||
|
||||
if paramVersion == "" { // if the user did not specify any version then ...
|
||||
if old != nil { // .. use the old version from config (if any)
|
||||
|
|
@ -1207,7 +1206,7 @@ func getKubernetesVersion(old *config.MachineConfig) (string, bool) {
|
|||
nv := version.VersionPrefix + nvs.String()
|
||||
|
||||
if old == nil || old.KubernetesConfig.KubernetesVersion == "" {
|
||||
return nv, isUpgrade
|
||||
return nv
|
||||
}
|
||||
|
||||
oldestVersion, err := semver.Make(strings.TrimPrefix(constants.OldestKubernetesVersion, version.VersionPrefix))
|
||||
|
|
@ -1249,11 +1248,7 @@ func getKubernetesVersion(old *config.MachineConfig) (string, bool) {
|
|||
if defaultVersion.GT(nvs) {
|
||||
out.T(out.ThumbsUp, "Kubernetes {{.new}} is now available. If you would like to upgrade, specify: --kubernetes-version={{.new}}", out.V{"new": defaultVersion})
|
||||
}
|
||||
|
||||
if nvs.GT(ovs) {
|
||||
isUpgrade = true
|
||||
}
|
||||
return nv, isUpgrade
|
||||
return nv
|
||||
}
|
||||
|
||||
// setupKubeAdm adds any requested files into the VM before Kubernetes is started
|
||||
|
|
@ -1296,14 +1291,7 @@ func configureRuntimes(runner cruntime.CommandRunner, drvName string, k8s config
|
|||
}
|
||||
|
||||
// bootstrapCluster starts Kubernetes using the chosen bootstrapper
|
||||
func bootstrapCluster(bs bootstrapper.Bootstrapper, r cruntime.Manager, runner command.Runner, mc config.MachineConfig, preexisting bool, isUpgrade bool) {
|
||||
if isUpgrade || !preexisting {
|
||||
out.T(out.Pulling, "Pulling images ...")
|
||||
if err := bs.PullImages(mc.KubernetesConfig); err != nil {
|
||||
out.T(out.FailureType, "Unable to pull images, which may be OK: {{.error}}", out.V{"error": err})
|
||||
}
|
||||
}
|
||||
|
||||
func bootstrapCluster(bs bootstrapper.Bootstrapper, r cruntime.Manager, runner command.Runner, mc config.MachineConfig) {
|
||||
out.T(out.Launch, "Launching Kubernetes ... ")
|
||||
if err := bs.StartCluster(mc); err != nil {
|
||||
exit.WithLogEntries("Error starting cluster", err, logs.FindProblems(r, bs, runner))
|
||||
|
|
|
|||
|
|
@ -31,33 +31,28 @@ func TestGetKuberneterVersion(t *testing.T) {
|
|||
description string
|
||||
expectedVersion string
|
||||
paramVersion string
|
||||
upgrade bool
|
||||
cfg *cfg.MachineConfig
|
||||
}{
|
||||
{
|
||||
description: "kubernetes-version not given, no config",
|
||||
expectedVersion: constants.DefaultKubernetesVersion,
|
||||
paramVersion: "",
|
||||
upgrade: false,
|
||||
},
|
||||
{
|
||||
description: "kubernetes-version not given, config available",
|
||||
expectedVersion: "v1.15.0",
|
||||
paramVersion: "",
|
||||
upgrade: false,
|
||||
cfg: &cfg.MachineConfig{KubernetesConfig: cfg.KubernetesConfig{KubernetesVersion: "v1.15.0"}},
|
||||
},
|
||||
{
|
||||
description: "kubernetes-version given, no config",
|
||||
expectedVersion: "v1.15.0",
|
||||
paramVersion: "v1.15.0",
|
||||
upgrade: false,
|
||||
},
|
||||
{
|
||||
description: "kubernetes-version given, config available",
|
||||
expectedVersion: "v1.16.0",
|
||||
paramVersion: "v1.16.0",
|
||||
upgrade: true,
|
||||
cfg: &cfg.MachineConfig{KubernetesConfig: cfg.KubernetesConfig{KubernetesVersion: "v1.15.0"}},
|
||||
},
|
||||
}
|
||||
|
|
@ -65,17 +60,12 @@ func TestGetKuberneterVersion(t *testing.T) {
|
|||
for _, test := range tests {
|
||||
t.Run(test.description, func(t *testing.T) {
|
||||
viper.SetDefault(kubernetesVersion, test.paramVersion)
|
||||
version, upgrade := getKubernetesVersion(test.cfg)
|
||||
version := getKubernetesVersion(test.cfg)
|
||||
|
||||
// check whether we are getting the expected version
|
||||
if version != test.expectedVersion {
|
||||
t.Fatalf("test failed because the expected version %s is not returned", test.expectedVersion)
|
||||
}
|
||||
|
||||
// check whether the upgrade flag is correct
|
||||
if test.upgrade != upgrade {
|
||||
t.Fatalf("test failed expected upgrade is %t", test.upgrade)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,8 +35,6 @@ type LogOptions struct {
|
|||
|
||||
// Bootstrapper contains all the methods needed to bootstrap a kubernetes cluster
|
||||
type Bootstrapper interface {
|
||||
// PullImages pulls images necessary for a cluster. Success should not be required.
|
||||
PullImages(config.KubernetesConfig) error
|
||||
StartCluster(config.MachineConfig) error
|
||||
UpdateCluster(config.MachineConfig) error
|
||||
DeleteCluster(config.KubernetesConfig) error
|
||||
|
|
|
|||
|
|
@ -390,23 +390,6 @@ func (k *Bootstrapper) DeleteCluster(k8s config.KubernetesConfig) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// PullImages downloads images that will be used by Kubernetes
|
||||
func (k *Bootstrapper) PullImages(k8s config.KubernetesConfig) error {
|
||||
version, err := bsutil.ParseKubernetesVersion(k8s.KubernetesVersion)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "parsing kubernetes version")
|
||||
}
|
||||
if version.LT(semver.MustParse("1.11.0")) {
|
||||
return fmt.Errorf("pull command is not supported by kubeadm v%s", version)
|
||||
}
|
||||
|
||||
rr, err := k.c.RunCmd(exec.Command("/bin/bash", "-c", fmt.Sprintf("%s config images pull --config %s", bsutil.InvokeKubeadm(k8s.KubernetesVersion), bsutil.KubeadmYamlPath)))
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "running cmd: %q", rr.Command())
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// SetupCerts sets up certificates within the cluster.
|
||||
func (k *Bootstrapper) SetupCerts(k8s config.KubernetesConfig, n config.Node) error {
|
||||
return bootstrapper.SetupCerts(k.c, k8s, n)
|
||||
|
|
|
|||
Loading…
Reference in New Issue