Skip to content

Commit 2a49119

Browse files
authored
Deprecate HyperKit driver with warning (#21024)
* deprecate hyperkit driver with user-facing warning * apply review suggestions from PR #21024 * apply review suggestions from PR #21024 * apply review suggestions from PR #21024-updating registery priority
1 parent dce1849 commit 2a49119

File tree

3 files changed

+24
-9
lines changed

3 files changed

+24
-9
lines changed

cmd/minikube/cmd/start.go

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,7 @@ func provisionWithDriver(cmd *cobra.Command, ds registry.DriverState, existing *
309309
}
310310

311311
virtualBoxMacOS13PlusWarning(driverName)
312+
hyperkitDeprecationWarning(driverName)
312313
validateFlags(cmd, driverName)
313314
validateUser(driverName)
314315
if driverName == oci.Docker {
@@ -405,16 +406,25 @@ func virtualBoxMacOS13PlusWarning(driverName string) {
405406
if !driver.IsVirtualBox(driverName) || !detect.MacOS13Plus() {
406407
return
407408
}
408-
suggestedDriver := driver.HyperKit
409-
if runtime.GOARCH == "arm64" {
410-
suggestedDriver = driver.QEMU
411-
}
412-
out.WarningT(`Due to changes in macOS 13+ minikube doesn't currently support VirtualBox. You can use alternative drivers such as docker or {{.driver}}.
409+
out.WarningT(`Due to changes in macOS 13+ minikube doesn't currently support VirtualBox. You can use alternative drivers such as 'vfkit', 'qemu', or 'docker'.
410+
https://minikube.sigs.k8s.io/docs/drivers/vfkit/
411+
https://minikube.sigs.k8s.io/docs/drivers/qemu/
413412
https://minikube.sigs.k8s.io/docs/drivers/docker/
414-
https://minikube.sigs.k8s.io/docs/drivers/{{.driver}}/
415-
416413
For more details on the issue see: https://github.com/kubernetes/minikube/issues/15274
417-
`, out.V{"driver": suggestedDriver})
414+
`)
415+
}
416+
417+
// hyperkitDeprecationWarning prints a deprecation warning for the hyperkit driver
418+
func hyperkitDeprecationWarning(driverName string) {
419+
if !driver.IsHyperKit(driverName) {
420+
return
421+
}
422+
out.WarningT(`The 'hyperkit' driver is deprecated and will be removed in a future release.
423+
You can use alternative drivers such as 'vfkit', 'qemu', or 'docker'.
424+
https://minikube.sigs.k8s.io/docs/drivers/vfkit/
425+
https://minikube.sigs.k8s.io/docs/drivers/qemu/
426+
https://minikube.sigs.k8s.io/docs/drivers/docker/
427+
`)
418428
}
419429

420430
func validateBuiltImageVersion(r command.Runner, driverName string) {

pkg/minikube/driver/driver.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,11 @@ func IsHyperV(name string) bool {
211211
return name == HyperV
212212
}
213213

214+
// IsHyperKit check if the driver is HyperKit
215+
func IsHyperKit(name string) bool {
216+
return name == HyperKit
217+
}
218+
214219
// SupportsNetworkFlag reutuns if driver supports the --network flag
215220
func SupportsNetworkFlag(name string) bool {
216221
return IsKIC(name) || IsKVM(name) || IsQEMU(name) || IsVFKit(name)

pkg/minikube/registry/drvs/hyperkit/hyperkit.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ func init() {
5353
Config: configure,
5454
Status: status,
5555
Default: true,
56-
Priority: registry.Preferred,
56+
Priority: registry.Deprecated,
5757
}); err != nil {
5858
panic(fmt.Sprintf("register: %v", err))
5959
}

0 commit comments

Comments
 (0)