Repository: kubernetes/minikube
Pull request #13263 (2021-12-30 01:26:47)

flake charts: allow toggling between all-time and last 90 day flake charts
- Added script that downloads `data.csv` removes all entries older than 90 days and uploads results as `data-last-90.csv`
- Updated html and js to allow toggling between all-time data and last 90 days

Top left of page when viewing all-time data:
<img width="381" alt="Screen Shot 2021-12-29 at 5 10 23 PM" src="https://user-images.githubusercontent.com/44844360/147714466-d2fe53b5-a489-4b5c-9c20-507a4b01b855.png">

Top left of page when viewing last 90 days of data:
<img width="393" alt="Screen Shot 2021-12-29 at 5 10 42 PM" src="https://user-images.githubusercontent.com/44844360/147714467-a9557f6d-2c00-4994-b646-7667d7af2605.png">

Showing proof of different csv's being downloaded by different pages:
<img width="533" alt="Screen Shot 2021-12-29 at 5 11 30 PM" src="https://user-images.githubusercontent.com/44844360/147714468-1b62101e-ac94-42c6-9d1e-80657c8158cb.png">

Proof that chart is only showing last 90 days of data
<img width="1221" alt="Screen Shot 2021-12-29 at 5 12 38 PM" src="https://user-images.githubusercontent.com/44844360/147714469-b9772e1b-e020-4d06-928c-da91c9005a19.png">



Patch:
diff --git a/.github/workflows/update-k8s-versions.yml b/.github/workflows/update-k8s-versions.yml
index d1df8f98d..e6a152114 100644
--- a/.github/workflows/update-k8s-versions.yml
+++ b/.github/workflows/update-k8s-versions.yml
@@ -19,9 +19,7 @@ jobs:
       - name: Bump Kuberenetes Versions
         id: bumpk8s
         run: |
-          t=$(make update-kubernetes-version)
-          t=$(echo $t | head -n 1)
-          echo "::set-output name=title::$t"
+          make update-kubernetes-version
           c=$(git status --porcelain)
           c="${c//$'\n'/'%0A'}"
           c="${c//$'\r'/'%0D'}"
@@ -38,12 +36,13 @@ jobs:
           push-to-fork: minikube-bot/minikube
           base: master
           delete-branch: true
