From 8cc125a86eb30c995db63be8ed19b7f7891634bb Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Thu, 22 Jun 2023 10:01:53 -0700 Subject: [PATCH] gvisor addon: Add validation for amd64 cluster support --- pkg/addons/config.go | 2 +- pkg/addons/validations.go | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/pkg/addons/config.go b/pkg/addons/config.go index 5ad465de4d..351ca0c2c8 100644 --- a/pkg/addons/config.go +++ b/pkg/addons/config.go @@ -71,7 +71,7 @@ var Addons = []*Addon{ { name: "gvisor", set: SetBool, - validations: []setFn{IsRuntimeContainerd}, + validations: []setFn{SupportsAmd64, IsRuntimeContainerd}, callbacks: []setFn{EnableOrDisableAddon, verifyAddonStatus}, }, { diff --git a/pkg/addons/validations.go b/pkg/addons/validations.go index 9cefbe321f..ccef1c3c09 100644 --- a/pkg/addons/validations.go +++ b/pkg/addons/validations.go @@ -18,12 +18,14 @@ package addons import ( "fmt" + "runtime" "strconv" "github.com/spf13/viper" "k8s.io/minikube/pkg/minikube/assets" "k8s.io/minikube/pkg/minikube/config" "k8s.io/minikube/pkg/minikube/cruntime" + "k8s.io/minikube/pkg/minikube/driver" "k8s.io/minikube/pkg/minikube/out" ) @@ -93,3 +95,15 @@ func contains(slice []string, val string) bool { } return false } + +// SupportsAmd64 ensures that the cluster supports running amd64 images +func SupportsAmd64(cc *config.ClusterConfig, name, _ string) error { + // KIC can run amd64 images on a non-amd64 environment + if driver.IsKIC(cc.Driver) { + return nil + } + if runtime.GOARCH == "amd64" { + return nil + } + return fmt.Errorf("the %q addon requires a cluster that supports running amd64 images", name) +}