Repository: kubernetes/minikube
Pull request #20083 (2024-12-11 10:00:52)

Kicbase/ISO: Update crun from 1.18.2 to 1.19
The crun project released a [new version](https://github.com/containers/crun/releases)

This PR was auto-generated by `make update-crun-version` using [update-crun-version.yml](https://github.com/kubernetes/minikube/tree/master/.github/workflows/update-crun-version.yml) CI Workflow.

minikube-bot: ok-to-build-image
minikube-bot: ok-to-build-iso
k8s-ci-robot: [APPROVALNOTIFIER] This PR is **NOT APPROVED**

This pull-request has been approved by: *<a href="https://github.com/kubernetes/minikube/pull/20083#" title="Author self-approved">minikube-bot</a>*
**Once this PR has been reviewed and has the lgtm label**, please assign [medyagh](https://github.com/medyagh) for approval. For more information see [the Kubernetes Code Review Process](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process).

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=kubernetes%2Fminikube).

<details open>
Needs approval from an approver in each of these files:

- **[OWNERS](https://github.com/kubernetes/minikube/blob/master/OWNERS)**

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":["medyagh"]} -->
k8s-ci-robot: Hi @minikube-bot. Thanks for your PR.

I'm waiting for a [kubernetes](https://github.com/orgs/kubernetes/people) member to verify that this patch is reasonable to test. If it is, they should reply with `/ok-to-test` on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should [join the org](https://git.k8s.io/community/community-membership.md#member) to skip this step.

Once the patch is verified, the new status will be reflected by the `ok-to-test` label.

I understand the commands that are listed [here](https://go.k8s.io/bot-commands?repo=kubernetes%2Fminikube).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository.
</details>

minikube-bot: Hi @minikube-bot, we have updated your PR with the reference to newly built kicbase image. Pull the changes locally if you want to test with them or update your PR further.

Patch:
diff --git a/Makefile b/Makefile
index 05e073a51..e2c19ac61 100644
--- a/Makefile
+++ b/Makefile
@@ -24,7 +24,7 @@ KIC_VERSION ?= $(shell grep -E "Version =" pkg/drivers/kic/types.go | cut -d \"
 HUGO_VERSION ?= $(shell grep -E "HUGO_VERSION = \"" netlify.toml | cut -d \" -f2)
 
 # Default to .0 for higher cache hit rates, as build increments typically don't require new ISO versions
-ISO_VERSION ?= v1.34.0-1730913550-19917
+ISO_VERSION ?= v1.34.0-1733936888-20083
 
 # Dashes are valid in semver, but not Linux packaging. Use ~ to delimit alpha/beta
 DEB_VERSION ?= $(subst -,~,$(RAW_VERSION))
diff --git a/cmd/minikube/cmd/config/configure.go b/cmd/minikube/cmd/config/configure.go
index 2ae84602e..435dabdb9 100644
--- a/cmd/minikube/cmd/config/configure.go
+++ b/cmd/minikube/cmd/config/configure.go
@@ -25,13 +25,17 @@ import (
 	"github.com/spf13/cobra"
 	"k8s.io/minikube/pkg/addons"
 	"k8s.io/minikube/pkg/minikube/assets"
+	"k8s.io/minikube/pkg/minikube/cluster"
 	"k8s.io/minikube/pkg/minikube/config"
+	"k8s.io/minikube/pkg/minikube/cruntime"
 	"k8s.io/minikube/pkg/minikube/exit"
+	"k8s.io/minikube/pkg/minikube/machine"
 	"k8s.io/minikube/pkg/minikube/mustload"
 	"k8s.io/minikube/pkg/minikube/out"
 	"k8s.io/minikube/pkg/minikube/reason"
 	"k8s.io/minikube/pkg/minikube/service"
 	"k8s.io/minikube/pkg/minikube/style"
+	"k8s.io/minikube/pkg/minikube/sysinit"
 )
 
 var posResponses = []string{"yes", "y"}
@@ -255,7 +259,7 @@ var addonsConfigureCmd = &cobra.Command{
 				}
 			}
 		case "auto-pause":
-			_, cfg := mustload.Partial(profile)
+			lapi, cfg := mustload.Partial(profile)
 			intervalInput := AskForStaticValue("-- Enter interval time of auto-pause-interval (ex. 1m0s): ")
 			intervalTime, err := time.ParseDuration(intervalInput)
 			if err != nil {
@@ -270,9 +274,25 @@ var addonsConfigureCmd = &cobra.Command{
 			}
 			addon := assets.Addons["auto-pause"]
 			if addon.IsEnabled(cfg) {
-				// Re-enable auto-pause addon in order to update interval time
-				if err := addons.EnableOrDisableAddon(cfg, "auto-pause", "true"); err != nil {
-					out.ErrT(style.Fatal, "Failed to configure auto-pause {{.profile}}", out.V{"profile": profile})
+
+				// see #17945: restart auto-pause service
+				p, err := config.LoadProfile(profile)
+				if err != nil {
+					out.ErrT(style.Fatal, "failed to load profile: {{.error}}", out.V{"error": err})
+				}
+				if profileStatus(p, lapi).StatusCode/100 == 2 { // 2xx code
+					co := mustload.Running(profile)
+					// first unpause all nodes cluster immediately
+					unpauseWholeCluster(co)
+					// Re-enable auto-pause addon in order to update interval time
+					if err := addons.EnableOrDisableAddon(cfg, "auto-pause", "true"); err != nil {
+						out.ErrT(style.Fatal, "Failed to configure auto-pause {{.profile}}", out.V{"profile": profile})
+					}
+					// restart auto-pause service
+					if err := sysinit.New(co.CP.Runner).Restart("auto-pause"); err != nil {
+						out.ErrT(style.Fatal, "failed to restart auto-pause: {{.error}}", out.V{"error": err})
+					}
+
 				}
 			}
 		default:
@@ -284,6 +304,40 @@ var addonsConfigureCmd = &cobra.Command{
 	},
 }
 
+func unpauseWholeCluster(co mustload.ClusterController) {
+	for _, n := range co.Config.Nodes {
+
+		// Use node-name if available, falling back to cluster name
+		name := n.Name
+		if n.Name == "" {
+			name = co.Config.Name
+		}
+
+		out.Step(style.Pause, "Unpausing node {{.name}} ... ", out.V{"name": name})
+
+		machineName := config.MachineName(*co.Config, n)
+		host, err := machine.LoadHost(co.API, machineName)
+		if err != nil {
+			exit.Error(reason.GuestLoadHost, "Error getting host", err)
+		}
+
+		r, err := machine.CommandRunner(host)
+		if err != nil {
+			exit.Error(reason.InternalCommandRunner, "Failed to get command runner", err)
+		}
+
+		cr, err := cruntime.New(cruntime.Config{Type: co.Config.KubernetesConfig.ContainerRuntime, Runner: r})
+		if err != nil {
+			exit.Error(reason.InternalNewRuntime, "Failed runtime", err)
+		}
+
+		_, err = cluster.Unpause(cr, r, nil) // nil means all namespaces
+		if err != nil {
+			exit.Error(reason.GuestUnpause, "Pause", err)
+		}
+	}
+}
+
 func init() {
 	AddonsCmd.AddCommand(addonsConfigureCmd)
 }
diff --git a/cmd/minikube/cmd/config/profile_list.go b/cmd/minikube/cmd/config/profile_list.go
index fd34543f4..081b02699 100644
--- a/cmd/minikube/cmd/config/profile_list.go
+++ b/cmd/minikube/cmd/config/profile_list.go
@@ -104,11 +104,11 @@ func updateProfilesStatus(profiles []*config.Profile) {
 	defer api.Close()
 
 	for _, p := range profiles {
-		p.Status = profileStatus(p, api)
+		p.Status = profileStatus(p, api).StatusName
 	}
 }
 
-func profileStatus(p *config.Profile, api libmachine.API) string {
+func profileStatus(p *config.Profile, api libmachine.API) cluster.State {
 	cps := config.ControlPlanes(*p.Config)
 	if len(cps) == 0 {
 		exit.Message(reason.GuestCpConfig, "No control-plane nodes found.")
@@ -116,11 +116,16 @@ func profileStatus(p *config.Profile, api libmachine.API) string {
 	statuses, err := cluster.GetStatus(api, p.Config)
 	if err != nil {
 		klog.Errorf("error getting statuses: %v", err)
-		return "Unknown"
+		return cluster.State{
+			BaseState: cluster.BaseState{
+				Name:       "Unknown",
+				StatusCode: 520,
+			},
+		}
 	}
 	clusterStatus := cluster.GetState(statuses, ClusterFlagValue(), p.Config)
 
-	return clusterStatus.StatusName
+	return clusterStatus
 }
 
 func renderProfilesTable(ps [][]string) {
diff --git a/hack/kicbase_version/os-package-list.txt b/hack/kicbase_version/os-package-list.txt
index 9426954f1..9764da2b4 100644
--- a/hack/kicbase_version/os-package-list.txt
+++ b/hack/kicbase_version/os-package-list.txt
@@ -31,9 +31,9 @@ ii  debianutils                     5.5-1ubuntu2                            amd6
 ii  diffutils                       1:3.8-0ubuntu2                          amd64        File comparison utilities
 ii  dirmngr                         2.2.27-3ubuntu2.1                       amd64        GNU privacy guard - network certificate management service
 ii  dnsutils                        1:9.18.28-0ubuntu0.22.04.1              all          Transitional package for bind9-dnsutils
-ii  docker-buildx-plugin            0.17.1-1~ubuntu.22.04~jammy             amd64        Docker Buildx cli plugin.
-ii  docker-ce                       5:27.3.1-1~ubuntu.22.04~jammy           amd64        Docker: the open-source application container engine
-ii  docker-ce-cli                   5:27.3.1-1~ubuntu.22.04~jammy           amd64        Docker CLI: the open-source application container engine
+ii  docker-buildx-plugin            0.19.2-1~ubuntu.22.04~jammy             amd64        Docker Buildx cli plugin.
+ii  docker-ce                       5:27.4.0-1~ubuntu.22.04~jammy           amd64        Docker: the open-source application container engine
+ii  docker-ce-cli                   5:27.4.0-1~ubuntu.22.04~jammy           amd64        Docker CLI: the open-source application container engine
 ii  dpkg                            1.21.1ubuntu2.3                         amd64        Debian package management system
 ii  e2fsprogs                       1.46.5-2ubuntu1.2                       amd64        ext2/ext3/ext4 file system utilities
 ii  ebtables                        2.0.11-4build2                          amd64        Ethernet bridge frame table administration
@@ -90,7 +90,7 @@ ii  libdevmapper1.02.1:amd64        2:1.02.175-2.1ubuntu4                   amd6
 ii  libedit2:amd64                  3.1-20210910-1build1                    amd64        BSD editline and history libraries
 ii  libelf1:amd64                   0.186-1build1                           amd64        library to read and write ELF files
 ii  libevent-core-2.1-7:amd64       2.1.12-stable-1build3                   amd64        Asynchronous event notification library (core)
-ii  libexpat1:amd64                 2.4.7-1ubuntu0.4                        amd64        XML parsing C library - runtime library
+ii  libexpat1:amd64                 2.4.7-1ubuntu0.5                        amd64        XML parsing C library - runtime library
 ii  libext2fs2:amd64                1.46.5-2ubuntu1.2                       amd64        ext2/ext3/ext4 file system libraries
 ii  libffi8:amd64                   3.4.2-4                                 amd64        Foreign Function Interface library runtime
 ii  libfido2-1:amd64                1.10.0-1                                amd64        library for generating and verifying FIDO 2.0 objects
diff --git a/pkg/drivers/kic/types.go b/pkg/drivers/kic/types.go
index 48d71f298..9e02cc42b 100644
--- a/pkg/drivers/kic/types.go
+++ b/pkg/drivers/kic/types.go
@@ -24,10 +24,10 @@ import (
 
 const (
 	// Version is the current version of kic
-	Version = "v0.0.45-1733735246-20065"
+	Version = "v0.0.45-1733912881-20083"
 
 	// SHA of the kic base image
-	baseImageSHA = "e2b2594040af1f94a2d350dd3f565070ba8462b217eda2b8fa6ce1f4dfdfb872"
+	baseImageSHA = "64d8b27f78fd269d886e21ba8fc88be20de183ba5cc5bce33d0810e8a65f1df2"
 	// The name of the GCR kicbase repository
 	gcrRepo = "gcr.io/k8s-minikube/kicbase-builds"
 	// The name of the Dockerhub kicbase repository
diff --git a/pkg/minikube/download/iso.go b/pkg/minikube/download/iso.go
index 2a248a0f1..84d418692 100644
--- a/pkg/minikube/download/iso.go
+++ b/pkg/minikube/download/iso.go
@@ -41,7 +41,7 @@ const fileScheme = "file"
 // DefaultISOURLs returns a list of ISO URL's to consult by default, in priority order
 func DefaultISOURLs() []string {
 	v := version.GetISOVersion()
-	isoBucket := "minikube-builds/iso/19917"
+	isoBucket := "minikube-builds/iso/20083"
 
 	return []string{
 		fmt.Sprintf("https://storage.googleapis.com/%s/minikube-%s-%s.iso", isoBucket, v, runtime.GOARCH),
diff --git a/pkg/minikube/localpath/localpath.go b/pkg/minikube/localpath/localpath.go
index 08609c0f5..ef77e07dc 100644
--- a/pkg/minikube/localpath/localpath.go
+++ b/pkg/minikube/localpath/localpath.go
@@ -47,12 +47,7 @@ func MiniPath() string {
 	if filepath.Base(minikubeHomeEnv) == ".minikube" {
 		return minikubeHomeEnv
 	}
-
-	legacyMinikubeHome := filepath.Join(minikubeHomeEnv, ".minikube")
-	if _, err := os.Stat(legacyMinikubeHome); !os.IsNotExist(err) {
-		return legacyMinikubeHome
-	}
-	return filepath.Clean(minikubeHomeEnv)
+	return filepath.Join(minikubeHomeEnv, ".minikube")
 }
 
 // MakeMiniPath is a utility to calculate a relative path to our directory.
diff --git a/site/content/en/docs/commands/start.md b/site/content/en/docs/commands/start.md
index ec0a0ab4b..e37065a8d 100644
--- a/site/content/en/docs/commands/start.md
+++ b/site/content/en/docs/commands/start.md
@@ -27,7 +27,7 @@ minikube start [flags]
       --apiserver-port int                The apiserver listening port (default 8443)
       --auto-pause-interval duration      Duration of inactivity before the minikube VM is paused (default 1m0s) (default 1m0s)
       --auto-update-drivers               If set, automatically updates drivers to the latest version. Defaults to true. (default true)
-      --base-image string                 The base image to use for docker/podman drivers. Intended for local development. (default "gcr.io/k8s-minikube/kicbase-builds:v0.0.45-1733735246-20065@sha256:e2b2594040af1f94a2d350dd3f565070ba8462b217eda2b8fa6ce1f4dfdfb872")
+      --base-image string                 The base image to use for docker/podman drivers. Intended for local development. (default "gcr.io/k8s-minikube/kicbase-builds:v0.0.45-1733912881-20083@sha256:64d8b27f78fd269d886e21ba8fc88be20de183ba5cc5bce33d0810e8a65f1df2")
       --binary-mirror string              Location to fetch kubectl, kubelet, & kubeadm binaries from.
       --cache-images                      If true, cache docker images for the current bootstrapper and load them into the machine. Always false with --driver=none. (default true)
       --cert-expiration duration          Duration until minikube certificate expiration, defaults to three years (26280h). (default 26280h0m0s)
diff --git a/translations/de.json b/translations/de.json
index 60117f1a5..cfa76e5db 100644
--- a/translations/de.json
+++ b/translations/de.json
@@ -1047,7 +1047,9 @@
 	"experimental": "experimentell",
 	"failed to acquire lock due to unexpected error": "Probleme beim Sperren, aufgrund von unerwarteten Fehlern",
 	"failed to add node": "Hinzufügen des Nodes fehlgeschlagen",
+	"failed to load profile: {{.error}}": "",
 	"failed to open browser: {{.error}}": "Öffnen des Browsers fehlgeschlagen: {{.error}}",
+	"failed to restart auto-pause: {{.error}}": "",
 	"failed to save config": "Speichern der Konfiguration fehlgeschlagen",
 	"failed to set cloud shell kubelet config options": "Setzen der Cloud Shell Kublet Konfigurations Opetionen fehlgeschlagen",
 	"failed to set extra option": "Fehler beim Setzen von Extra Option",
diff --git a/translations/es.json b/translations/es.json
index b6c547c64..554a651f0 100644
--- a/translations/es.json
+++ b/translations/es.json
@@ -1005,7 +1005,9 @@
 	"experimental": "",
 	"failed to acquire lock due to unexpected error": "",
 	"failed to add node": "",
+	"failed to load profile: {{.error}}": "",
 	"failed to open browser: {{.error}}": "",
+	"failed to restart auto-pause: {{.error}}": "",
 	"failed to save config": "",
 	"failed to set extra option": "",
 	"failed to start node": "",
diff --git a/translations/fr.json b/translations/fr.json
index a9f2a2a77..86260bc01 100644
--- a/translations/fr.json
+++ b/translations/fr.json
@@ -1031,7 +1031,9 @@
 	"experimental": "expérimental",
 	"failed to acquire lock due to unexpected error": "échec de l'acquisition du verrou en raison d'une erreur inattendue",
 	"failed to add node": "échec de l'ajout du nœud",
+	"failed to load profile: {{.error}}": "",
 	"failed to open browser: {{.error}}": "échec de l'ouverture du navigateur : {{.error}}",
+	"failed to restart auto-pause: {{.error}}": "",
 	"failed to save config": "échec de l'enregistrement de la configuration",
 	"failed to set cloud shell kubelet config options": "échec de la définition des options de configuration cloud shell kubelet",
 	"failed to set extra option": "impossible de définir une option supplémentaire",
diff --git a/translations/ja.json b/translations/ja.json
index 21b86187a..ecdc1353c 100644
--- a/translations/ja.json
+++ b/translations/ja.json
@@ -982,7 +982,9 @@
 	"experimental": "実験的",
 	"failed to acquire lock due to unexpected error": "予期せぬエラーによりロックの取得に失敗しました",
 	"failed to add node": "ノード追加に失敗しました",
+	"failed to load profile: {{.error}}": "",
 	"failed to open browser: {{.error}}": "ブラウザー起動に失敗しました: {{.error}}",
+	"failed to restart auto-pause: {{.error}}": "",
 	"failed to save config": "設定保存に失敗しました",
 	"failed to set extra option": "追加オプションの設定に失敗しました",
 	"failed to start node": "ノード開始に失敗しました",
diff --git a/translations/ko.json b/translations/ko.json
index 9a7e574c0..fa4a1f958 100644
--- a/translations/ko.json
+++ b/translations/ko.json
@@ -1015,7 +1015,9 @@
 	"experimental": "",
 	"failed to acquire lock due to unexpected error": "",
 	"failed to add node": "",
+	"failed to load profile: {{.error}}": "",
 	"failed to open browser: {{.error}}": "",
+	"failed to restart auto-pause: {{.error}}": "",
 	"failed to save config": "",
 	"failed to set extra option": "",
 	"failed to start node": "",
diff --git a/translations/pl.json b/translations/pl.json
index 833006aa3..f01136fc4 100644
--- a/translations/pl.json
+++ b/translations/pl.json
@@ -1015,7 +1015,9 @@
 	"experimental": "",
 	"failed to acquire lock due to unexpected error": "",
 	"failed to add node": "",
+	"failed to load profile: {{.error}}": "",
 	"failed to open browser: {{.error}}": "Nie udało się otworzyć przeglądarki: {{.error}}",
+	"failed to restart auto-pause: {{.error}}": "",
 	"failed to save config": "",
 	"failed to set extra option": "",
 	"failed to start node": "",
diff --git a/translations/ru.json b/translations/ru.json
index ffcf368fc..77543c24c 100644
--- a/translations/ru.json
+++ b/translations/ru.json
@@ -934,7 +934,9 @@
 	"experimental": "",
 	"failed to acquire lock due to unexpected error": "",
 	"failed to add node": "",
+	"failed to load profile: {{.error}}": "",
 	"failed to open browser: {{.error}}": "",
+	"failed to restart auto-pause: {{.error}}": "",
 	"failed to save config": "",
 	"failed to set extra option": "",
 	"failed to start node": "",
diff --git a/translations/strings.txt b/translations/strings.txt
index cd5a07ff3..6ae6cee19 100644
--- a/translations/strings.txt
+++ b/translations/strings.txt
@@ -932,7 +932,9 @@
 	"experimental": "",
 	"failed to acquire lock due to unexpected error": "",
 	"failed to add node": "",
+	"failed to load profile: {{.error}}": "",
 	"failed to open browser: {{.error}}": "",
+	"failed to restart auto-pause: {{.error}}": "",
 	"failed to save config": "",
 	"failed to set extra option": "",
 	"failed to start node": "",
diff --git a/translations/zh-CN.json b/translations/zh-CN.json
index acf2f7be6..680f996bc 100644
--- a/translations/zh-CN.json
+++ b/translations/zh-CN.json
@@ -1154,7 +1154,9 @@
 	"experimental": "实验性功能",
 	"failed to acquire lock due to unexpected error": "由于意外错误，无法获取锁",
 	"failed to add node": "添加节点失败",
+	"failed to load profile: {{.error}}": "",
 	"failed to open browser: {{.error}}": "打开浏览器失败：{{.error}}",
+	"failed to restart auto-pause: {{.error}}": "",
 	"failed to save config": "保存配置失败",
 	"failed to set extra option": "设置额外选项失败",
 	"failed to start node": "启动节点失败",


Test patch:
diff --git a/deploy/iso/minikube-iso/package/crun-latest/crun-latest.hash b/deploy/iso/minikube-iso/package/crun-latest/crun-latest.hash
index 0071e7d50..3639dbdee 100644
--- a/deploy/iso/minikube-iso/package/crun-latest/crun-latest.hash
+++ b/deploy/iso/minikube-iso/package/crun-latest/crun-latest.hash
@@ -14,3 +14,4 @@ sha256 70548de4874f0c9e7e1e080ff092e23f8fcc772a23261ee26e26d79f24df289e crun-1.1
 sha256 b766609814c0b0a3c0d2d235af1b061bd71da1aa2e8bb181d66e89f1b9a4e874 crun-1.17.tar.gz
 sha256 a83b70b350e50ad320376685e975afae535dad64e982e2b7c57a0db45663902a crun-1.18.tar.gz
 sha256 fdd530a398e32c36ccb597a43d17692631257374b9121027d88bbc5bccb24442 crun-1.18.2.tar.gz
+sha256 f37ae4936832a4bde31d50028307e83bcc7af80f2d36779f4ac7c79cdfe682b0 crun-1.19.tar.gz
diff --git a/deploy/iso/minikube-iso/package/crun-latest/crun-latest.mk b/deploy/iso/minikube-iso/package/crun-latest/crun-latest.mk
index 196bad7de..a77764e37 100644
--- a/deploy/iso/minikube-iso/package/crun-latest/crun-latest.mk
+++ b/deploy/iso/minikube-iso/package/crun-latest/crun-latest.mk
@@ -4,8 +4,8 @@
 #
 ################################################################################
 
-CRUN_LATEST_VERSION = 1.18.2
-CRUN_LATEST_COMMIT = 00ab38af875ddd0d1a8226addda52e1de18339b5
+CRUN_LATEST_VERSION = 1.19
+CRUN_LATEST_COMMIT = db31c42ac46e20b5527f5339dcbf6f023fcd539c
 # need the pre-generated release tarball with the git submodules and configure
 CRUN_LATEST_SITE = https://github.com/containers/crun/releases/download/$(CRUN_LATEST_VERSION)
 CRUN_LATEST_LICENSE = GPL-2.0
diff --git a/pkg/minikube/kubeconfig/kubeconfig_test.go b/pkg/minikube/kubeconfig/kubeconfig_test.go
index b1a22f5e0..eedc08239 100644
--- a/pkg/minikube/kubeconfig/kubeconfig_test.go
+++ b/pkg/minikube/kubeconfig/kubeconfig_test.go
@@ -456,7 +456,7 @@ func TestUpdateIP(t *testing.T) {
 		},
 	}
 
-	t.Setenv(localpath.MinikubeHome, "/home/la-croix/.minikube")
+	t.Setenv(localpath.MinikubeHome, "/home/la-croix")
 
 	for _, test := range tests {
 		test := test
@@ -492,7 +492,7 @@ func TestUpdateIP(t *testing.T) {
 }
 
 func TestMissingContext(t *testing.T) {
-	t.Setenv(localpath.MinikubeHome, "/home/la-croix/.minikube")
+	t.Setenv(localpath.MinikubeHome, "/home/la-croix")
 	configFilename := tempFile(t, kubeConfigMissingContext)
 	defer os.Remove(configFilename)
 	if _, err := UpdateEndpoint("minikube", "192.168.10.100", 8080, configFilename, nil); err != nil {
diff --git a/pkg/minikube/localpath/localpath_test.go b/pkg/minikube/localpath/localpath_test.go
index 705d81634..ad62cc361 100644
--- a/pkg/minikube/localpath/localpath_test.go
+++ b/pkg/minikube/localpath/localpath_test.go
@@ -63,18 +63,19 @@ func TestHasWindowsDriveLetter(t *testing.T) {
 
 func TestMiniPath(t *testing.T) {
 	var testCases = []struct {
-		env, expectedPath string
+		env, basePath string
 	}{
-		{"/tmp/.minikube", "/tmp/.minikube"},
-		{"/tmp", "/tmp"},
-		{"", filepath.Join(homedir.HomeDir(), ".minikube")},
+		{"/tmp/.minikube", "/tmp/"},
+		{"/tmp/", "/tmp"},
+		{"", homedir.HomeDir()},
 	}
 	for _, tc := range testCases {
 		t.Run(tc.env, func(t *testing.T) {
+			expectedPath := filepath.Join(tc.basePath, ".minikube")
 			t.Setenv(MinikubeHome, tc.env)
 			path := MiniPath()
-			if path != tc.expectedPath {
-				t.Errorf("MiniPath expected to return '%s', but got '%s'", tc.expectedPath, path)
+			if path != expectedPath {
+				t.Errorf("MiniPath expected to return '%s', but got '%s'", expectedPath, path)
 			}
 		})
 	}
diff --git a/test/integration/start_stop_delete_test.go b/test/integration/start_stop_delete_test.go
index 18b724381..84e20cce3 100644
--- a/test/integration/start_stop_delete_test.go
+++ b/test/integration/start_stop_delete_test.go
@@ -58,8 +58,6 @@ func TestStartStop(t *testing.T) {
 				"--keep-context=false",
 			}},
 			{"newest-cni", constants.NewestKubernetesVersion, []string{
-				"--feature-gates",
-				"ServerSideApply=true",
 				"--network-plugin=cni",
 				"--extra-config=kubeadm.pod-network-cidr=10.42.0.0/16",
 			}},