-          title: "${{ steps.bumpk8s.outputs.title }}"
+          title: 'bump default/newest kubernetes versions'
           labels: ok-to-test
           body: |
             This PR was auto-generated by `make update-kubernetes-version` using [update-k8s-versions.yml](https://github.com/kubernetes/minikube/tree/master/.github/workflows) CI Workflow. 
             Please only merge if all the tests pass.
-
+            
             ```
             ${{ steps.bumpk8s.outputs.changes }}
             ```
+
diff --git a/Makefile b/Makefile
index 0e510b931..6ff3bb4e0 100644
--- a/Makefile
+++ b/Makefile
@@ -23,7 +23,7 @@ KUBERNETES_VERSION ?= $(shell egrep "DefaultKubernetesVersion =" pkg/minikube/co
 KIC_VERSION ?= $(shell egrep "Version =" pkg/drivers/kic/types.go | cut -d \" -f2)
 
 # Default to .0 for higher cache hit rates, as build increments typically don't require new ISO versions
-ISO_VERSION ?= v1.24.0-1640253061-13195
+ISO_VERSION ?= v1.24.0-1639505700-12892
 # Dashes are valid in semver, but not Linux packaging. Use ~ to delimit alpha/beta
 DEB_VERSION ?= $(subst -,~,$(RAW_VERSION))
 DEB_REVISION ?= 0
@@ -978,7 +978,7 @@ update-golang-version:
 
 .PHONY: update-kubernetes-version
 update-kubernetes-version:
-	@(cd hack/update/kubernetes_version && \
+	(cd hack/update/kubernetes_version && \
 	 go run update_kubernetes_version.go)
 
 .PHONY: update-golint-version
diff --git a/OWNERS b/OWNERS
index 183aac2aa..b5400a2f9 100644
--- a/OWNERS
+++ b/OWNERS
@@ -6,14 +6,14 @@ reviewers:
   - medyagh
   - blueelvis
   - prasadkatti
-  - prezha
+  - prezha	
   - spowelljr
 approvers:
   - afbjorklund
   - sharifelgamal
   - medyagh
   - spowelljr
-  - prezha
+  - prezha	
 emeritus_approvers:
   - dlorenc
   - luxas
diff --git a/cmd/minikube/cmd/image.go b/cmd/minikube/cmd/image.go
index 82e765828..ec2a349e6 100644
--- a/cmd/minikube/cmd/image.go
+++ b/cmd/minikube/cmd/image.go
@@ -54,7 +54,6 @@ var (
 	dockerFile string
 	buildEnv   []string
 	buildOpt   []string
-	format     string
 )
 
 func saveFile(r io.Reader) (string, error) {
@@ -332,7 +331,7 @@ $ minikube image ls
 			exit.Error(reason.Usage, "loading profile", err)
 		}
 
-		if err := machine.ListImages(profile, format); err != nil {
+		if err := machine.ListImages(profile); err != nil {
 			exit.Error(reason.GuestImageList, "Failed to list images", err)
 		}
 	},
@@ -397,7 +396,6 @@ func init() {
 	saveImageCmd.Flags().BoolVar(&imgDaemon, "daemon", false, "Cache image to docker daemon")
 	saveImageCmd.Flags().BoolVar(&imgRemote, "remote", false, "Cache image to remote registry")
 	imageCmd.AddCommand(saveImageCmd)
-	listImageCmd.Flags().StringVar(&format, "format", "short", "Format output. One of: short|table|json|yaml")
 	imageCmd.AddCommand(listImageCmd)
 	imageCmd.AddCommand(tagImageCmd)
 	imageCmd.AddCommand(pushImageCmd)
diff --git a/cmd/minikube/cmd/version.go b/cmd/minikube/cmd/version.go
index fef929f7f..ce73d4804 100644
--- a/cmd/minikube/cmd/version.go
+++ b/cmd/minikube/cmd/version.go
@@ -54,17 +54,16 @@ var versionCmd = &cobra.Command{
 			co := mustload.Running(ClusterFlagValue())
 			runner := co.CP.Runner
 			versionCMDS := map[string]*exec.Cmd{
-				"docker":      exec.Command("docker", "--version"),
-				"dockerd":     exec.Command("dockerd", "--version"),
-				"cri-dockerd": exec.Command("cri-dockerd", "--version"),
-				"containerd":  exec.Command("containerd", "--version"),
-				"crio":        exec.Command("crio", "--version"),
-				"podman":      exec.Command("sudo", "podman", "--version"),
-				"crictl":      exec.Command("sudo", "crictl", "--version"),
-				"buildctl":    exec.Command("buildctl", "--version"),
-				"ctr":         exec.Command("ctr", "--version"),
-				"runc":        exec.Command("runc", "--version"),
-				"crun":        exec.Command("crun", "--version"),
+				"docker":     exec.Command("docker", "--version"),
+				"dockerd":    exec.Command("dockerd", "--version"),
+				"containerd": exec.Command("containerd", "--version"),
+				"crio":       exec.Command("crio", "--version"),
+				"podman":     exec.Command("sudo", "podman", "--version"),
+				"crictl":     exec.Command("sudo", "crictl", "--version"),
+				"buildctl":   exec.Command("buildctl", "--version"),
+				"ctr":        exec.Command("ctr", "--version"),
+				"runc":       exec.Command("runc", "--version"),
+				"crun":       exec.Command("crun", "--version"),
 			}
 			for k, v := range versionCMDS {
 				rr, err := runner.RunCmd(v)
diff --git a/deploy/iso/minikube-iso/Dockerfile b/deploy/iso/minikube-iso/Dockerfile
index 1068e0f6f..21906ca2b 100644
--- a/deploy/iso/minikube-iso/Dockerfile
+++ b/deploy/iso/minikube-iso/Dockerfile
@@ -36,7 +36,6 @@ RUN apt-get update \
 		dumb-init \
 		golang-go \
 		libpcre3-dev \
-		mkisofs \
 	&& rm -rf /var/lib/apt/lists/*
 
 RUN localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
diff --git a/deploy/iso/minikube-iso/board/iso/x86_64/genimage.cfg b/deploy/iso/minikube-iso/board/iso/x86_64/genimage.cfg
deleted file mode 100644
index 0411d3cf4..000000000
--- a/deploy/iso/minikube-iso/board/iso/x86_64/genimage.cfg
+++ /dev/null
@@ -1,12 +0,0 @@
-image efiboot.img {
-  vfat {
-    label = "EFIBOOTISO"
-    file startup.nsh {
-      image = "efi-part/startup.nsh"
-    }
-    file EFI {
-      image = "efi-part/EFI"
-    }
-  }
-  size = 1474560
-}
diff --git a/deploy/iso/minikube-iso/board/iso/x86_64/grub-stub.cfg b/deploy/iso/minikube-iso/board/iso/x86_64/grub-stub.cfg
deleted file mode 100644
index 92730a973..000000000
--- a/deploy/iso/minikube-iso/board/iso/x86_64/grub-stub.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-insmod iso9660
-insmod udf
-
-search --no-floppy --label EFIBOOTISO --set root
diff --git a/deploy/iso/minikube-iso/board/iso/x86_64/grub.cfg b/deploy/iso/minikube-iso/board/iso/x86_64/grub.cfg
deleted file mode 100644
index ba43e7ca2..000000000
--- a/deploy/iso/minikube-iso/board/iso/x86_64/grub.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-set default="0"
-set timeout="5"
-
-menuentry "Buildroot" {
-  linux /boot/vmlinuz console=tty0 rw
-  initrd /boot/initrd.img
-}
diff --git a/deploy/iso/minikube-iso/board/iso/x86_64/post-image.sh b/deploy/iso/minikube-iso/board/iso/x86_64/post-image.sh
deleted file mode 100755
index b3b21c330..000000000
--- a/deploy/iso/minikube-iso/board/iso/x86_64/post-image.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/sh
-
-# Copyright 2021 The Kubernetes Authors All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-set -e
-
-GENIMAGE_CFG="$2"
-
-support/scripts/genimage.sh -c "$GENIMAGE_CFG"
-
-cd "$BINARIES_DIR"
-mkdir -p root/boot
-cp bzImage root/boot/vmlinuz
-cp rootfs.cpio.gz root/boot/initrd.img
-mkdir -p root/EFI/BOOT
-cp efi-part/EFI/BOOT/* root/EFI/BOOT/
-cp efiboot.img root/EFI/BOOT/
-
-mkisofs \
-   -o boot.iso \
-   -R -J -v -d -N \
-   -hide-rr-moved \
-   -no-emul-boot \
-   -eltorito-platform=efi \
-   -eltorito-boot EFI/BOOT/efiboot.img \
-   -V "EFIBOOTISO" \
-   -A "EFI Boot ISO" \
-   root
-cd -
diff --git a/deploy/iso/minikube-iso/configs/minikube_defconfig b/deploy/iso/minikube-iso/configs/minikube_defconfig
index a0ba93c8a..9cd682c72 100644
--- a/deploy/iso/minikube-iso/configs/minikube_defconfig
+++ b/deploy/iso/minikube-iso/configs/minikube_defconfig
@@ -1,51 +1,10 @@
-# Architecture
 BR2_x86_64=y
-
-# Toolchain
-BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
-
-# System
-BR2_SYSTEM_DHCP="eth0"
-
-# Required tools to create bootable media
-BR2_PACKAGE_HOST_DOSFSTOOLS=y
-BR2_PACKAGE_HOST_GENIMAGE=y
-BR2_PACKAGE_HOST_MTOOLS=y
-
-# Bootloader
-BR2_TARGET_GRUB2=y
-BR2_TARGET_GRUB2_X86_64_EFI=y
-BR2_TARGET_GRUB2_BUILTIN_CONFIG="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/iso/x86_64/grub-stub.cfg"
-BR2_TARGET_GRUB2_BUILTIN_MODULES="boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop udf iso9660 search search_fs_file search_fs_uuid search_label"
-
-# Filesystem / image
-BR2_TARGET_ROOTFS_CPIO=y
-BR2_TARGET_ROOTFS_CPIO_GZIP=y
-BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/iso/x86_64/post-build.sh"
-BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/iso/x86_64/post-image.sh"
-BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/iso/x86_64/genimage.cfg"
-
-# Linux headers same as kernel, a 4.19 series
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
-
-# Kernel
-BR2_LINUX_KERNEL=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION=y
-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.202"
-BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
-BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
-
 BR2_CCACHE=y
-
-# Packages
-BR2_PACKAGE_ACPID=y
-
-# Minikube
-
 BR2_OPTIMIZE_2=y
 BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/patches"
 BR2_TOOLCHAIN_BUILDROOT_VENDOR="minikube"
 BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
 BR2_TOOLCHAIN_BUILDROOT_CXX=y
 BR2_GCC_ENABLE_LTO=y
 BR2_TARGET_GENERIC_HOSTNAME="minikube"
@@ -54,8 +13,12 @@ BR2_TARGET_GENERIC_PASSWD_SHA512=y
 BR2_INIT_SYSTEMD=y
 BR2_ROOTFS_DEVICE_TABLE="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/permissions"
 BR2_SYSTEM_BIN_SH_BASH=y
+# BR2_TARGET_GENERIC_GETTY is not set
 BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/users"
 BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/rootfs-overlay"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.202"
 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/linux_defconfig"
 BR2_LINUX_KERNEL_LZ4=y
@@ -102,6 +65,7 @@ BR2_PACKAGE_UTIL_LINUX_LOSETUP=y
 BR2_PACKAGE_UTIL_LINUX_NOLOGIN=y
 BR2_PACKAGE_UTIL_LINUX_NSENTER=y
 BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS=y
+BR2_TARGET_ROOTFS_CPIO_GZIP=y
 BR2_TARGET_ROOTFS_ISO9660=y
 BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="$(BR2_EXTERNAL_MINIKUBE_PATH)/board/coreos/minikube/isolinux.cfg"
 BR2_TARGET_SYSLINUX=y
diff --git a/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.hash b/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.hash
index b13fd3cd6..afd06990e 100644
--- a/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.hash
+++ b/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.hash
@@ -11,4 +11,4 @@ sha256 bc6d9452c700af0ebc09c0da8ddba55be4c03ac8928e72ca92d98905800c8018 v1.4.3.t
 sha256 ac62c64664bf62fd44df0891c896eecdb6d93def3438271d7892dca75bc069d1 v1.4.4.tar.gz
 sha256 285a3f4c00a87538bd7d0a82a0a8a758458c02b925349f44f3189f480c326038 v1.4.6.tar.gz
 sha256 3bb9f54be022067847f5930d21ebbfe4e7a67f589d78930aa0ac713492c28bcc v1.4.9.tar.gz
-sha256 85a531725f15e2d136131119d42af4507a5389e0947015152075c4c93816fb5c v1.4.12.tar.gz
+sha256 0890f7b0ee8e20a279a617c60686874b3c7a99e064adb2b38d884499b5284c43 v1.5.8.tar.gz
diff --git a/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.mk b/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.mk
index ab743d7df..500953ae7 100644
--- a/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.mk
+++ b/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.mk
@@ -3,8 +3,8 @@
 # containerd
 #
 ################################################################################
-CONTAINERD_BIN_VERSION = v1.4.12
-CONTAINERD_BIN_COMMIT = 7b11cfaabd73bb80907dd23182b9347b4245eb5d
+CONTAINERD_BIN_VERSION = v1.5.8
+CONTAINERD_BIN_COMMIT = 1e5ef943eb76627a6d3b6de8cd1ef6537f393a71
 CONTAINERD_BIN_SITE = https://github.com/containerd/containerd/archive
 CONTAINERD_BIN_SOURCE = $(CONTAINERD_BIN_VERSION).tar.gz
 CONTAINERD_BIN_DEPENDENCIES = host-go libgpgme
diff --git a/deploy/iso/minikube-iso/package/docker-bin/docker-bin.hash b/deploy/iso/minikube-iso/package/docker-bin/docker-bin.hash
index 62e60271d..b574e5213 100644
--- a/deploy/iso/minikube-iso/package/docker-bin/docker-bin.hash
+++ b/deploy/iso/minikube-iso/package/docker-bin/docker-bin.hash
@@ -32,4 +32,3 @@ sha256 3f18edc66e1faae607d428349e77f9800bdea554528521f0f6c49fc3f1de6abf  docker-
 sha256 e3b6c3b11518281a51fb0eee73138482b83041e908f01adf8abd3a24b34ea21e  docker-20.10.6.tgz
 sha256 34ad50146fce29b28e5115a1e8510dd5232459c9a4a9f28f65909f92cca314d9  docker-20.10.7.tgz
 sha256 7ea11ecb100fdc085dbfd9ab1ff380e7f99733c890ed815510a5952e5d6dd7e0  docker-20.10.8.tgz
-sha256 ee9b5be14e54bf92f48c82c2e6a83fbdd1c5329e8f247525a9ed2fe90d9f89a5  docker-20.10.12.tgz
diff --git a/deploy/iso/minikube-iso/package/docker-bin/docker-bin.mk b/deploy/iso/minikube-iso/package/docker-bin/docker-bin.mk
index dae096c14..726209627 100644
--- a/deploy/iso/minikube-iso/package/docker-bin/docker-bin.mk
+++ b/deploy/iso/minikube-iso/package/docker-bin/docker-bin.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-DOCKER_BIN_VERSION = 20.10.12
+DOCKER_BIN_VERSION = 20.10.8
 DOCKER_BIN_SITE = https://download.docker.com/linux/static/stable/x86_64
 DOCKER_BIN_SOURCE = docker-$(DOCKER_BIN_VERSION).tgz
 
diff --git a/deploy/iso/minikube-iso/package/runc-master/runc-master.hash b/deploy/iso/minikube-iso/package/runc-master/runc-master.hash
index c04a16b99..d00061b35 100644
--- a/deploy/iso/minikube-iso/package/runc-master/runc-master.hash
+++ b/deploy/iso/minikube-iso/package/runc-master/runc-master.hash
@@ -11,4 +11,3 @@ sha256 bfcbbcb12664d5f8c1b794f37a457a8db53291c82be5a3157d8efb91aab193bf ff819c7e
 sha256 144973344b73627b5f69aa88b9e6655d692447ec317a0d5fa9777496a8ac186e 12644e614e25b05da6fd08a38ffa0cfe1903fdec.tar.gz
 sha256 821ff8629329b4b7e4ccf24b5bf369c9739887736be30ba06a0d8053eb0e0b23 b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7.tar.gz
 sha256 50cc479cabf6e7edb9070a7c28b3460b0acc2a01650fc5934f5037cb96b9e2cf 4144b63817ebcc5b358fc2c8ef95f7cddd709aa7.tar.gz
-sha256 1f47e3ff66cdcca1f890b15e74e884c4ff81d16d1044cc9900a1eb10cfb3d8e7 52b36a2dd837e8462de8e01458bf02cf9eea47dd.tar.gz
diff --git a/deploy/iso/minikube-iso/package/runc-master/runc-master.mk b/deploy/iso/minikube-iso/package/runc-master/runc-master.mk
index 278c8b0d6..d4b8852c0 100644
--- a/deploy/iso/minikube-iso/package/runc-master/runc-master.mk
+++ b/deploy/iso/minikube-iso/package/runc-master/runc-master.mk
@@ -4,8 +4,8 @@
 #
 ################################################################################
 
-# As of 2021-08-20, v1.0.2
-RUNC_MASTER_VERSION = 52b36a2dd837e8462de8e01458bf02cf9eea47dd
+# As of 2021-07-16, v1.0.1
+RUNC_MASTER_VERSION = 4144b63817ebcc5b358fc2c8ef95f7cddd709aa7
 RUNC_MASTER_SITE = https://github.com/opencontainers/runc/archive
 RUNC_MASTER_SOURCE = $(RUNC_MASTER_VERSION).tar.gz
 RUNC_MASTER_LICENSE = Apache-2.0
diff --git a/deploy/kicbase/Dockerfile b/deploy/kicbase/Dockerfile
index 8ffca0f6a..b5e713c27 100644
--- a/deploy/kicbase/Dockerfile
+++ b/deploy/kicbase/Dockerfile
@@ -25,12 +25,6 @@ WORKDIR /src
 ADD . .
 RUN cd ./cmd/auto-pause/ && go build 
 
-# cri-dockerd static
-FROM golang:1.16
-RUN git clone -n https://github.com/Mirantis/cri-dockerd && \
-    cd cri-dockerd && git checkout 542e27dee12db61d6e96d2a83a20359474a5efa2 && \
-    cd src && env CGO_ENABLED=0 go build -o cri-dockerd
-
 # start from ubuntu 20.04, this image is reasonably small as a starting point
 # for a kubernetes node image, it doesn't contain much we don't need
 FROM ubuntu:focal-20210401
@@ -46,9 +40,6 @@ COPY deploy/kicbase/11-tcp-mtu-probing.conf /etc/sysctl.d/11-tcp-mtu-probing.con
 COPY deploy/kicbase/clean-install /usr/local/bin/clean-install
 COPY deploy/kicbase/entrypoint /usr/local/bin/entrypoint
 COPY --from=0 /src/cmd/auto-pause/auto-pause /bin/auto-pause
-COPY --from=1 /go/cri-dockerd/src/cri-dockerd /usr/bin/cri-dockerd
-COPY --from=1 /go/cri-dockerd/packaging/systemd/cri-docker.service /usr/lib/systemd/system/cri-docker.service
-COPY --from=1 /go/cri-dockerd/packaging/systemd/cri-docker.socket /usr/lib/systemd/system/cri-docker.socket
 
 # Install dependencies, first from apt, then from release tarballs.
 # NOTE: we use one RUN to minimize layers.
diff --git a/hack/jenkins/build_iso.sh b/hack/jenkins/build_iso.sh
index 5a9561699..792281e40 100755
--- a/hack/jenkins/build_iso.sh
+++ b/hack/jenkins/build_iso.sh
@@ -43,25 +43,16 @@ else
 	export ISO_BUCKET
 fi
 
-if [ "$release" = false ]; then
-	# Build a new ISO for the PR
-	make release-iso | tee iso-logs.txt
-	# Abort with error message if above command failed
-	ec=$?
-	if [ $ec -gt 0 ]; then
-		if [ "$release" = false ]; then
-			gh pr comment ${ghprbPullId} --body "Hi ${ghprbPullAuthorLoginMention}, building a new ISO failed.  
-			See the logs at: https://storage.cloud.google.com/minikube-builds/logs/${ghprbPullId}/${ghprbActualCommit::7}/iso_build.txt
-			"
-		fi
-		exit $ec
+make release-iso | tee iso-logs.txt
+# Abort with error message if above command failed
+ec=$?
+if [ $ec -gt 0 ]; then
+	if [ "$release" = false ]; then
+		gh pr comment ${ghprbPullId} --body "Hi ${ghprbPullAuthorLoginMention}, building a new ISO failed.  
+		See the logs at: https://storage.cloud.google.com/minikube-builds/logs/${ghprbPullId}/${ghprbActualCommit::7}/iso_build.txt
+		"
 	fi
-else
-	# Copy the most recently built PR ISO for release
-	CURRENT_ISO_VERSION=$(egrep "ISO_VERSION \?=" Makefile | cut -d " " -f 3)
-	CURRENT_ISO_BUCKET=$(egrep "isoBucket :=" pkg/minikube/download/iso.go | cut -d " " -f 3 | cut -d '"' -f 2)
-	gsutil cp gs://${CURRENT_ISO_BUCKET}/minikube-${CURRENT_ISO_VERSION}.iso gs://${ISO_BUCKET}/minikube-${ISO_VERSION}.iso
-	gsutil cp gs://${CURRENT_ISO_BUCKET}/minikube-${CURRENT_ISO_VERSION}.iso.sha256 gs://${ISO_BUCKET}/minikube-${ISO_VERSION}.iso.sha256
+	exit $ec
 fi
 
 git config user.name "minikube-bot"
diff --git a/deploy/iso/minikube-iso/board/iso/x86_64/post-build.sh b/hack/jenkins/test-flake-chart/process_last_90/process_last_90.sh
similarity index 50%
rename from deploy/iso/minikube-iso/board/iso/x86_64/post-build.sh
rename to hack/jenkins/test-flake-chart/process_last_90/process_last_90.sh
index 38ce764f9..162694fb7 100755
--- a/deploy/iso/minikube-iso/board/iso/x86_64/post-build.sh
+++ b/hack/jenkins/test-flake-chart/process_last_90/process_last_90.sh
@@ -1,6 +1,6 @@
-#!/bin/sh
+#!/bin/bash
 
-# Copyright 2021 The Kubernetes Authors All rights reserved.
+# Copyright 2022 The Kubernetes Authors All rights reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,8 +14,20 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-set -e
+set -eux -o pipefail
 
-BOARD_DIR=$(dirname "$0")
+# Get directory of script.
+DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
 
-cp -f "$BOARD_DIR/grub.cfg" "$BINARIES_DIR/efi-part/EFI/BOOT/grub.cfg"
+"${DIR}/../../installers/check_install_golang.sh" || true
+
+DATA_CSV=$(mktemp)
+DATA_LAST_90_CSV=$(mktemp)
+
+gsutil cp gs://minikube-flake-rate/data.csv "$DATA_CSV"
+
+go run "${DIR}/process_last_90.go" --source "$DATA_CSV" --target "$DATA_LAST_90_CSV"
+
+gsutil cp "$DATA_LAST_90_CSV" gs://minikube-flake-rate/data-last-90.csv
+
+rm "$DATA_CSV" "$DATA_LAST_90_CSV"
diff --git a/hack/update/kubernetes_version/update_kubernetes_version.go b/hack/update/kubernetes_version/update_kubernetes_version.go
index 7eeef23a6..e85e0c0e7 100644
--- a/hack/update/kubernetes_version/update_kubernetes_version.go
+++ b/hack/update/kubernetes_version/update_kubernetes_version.go
@@ -28,7 +28,6 @@ package main
 
 import (
 	"context"
-	"fmt"
 	"time"
 
 	"golang.org/x/mod/semver"
@@ -138,9 +137,7 @@ func main() {
 		klog.Fatalf("Unable to get Kubernetes versions: %v", err)
 	}
 	data := Data{StableVersion: stable, LatestVersion: latest, LatestVersionMM: latestMM, LatestVersionP0: latestP0}
-
-	// Print PR title for Github action.
-	fmt.Printf("Bump Kubernetes version default: %s and latest: %s\n", data.StableVersion, data.LatestVersion)
+	klog.Infof("Kubernetes versions: 'stable' is %s and 'latest' is %s", data.StableVersion, data.LatestVersion)
 
 	update.Apply(ctx, schema, data, prBranchPrefix, prTitle, prIssue)
 }
diff --git a/pkg/addons/addons.go b/pkg/addons/addons.go
index 94016ab2e..80779a6cd 100644
--- a/pkg/addons/addons.go
+++ b/pkg/addons/addons.go
@@ -224,7 +224,7 @@ func EnableOrDisableAddon(cc *config.ClusterConfig, name string, val string) err
 		out.WarningT("At least needs control plane nodes to enable addon")
 	}
 
-	data := assets.GenerateTemplateData(addon, cc.KubernetesConfig, networkInfo, images, customRegistries, enable)
+	data := assets.GenerateTemplateData(addon, cc.KubernetesConfig, networkInfo, images, customRegistries)
 	return enableOrDisableAddonInternal(cc, addon, runner, data, enable)
 }
 
diff --git a/pkg/drivers/hyperkit/driver.go b/pkg/drivers/hyperkit/driver.go
index d00ba6588..e9e6566c2 100644
--- a/pkg/drivers/hyperkit/driver.go
+++ b/pkg/drivers/hyperkit/driver.go
@@ -426,7 +426,7 @@ func (d *Driver) extractKernel(isoPath string) error {
 	}{
 		{"/boot/bzimage", "bzimage"},
 		{"/boot/initrd", "initrd"},
-		{"/grub/grub.cfg", "grub.cfg"},
+		{"/isolinux/isolinux.cfg", "isolinux.cfg"},
 	} {
 		fullDestPath := d.ResolveStorePath(f.destPath)
 		if err := ExtractFile(isoPath, f.pathInIso, fullDestPath); err != nil {
diff --git a/pkg/drivers/kic/types.go b/pkg/drivers/kic/types.go
index a756f7a3c..58c36f424 100644
--- a/pkg/drivers/kic/types.go
+++ b/pkg/drivers/kic/types.go
@@ -24,9 +24,9 @@ import (
 
 const (
 	// Version is the current version of kic
-	Version = "v0.0.28-1640212998-13227"
+	Version = "v0.0.28-1639515145-13124"
 	// SHA of the kic base image
-	baseImageSHA = "be897edc9ed473a9678010f390a0092f488f6a1c30865f571c3b6388f9f56f9b"
+	baseImageSHA = "50a7fba584fcd78435535ec8407fa75d58db1612175b13fd473300d522f7ac80"
 	// 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/assets/addons.go b/pkg/minikube/assets/addons.go
index d1195234b..1d3def7c5 100755
--- a/pkg/minikube/assets/addons.go
+++ b/pkg/minikube/assets/addons.go
@@ -312,7 +312,7 @@ var Addons = map[string]*Addon{
 	}, false, "olm", "third-party (operator framework)", map[string]string{
 		"OLM": "operator-framework/olm@sha256:e74b2ac57963c7f3ba19122a8c31c9f2a0deb3c0c5cac9e5323ccffd0ca198ed",
 		// operator-framework/community-operators was deprecated: https://github.com/operator-framework/community-operators#repository-is-obsolete; switching to OperatorHub.io instead
-		"UpstreamCommunityOperators": "operatorhubio/catalog@sha256:e08a1cd21fe72dd1be92be738b4bf1515298206dac5479c17a4b3ed119e30bd4",
+		"UpstreamCommunityOperators": "operatorhubio/catalog:latest@sha256:53fad78977d83dde0c27b3183c2acc25ec153ae466e1b3c9a7efb517691b77b7",
 	}, map[string]string{
 		"OLM":                        "quay.io",
 		"UpstreamCommunityOperators": "quay.io",
@@ -781,7 +781,7 @@ func SelectAndPersistImages(addon *Addon, cc *config.ClusterConfig) (images, cus
 }
 
 // GenerateTemplateData generates template data for template assets
-func GenerateTemplateData(addon *Addon, cfg config.KubernetesConfig, netInfo NetworkInfo, images, customRegistries map[string]string, enable bool) interface{} {
+func GenerateTemplateData(addon *Addon, cfg config.KubernetesConfig, netInfo NetworkInfo, images, customRegistries map[string]string) interface{} {
 
 	a := runtime.GOARCH
 	// Some legacy docker images still need the -arch suffix
@@ -862,25 +862,23 @@ func GenerateTemplateData(addon *Addon, cfg config.KubernetesConfig, netInfo Net
 			opts.Registries[name] = "" // Avoid nil access when rendering
 		}
 
-		if enable {
-			if override, ok := opts.CustomRegistries[name]; ok {
-				out.Infof("Using image {{.registry}}{{.image}}", out.V{
-					"registry": override,
-					// removing the SHA from UI
-					// SHA example gcr.io/k8s-minikube/gcp-auth-webhook:v0.0.4@sha256:65e9e69022aa7b0eb1e390e1916e3bf67f75ae5c25987f9154ef3b0e8ab8528b
-					"image": strings.Split(image, "@")[0],
-				})
-			} else if opts.ImageRepository != "" {
-				out.Infof("Using image {{.registry}}{{.image}} (global image repository)", out.V{
-					"registry": opts.ImageRepository,
-					"image":    image,
-				})
-			} else {
-				out.Infof("Using image {{.registry}}{{.image}}", out.V{
-					"registry": opts.Registries[name],
-					"image":    strings.Split(image, "@")[0],
-				})
-			}
+		if override, ok := opts.CustomRegistries[name]; ok {
+			out.Infof("Using image {{.registry}}{{.image}}", out.V{
+				"registry": override,
+				// removing the SHA from UI
+				// SHA example gcr.io/k8s-minikube/gcp-auth-webhook:v0.0.4@sha256:65e9e69022aa7b0eb1e390e1916e3bf67f75ae5c25987f9154ef3b0e8ab8528b
+				"image": strings.Split(image, "@")[0],
+			})
+		} else if opts.ImageRepository != "" {
+			out.Infof("Using image {{.registry}}{{.image}} (global image repository)", out.V{
+				"registry": opts.ImageRepository,
+				"image":    image,
+			})
+		} else {
+			out.Infof("Using image {{.registry}}{{.image}}", out.V{
+				"registry": opts.Registries[name],
+				"image":    strings.Split(image, "@")[0],
+			})
 		}
 	}
 	return opts
diff --git a/pkg/minikube/cruntime/containerd.go b/pkg/minikube/cruntime/containerd.go
index 9cf694766..8dd1ab510 100644
--- a/pkg/minikube/cruntime/containerd.go
+++ b/pkg/minikube/cruntime/containerd.go
@@ -283,8 +283,21 @@ func (r *Containerd) ImageExists(name string, sha string) bool {
 }
 
 // ListImages lists images managed by this container runtime
-func (r *Containerd) ListImages(ListImagesOptions) ([]ListImage, error) {
-	return listCRIImages(r.Runner)
+func (r *Containerd) ListImages(ListImagesOptions) ([]string, error) {
+	c := exec.Command("sudo", "ctr", "-n=k8s.io", "images", "list", "--quiet")
+	rr, err := r.Runner.RunCmd(c)
+	if err != nil {
+		return nil, errors.Wrapf(err, "ctr images list")
+	}
+	all := strings.Split(rr.Stdout.String(), "\n")
+	imgs := []string{}
+	for _, img := range all {
+		if img == "" || strings.Contains(img, "sha256:") {
+			continue
+		}
+		imgs = append(imgs, img)
+	}
+	return imgs, nil
 }
 
 // LoadImage loads an image into this runtime
@@ -580,6 +593,16 @@ func containerdImagesPreloaded(runner command.Runner, images []string) bool {
 	if err != nil {
 		return false
 	}
+	type crictlImages struct {
+		Images []struct {
+			ID          string      `json:"id"`
+			RepoTags    []string    `json:"repoTags"`
+			RepoDigests []string    `json:"repoDigests"`
+			Size        string      `json:"size"`
+			UID         interface{} `json:"uid"`
+			Username    string      `json:"username"`
+		} `json:"images"`
+	}
 
 	var jsonImages crictlImages
 	err = json.Unmarshal(rr.Stdout.Bytes(), &jsonImages)
diff --git a/pkg/minikube/cruntime/cri.go b/pkg/minikube/cruntime/cri.go
index ae9be0824..0d88580da 100644
--- a/pkg/minikube/cruntime/cri.go
+++ b/pkg/minikube/cruntime/cri.go
@@ -36,17 +36,6 @@ type container struct {
 	Status string
 }
 
-type crictlImages struct {
-	Images []struct {
-		ID          string      `json:"id"`
-		RepoTags    []string    `json:"repoTags"`
-		RepoDigests []string    `json:"repoDigests"`
-		Size        string      `json:"size"`
-		UID         interface{} `json:"uid"`
-		Username    string      `json:"username"`
-	} `json:"images"`
-}
-
 // crictlList returns the output of 'crictl ps' in an efficient manner
 func crictlList(cr CommandRunner, root string, o ListContainersOptions) (*command.RunResult, error) {
 	klog.Infof("listing CRI containers in root %s: %+v", root, o)
@@ -278,33 +267,6 @@ func getCRIInfo(cr CommandRunner) (map[string]interface{}, error) {
 	return jsonMap, nil
 }
 
-// listCRIImages lists images using crictl
-func listCRIImages(cr CommandRunner) ([]ListImage, error) {
-	c := exec.Command("sudo", "crictl", "images", "--output", "json")
-	rr, err := cr.RunCmd(c)
-	if err != nil {
-		return nil, errors.Wrapf(err, "crictl images")
-	}
-
-	var jsonImages crictlImages
-	err = json.Unmarshal(rr.Stdout.Bytes(), &jsonImages)
-	if err != nil {
-		klog.Errorf("failed to unmarshal images, will assume images are not preloaded")
-		return nil, err
-	}
-
-	images := []ListImage{}
-	for _, img := range jsonImages.Images {
-		images = append(images, ListImage{
-			ID:          img.ID,
-			RepoDigests: img.RepoDigests,
-			RepoTags:    img.RepoTags,
-			Size:        img.Size,
-		})
-	}
-	return images, nil
-}
-
 // criContainerLogCmd returns the command to retrieve the log for a container based on ID
 func criContainerLogCmd(cr CommandRunner, id string, len int, follow bool) string {
 	crictl := getCrictlPath(cr)
diff --git a/pkg/minikube/cruntime/crio.go b/pkg/minikube/cruntime/crio.go
index 85ea766b2..1d36e76be 100644
--- a/pkg/minikube/cruntime/crio.go
+++ b/pkg/minikube/cruntime/crio.go
@@ -240,8 +240,13 @@ func (r *CRIO) ImageExists(name string, sha string) bool {
 }
 
 // ListImages returns a list of images managed by this container runtime
-func (r *CRIO) ListImages(ListImagesOptions) ([]ListImage, error) {
-	return listCRIImages(r.Runner)
+func (r *CRIO) ListImages(ListImagesOptions) ([]string, error) {
+	c := exec.Command("sudo", "podman", "images", "--format", "{{.Repository}}:{{.Tag}}")
+	rr, err := r.Runner.RunCmd(c)
+	if err != nil {
+		return nil, errors.Wrapf(err, "podman images")
+	}
+	return strings.Split(strings.TrimSpace(rr.Stdout.String()), "\n"), nil
 }
 
 // LoadImage loads an image into this runtime
@@ -460,6 +465,16 @@ func crioImagesPreloaded(runner command.Runner, images []string) bool {
 	if err != nil {
 		return false
 	}
+	type crictlImages struct {
+		Images []struct {
+			ID          string      `json:"id"`
+			RepoTags    []string    `json:"repoTags"`
+			RepoDigests []string    `json:"repoDigests"`
+			Size        string      `json:"size"`
+			UID         interface{} `json:"uid"`
+			Username    string      `json:"username"`
+		} `json:"images"`
+	}
 
 	var jsonImages crictlImages
 	err = json.Unmarshal(rr.Stdout.Bytes(), &jsonImages)
diff --git a/pkg/minikube/cruntime/cruntime.go b/pkg/minikube/cruntime/cruntime.go
index 5fb49e93b..576e9bcf4 100644
--- a/pkg/minikube/cruntime/cruntime.go
+++ b/pkg/minikube/cruntime/cruntime.go
@@ -113,7 +113,7 @@ type Manager interface {
 	// ImageExists takes image name and optionally image sha to check if an image exists
 	ImageExists(string, string) bool
 	// ListImages returns a list of images managed by this container runtime
-	ListImages(ListImagesOptions) ([]ListImage, error)
+	ListImages(ListImagesOptions) ([]string, error)
 
 	// RemoveImage remove image based on name
 	RemoveImage(string) error
@@ -168,13 +168,6 @@ type ListContainersOptions struct {
 type ListImagesOptions struct {
 }
 
-type ListImage struct {
-	ID          string   `json:"id" yaml:"id"`
-	RepoDigests []string `json:"repoDigests" yaml:"repoDigests"`
-	RepoTags    []string `json:"repoTags" yaml:"repoTags"`
-	Size        string   `json:"size" yaml:"size"`
-}
-
 // ErrContainerRuntimeNotRunning is thrown when container runtime is not running
 var ErrContainerRuntimeNotRunning = errors.New("container runtime is not running")
 
diff --git a/pkg/minikube/cruntime/docker.go b/pkg/minikube/cruntime/docker.go
index 3ddcc449a..307726581 100644
--- a/pkg/minikube/cruntime/docker.go
+++ b/pkg/minikube/cruntime/docker.go
@@ -17,7 +17,6 @@ limitations under the License.
 package cruntime
 
 import (
-	"encoding/json"
 	"fmt"
 	"os"
 	"os/exec"
@@ -26,7 +25,6 @@ import (
 	"time"
 
 	"github.com/blang/semver/v4"
-	units "github.com/docker/go-units"
 	"github.com/pkg/errors"
 	"k8s.io/klog/v2"
 	"k8s.io/minikube/pkg/minikube/assets"
@@ -185,43 +183,22 @@ func (r *Docker) ImageExists(name string, sha string) bool {
 }
 
 // ListImages returns a list of images managed by this container runtime
-func (r *Docker) ListImages(ListImagesOptions) ([]ListImage, error) {
-	c := exec.Command("docker", "images", "--no-trunc", "--format", "{{json .}}")
+func (r *Docker) ListImages(ListImagesOptions) ([]string, error) {
+	c := exec.Command("docker", "images", "--format", "{{.Repository}}:{{.Tag}}")
 	rr, err := r.Runner.RunCmd(c)
 	if err != nil {
 		return nil, errors.Wrapf(err, "docker images")
 	}
-	type dockerImage struct {
-		ID         string `json:"ID"`
-		Repository string `json:"Repository"`
-		Tag        string `json:"Tag"`
-		Size       string `json:"Size"`
-	}
-	images := strings.Split(rr.Stdout.String(), "\n")
-	result := []ListImage{}
-	for _, img := range images {
+	short := strings.Split(rr.Stdout.String(), "\n")
+	imgs := []string{}
+	for _, img := range short {
 		if img == "" {
 			continue
 		}
-
-		var jsonImage dockerImage
-		if err := json.Unmarshal([]byte(img), &jsonImage); err != nil {
-			return nil, errors.Wrap(err, "Image convert problem")
-		}
-		size, err := units.FromHumanSize(jsonImage.Size)
-		if err != nil {
-			return nil, errors.Wrap(err, "Image size convert problem")
-		}
-
-		repoTag := fmt.Sprintf("%s:%s", jsonImage.Repository, jsonImage.Tag)
-		result = append(result, ListImage{
-			ID:          strings.TrimPrefix(jsonImage.ID, "sha256:"),
-			RepoDigests: []string{},
-			RepoTags:    []string{addDockerIO(repoTag)},
-			Size:        fmt.Sprintf("%d", size),
-		})
+		img = addDockerIO(img)
+		imgs = append(imgs, img)
 	}
-	return result, nil
+	return imgs, nil
 }
 
 // LoadImage loads an image into this runtime
diff --git a/pkg/minikube/download/iso.go b/pkg/minikube/download/iso.go
index dca28b6c0..26557061d 100644
--- a/pkg/minikube/download/iso.go
+++ b/pkg/minikube/download/iso.go
@@ -40,7 +40,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/13195"
+	isoBucket := "minikube-builds/iso/12892"
 	return []string{
 		fmt.Sprintf("https://storage.googleapis.com/%s/minikube-%s.iso", isoBucket, v),
 		fmt.Sprintf("https://github.com/kubernetes/minikube/releases/download/%s/minikube-%s.iso", v, v),
diff --git a/pkg/minikube/driver/driver.go b/pkg/minikube/driver/driver.go
index 6808c862c..34e277009 100644
--- a/pkg/minikube/driver/driver.go
+++ b/pkg/minikube/driver/driver.go
@@ -235,7 +235,7 @@ type FlagHints struct {
 
 // FlagDefaults returns suggested defaults based on a driver
 func FlagDefaults(name string) FlagHints {
-	fh := FlagHints{ExtraOptions: []string{"kubelet.global-housekeeping-interval=60m", "kubelet.housekeeping-interval=5m"}}
+	fh := FlagHints{}
 	if name != None {
 		fh.CacheImages = true
 		return fh
diff --git a/pkg/minikube/logs/logs.go b/pkg/minikube/logs/logs.go
index 13593766c..4db98ea07 100644
--- a/pkg/minikube/logs/logs.go
+++ b/pkg/minikube/logs/logs.go
@@ -174,8 +174,6 @@ func Output(r cruntime.Manager, bs bootstrapper.Bootstrapper, cfg config.Cluster
 
 	out.SetOutFile(logOutput)
 	defer out.SetOutFile(os.Stdout)
-	out.SetErrFile(logOutput)
-	defer out.SetErrFile(os.Stderr)
 
 	sort.Strings(names)
 	failed := []string{}
@@ -250,8 +248,6 @@ func outputLastStart() error {
 func OutputOffline(lines int, logOutput *os.File) {
 	out.SetOutFile(logOutput)
 	defer out.SetOutFile(os.Stdout)
-	out.SetErrFile(logOutput)
-	defer out.SetErrFile(os.Stderr)
 	if err := outputAudit(lines); err != nil {
 		klog.Errorf("failed to output audit logs: %v", err)
 	}
diff --git a/pkg/minikube/machine/cache_images.go b/pkg/minikube/machine/cache_images.go
index 923e78a8f..cedcc62db 100644
--- a/pkg/minikube/machine/cache_images.go
+++ b/pkg/minikube/machine/cache_images.go
@@ -17,25 +17,20 @@ limitations under the License.
 package machine
 
 import (
-	"encoding/json"
 	"fmt"
 	"os"
 	"os/exec"
 	"path"
 	"path/filepath"
 	"sort"
-	"strconv"
 	"strings"
 	"sync"
 	"time"
 
 	"github.com/docker/docker/client"
-	"github.com/docker/go-units"
 	"github.com/docker/machine/libmachine/state"
-	"github.com/olekukonko/tablewriter"
 	"github.com/pkg/errors"
 	"golang.org/x/sync/errgroup"
-	"gopkg.in/yaml.v2"
 	"k8s.io/klog/v2"
 	"k8s.io/minikube/pkg/minikube/assets"
 	"k8s.io/minikube/pkg/minikube/bootstrapper"
@@ -671,7 +666,7 @@ func RemoveImages(images []string, profile *config.Profile) error {
 }
 
 // ListImages lists images on all nodes in profile
-func ListImages(profile *config.Profile, format string) error {
+func ListImages(profile *config.Profile) error {
 	api, err := NewAPIClient()
 	if err != nil {
 		return errors.Wrap(err, "error creating api client")
@@ -686,7 +681,6 @@ func ListImages(profile *config.Profile, format string) error {
 		return errors.Wrapf(err, "error loading config for profile :%v", pName)
 	}
 
-	images := map[string]cruntime.ListImage{}
 	for _, n := range c.Nodes {
 		m := config.MachineName(*c, n)
 
@@ -715,100 +709,14 @@ func ListImages(profile *config.Profile, format string) error {
 				klog.Warningf("Failed to list images for profile %s %v", pName, err.Error())
 				continue
 			}
-
-			for _, img := range list {
-				if _, ok := images[img.ID]; !ok {
-					images[img.ID] = img
-				}
-			}
-		}
-	}
-
-	uniqueImages := []cruntime.ListImage{}
-	for _, img := range images {
-		uniqueImages = append(uniqueImages, img)
-	}
-
-	switch format {
-	case "table":
-		var data [][]string
-		for _, item := range uniqueImages {
-			imageSize := humanImageSize(item.Size)
-			id := parseImageID(item.ID)
-			for _, img := range item.RepoTags {
-				imageName, tag := parseRepoTag(img)
-				if imageName == "" {
-					continue
-				}
-				data = append(data, []string{imageName, tag, id, imageSize})
-			}
-		}
-		renderImagesTable(data)
-	case "json":
-		json, err := json.Marshal(uniqueImages)
-		if err != nil {
-			klog.Warningf("Error marshalling images list: %v", err.Error())
-			return nil
-		}
-		fmt.Printf(string(json) + "\n")
-	case "yaml":
-		yaml, err := yaml.Marshal(uniqueImages)
-		if err != nil {
-			klog.Warningf("Error marshalling images list: %v", err.Error())
-			return nil
+			sort.Sort(sort.Reverse(sort.StringSlice(list)))
+			fmt.Printf(strings.Join(list, "\n") + "\n")
 		}
-		fmt.Printf(string(yaml) + "\n")
-	default:
-		res := []string{}
-		for _, item := range uniqueImages {
-			res = append(res, item.RepoTags...)
-		}
-		sort.Sort(sort.Reverse(sort.StringSlice(res)))
-		fmt.Printf(strings.Join(res, "\n") + "\n")
 	}
 
 	return nil
 }
 
-// parseRepoTag splits input string for two parts: image name and image tag
-func parseRepoTag(repoTag string) (string, string) {
-	idx := strings.LastIndex(repoTag, ":")
-	if idx == -1 {
-		return "", ""
-	}
-	return repoTag[:idx], repoTag[idx+1:]
-}
-
-// parseImageID truncates image id
-func parseImageID(id string) string {
-	maxImageIDLen := 13
-	if len(id) > maxImageIDLen {
-		return id[:maxImageIDLen]
-	}
-	return id
-}
-
-// humanImageSize prints size of image in human readable format
-func humanImageSize(imageSize string) string {
-	f, err := strconv.ParseFloat(imageSize, 32)
-	if err == nil {
-		return units.HumanSizeWithPrecision(f, 3)
-	}
-	return imageSize
-}
-
-// renderImagesTable renders pretty table for images list
-func renderImagesTable(images [][]string) {
-	table := tablewriter.NewWriter(os.Stdout)
-	table.SetHeader([]string{"Image", "Tag", "Image ID", "Size"})
-	table.SetAutoFormatHeaders(false)
-	table.SetBorders(tablewriter.Border{Left: true, Top: true, Right: true, Bottom: true})
-	table.SetAlignment(tablewriter.ALIGN_LEFT)
-	table.SetCenterSeparator("|")
-	table.AppendBulk(images)
-	table.Render()
-}
-
 // TagImage tags image in all nodes in profile
 func TagImage(profile *config.Profile, source string, target string) error {
 	api, err := NewAPIClient()
diff --git a/pkg/minikube/node/config.go b/pkg/minikube/node/config.go
index 5fd239438..9946942c6 100644
--- a/pkg/minikube/node/config.go
+++ b/pkg/minikube/node/config.go
@@ -29,7 +29,6 @@ import (
 	"k8s.io/minikube/pkg/minikube/config"
 	"k8s.io/minikube/pkg/minikube/constants"
 	"k8s.io/minikube/pkg/minikube/cruntime"
-	"k8s.io/minikube/pkg/minikube/driver"
 	"k8s.io/minikube/pkg/minikube/exit"
 	"k8s.io/minikube/pkg/minikube/localpath"
 	"k8s.io/minikube/pkg/minikube/out"
@@ -56,7 +55,7 @@ func configureMounts(wg *sync.WaitGroup, cc config.ClusterConfig) {
 	wg.Add(1)
 	defer wg.Done()
 
-	if !cc.Mount || driver.IsKIC(cc.Driver) {
+	if !cc.Mount {
 		return
 	}
 
diff --git a/pkg/minikube/node/start.go b/pkg/minikube/node/start.go
index a611767d7..3ed1f7861 100644
--- a/pkg/minikube/node/start.go
+++ b/pkg/minikube/node/start.go
@@ -90,13 +90,11 @@ type Starter struct {
 
 // Start spins up a guest and starts the Kubernetes node.
 func Start(starter Starter, apiServer bool) (*kubeconfig.Settings, error) {
-	var wg sync.WaitGroup
-	stopk8s, err := handleNoKubernetes(starter)
+	stop8ks, err := handleNoKubernetes(starter)
 	if err != nil {
 		return nil, err
 	}
-	if stopk8s {
-		configureMounts(&wg, *starter.Cfg)
+	if stop8ks {
 		return nil, config.Write(viper.GetString(config.ProfileName), starter.Cfg)
 	}
 
@@ -148,7 +146,10 @@ func Start(starter Starter, apiServer bool) (*kubeconfig.Settings, error) {
 		}
 	}
 
-	go configureMounts(&wg, *starter.Cfg)
+	var wg sync.WaitGroup
+	if !driver.IsKIC(starter.Cfg.Driver) {
+		go configureMounts(&wg, *starter.Cfg)
+	}
 
 	wg.Add(1)
 	go func() {
diff --git a/site/content/en/docs/benchmarks/timeToK8s/daily_benchmark.md b/site/content/en/docs/benchmarks/timeToK8s/daily_benchmark.md
index 74be17596..62ce29cd9 100644
--- a/site/content/en/docs/benchmarks/timeToK8s/daily_benchmark.md
+++ b/site/content/en/docs/benchmarks/timeToK8s/daily_benchmark.md
@@ -2,7 +2,7 @@
 title: "Daily Benchmark"
 description: >
   Chart to visualize the time-to-k8s benchmark daily against HEAD
-weight: -99999998
+weight: -99999999
 ---
 
 [Benchmarking Machine Specs](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources)
diff --git a/site/content/en/docs/benchmarks/timeToK8s/weekly_benchmark.md b/site/content/en/docs/benchmarks/timeToK8s/weekly_benchmark.md
index 45f8bcf85..0ec753eb4 100644
--- a/site/content/en/docs/benchmarks/timeToK8s/weekly_benchmark.md
+++ b/site/content/en/docs/benchmarks/timeToK8s/weekly_benchmark.md
@@ -2,7 +2,7 @@
 title: "Weekly Average Benchmark"
 description: >
   Chart to visualize the time-to-k8s benchmark weekly average against HEAD
-weight: -99999999
+weight: -99999998
 ---
 
 [Benchmarking Machine Specs](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources)
diff --git a/site/content/en/docs/commands/image.md b/site/content/en/docs/commands/image.md
index 36893944b..ccee3713f 100644
--- a/site/content/en/docs/commands/image.md
+++ b/site/content/en/docs/commands/image.md
@@ -196,12 +196,6 @@ $ minikube image ls
 
 ```
 
-### Options
-
-```
-      --format string   Format output. One of: short|table|json|yaml (default "short")
-```
-
 ### Options inherited from parent commands
 
 ```
diff --git a/site/content/en/docs/commands/start.md b/site/content/en/docs/commands/start.md
index 9f40e9b6d..b19e58fd4 100644
--- a/site/content/en/docs/commands/start.md
+++ b/site/content/en/docs/commands/start.md
@@ -26,7 +26,7 @@ minikube start [flags]
       --apiserver-names strings           A set of apiserver names which are used in the generated certificate for kubernetes.  This can be used if you want to make the apiserver available from outside the machine
       --apiserver-port int                The apiserver listening port (default 8443)
       --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.28-1640212998-13227@sha256:be897edc9ed473a9678010f390a0092f488f6a1c30865f571c3b6388f9f56f9b")
+      --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.28-1639515145-13124@sha256:50a7fba584fcd78435535ec8407fa75d58db1612175b13fd473300d522f7ac80")
       --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)
       --cni string                        CNI plug-in to use. Valid options: auto, bridge, calico, cilium, flannel, kindnet, or path to a CNI manifest (default: auto)
@@ -66,7 +66,7 @@ minikube start [flags]
       --insecure-registry strings         Insecure Docker registries to pass to the Docker daemon.  The default service CIDR range will automatically be added.
       --install-addons                    If set, install addons. Defaults to true. (default true)
       --interactive                       Allow user prompts for more information (default true)
-      --iso-url strings                   Locations to fetch the minikube ISO from. (default [https://storage.googleapis.com/minikube-builds/iso/13195/minikube-v1.24.0-1640253061-13195.iso,https://github.com/kubernetes/minikube/releases/download/v1.24.0-1640253061-13195/minikube-v1.24.0-1640253061-13195.iso,https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.24.0-1640253061-13195.iso])
+      --iso-url strings                   Locations to fetch the minikube ISO from. (default [https://storage.googleapis.com/minikube-builds/iso/12892/minikube-v1.24.0-1639505700-12892.iso,https://github.com/kubernetes/minikube/releases/download/v1.24.0-1639505700-12892/minikube-v1.24.0-1639505700-12892.iso,https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.24.0-1639505700-12892.iso])
       --keep-context                      This will keep the existing kubectl context and will create a minikube context.
       --kubernetes-version string         The Kubernetes version that the minikube VM will use (ex: v1.2.3, 'stable' for v1.23.1, 'latest' for v1.23.2-rc.0). Defaults to 'stable'.
       --kvm-gpu                           Enable experimental NVIDIA GPU support in minikube
diff --git a/translations/de.json b/translations/de.json
index a3d5fa3be..fc4d8509f 100644
--- a/translations/de.json
+++ b/translations/de.json
@@ -296,7 +296,6 @@
 	"For more information, see: {{.url}}": "",
 	"Force environment to be configured for a specified shell: [fish, cmd, powershell, tcsh, bash, zsh], default is auto-detect": "",
 	"Force minikube to perform possibly dangerous operations": "minikube zwingen, möglicherweise gefährliche Operationen durchzuführen",
-	"Format output. One of: short|table|json|yaml": "",
 	"Format to print stdout in. Options include: [text,json]": "",
 	"Found docker, but the docker service isn't running. Try restarting the docker service.": "",
 	"Found driver(s) but none were healthy. See above for suggestions how to fix installed drivers.": "",
diff --git a/translations/es.json b/translations/es.json
index ce2b39806..4d3c3a41b 100644
--- a/translations/es.json
+++ b/translations/es.json
@@ -8,7 +8,7 @@
 	"'none' driver does not support 'minikube mount' command": "El driver 'none' no soporta el comando 'minikube mount'.",
 	"'none' driver does not support 'minikube podman-env' command": "El controlador 'none' no soporta el comando 'minikube podman-env'.",
 	"'none' driver does not support 'minikube ssh' command": "El controlador 'none' no soporta el comando 'minikube ssh'.",
-	"'none' driver does not support 'minikube ssh-host' command": "El controlador 'none' no soporta el comando 'minikube ssh-host'",
+	"'none' driver does not support 'minikube ssh-host' command": "",
 	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube docker-env\" to point your docker-cli to the docker inside minikube.\n- \"minikube image\" to build images without docker.": "",
 	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube image\" to build images without docker.": "",
 	"- \"minikube ssh\" to SSH into minikube's node.\n- \"minikube podman-env\" to point your podman-cli to the podman inside minikube.\n- \"minikube image\" to build images without docker.": "",
@@ -19,9 +19,9 @@
 	"- Prune unused {{.driver_name}} images, volumes, networks and abandoned containers.\n\n\t\t\t\t{{.driver_name}} system prune --volumes": "- Recorta las imágenes, volumenes, redes y contenedores abandonados de {{.driver_name}}.\n\n\t\t\t\t{{.driver_name}} system prune --volumes",
 	"- Restart your {{.driver_name}} service": "- Reinicia el servicio {{.driver_name}}",
 	"- {{.logPath}}": "",
-	"--container-runtime must be set to \\\"containerd\\\" or \\\"cri-o\\\" for rootless": "--container-runtime debe ser configurado a \\\"containerd\\\" o \\\"crio-o\\\" para no usar usuario root",
-	"--kvm-numa-count range is 1-8": "--kvm-numa-count el rango es 1-8",
-	"--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "el flag --network es válido solamente con docker/podman y KVM, será ignorado",
+	"--container-runtime must be set to \\\"containerd\\\" or \\\"cri-o\\\" for rootless": "",
+	"--kvm-numa-count range is 1-8": "",
+	"--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "",
 	"1) Recreate the cluster with Kubernetes {{.new}}, by running:\n\t  \n\t\t  minikube delete{{.profile}}\n\t\t  minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.new}}\n\t  \n\t\t2) Create a second cluster with Kubernetes {{.new}}, by running:\n\t  \n\t\t  minikube start -p {{.suggestedName}} --kubernetes-version={{.prefix}}{{.new}}\n\t  \n\t\t3) Use the existing cluster at version Kubernetes {{.old}}, by running:\n\t  \n\t\t  minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.old}}\n\t\t": "",
 	"1. Click on \"Docker for Desktop\" menu icon\n\t\t\t2. Click \"Preferences\"\n\t\t\t3. Click \"Resources\"\n\t\t\t4. Increase \"CPUs\" slider bar to 2 or higher\n\t\t\t5. Click \"Apply \u0026 Restart\"": "",
 	"1. Click on \"Docker for Desktop\" menu icon\n\t\t\t2. Click \"Preferences\"\n\t\t\t3. Click \"Resources\"\n\t\t\t4. Increase \"Memory\" slider bar to {{.recommend}} or higher\n\t\t\t5. Click \"Apply \u0026 Restart\"": "",
@@ -42,10 +42,10 @@
 	"A set of key=value pairs that describe feature gates for alpha/experimental features.": "Un conjunto de pares clave=valor que indican si las funciones experimentales o en versión alfa deben estar o no habilitadas.",
 	"Access the Kubernetes dashboard running within the minikube cluster": "Acceder al panel de Kubernetes que corre dentro del cluster minikube",
 	"Access to ports below 1024 may fail on Windows with OpenSSH clients older than v8.1. For more information, see: https://minikube.sigs.k8s.io/docs/handbook/accessing/#access-to-ports-1024-on-windows-requires-root-permission": "",
-	"Add SSH identity key to SSH authentication agent": "Agregar llave SSH al agente de autenticacion SSH",
+	"Add SSH identity key to SSH authentication agent": "",
 	"Add an image to local cache.": "Agregar una imagen al caché local",
-	"Add host key to SSH known_hosts file": "Agregar la llave del host al fichero known_hosts",
-	"Add image to cache for all running minikube clusters": "Agregar la imagen al cache para todos los cluster de minikube activos",
+	"Add host key to SSH known_hosts file": "",
+	"Add image to cache for all running minikube clusters": "",
 	"Add machine IP to NO_PROXY environment variable": "Agregar una IP de máquina a la variable de entorno NO_PROXY",
 	"Add, delete, or push a local image into minikube": "Agrega, elimina, o empuja una imagen local dentro de minikube, haciendo (add, delete, push) respectivamente.",
 	"Add, remove, or list additional nodes": "Usa (add, remove, list) para agregar, eliminar o listar nodos adicionales.",
@@ -60,23 +60,23 @@
 	"All existing scheduled stops cancelled": "",
 	"Allow user prompts for more information": "Permitir que el usuario solicite más información",
 	"Alternative image repository to pull docker images from. This can be used when you have limited access to gcr.io. Set it to \\\"auto\\\" to let minikube decide one for you. For Chinese mainland users, you may use local gcr.io mirrors such as registry.cn-hangzhou.aliyuncs.com/google_containers": "Repositorio de imágenes alternativo del que extraer imágenes de Docker. Puedes usarlo cuando tengas acceso limitado a gcr.io. Si quieres que minikube elija uno por ti, solo tienes que definir el valor como \"auto\". Los usuarios de China continental pueden utilizar réplicas locales de gcr.io, como registry.cn-hangzhou.aliyuncs.com/google_containers",
-	"Alternatively you could install one of these drivers:": "Alternativamente, puede installar uno de estos drivers:",
+	"Alternatively you could install one of these drivers:": "",
 	"Amount of RAM allocated to the minikube VM (format: \u003cnumber\u003e[\u003cunit\u003e], where unit = b, k, m or g)": "Cantidad de RAM asignada a la VM de minikube (formato: \u003cnúmero\u003e[\u003cunidad\u003e], donde unidad = b, k, m o g)",
 	"Amount of time to wait for a service in seconds": "Cantidad de tiempo para esperar por un servicio en segundos",
 	"Amount of time to wait for service in seconds": "Cantidad de tiempo para esperar un servicio en segundos",
 	"Another hypervisor, such as VirtualBox, is conflicting with KVM. Please stop the other hypervisor, or use --driver to switch to it.": "Otro hipervisor, por ejemplo VirtualBox, está en conflicto con KVM. Por favor detén el otro hipervisor, o usa --driver para cambiarlo.",
-	"Another minikube instance is downloading dependencies... ": "Otra instancia de minikube esta descargando dependencias...",
+	"Another minikube instance is downloading dependencies... ": "",
 	"Another program is using a file required by minikube. If you are using Hyper-V, try stopping the minikube VM from within the Hyper-V manager": "Otro programa está usando un archivo requerido por minikube. Si estas usando Hyper-V, intenta detener la máquina virtual de minikube desde el administrador de Hyper-V",
-	"At least needs control plane nodes to enable addon": "Al menos se necesita un nodo de plano de control para habilitar el addon",
+	"At least needs control plane nodes to enable addon": "",
 	"Automatically selected the {{.driver}} driver": "Controlador {{.driver}} seleccionado automáticamente",
 	"Automatically selected the {{.driver}} driver. Other choices: {{.alternates}}": "Controlador {{.driver}} seleccionado automáticamente. Otras opciones: {{.alternates}}",
 	"Available Commands": "Comandos disponibles",
 	"Basic Commands:": "Comandos basicos:",
 	"Because you are using a Docker driver on {{.operating_system}}, the terminal needs to be open to run it.": "Porque estás usando controlador Docker en {{.operating_system}}, la terminal debe abrirse para ejecutarlo.",
 	"Bind Address: {{.Address}}": "Dirección de enlace: {{.Address}}",
-	"Booting up control plane ...": "Iniciando plano de control",
+	"Booting up control plane ...": "",
 	"Both driver={{.driver}} and vm-driver={{.vmd}} have been set.\n\n    Since vm-driver is deprecated, minikube will default to driver={{.driver}}.\n\n    If vm-driver is set in the global config, please run \"minikube config unset vm-driver\" to resolve this warning.\n\t\t\t": "Ambos driver={{.driver}} y vm-driver={{.vmd}} han sido establecidos.\n\n vm-driver ya es obsoleto, el por defecto de minikube será driver={{.driver}}.\n\n Si vm-driver está establecido en la configuracion global, ejecuta \"minikube config unset vm-driver\" para resolver esta advertencia.\n\t\t\t",
-	"Bridge CNI is incompatible with multi-node clusters, use a different CNI": "El CNI Bridge no es compatible con clusters multi-nodo, use un CNI diferente",
+	"Bridge CNI is incompatible with multi-node clusters, use a different CNI": "",
 	"Build a container image in minikube": "",
 	"Build a container image, using the container runtime.": "",
 	"Build image on all nodes.": "",
@@ -107,7 +107,7 @@
 	"Configure environment to use minikube's Docker daemon": "Configura un entorno para usar el Docker daemon de minikube",
 	"Configure environment to use minikube's Podman service": "Configura un entorno para usar el servicio Podman de minikube",
 	"Configures the addon w/ADDON_NAME within minikube (example: minikube addons configure registry-creds). For a list of available addons use: minikube addons list": "Configura los complementos dentro de minikube con ADDON_NAME (Por ejemplo: minikube addons configure registry-creds). Para ver los complementos disponibles usa: minikube addons list",
-	"Configuring RBAC rules ...": "Configurando reglas RBAC...",
+	"Configuring RBAC rules ...": "",
 	"Configuring local host environment ...": "Configuranto entorno del host local ...",
 	"Configuring {{.name}} (Container Networking Interface) ...": "Configurando CNI {{.name}} ...",
 	"Confirm that you have a working internet connection and that your VM has not run out of resources by using: 'minikube logs'": "Confirma que su conexión a internet funciona y que su VM no se quedó sin recursos con: 'minikube logs'",
@@ -117,13 +117,13 @@
 	"Consider increasing Docker Desktop's memory size.": "Considera incrementar la memoria asignada a Docker Desktop",
 	"Continuously listing/getting the status with optional interval duration.": "",
 	"Control Plane could not update, try minikube delete --all --purge": "",
-	"Copy the specified file into minikube": "Copie el fichero dentro de minikube",
+	"Copy the specified file into minikube": "",
 	"Copy the specified file into minikube, it will be saved at path \u003ctarget file absolute path\u003e in your minikube.\nDefault target node controlplane and If \u003csource node name\u003e is omitted, It will trying to copy from host.\n\nExample Command : \"minikube cp a.txt /home/docker/b.txt\" +\n                  \"minikube cp a.txt minikube-m02:/home/docker/b.txt\"\n                  \"minikube cp minikube-m01:a.txt minikube-m02:/home/docker/b.txt\"": "",
 	"Could not determine a Google Cloud project, which might be ok.": "No se pudo determinar un proyecto de Google Cloud que podría estar bien.",
 	"Could not find any GCP credentials. Either run `gcloud auth application-default login` or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to the path of your credentials file.": "No se puedo encontrar ninguna credencial de GCP. Corre `gcloud auth application-default login` o establezca la variable de entorno GOOGLE_APPLICATION_CREDENTIALS en la ruta de su archivo de credentiales.",
 	"Could not process error from failed deletion": "No se pudo procesar el error de la eliminación fallida",
 	"Could not process errors from failed deletion": "No se pudieron procesar los errores de la eliminación fallida",
-	"Could not resolve IP address": "No se puede resolver la dirección IP",
+	"Could not resolve IP address": "",
 	"Country code of the image mirror to be used. Leave empty to use the global one. For Chinese mainland users, set it to cn.": "Código de país de la réplica de imagen que quieras utilizar. Déjalo en blanco para usar el valor global. Los usuarios de China continental deben definirlo como cn.",
 	"Creating mount {{.name}} ...": "Montando {{.name}}...",
 	"Creating {{.driver_name}} {{.machine_type}} (CPUs={{.number_of_cpus}}, Memory={{.memory_size}}MB) ...": "Creando {{.driver_name}} {{.machine_type}} (CPUs={{.number_of_cpus}}, Memory={{.memory_size}}MB) ...",
@@ -198,8 +198,8 @@
 	"Ensure that the user listed in /etc/libvirt/qemu.conf has access to your home directory": "Garantiza de que los usuarios listados en /etc/libvirt/qemu.conf tienen acceso a tu carpeta home",
 	"Ensure that you are a member of the appropriate libvirt group (remember to relogin for group changes to take effect!)": "",
 	"Ensure that your value for HTTPS_PROXY points to an HTTPS proxy rather than an HTTP proxy": "Garantiza de que tú valor para HTTPS_PROXY apunte a un proxy HTTPS en lugar de uno HTTP",
-	"Ensure the tmp directory path is writable to the current user.": "Asegúrese que el usuario actual puede escribir en el direcotorio tmp",
-	"Ensure you have at least 20GB of free disk space.": "Asegúrese de tener por lo menos 20GB libres en el disco",
+	"Ensure the tmp directory path is writable to the current user.": "",
+	"Ensure you have at least 20GB of free disk space.": "",
 	"Ensure your {{.driver_name}} is running and is healthy.": "Garantiza que {{.driver_name}} está corriendo y está saludable.",
 	"Environment variables to pass to the Docker daemon. (format: key=value)": "Variables de entorno que se transferirán al daemon de Docker. Formato: clave=valor",
 	"Environment variables to pass to the build. (format: key=value)": "",
@@ -226,25 +226,25 @@
 	"Error opening service": "No se ha podido abrir el servicio",
 	"Error parsing Driver version: {{.error}}": "No se ha podido analizar la versión de Driver: {{.error}}",
 	"Error parsing minikube version: {{.error}}": "No se ha podido analizar la versión de minikube: {{.error}}",
-	"Error parsing {{.name}}={{.value}}, {{.err}}": "No se ha podido analizar {{.name}}={{.value}},{{.err}}",
-	"Error reading {{.path}}: {{.error}}": "Error leyendo {{.path}}: {{.error}}",
+	"Error parsing {{.name}}={{.value}}, {{.err}}": "",
+	"Error reading {{.path}}: {{.error}}": "",
 	"Error starting cluster": "No se ha podido iniciar el clúster",
 	"Error starting mount": "No se ha podido iniciar el montaje",
 	"Error while setting kubectl current context :  {{.error}}": "Error mientras se configuraba el contexto actual de kubectl: {{.error}}",
 	"Error while setting kubectl current context:  {{.error}}": "Error mientras se configuraba el contexto actual de kubectl: {{.error}}",
-	"Error with ssh-add": "Error al ejecutar ssh-add",
+	"Error with ssh-add": "",
 	"Error writing mount pid": "No se ha podido escribir el pid de montaje",
 	"Error: You have selected Kubernetes v{{.new}}, but the existing cluster for your profile is running Kubernetes v{{.old}}. Non-destructive downgrades are not supported, but you can proceed by performing one of the following options:\n* Recreate the cluster using Kubernetes v{{.new}}: Run \"minikube delete {{.profile}}\", then \"minikube start {{.profile}} --kubernetes-version={{.new}}\"\n* Create a second cluster with Kubernetes v{{.new}}: Run \"minikube start -p \u003cnew name\u003e --kubernetes-version={{.new}}\"\n* Reuse the existing cluster with Kubernetes v{{.old}} or newer: Run \"minikube start {{.profile}} --kubernetes-version={{.old}}": "Error: Has seleccionado Kubernetes {{.new}}, pero el clúster de tu perfil utiliza la versión {{.old}}. No se puede cambiar a una versión inferior sin eliminar todos los datos y recursos pertinentes, pero dispones de las siguientes opciones para continuar con la operación:\n* Volver a crear el clúster con Kubernetes {{.new}}: ejecuta \"minikube delete {{.profile}}\" y, luego, \"minikube start {{.profile}} --kubernetes-version={{.new}}\"\n* Crear un segundo clúster con Kubernetes {{.new}}: ejecuta \"minikube start -p \u003cnuevo nombre\u003e --kubernetes-version={{.new}}\"\n* Reutilizar el clúster actual con Kubernetes {{.old}} o una versión posterior: ejecuta \"minikube start {{.profile}} --kubernetes-version={{.old}}",
-	"Examples": "Ejemplos",
+	"Examples": "",
 	"Executing \"{{.command}}\" took an unusually long time: {{.duration}}": "",
-	"Existing disk is missing new features ({{.error}}). To upgrade, run 'minikube delete'": "El disco existente no tiene nuevas características ({{.error}}). Para actualizar, ejecute 'minikube delete'",
+	"Existing disk is missing new features ({{.error}}). To upgrade, run 'minikube delete'": "",
 	"Exiting": "Saliendo",
-	"Exiting due to {{.fatal_code}}: {{.fatal_msg}}": "Saliendo por un error {{.fatal_code}}: {{.fatal_msg}}",
+	"Exiting due to {{.fatal_code}}: {{.fatal_msg}}": "",
 	"Exposed port of the proxyfied dashboard. Set to 0 to pick a random port.": "",
 	"External Adapter on which external switch will be created if no external switch is found. (hyperv driver only)": "",
 	"Fail check if container paused": "",
 	"Failed runtime": "",
-	"Failed to build image": "No se pudo construir la imagen",
+	"Failed to build image": "",
 	"Failed to cache and load images": "",
 	"Failed to cache binaries": "",
 	"Failed to cache images": "",
@@ -253,13 +253,13 @@
 	"Failed to change permissions for {{.minikube_dir_path}}: {{.error}}": "No se han podido cambiar los permisos de {{.minikube_dir_path}}: {{.error}}",
 	"Failed to check main repository and mirrors for images": "",
 	"Failed to configure metallb IP {{.profile}}": "",
-	"Failed to create file": "No se pudo crear el fichero",
+	"Failed to create file": "",
 	"Failed to create runtime": "",
 	"Failed to delete cluster {{.name}}, proceeding with retry anyway.": "",
 	"Failed to delete cluster {{.name}}.": "",
 	"Failed to delete cluster: {{.error}}": "No se ha podido eliminar el clúster: {{.error}}",
 	"Failed to delete cluster: {{.error}}__1": "No se ha podido eliminar el clúster: {{.error}}",
-	"Failed to delete images": "No se pudo borrar las imagenes",
+	"Failed to delete images": "",
 	"Failed to delete images from config": "",
 	"Failed to enable container runtime": "",
 	"Failed to get bootstrapper": "",
@@ -268,30 +268,30 @@
 	"Failed to get service URL: {{.error}}": "",
 	"Failed to get temp": "",
 	"Failed to kill mount process: {{.error}}": "No se ha podido detener el proceso de activación: {{.error}}",
-	"Failed to list cached images": "No se pudo listar las imágenes en cache",
-	"Failed to list images": "No se pudieron listar las imagenes",
-	"Failed to load image": "No se pudo cargar la imagen",
+	"Failed to list cached images": "",
+	"Failed to list images": "",
+	"Failed to load image": "",
 	"Failed to persist images": "",
-	"Failed to pull image": "No se pudo enviar la imágen",
-	"Failed to pull images": "No se pudieron obtener imágenes",
-	"Failed to push images": "No se pudieron enviar las imágenes",
+	"Failed to pull image": "",
+	"Failed to pull images": "",
+	"Failed to push images": "",
 	"Failed to read temp": "",
 	"Failed to reload cached images": "",
-	"Failed to remove image": "No se pudo eliminar la imagen",
+	"Failed to remove image": "",
 	"Failed to remove images for profile {{.pName}} {{.error}}": "",
 	"Failed to save config {{.profile}}": "",
 	"Failed to save dir": "",
-	"Failed to save image": "No se pudo guardar la imágen",
+	"Failed to save image": "",
 	"Failed to save stdin": "",
 	"Failed to set NO_PROXY Env. Please use `export NO_PROXY=$NO_PROXY,{{.ip}}": "No se ha podido definir la variable de entorno NO_PROXY. Utiliza export NO_PROXY=$NO_PROXY,{{.ip}}",
 	"Failed to set NO_PROXY Env. Please use `export NO_PROXY=$NO_PROXY,{{.ip}}`.": "",
-	"Failed to setup certs": "No se pudieron configurar los certificados",
+	"Failed to setup certs": "",
 	"Failed to start container runtime": "",
 	"Failed to start {{.driver}} {{.driver_type}}. Running \"{{.cmd}}\" may fix it: {{.error}}": "",
 	"Failed to stop node {{.name}}": "",
 	"Failed to tag images": "",
-	"Failed to update cluster": "No se pudo actualizar el cluster",
-	"Failed to update config": "No se puedo actualizar la configuración",
+	"Failed to update cluster": "",
+	"Failed to update config": "",
 	"Failed unmount: {{.error}}": "",
 	"Filter to use only VM Drivers": "",
 	"Flags": "",
@@ -305,20 +305,19 @@
 	"For more information, see: {{.url}}": "",
 	"Force environment to be configured for a specified shell: [fish, cmd, powershell, tcsh, bash, zsh], default is auto-detect": "",
 	"Force minikube to perform possibly dangerous operations": "Permite forzar minikube para que realice operaciones potencialmente peligrosas",
-	"Format output. One of: short|table|json|yaml": "",
 	"Format to print stdout in. Options include: [text,json]": "",
 	"Found docker, but the docker service isn't running. Try restarting the docker service.": "",
 	"Found driver(s) but none were healthy. See above for suggestions how to fix installed drivers.": "",
 	"Found network options:": "Se han encontrado las siguientes opciones de red:",
-	"Found {{.number}} invalid profile(s) ! ": "Se encontraron {{.number}} perfil(es) invalido(s)",
+	"Found {{.number}} invalid profile(s) ! ": "",
 	"Generate command completion for a shell": "",
 	"Generate command completion for bash.": "",
 	"Generate command completion for fish .": "",
 	"Generate command completion for zsh.": "",
 	"Generate unable to parse disk size '{{.diskSize}}': {{.error}}": "",
 	"Generate unable to parse memory '{{.memory}}': {{.error}}": "",
-	"Generating certificates and keys ...": "Generando certificados y llaves",
-	"Get or list the current profiles (clusters)": "Obtener o listar los perfiles actuales (clusters)",
+	"Generating certificates and keys ...": "",
+	"Get or list the current profiles (clusters)": "",
 	"Gets the logs of the running instance, used for debugging minikube, not user code.": "",
 	"Gets the status of a local Kubernetes cluster": "",
 	"Gets the status of a local Kubernetes cluster.\n\tExit status contains the status of minikube's VM, cluster and Kubernetes encoded on it's bits in this order from right to left.\n\tEg: 7 meaning: 1 (for minikube NOK) + 2 (for cluster NOK) + 4 (for Kubernetes NOK)": "",
@@ -975,10 +974,10 @@
 	"using metrics-server addon, heapster is deprecated": "",
 	"version json failure": "",
 	"version yaml failure": "",
-	"zsh completion failed": "Falló el autocompletado de zsh",
-	"zsh completion.": "autocompletado zsh",
-	"{{ .name }}: Suggestion: {{ .suggestion}}": "{{ .name }}: Sugerencia: {{ .suggestion}}",
-	"{{ .name }}: {{ .rejection }}": "{{ .name }}: {{ .rejection }}",
+	"zsh completion failed": "",
+	"zsh completion.": "",
+	"{{ .name }}: Suggestion: {{ .suggestion}}": "",
+	"{{ .name }}: {{ .rejection }}": "",
 	"{{.Driver}} is currently using the {{.StorageDriver}} storage driver, consider switching to overlay2 for better performance": "",
 	"{{.count}} node{{if gt .count 1}}s{{end}} stopped.": "",
 	"{{.driver_name}} \"{{.cluster}}\" {{.machine_type}} is missing, will recreate.": "",
diff --git a/translations/fr.json b/translations/fr.json
index 9a40ec6e8..a662a116c 100644
--- a/translations/fr.json
+++ b/translations/fr.json
@@ -285,7 +285,6 @@
 	"For more information, see: {{.url}}": "Pour plus d'informations, voir : {{.url}}",
 	"Force environment to be configured for a specified shell: [fish, cmd, powershell, tcsh, bash, zsh], default is auto-detect": "Forcer l'environnement à être configuré pour un shell spécifié : [fish, cmd, powershell, tcsh, bash, zsh], la valeur par défaut est la détection automatique",
 	"Force minikube to perform possibly dangerous operations": "Oblige minikube à réaliser des opérations possiblement dangereuses.",
-	"Format output. One of: short|table|json|yaml": "",
 	"Format to print stdout in. Options include: [text,json]": "Format dans lequel imprimer la sortie standard. Les options incluent : [text,json]",
 	"Found docker, but the docker service isn't running. Try restarting the docker service.": "Docker trouvé, mais le service docker ne fonctionne pas. Essayez de redémarrer le service Docker.",
 	"Found driver(s) but none were healthy. See above for suggestions how to fix installed drivers.": "Pilote(s) trouvé(s) mais aucun n'était en fonctionnement. Voir ci-dessus pour des suggestions sur la façon de réparer les pilotes installés.",
diff --git a/translations/ja.json b/translations/ja.json
index ba6aeaf8c..57a1a0dfc 100644
--- a/translations/ja.json
+++ b/translations/ja.json
@@ -293,7 +293,6 @@
 	"For more information, see: {{.url}}": "",
 	"Force environment to be configured for a specified shell: [fish, cmd, powershell, tcsh, bash, zsh], default is auto-detect": "",
 	"Force minikube to perform possibly dangerous operations": "minikube で危険な可能性のある操作を強制的に実行します",
-	"Format output. One of: short|table|json|yaml": "",
 	"Format to print stdout in. Options include: [text,json]": "",
 	"Found docker, but the docker service isn't running. Try restarting the docker service.": "",
 	"Found driver(s) but none were healthy. See above for suggestions how to fix installed drivers.": "",
@@ -455,57 +454,57 @@
 	"Please enter a value:": "",
 	"Please free up disk or prune images.": "",
 	"Please increse Desktop's disk size.": "",
-	"Please install the minikube hyperkit VM driver, or select an alternative --driver": "minikube hyperkit VM ドライバーをインストールするか、--driver で別のドライバーを選択してください",
-	"Please install the minikube kvm2 VM driver, or select an alternative --driver": "minikube kvm2 VM ドライバーをインストールするか、--driver で別のドライバーを選択してください",
-	"Please make sure the service you are looking for is deployed or is in the correct namespace.": "探しているサービスがデプロイされている、あるいは正しいネームスペース中にあることを確認してください。",
-	"Please provide a path or url to build": "ビルドするパスまたは URL を指定してください",
-	"Please provide an image in the container runtime to save from minikube via \u003cminikube image save IMAGE_NAME\u003e": "\u003cminikube image save IMAGE_NAME\u003e で minikube からセーブする、コンテナーランタイム中のイメージを指定してください",
-	"Please provide an image in your local daemon to load into minikube via \u003cminikube image load IMAGE_NAME\u003e": "\u003cminikube image load IMAGE_NAME\u003e で minikube 中にロードする、ローカルデーモンの中のイメージを指定してください",
-	"Please provide source and target image": "ソースイメージとターゲットイメージを指定してください",
-	"Please re-eval your docker-env, To ensure your environment variables have updated ports:\n\n\t'minikube -p {{.profile_name}} docker-env'\n\n\t": "環境変数が更新されたポート番号を持つことを確実にするために docker-env を再適用してください:\n\n\t'minikube -p {{.profile_name}} docker-env'\n\n\t",
-	"Please re-eval your podman-env, To ensure your environment variables have updated ports:\n\n\t'minikube -p {{.profile_name}} podman-env'\n\n\t": "環境変数が更新されたポート番号を持つことを確実にするために podman-env を再適用してください:\n\n\t'minikube -p {{.profile_name}} podman-env'\n\n\t",
-	"Please run `minikube logs --file=logs.txt` and attach logs.txt to the GitHub issue.": "`minikube logs --file=logs.txt` を実行して、GitHub イシューに logs.txt を添付してください。",
-	"Please see {{.documentation_url}} for more details": "詳細は {{.documentation_url}} を参照してください",
-	"Please specify the directory to be mounted: \n\tminikube mount \u003csource directory\u003e:\u003ctarget directory\u003e   (example: \"/host-home:/vm-home\")": "マウントするディレクトリーを指定してください: \n\tminikube mount \u003cソースディレクトリー\u003e:\u003cターゲットディレクトリー\u003e   (例:「/host-home:/vm-home」)",
-	"Please specify the path to copy: \n\tminikube cp \u003csource file path\u003e \u003ctarget file absolute path\u003e (example: \"minikube cp a/b.txt /copied.txt\")": "コピーするパスを指定してください: \n\tminikube cp \u003cソースファイルのパス\u003e \u003cターゲットファイルの絶対パス\u003e (例:「minikube cp a/b.txt /copied.txt」)",
-	"Please try purging minikube using `minikube delete --all --purge`": "`minikube delete --all --purge` を使用して minikube の削除を試してください",
-	"Please upgrade the '{{.driver_executable}}'. {{.documentation_url}}": "'{{.driver_executable}}' をアップグレードしてください。{{.documentation_url}}",
-	"Please visit the following link for documentation around this: \n\thttps://help.github.com/en/packages/using-github-packages-with-your-projects-ecosystem/configuring-docker-for-use-with-github-packages#authenticating-to-github-packages\n": "関連するドキュメントへの次のリンクを参照してください: \n\thttps://help.github.com/en/packages/using-github-packages-with-your-projects-ecosystem/configuring-docker-for-use-with-github-packages#authenticating-to-github-packages\n",
-	"Populates the specified folder with documentation in markdown about minikube": "指定されたフォルダーに、minikube に関するマークダウンのドキュメントを生成します",
-	"PowerShell is running in constrained mode, which is incompatible with Hyper-V scripting.": "PowerShell は制約付きモードで実行されています (Hyper-V スクリプティングと互換性がありません)。",
+	"Please install the minikube hyperkit VM driver, or select an alternative --driver": "",
+	"Please install the minikube kvm2 VM driver, or select an alternative --driver": "",
+	"Please make sure the service you are looking for is deployed or is in the correct namespace.": "",
+	"Please provide a path or url to build": "",
+	"Please provide an image in the container runtime to save from minikube via \u003cminikube image save IMAGE_NAME\u003e": "",
+	"Please provide an image in your local daemon to load into minikube via \u003cminikube image load IMAGE_NAME\u003e": "",
+	"Please provide source and target image": "",
+	"Please re-eval your docker-env, To ensure your environment variables have updated ports:\n\n\t'minikube -p {{.profile_name}} docker-env'\n\n\t": "",
+	"Please re-eval your podman-env, To ensure your environment variables have updated ports:\n\n\t'minikube -p {{.profile_name}} podman-env'\n\n\t": "",
+	"Please run `minikube logs --file=logs.txt` and attach logs.txt to the GitHub issue.": "",
+	"Please see {{.documentation_url}} for more details": "",
+	"Please specify the directory to be mounted: \n\tminikube mount \u003csource directory\u003e:\u003ctarget directory\u003e   (example: \"/host-home:/vm-home\")": "",
+	"Please specify the path to copy: \n\tminikube cp \u003csource file path\u003e \u003ctarget file absolute path\u003e (example: \"minikube cp a/b.txt /copied.txt\")": "",
+	"Please try purging minikube using `minikube delete --all --purge`": "",
+	"Please upgrade the '{{.driver_executable}}'. {{.documentation_url}}": "「{{.driver_executable}}」をアップグレードしてください。{{.documentation_url}}",
+	"Please visit the following link for documentation around this: \n\thttps://help.github.com/en/packages/using-github-packages-with-your-projects-ecosystem/configuring-docker-for-use-with-github-packages#authenticating-to-github-packages\n": "",
+	"Populates the specified folder with documentation in markdown about minikube": "",
+	"PowerShell is running in constrained mode, which is incompatible with Hyper-V scripting.": "",
 	"Powering off \"{{.profile_name}}\" via SSH ...": "SSH 経由で「{{.profile_name}}」の電源をオフにしています...",
 	"Preparing Kubernetes {{.k8sVersion}} on {{.runtime}} {{.runtimeVersion}} ...": "{{.runtime}} {{.runtimeVersion}} で Kubernetes {{.k8sVersion}} を準備しています...",
 	"Print current and latest version number": "使用中および最新の minikube バージョン番号を表示します",
-	"Print just the version number.": "バージョン番号だけ表示します。",
-	"Print the version of minikube": "minikube バージョンを表示します",
-	"Print the version of minikube.": "minikube のバージョンを表示します。",
-	"Problems detected in {{.entry}}:": "{{.entry}} で問題を検出しました:",
-	"Problems detected in {{.name}}:": "{{.name}} で問題を検出しました:",
-	"Profile \"{{.cluster}}\" not found. Run \"minikube profile list\" to view all profiles.": "「{{.cluster}}」プロファイルが見つかりません。全プロファイルを表示するために「minikube profile list」を実行してください。",
-	"Profile name \"{{.profilename}}\" is reserved keyword. To delete this profile, run: \"{{.cmd}}\"": "プロファイル名「{{.profilename}}」は予約語です。このプロファイルを削除するためには、「{{.cmd}}」を実行します",
-	"Profile name '{{.name}}' is duplicated with machine name '{{.machine}}' in profile '{{.profile}}'": "プロファイル名 '{{.name}}' は '{{.profile}}' プロファイル中のマシン名 '{{.machine}}' と重複しています",
-	"Profile name '{{.name}}' is not valid": "プロファイル名 '{{.name}}' は無効です",
-	"Profile name '{{.profilename}}' is not valid": "プロファイル名 '{{.profilename}}' は無効です",
-	"Profile name should be unique": "プロファイル名は単一でなければなりません",
-	"Provide VM UUID to restore MAC address (hyperkit driver only)": "MAC アドレスを復元するための VM UUID を指定します (hyperkit ドライバーのみ)",
-	"Pull images": "イメージを取得します",
-	"Pull the remote image (no caching)": "リモートイメージを取得します (キャッシュなし)",
-	"Pulling base image ...": "ベースイメージを取得しています...",
-	"Push images": "イメージを登録します",
-	"Push the new image (requires tag)": "新イメージを登録します (タグが必要)",
-	"Reboot to complete VirtualBox installation, verify that VirtualBox is not blocked by your system, and/or use another hypervisor": "VirtualBox インストールを完了させるために再起動し、VirtualBox がシステムや別のハイパーバイザーにブロックされていないことを検証してください",
-	"Rebuild libvirt with virt-network support": "virt-network サポート付きで libvirt を再構築してください",
-	"Received {{.name}} signal": "{{.name}} シグナルを受信しました。",
-	"Recreate the cluster by running:\n\t\tminikube delete {{.profileArg}}\n\t\tminikube start {{.profileArg}}": "次のコマンドを実行してクラスターを再作成してください:\n\t\tminikube delete {{.profileArg}}\n\t\tminikube start {{.profileArg}}",
-	"Registries used by this addon. Separated by commas.": "このアドオンで使用するレジストリー。コンマで区切ります。",
-	"Registry addon with {{.driver}} driver uses port {{.port}} please use that instead of default port 5000": "{{.driver}} ドライバーを使うレジストリーアドオンは {{.port}} 番ポートを使用します。デフォルトの 5000 番ポートの代わりにこちらのポートを使用してください",
-	"Registry mirrors to pass to the Docker daemon": "Docker デーモンに渡すミラーレジストリー",
-	"Reinstall VirtualBox and reboot. Alternatively, try the kvm2 driver: https://minikube.sigs.k8s.io/docs/reference/drivers/kvm2/": "VirtualBox を再インストールして再起動してください。あるいは、kvm2 ドライバーを試してください: https://minikube.sigs.k8s.io/docs/reference/drivers/kvm2/",
-	"Reinstall VirtualBox and verify that it is not blocked: System Preferences -\u003e Security \u0026 Privacy -\u003e General -\u003e Some system software was blocked from loading": "VirtualBox を再インストールして、ブロックされていないことを検証してください: システム環境設定 -\u003e セキュリティーとプライバシー -\u003e 一般 -\u003e いくつかのシステムソフトウェアの読み込みがブロックされました",
-	"Related issue: {{.url}}": "関連イシュー: {{.url}}",
-	"Related issues:": "関連イシュー:",
+	"Print just the version number.": "",
+	"Print the version of minikube": "使用中の minikube バージョン番号を表示します",
+	"Print the version of minikube.": "",
+	"Problems detected in {{.entry}}:": "",
+	"Problems detected in {{.name}}:": "",
+	"Profile \"{{.cluster}}\" not found. Run \"minikube profile list\" to view all profiles.": "",
+	"Profile name \"{{.profilename}}\" is reserved keyword. To delete this profile, run: \"{{.cmd}}\"": "",
+	"Profile name '{{.name}}' is duplicated with machine name '{{.machine}}' in profile '{{.profile}}'": "",
+	"Profile name '{{.name}}' is not valid": "",
+	"Profile name '{{.profilename}}' is not valid": "",
+	"Profile name should be unique": "",
+	"Provide VM UUID to restore MAC address (hyperkit driver only)": "MAC アドレスを復元するための VM UUID を指定します（hyperkit ドライバのみ）",
+	"Pull images": "",
+	"Pull the remote image (no caching)": "",
+	"Pulling base image ...": "イメージを Pull しています...",
+	"Push images": "",
+	"Push the new image (requires tag)": "",
+	"Reboot to complete VirtualBox installation, verify that VirtualBox is not blocked by your system, and/or use another hypervisor": "",
+	"Rebuild libvirt with virt-network support": "",
+	"Received {{.name}} signal": "",
+	"Recreate the cluster by running:\n\t\tminikube delete {{.profileArg}}\n\t\tminikube start {{.profileArg}}": "",
+	"Registries used by this addon. Separated by commas.": "",
+	"Registry addon with {{.driver}} driver uses port {{.port}} please use that instead of default port 5000": "",
+	"Registry mirrors to pass to the Docker daemon": "Docker デーモンに渡すレジストリ ミラー",
+	"Reinstall VirtualBox and reboot. Alternatively, try the kvm2 driver: https://minikube.sigs.k8s.io/docs/reference/drivers/kvm2/": "",
+	"Reinstall VirtualBox and verify that it is not blocked: System Preferences -\u003e Security \u0026 Privacy -\u003e General -\u003e Some system software was blocked from loading": "",
+	"Related issue: {{.url}}": "",
+	"Related issues:": "",
 	"Relaunching Kubernetes using {{.bootstrapper}} ...": "{{.bootstrapper}} を使用して Kubernetes を再起動しています...",
-	"Remove one or more images": "1 つまたは複数のイメージを削除します",
+	"Remove one or more images": "",
 	"Remove the invalid --docker-opt or --insecure-registry flag if one was provided": "",
 	"Removed all traces of the \"{{.name}}\" cluster.": "クラスタ \"{{.name}}\" の全てのトレースを削除しました。",
 	"Removing {{.directory}} ...": "{{.directory}} を削除しています...",
diff --git a/translations/ko.json b/translations/ko.json
index e737e90ba..36098b572 100644
--- a/translations/ko.json
+++ b/translations/ko.json
@@ -320,7 +320,6 @@
 	"For more information, see: {{.url}}": "",
 	"Force environment to be configured for a specified shell: [fish, cmd, powershell, tcsh, bash, zsh], default is auto-detect": "",
 	"Force minikube to perform possibly dangerous operations": "",
-	"Format output. One of: short|table|json|yaml": "",
 	"Format to print stdout in. Options include: [text,json]": "",
 	"Found docker, but the docker service isn't running. Try restarting the docker service.": "",
 	"Found driver(s) but none were healthy. See above for suggestions how to fix installed drivers.": "",
diff --git a/translations/pl.json b/translations/pl.json
index 94b55559f..9b503f081 100644
--- a/translations/pl.json
+++ b/translations/pl.json
@@ -306,7 +306,6 @@
 	"For more information, see: {{.url}}": "",
 	"Force environment to be configured for a specified shell: [fish, cmd, powershell, tcsh, bash, zsh], default is auto-detect": "",
 	"Force minikube to perform possibly dangerous operations": "Wymuś wykonanie potencjalnie niebezpiecznych operacji",
-	"Format output. One of: short|table|json|yaml": "",
 	"Format to print stdout in. Options include: [text,json]": "",
 	"Found docker, but the docker service isn't running. Try restarting the docker service.": "",
 	"Found driver(s) but none were healthy. See above for suggestions how to fix installed drivers.": "",
diff --git a/translations/ru.json b/translations/ru.json
index 008b6bc42..211372763 100644
--- a/translations/ru.json
+++ b/translations/ru.json
@@ -277,7 +277,6 @@
 	"For more information, see: {{.url}}": "",
 	"Force environment to be configured for a specified shell: [fish, cmd, powershell, tcsh, bash, zsh], default is auto-detect": "",
 	"Force minikube to perform possibly dangerous operations": "",
-	"Format output. One of: short|table|json|yaml": "",
 	"Format to print stdout in. Options include: [text,json]": "",
 	"Found docker, but the docker service isn't running. Try restarting the docker service.": "",
 	"Found driver(s) but none were healthy. See above for suggestions how to fix installed drivers.": "",
diff --git a/translations/strings.txt b/translations/strings.txt
index ebbd1f9ac..7a1cdc638 100644
--- a/translations/strings.txt
+++ b/translations/strings.txt
@@ -277,7 +277,6 @@
 	"For more information, see: {{.url}}": "",
 	"Force environment to be configured for a specified shell: [fish, cmd, powershell, tcsh, bash, zsh], default is auto-detect": "",
 	"Force minikube to perform possibly dangerous operations": "",
-	"Format output. One of: short|table|json|yaml": "",
 	"Format to print stdout in. Options include: [text,json]": "",
 	"Found docker, but the docker service isn't running. Try restarting the docker service.": "",
 	"Found driver(s) but none were healthy. See above for suggestions how to fix installed drivers.": "",
diff --git a/translations/zh-CN.json b/translations/zh-CN.json
index 925e0c58b..024f5b445 100644
--- a/translations/zh-CN.json
+++ b/translations/zh-CN.json
@@ -374,7 +374,6 @@
 	"For more information, see: {{.url}}": "",
 	"Force environment to be configured for a specified shell: [fish, cmd, powershell, tcsh, bash, zsh], default is auto-detect": "强制为指定的 shell 配置环境：[fish, cmd, powershell, tcsh, bash, zsh]，默认为 auto-detect",
 	"Force minikube to perform possibly dangerous operations": "强制 minikube 执行可能有风险的操作",
-	"Format output. One of: short|table|json|yaml": "",
 	"Format to print stdout in. Options include: [text,json]": "",
 	"Found docker, but the docker service isn't running. Try restarting the docker service.": "",
 	"Found driver(s) but none were healthy. See above for suggestions how to fix installed drivers.": "",


Test patch:
diff --git a/hack/jenkins/test-flake-chart/flake_chart.html b/hack/jenkins/test-flake-chart/flake_chart.html
index 6f4e8a083..7ba7f7eb0 100644
--- a/hack/jenkins/test-flake-chart/flake_chart.html
+++ b/hack/jenkins/test-flake-chart/flake_chart.html
@@ -23,6 +23,7 @@
     </style>
   </head>
   <body>
+    <div id="period_display"></div>
     <div id="chart_div"></div>
     <div id="data_date_container" style="text-align: right; display: none">
       Data collected on <span id="data_date"></span>
@@ -33,4 +34,4 @@
     el.setAttribute('src', `flake_chart.js?t=${Math.random()}`);
     document.head.appendChild(el);
   </script>
-</html>
\ No newline at end of file
+</html>
diff --git a/hack/jenkins/test-flake-chart/flake_chart.js b/hack/jenkins/test-flake-chart/flake_chart.js
index f044e9fe1..33b04d398 100644
--- a/hack/jenkins/test-flake-chart/flake_chart.js
+++ b/hack/jenkins/test-flake-chart/flake_chart.js
@@ -68,8 +68,9 @@ const testStatus = {
   SKIPPED: "Skipped"
 }
 
-async function loadTestData() {
-  const response = await fetch("data.csv", {
+async function loadTestData(period) {
+  const file = period === "last90" ? "data-last-90.csv" : "data.csv";
+  const response = await fetch(file, {
     headers: {
       "Cache-Control": "max-age=3600,must-revalidate",
     }
@@ -664,6 +665,9 @@ function displayEnvironmentChart(testData, environmentName) {
 }
 
 async function init() {
+  const query = parseUrlQuery(window.location.search);
+  const desiredTest = query.test, desiredEnvironment = query.env || "", desiredPeriod = query.period || "";
+
   google.charts.load('current', { 'packages': ['corechart'] });
   let testData, responseDate;
   try {
@@ -671,16 +675,13 @@ async function init() {
     // Only store the test data (at index 1) into `testData`.
     [testData, responseDate] = (await Promise.all([
       new Promise(resolve => google.charts.setOnLoadCallback(resolve)),
-      loadTestData()
+      loadTestData(desiredPeriod)
     ]))[1];
   } catch (err) {
     displayError(err);
     return;
   }
 
-  const query = parseUrlQuery(window.location.search);
-  const desiredTest = query.test, desiredEnvironment = query.env || "";
-
   if (desiredTest === undefined) {
     displayEnvironmentChart(testData, desiredEnvironment);
   } else {
@@ -688,6 +689,19 @@ async function init() {
   }
   document.querySelector('#data_date_container').style.display = 'block';
   document.querySelector('#data_date').innerText = responseDate.toLocaleString();
+  let periodDisplay, newURL;
+
+  // we're going to take the current page URL (desiredPeriod) and modify it to create the link to the other page
+  if (desiredPeriod === 'last90') {
+    // remove '&period=last90' to make a link to the all-time data page
+    otherPeriodURL = window.location.href.replace(/&?period=last90/gi, '');
+    periodDisplay = `Currently viewing last 90 days of data: <a href="` + otherPeriodURL + `">View all-time data</a>`;
+  } else {
+    // add '&period=last90' to make a link to the last 90 days page
+    otherPeriodURL = window.location.href + '&period=last90';
+    periodDisplay = `Currently viewing all-time data: <a href="` + otherPeriodURL + `">View last 90 days of data</a>`;
+  }
+  document.querySelector('#period_display').innerHTML = periodDisplay;
 }
 
 init();
diff --git a/hack/jenkins/test-flake-chart/process_last_90/process_last_90.go b/hack/jenkins/test-flake-chart/process_last_90/process_last_90.go
new file mode 100644
index 000000000..67e6bc8aa
--- /dev/null
+++ b/hack/jenkins/test-flake-chart/process_last_90/process_last_90.go
@@ -0,0 +1,108 @@
+/*
+Copyright 2021 The Kubernetes Authors All rights reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package main
+
+import (
+	"bufio"
+	"flag"
+	"fmt"
+	"log"
+	"os"
+	"strings"
+	"time"
+)
+
+func main() {
+	dataFile := flag.String("source", "", "The source of the csv file to process")
+	dataLast90File := flag.String("target", "", "The target of the csv file containing last 90 days of data")
+	flag.Parse()
+
+	if *dataFile == "" || *dataLast90File == "" {
+		fmt.Println("All flags are required and cannot be empty")
+		flag.PrintDefaults()
+	}
+
+	data, err := os.Open(*dataFile)
+	if err != nil {
+		log.Fatalf("failed opening source file %q: %v", *dataFile, err)
+	}
+
+	dataLast90, err := os.OpenFile(*dataLast90File, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
+	if err != nil {
+		log.Fatalf("failed creating target file %q: %v", *dataLast90File, err)
+	}
+
+	dw := bufio.NewWriter(dataLast90)
+
+	cutoffDate := time.Now().AddDate(0, 0, -90)
+
+	// to save space we don't repeat duplicate back to back lines if they have the same value
+	// for example:
+	// 2021-09-10,TestOffline,Passed
+	// ,TestForceSystemd,
+	// So the date for line two will be empty, so we need to remember the last line that had a date if it's within last 90 days or not
+	validDate := true
+
+	s := bufio.NewScanner(data)
+	for s.Scan() {
+		line := s.Text()
+		stringDate := strings.Split(line, ",")[1]
+
+		// copy headers
+		if stringDate == "Test Date" {
+			write(dw, line)
+			continue
+		}
+
+		if stringDate == "" {
+			if validDate {
+				write(dw, line)
+			}
+			continue
+		}
+
+		testDate, err := time.Parse("2006-01-02", stringDate)
+		if err != nil {
+			log.Fatalf("failed to parse date %q: %v", stringDate, err)
+		}
+		if testDate.Before(cutoffDate) {
+			validDate = false
+			continue
+		}
+		validDate = true
+		write(dw, line)
+	}
+
+	if err := dw.Flush(); err != nil {
+		log.Fatalf("failed to flush data writer: %v", err)
+	}
+	if err := s.Err(); err != nil {
+		log.Fatalf("scanner had an error: %v", err)
+	}
+	if err := data.Close(); err != nil {
+		log.Fatalf("failed to close source file: %v", err)
+	}
+	if err := dataLast90.Close(); err != nil {
+		log.Fatalf("failed to close target file: %v", err)
+	}
+}
+
+func write(dw *bufio.Writer, line string) {
+	if _, err := dw.WriteString(line + "\n"); err != nil {
+		log.Fatalf("failed to write to data writer: %v", err)
+	}
+}
diff --git a/hack/jenkins/test-flake-chart/sync_tests.sh b/hack/jenkins/test-flake-chart/sync_tests.sh
index 946005650..a3b12dab7 100644
--- a/hack/jenkins/test-flake-chart/sync_tests.sh
+++ b/hack/jenkins/test-flake-chart/sync_tests.sh
@@ -83,6 +83,7 @@ if [[ "${MINIKUBE_LOCATION}" == "master" ]]; then
     SUMMARY="${BUCKET_PATH}/${ENVIRONMENT}_summary.json"
     "${DIR}/upload_tests.sh" "${SUMMARY}" || true
   done
+  "${DIR}/process_last_90/process_last_90.sh"
 else
   "${DIR}/report_flakes.sh" "${MINIKUBE_LOCATION}" "${ROOT_JOB_ID}" "${FINISHED_LIST}"
 fi
diff --git a/pkg/minikube/driver/driver_test.go b/pkg/minikube/driver/driver_test.go
index 67855fb50..021f78c74 100644
--- a/pkg/minikube/driver/driver_test.go
+++ b/pkg/minikube/driver/driver_test.go
@@ -85,7 +85,7 @@ func TestMachineType(t *testing.T) {
 }
 
 func TestFlagDefaults(t *testing.T) {
-	expected := FlagHints{CacheImages: true, ExtraOptions: []string{"kubelet.global-housekeeping-interval=60m", "kubelet.housekeeping-interval=5m"}}
+	expected := FlagHints{CacheImages: true}
 	if diff := cmp.Diff(FlagDefaults(VirtualBox), expected); diff != "" {
 		t.Errorf("defaults mismatch (-want +got):\n%s", diff)
 	}
@@ -98,7 +98,7 @@ func TestFlagDefaults(t *testing.T) {
 
 	expected = FlagHints{
 		CacheImages:  false,
-		ExtraOptions: []string{"kubelet.global-housekeeping-interval=60m", "kubelet.housekeeping-interval=5m", fmt.Sprintf("kubelet.resolv-conf=%s", tf.Name())},
+		ExtraOptions: []string{fmt.Sprintf("kubelet.resolv-conf=%s", tf.Name())},
 	}
 	systemdResolvConf = tf.Name()
 	if diff := cmp.Diff(FlagDefaults(None), expected); diff != "" {
diff --git a/site/content/en/docs/contrib/test_flakes.en.md b/site/content/en/docs/contrib/test_flakes.en.md
index d6b7f52b4..8315ed8bb 100644
--- a/site/content/en/docs/contrib/test_flakes.en.md
+++ b/site/content/en/docs/contrib/test_flakes.en.md
@@ -7,18 +7,18 @@ description: >
 
 |OS|Driver|ContainerRuntime|Link|
 |---|---|---|---|
-|Linux|docker|docker|[Docker_Linux](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=Docker_Linux)|
-|Linux|docker|containerd|[Docker_Linux_containerd](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=Docker_Linux_containerd)|
-|Linux|docker|crio|[Docker_Linux_crio](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=Docker_Linux_crio)|
-|Linux - arm64|docker|crio|[Docker_Linux_crio_arm64](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=Docker_Linux_crio_arm64)|
-|Linux - arm64|docker|docker|[Docker_Linux_docker_arm64](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=Docker_Linux_docker_arm64)|
-|Linux|kvm2|docker|[KVM_Linux](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=KVM_Linux)|
-|Linux|kvm2|containerd|[KVM_Linux_containerd](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=KVM_Linux_containerd)|
-|Linux|kvm2|crio|[KVM_Linux_crio](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=KVM_Linux_crio)|
-|Linux|virtualbox|docker|[VirtualBox_Linux](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=VirtualBox_Linux)|
-|Linux|none|docker|[none_Linux](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=none_Linux)|
-|MacOS|docker|docker|[Docker_macOS](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=Docker_macOS)|
-|MacOS|hyperkit|docker|[Hyperkit_macOS](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=Hyperkit_macOS)|
-|Windows|docker|docker|[Docker_Windows](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=Docker_Windows)|
-|Windows|hyperv|docker|[Hyper-V_Windows](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=Hyper-V_Windows)|
-|Cloud Shell|docker|docker|[Docker_Cloud_Shell](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=Docker_Cloud_Shell)|
+|Linux|docker|docker|[Docker_Linux](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=Docker_Linux&period=last90)|
+|Linux|docker|containerd|[Docker_Linux_containerd](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=Docker_Linux_containerd&period=last90)|
+|Linux|docker|crio|[Docker_Linux_crio](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=Docker_Linux_crio&period=last90)|
+|Linux - arm64|docker|crio|[Docker_Linux_crio_arm64](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=Docker_Linux_crio_arm64&period=last90)|
+|Linux - arm64|docker|docker|[Docker_Linux_docker_arm64](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=Docker_Linux_docker_arm64&period=last90)|
+|Linux|kvm2|docker|[KVM_Linux](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=KVM_Linux&period=last90)|
+|Linux|kvm2|containerd|[KVM_Linux_containerd](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=KVM_Linux_containerd&period=last90)|
+|Linux|kvm2|crio|[KVM_Linux_crio](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=KVM_Linux_crio&period=last90)|
+|Linux|virtualbox|docker|[VirtualBox_Linux](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=VirtualBox_Linux&period=last90)|
+|Linux|none|docker|[none_Linux](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=none_Linux&period=last90)|
+|MacOS|docker|docker|[Docker_macOS](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=Docker_macOS&period=last90)|
+|MacOS|hyperkit|docker|[Hyperkit_macOS](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=Hyperkit_macOS&period=last90)|
+|Windows|docker|docker|[Docker_Windows](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=Docker_Windows&period=last90)|
+|Windows|hyperv|docker|[Hyper-V_Windows](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=Hyper-V_Windows&period=last90)|
+|Cloud Shell|docker|docker|[Docker_Cloud_Shell](https://storage.googleapis.com/minikube-flake-rate/flake_chart.html?env=Docker_Cloud_Shell&period=last90)|
diff --git a/site/content/en/docs/contrib/tests.en.md b/site/content/en/docs/contrib/tests.en.md
index 9967b6b94..1ffab376d 100644
--- a/site/content/en/docs/contrib/tests.en.md
+++ b/site/content/en/docs/contrib/tests.en.md
@@ -91,6 +91,7 @@ Steps:
 runs tests on all the `minikube image` commands, ex. `minikube image load`, `minikube image list`, etc.
 
 Steps:
+- Make sure image listing works by `minikube image ls`
 - Make sure image building works by `minikube image build`
 - Make sure image loading from Docker daemon works by `minikube image load --daemon`
 - Try to load image already loaded and make sure `minikube image load --daemon` works
diff --git a/test/integration/addons_test.go b/test/integration/addons_test.go
index b742f9954..b3983ecb5 100644
--- a/test/integration/addons_test.go
+++ b/test/integration/addons_test.go
@@ -293,7 +293,7 @@ func validateRegistryAddon(ctx context.Context, t *testing.T, profile string) {
 		t.Logf("pre-cleanup %s failed: %v (not a problem)", rr.Command(), err)
 	}
 
-	rr, err = Run(t, exec.CommandContext(ctx, "kubectl", "--context", profile, "run", "--rm", "registry-test", "--restart=Never", "--image=gcr.io/k8s-minikube/busybox", "-it", "--", "sh", "-c", "wget --spider -S http://registry.kube-system.svc.cluster.local"))
+	rr, err = Run(t, exec.CommandContext(ctx, "kubectl", "--context", profile, "run", "--rm", "registry-test", "--restart=Never", "--image=busybox", "-it", "--", "sh", "-c", "wget --spider -S http://registry.kube-system.svc.cluster.local"))
 	if err != nil {
 		t.Errorf("failed to hit registry.kube-system.svc.cluster.local. args %q failed: %v", rr.Command(), err)
 	}
@@ -446,27 +446,27 @@ func validateHelmTillerAddon(ctx context.Context, t *testing.T, profile string)
 
 // validateOlmAddon tests the OLM addon
 func validateOlmAddon(ctx context.Context, t *testing.T, profile string) {
-	t.Skip("Skipping Olm addon till images are fixed")
 	defer PostMortemLogs(t, profile)
+
 	start := time.Now()
 
 	if _, err := Run(t, exec.CommandContext(ctx, "kubectl", "--context", profile, "wait", "--for=condition=ready", "--namespace=olm", "pod", "--selector=app=catalog-operator", "--timeout=90s")); err != nil {
-		t.Fatalf("failed waiting for pod catalog-operator: %v", err)
+		t.Fatalf("failed waititing for pod catalog-operator: %v", err)
 	}
 	t.Logf("catalog-operator stabilized in %s", time.Since(start))
 
 	if _, err := Run(t, exec.CommandContext(ctx, "kubectl", "--context", profile, "wait", "--for=condition=ready", "--namespace=olm", "pod", "--selector=app=olm-operator", "--timeout=90s")); err != nil {
-		t.Fatalf("failed waiting for pod olm-operator: %v", err)
+		t.Fatalf("failed waititing for pod olm-operator: %v", err)
 	}
 	t.Logf("olm-operator stabilized in %s", time.Since(start))
 
 	if _, err := Run(t, exec.CommandContext(ctx, "kubectl", "--context", profile, "wait", "--for=condition=ready", "--namespace=olm", "pod", "--selector=app=packageserver", "--timeout=90s")); err != nil {
-		t.Fatalf("failed waiting for pod olm-operator: %v", err)
+		t.Fatalf("failed waititing for pod olm-operator: %v", err)
 	}
 	t.Logf("packageserver stabilized in %s", time.Since(start))
 
 	if _, err := Run(t, exec.CommandContext(ctx, "kubectl", "--context", profile, "wait", "--for=condition=ready", "--namespace=olm", "pod", "--selector=olm.catalogSource=operatorhubio-catalog", "--timeout=90s")); err != nil {
-		t.Fatalf("failed waiting for pod operatorhubio-catalog: %v", err)
+		t.Fatalf("failed waititing for pod operatorhubio-catalog: %v", err)
 	}
 	t.Logf("operatorhubio-catalog stabilized in %s", time.Since(start))
 
diff --git a/test/integration/functional_test.go b/test/integration/functional_test.go
index a268c058f..19dbab8a1 100644
--- a/test/integration/functional_test.go
+++ b/test/integration/functional_test.go
@@ -245,13 +245,22 @@ func tagAndLoadImage(ctx context.Context, t *testing.T, profile, taggedImage str
 	checkImageExists(ctx, t, profile, taggedImage)
 }
 
-// runImageList is a helper function to run 'image ls' command test.
-func runImageList(ctx context.Context, t *testing.T, profile, testName, format string, expectedResult []string) {
+// validateImageCommands runs tests on all the `minikube image` commands, ex. `minikube image load`, `minikube image list`, etc.
+func validateImageCommands(ctx context.Context, t *testing.T, profile string) {
+	// docs(skip): Skips on `none` driver as image loading is not supported
+	if NoneDriver() {
+		t.Skip("image commands are not available on the none driver")
+	}
+	// docs(skip): Skips on GitHub Actions and macOS as this test case requires a running docker daemon
+	if GithubActionRunner() && runtime.GOOS == "darwin" {
+		t.Skip("skipping on darwin github action runners, as this test requires a running docker daemon")
+	}
+
 	// docs: Make sure image listing works by `minikube image ls`
-	t.Run(testName, func(t *testing.T) {
+	t.Run("ImageList", func(t *testing.T) {
 		MaybeParallel(t)
 
-		rr, err := Run(t, exec.CommandContext(ctx, Target(), "-p", profile, "image", "ls", "--format", format))
+		rr, err := Run(t, exec.CommandContext(ctx, Target(), "-p", profile, "image", "ls"))
 		if err != nil {
 			t.Fatalf("listing image with minikube: %v\n%s", err, rr.Output())
 		}
@@ -263,29 +272,12 @@ func runImageList(ctx context.Context, t *testing.T, profile, testName, format s
 		}
 
 		list := rr.Output()
-		for _, theImage := range expectedResult {
+		for _, theImage := range []string{"k8s.gcr.io/pause", "docker.io/kubernetesui/dashboard"} {
 			if !strings.Contains(list, theImage) {
 				t.Fatalf("expected %s to be listed with minikube but the image is not there", theImage)
 			}
 		}
 	})
-}
-
-// validateImageCommands runs tests on all the `minikube image` commands, ex. `minikube image load`, `minikube image list`, etc.
-func validateImageCommands(ctx context.Context, t *testing.T, profile string) {
-	// docs(skip): Skips on `none` driver as image loading is not supported
-	if NoneDriver() {
-		t.Skip("image commands are not available on the none driver")
-	}
-	// docs(skip): Skips on GitHub Actions and macOS as this test case requires a running docker daemon
-	if GithubActionRunner() && runtime.GOOS == "darwin" {
-		t.Skip("skipping on darwin github action runners, as this test requires a running docker daemon")
-	}
-
-	runImageList(ctx, t, profile, "ImageListShort", "short", []string{"k8s.gcr.io/pause", "docker.io/kubernetesui/dashboard"})
-	runImageList(ctx, t, profile, "ImageListTable", "table", []string{"| k8s.gcr.io/pause", "| docker.io/kubernetesui/dashboard"})
-	runImageList(ctx, t, profile, "ImageListJson", "json", []string{"[\"k8s.gcr.io/pause", "[\"docker.io/kubernetesui/dashboard"})
-	runImageList(ctx, t, profile, "ImageListYaml", "yaml", []string{"- k8s.gcr.io/pause", "- docker.io/kubernetesui/dashboard"})
 
 	// docs: Make sure image building works by `minikube image build`
 	t.Run("ImageBuild", func(t *testing.T) {
diff --git a/test/integration/mount_start_test.go b/test/integration/mount_start_test.go
index 1a9b518d4..9c0ed82e0 100644
--- a/test/integration/mount_start_test.go
+++ b/test/integration/mount_start_test.go
@@ -26,7 +26,6 @@ import (
 	"strconv"
 	"strings"
 	"testing"
-	"time"
 )
 
 const (
@@ -94,14 +93,12 @@ func validateStartWithMount(ctx context.Context, t *testing.T, profile string) {
 	// We have to increment this because if you have two mounts with the same port, when you kill one cluster the mount will break for the other
 	mountStartPort++
 
-	args := []string{"start", "-p", profile, "--memory=2048", "--mount", "--mount-gid", mountGID, "--mount-msize", mountMSize, "--mount-port", mountPort(), "--mount-uid", mountUID, "--no-kubernetes"}
+	args := []string{"start", "-p", profile, "--memory=2048", "--mount", "--mount-gid", mountGID, "--mount-msize", mountMSize, "--mount-port", mountPort(), "--mount-uid", mountUID}
 	args = append(args, StartArgs()...)
 	rr, err := Run(t, exec.CommandContext(ctx, Target(), args...))
 	if err != nil {
 		t.Fatalf("failed to start minikube with args: %q : %v", rr.Command(), err)
 	}
-	// The mount takes a split second to come up, without this the validateMount test will fail
-	time.Sleep(1 * time.Second)
 }
 
 // validateMount checks if the cluster has a folder mounted
@@ -168,6 +165,4 @@ func validateRestart(ctx context.Context, t *testing.T, profile string) {
 	if err != nil {
 		t.Fatalf("restart failed: %q : %v", rr.Command(), err)
 	}
-	// The mount takes a split second to come up, without this the validateMount test will fail
-	time.Sleep(1 * time.Second)
 }
diff --git a/test/integration/preload_test.go b/test/integration/preload_test.go
index c7734d75f..6ce94bfbc 100644
--- a/test/integration/preload_test.go
+++ b/test/integration/preload_test.go
@@ -52,7 +52,7 @@ func TestPreload(t *testing.T) {
 	}
 
 	// Now, pull the busybox image into minikube
-	image := "gcr.io/k8s-minikube/busybox"
+	image := "busybox"
 	var cmd *exec.Cmd
 	if ContainerRuntime() == "docker" {
 		cmd = exec.CommandContext(ctx, Target(), "ssh", "-p", profile, "--", "docker", "pull", image)
diff --git a/test/integration/testdata/build/Dockerfile b/test/integration/testdata/build/Dockerfile
index f37a113cc..dfe60cebf 100644
--- a/test/integration/testdata/build/Dockerfile
+++ b/test/integration/testdata/build/Dockerfile
@@ -1,3 +1,3 @@
-FROM gcr.io/k8s-minikube/busybox
+FROM busybox
 RUN true
 ADD content.txt /
diff --git a/test/integration/testdata/busybox-mount-test.yaml b/test/integration/testdata/busybox-mount-test.yaml
index ac14f4b71..787c0797b 100644
--- a/test/integration/testdata/busybox-mount-test.yaml
+++ b/test/integration/testdata/busybox-mount-test.yaml
@@ -9,7 +9,7 @@ spec:
   restartPolicy: Never
   containers:
     - name: mount-munger
-      image: gcr.io/k8s-minikube/busybox:1.28.4-glibc
+      image: busybox:1.28.4-glibc
       command: ["/bin/sh", "-c", "--"]
       args:
         - cat /mount-9p/created-by-test;
diff --git a/test/integration/testdata/busybox.yaml b/test/integration/testdata/busybox.yaml
index ed163828b..b057afe0b 100644
--- a/test/integration/testdata/busybox.yaml
+++ b/test/integration/testdata/busybox.yaml
@@ -6,7 +6,7 @@ metadata:
     integration-test: busybox
 spec:
   containers:
-    - image: gcr.io/k8s-minikube/busybox:1.28.4-glibc
+    - image: busybox:1.28.4-glibc
       command:
         - sleep
         - "3600"
diff --git a/test/integration/testdata/multinodes/multinode-pod-dns-test.yaml b/test/integration/testdata/multinodes/multinode-pod-dns-test.yaml
index c778c28d0..b0b5d1779 100644
--- a/test/integration/testdata/multinodes/multinode-pod-dns-test.yaml
+++ b/test/integration/testdata/multinodes/multinode-pod-dns-test.yaml
@@ -20,7 +20,7 @@ spec:
         # https://github.com/docker-library/busybox/issues/48
         # note: k8s.gcr.io/e2e-test-images/agnhost:2.32
         # has similar issues (ie, resolves but returns exit code 1)
-        image: gcr.io/k8s-minikube/busybox:1.28
+        image: busybox:1.28
         command:
           - sleep
           - "3600"