From a31e359b01bcd1cd19f4e8aaba7f71284d659743 Mon Sep 17 00:00:00 2001 From: Asare Worae Date: Thu, 23 Jul 2020 11:47:16 +0200 Subject: [PATCH] fixed unwanted spinning up of mount deamon when using KIC drivers, and added same host mounted volumes logic for the Podman driver --- cmd/minikube/cmd/start_flags.go | 4 ++-- pkg/minikube/config/types.go | 2 +- pkg/minikube/node/start.go | 4 +++- pkg/minikube/registry/drvs/docker/docker.go | 4 ++-- pkg/minikube/registry/drvs/podman/podman.go | 10 ++++++++++ 5 files changed, 18 insertions(+), 6 deletions(-) diff --git a/cmd/minikube/cmd/start_flags.go b/cmd/minikube/cmd/start_flags.go index 0d4b1c2a50..00b4baddf8 100644 --- a/cmd/minikube/cmd/start_flags.go +++ b/cmd/minikube/cmd/start_flags.go @@ -323,8 +323,8 @@ func generateClusterConfig(cmd *cobra.Command, existing *config.ClusterConfig, k }, } cc.VerifyComponents = interpretWaitFlag(*cmd) - if viper.GetBool(createMount) { - cc.VolumeMounts = []string{viper.GetString(mountString)} + if viper.GetBool(createMount) && driver.IsKIC(drvName) { + cc.ContainerVolumeMounts = []string{viper.GetString(mountString)} } cnm, err := cni.New(cc) if err != nil { diff --git a/pkg/minikube/config/types.go b/pkg/minikube/config/types.go index d7f238d78c..1b63652a18 100644 --- a/pkg/minikube/config/types.go +++ b/pkg/minikube/config/types.go @@ -43,7 +43,7 @@ type ClusterConfig struct { HyperkitVpnKitSock string // Only used by the Hyperkit driver HyperkitVSockPorts []string // Only used by the Hyperkit driver DockerEnv []string // Each entry is formatted as KEY=VALUE. - VolumeMounts []string + ContainerVolumeMounts []string // Only used by container drivers: Docker, Podman InsecureRegistry []string RegistryMirror []string HostOnlyCIDR string // Only used by the virtualbox driver diff --git a/pkg/minikube/node/start.go b/pkg/minikube/node/start.go index 65dfc78e36..fe431383ad 100644 --- a/pkg/minikube/node/start.go +++ b/pkg/minikube/node/start.go @@ -133,7 +133,9 @@ func Start(starter Starter, apiServer bool) (*kubeconfig.Settings, error) { } var wg sync.WaitGroup - go configureMounts(&wg) + if !driver.IsKIC(starter.Cfg.Driver) { + go configureMounts(&wg) + } wg.Add(1) go func() { diff --git a/pkg/minikube/registry/drvs/docker/docker.go b/pkg/minikube/registry/drvs/docker/docker.go index 5c19b52862..150f4172a8 100644 --- a/pkg/minikube/registry/drvs/docker/docker.go +++ b/pkg/minikube/registry/drvs/docker/docker.go @@ -58,8 +58,8 @@ func init() { } func configure(cc config.ClusterConfig, n config.Node) (interface{}, error) { - mounts := make([]oci.Mount, len(cc.VolumeMounts)) - for i, spec := range cc.VolumeMounts { + mounts := make([]oci.Mount, len(cc.ContainerVolumeMounts)) + for i, spec := range cc.ContainerVolumeMounts { var err error mounts[i], err = oci.ParseMountString(spec) if err != nil { diff --git a/pkg/minikube/registry/drvs/podman/podman.go b/pkg/minikube/registry/drvs/podman/podman.go index c5fa66da90..b4faa63d1f 100644 --- a/pkg/minikube/registry/drvs/podman/podman.go +++ b/pkg/minikube/registry/drvs/podman/podman.go @@ -59,10 +59,20 @@ func init() { } func configure(cc config.ClusterConfig, n config.Node) (interface{}, error) { + mounts := make([]oci.Mount, len(cc.ContainerVolumeMounts)) + for i, spec := range cc.ContainerVolumeMounts { + var err error + mounts[i], err = oci.ParseMountString(spec) + if err != nil { + return nil, err + } + } + return kic.NewDriver(kic.Config{ MachineName: driver.MachineName(cc, n), StorePath: localpath.MiniPath(), ImageDigest: strings.Split(cc.KicBaseImage, "@")[0], // for podman does not support docker images references with both a tag and digest. + Mounts: mounts, CPU: cc.CPUs, Memory: cc.Memory, OCIBinary: oci.Podman,