Skip to content

Commit

Permalink
Merge pull request #6514 from priyawadhwa/rm-pull-images-kubeadm
Browse files Browse the repository at this point in the history
Remove kubeadm pull images
  • Loading branch information
tstromberg authored Feb 7, 2020
2 parents a59846e + 6ef60c1 commit 9b7573e
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 48 deletions.
24 changes: 6 additions & 18 deletions cmd/minikube/cmd/start.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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!
Expand Down Expand Up @@ -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)
Expand All @@ -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))
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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))
Expand Down
12 changes: 1 addition & 11 deletions cmd/minikube/cmd/start_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,51 +31,41 @@ 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"}},
},
}

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)
}
})
}
}
Expand Down
2 changes: 0 additions & 2 deletions pkg/minikube/bootstrapper/bootstrapper.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
17 changes: 0 additions & 17 deletions pkg/minikube/bootstrapper/kubeadm/kubeadm.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit 9b7573e

Please sign in to comment.