Merge pull request #15611 from afbjorklund/numcpu-docker

Allow running docker driver with force on 1 CPU
pull/15666/head
Medya Ghazizadeh 2023-01-17 10:30:31 -08:00 committed by GitHub
commit 1b124462b1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 6 deletions

View File

@ -75,7 +75,7 @@ var nodeStartCmd = &cobra.Command{
if err != nil {
_, err := maybeDeleteAndRetry(cmd, *cc, *n, nil, err)
if err != nil {
node.ExitIfFatal(err)
node.ExitIfFatal(err, false)
exit.Error(reason.GuestNodeStart, "failed to start node", err)
}
}

View File

@ -218,9 +218,11 @@ func runStart(cmd *cobra.Command, args []string) {
}
}
useForce := viper.GetBool(force)
starter, err := provisionWithDriver(cmd, ds, existing)
if err != nil {
node.ExitIfFatal(err)
node.ExitIfFatal(err, useForce)
machine.MaybeDisplayAdvice(err, ds.Name)
if specified {
// If the user specified a driver, don't fallback to anything else
@ -280,7 +282,7 @@ func runStart(cmd *cobra.Command, args []string) {
kubeconfig, err := startWithDriver(cmd, starter, existing)
if err != nil {
node.ExitIfFatal(err)
node.ExitIfFatal(err, useForce)
exit.Error(reason.GuestStart, "failed to start node", err)
}

View File

@ -25,12 +25,13 @@ import (
"k8s.io/minikube/pkg/minikube/bootstrapper/kubeadm"
"k8s.io/minikube/pkg/minikube/cruntime"
"k8s.io/minikube/pkg/minikube/exit"
"k8s.io/minikube/pkg/minikube/out"
"k8s.io/minikube/pkg/minikube/reason"
"k8s.io/minikube/pkg/minikube/style"
)
// ExitIfFatal before exiting will try to check for different error types and provide advice if we know for sure what the error is
func ExitIfFatal(err error) {
func ExitIfFatal(err error, force bool) {
if err == nil {
return
}
@ -52,7 +53,10 @@ func ExitIfFatal(err error) {
if runtime.GOOS == "windows" {
exit.Message(reason.RsrcInsufficientWindowsDockerCores, "Docker Desktop has less than 2 CPUs configured, but Kubernetes requires at least 2 to be available")
}
exit.Message(reason.RsrcInsufficientCores, "Docker has less than 2 CPUs available, but Kubernetes requires at least 2 to be available")
if !force {
exit.Message(reason.RsrcInsufficientCores, "Docker has less than 2 CPUs available, but Kubernetes requires at least 2 to be available")
}
out.Error(reason.RsrcInsufficientCores, "Docker has less than 2 CPUs available, but Kubernetes requires at least 2 to be available")
}
if errors.Is(err, kubeadm.ErrNoExecLinux) {

View File

@ -252,7 +252,7 @@ func handleAPIServer(starter Starter, cr cruntime.Manager, hostIP net.IP) (*kube
bs := setupKubeAdm(starter.MachineAPI, *starter.Cfg, *starter.Node, starter.Runner)
err = bs.StartCluster(*starter.Cfg)
if err != nil {
ExitIfFatal(err)
ExitIfFatal(err, false)
out.LogEntries("Error starting cluster", err, logs.FindProblems(cr, bs, *starter.Cfg, starter.Runner))
return nil, bs, err
}