Skip to content

Commit 1b12446

Browse files
authored
Merge pull request #15611 from afbjorklund/numcpu-docker
Allow running docker driver with force on 1 CPU
2 parents e793aee + 83d4219 commit 1b12446

File tree

4 files changed

+12
-6
lines changed

4 files changed

+12
-6
lines changed

cmd/minikube/cmd/node_start.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ var nodeStartCmd = &cobra.Command{
7575
if err != nil {
7676
_, err := maybeDeleteAndRetry(cmd, *cc, *n, nil, err)
7777
if err != nil {
78-
node.ExitIfFatal(err)
78+
node.ExitIfFatal(err, false)
7979
exit.Error(reason.GuestNodeStart, "failed to start node", err)
8080
}
8181
}

cmd/minikube/cmd/start.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -218,9 +218,11 @@ func runStart(cmd *cobra.Command, args []string) {
218218
}
219219
}
220220

221+
useForce := viper.GetBool(force)
222+
221223
starter, err := provisionWithDriver(cmd, ds, existing)
222224
if err != nil {
223-
node.ExitIfFatal(err)
225+
node.ExitIfFatal(err, useForce)
224226
machine.MaybeDisplayAdvice(err, ds.Name)
225227
if specified {
226228
// If the user specified a driver, don't fallback to anything else
@@ -280,7 +282,7 @@ func runStart(cmd *cobra.Command, args []string) {
280282

281283
kubeconfig, err := startWithDriver(cmd, starter, existing)
282284
if err != nil {
283-
node.ExitIfFatal(err)
285+
node.ExitIfFatal(err, useForce)
284286
exit.Error(reason.GuestStart, "failed to start node", err)
285287
}
286288

pkg/minikube/node/advice.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,13 @@ import (
2525
"k8s.io/minikube/pkg/minikube/bootstrapper/kubeadm"
2626
"k8s.io/minikube/pkg/minikube/cruntime"
2727
"k8s.io/minikube/pkg/minikube/exit"
28+
"k8s.io/minikube/pkg/minikube/out"
2829
"k8s.io/minikube/pkg/minikube/reason"
2930
"k8s.io/minikube/pkg/minikube/style"
3031
)
3132

3233
// ExitIfFatal before exiting will try to check for different error types and provide advice if we know for sure what the error is
33-
func ExitIfFatal(err error) {
34+
func ExitIfFatal(err error, force bool) {
3435
if err == nil {
3536
return
3637
}
@@ -52,7 +53,10 @@ func ExitIfFatal(err error) {
5253
if runtime.GOOS == "windows" {
5354
exit.Message(reason.RsrcInsufficientWindowsDockerCores, "Docker Desktop has less than 2 CPUs configured, but Kubernetes requires at least 2 to be available")
5455
}
55-
exit.Message(reason.RsrcInsufficientCores, "Docker has less than 2 CPUs available, but Kubernetes requires at least 2 to be available")
56+
if !force {
57+
exit.Message(reason.RsrcInsufficientCores, "Docker has less than 2 CPUs available, but Kubernetes requires at least 2 to be available")
58+
}
59+
out.Error(reason.RsrcInsufficientCores, "Docker has less than 2 CPUs available, but Kubernetes requires at least 2 to be available")
5660
}
5761

5862
if errors.Is(err, kubeadm.ErrNoExecLinux) {

pkg/minikube/node/start.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ func handleAPIServer(starter Starter, cr cruntime.Manager, hostIP net.IP) (*kube
252252
bs := setupKubeAdm(starter.MachineAPI, *starter.Cfg, *starter.Node, starter.Runner)
253253
err = bs.StartCluster(*starter.Cfg)
254254
if err != nil {
255-
ExitIfFatal(err)
255+
ExitIfFatal(err, false)
256256
out.LogEntries("Error starting cluster", err, logs.FindProblems(cr, bs, *starter.Cfg, starter.Runner))
257257
return nil, bs, err
258258
}

0 commit comments

Comments
 (0)