minishift: Unable to install Minishift with the latest version of docker-machine-driver-xhyve

General information

3 days ago was release a new version see: https://github.com/machine-drivers/docker-machine-driver-xhyve/releases/tag/v0.4.0.

Then, is no longer possible to install the Minishift following the docs.

  • Minishift version:
  • OS: macOS
  • Hypervisor: xhyve

Steps to reproduce

Following the Minishift doc to install Minishift with this drive.

  1. brew install docker-machine-driver-xhyve
  2. brew cask install minishift
  3. minishift start

Expected

Work well was it works for the previous version v0.3.0

Actual

$ minishift start
-- Starting profile 'minishift'
-- Check if deprecated options are used ... OK
-- Checking if https://github.com is reachable ... OK
-- Checking if requested OpenShift version 'v3.11.0' is valid ... OK
-- Checking if requested OpenShift version 'v3.11.0' is supported ... OK
-- Checking if requested hypervisor 'xhyve' is supported on this platform ... OK
-- Checking if xhyve driver is installed ... 
   Driver is available at /usr/local/bin/docker-machine-driver-xhyve
   Checking for setuid bit ... OK
-- Checking the ISO URL ... OK
-- Checking if provided oc flags are supported ... OK
-- Starting the OpenShift cluster using 'xhyve' hypervisor ...
-- Minishift VM will be configured with ...
   Memory:    4 GB
   vCPUs :    2
   Disk size: 20 GB
-- Starting Minishift VM .... FAIL E0519 18:30:25.411015   28125 start.go:494] Error starting the VM: Error creating new host: json: cannot unmarshal bool into Go struct field Driver.Virtio9p of type []string. Retrying.
Error starting the VM: Error creating new host: json: cannot unmarshal bool into Go struct field Driver.Virtio9p of type []string
camilamacedo@Camilas-MacBook-Pro ~ $ brew uninstall docker-machine-driver-xhyve
Uninstalling /usr/local/Cellar/docker-machine-driver-xhyve/0.4.0... (6 files, 9.9MB)

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 7
  • Comments: 18

Most upvoted comments

Following how I could solve it.

  1. Uninstall all and delete all config files
  • minishift delete
  • brew uninstall docker-machine-driver-xhyve
  • rm -rf <docker-machine-driver-xhyve paths> (E.g /usr/local/bin/docker-machine-driver-xhyve)
  • rm -rf config files .docker .kube .minishift .minikube
  • remove docker
  • ensure that you have not other drive installed as virtualbox and/or hyper
  1. Reinstall the latest stable docker version (Docker version 18.09.2, build 6247962)

  2. Install docker-machine-driver-xhyve using the version 0.3.1

$ curl -L https://github.com/zchee/docker-machine-driver-xhyve/releases/download/v0.3.1/docker-machine-driver-xhyve > /usr/local/bin/docker-machine-driver-xhyve
$ chmod +x /usr/local/bin/docker-machine-driver-xhyve
$ sudo chown root:wheel /usr/local/bin/docker-machine-driver-xhyve
$ sudo chmod u+s /usr/local/bin/docker-machine-driver-xhyve
  1. Download and install Minishift
  • $ brew cask install --force minishift - Use --force to ensure that the images will be re-downloaded
  1. Start your minishift with minishift start

instead of using xhyve, I used hyperkit amd started minishift with: minishift start --vm-driver=hyperkit

Here’s what worked for me when started getting this error:

(...other stuff...)
-- Minishift VM will be configured with ...
   Memory:    4 GB
   vCPUs :    2
   Disk size: 20 GB
-- Starting Minishift VM .... FAIL E1019 13:41:41.471159    8532 start.go:494] Error starting the VM: Error creating new host: json: cannot unmarshal bool into Go struct field Driver.Virtio9p of type []string. Retrying.
Error starting the VM: Error creating new host: json: cannot unmarshal bool into Go struct field Driver.Virtio9p of type []string

I didn’t need to uninstall Docker Desktop for Mac.

I just ran the following on MacOS Catalina:

minishift delete
brew uninstall minishift
rm -rf ~/.minishift

brew uninstall docker-machine-driver-xhyve

#NOTE the most recent 0.3.x version xhyve is 0.3.3
curl -L https://github.com/zchee/docker-machine-driver-xhyve/releases/download/v0.3.3/docker-machine-driver-xhyve > /usr/local/bin/docker-machine-driver-xhyve

chmod +x /usr/local/bin/docker-machine-driver-xhyve

sudo chown root:wheel /usr/local/bin/docker-machine-driver-xhyve
sudo chmod u+s /usr/local/bin/docker-machine-driver-xhyve

brew cask install --force minishift

after that then running minishift start worked without error.

What worked for me, is using virtula box as as the --vm-driver.

$ minishift start --vm-driver=virtualbox

Same problem here, neither of the brew versions of xhyve and hyperkit worked for me.

With xhyve I got:

Error starting the VM: Error creating new host: json: cannot unmarshal bool into Go struct field Driver.Virtio9p of type []string

and with hyperkit

Error starting the VM: Error starting stopped host: starting with cmd line: : Kernel /Users/xxxx/.minishift/machines/minishift/bzimage does not exist

I’m using the latest Docker Desktop for MacOS: Engine: 19.03.2 Machine: 0.16.2

Based on the @camilamacedo86 's workaround I got minishift to start doing the following steps:

minishift delete
> run step 3 of @camilamacedo86's workaround (I've used the 0.3.3 version as @MoSehsah suggested)
minishift start --vm-driver=xhyve

Just verified @ralgozino’s suggestion and I can successfully start my minishift VM. Thanks!

Using brew to automatically install docker-machine-driver-xhyve will (at least of today’s date) install v0.4.0. In the Minishift documentation it states that it’s been tested against 0.3.3.

@camilamacedo86 Thank you so much !

camilamacedo86 comment did solve my issue as well

Following the steps of @camilamacedo86 I’ve been able to work around the problem.

i’m also having the same issue. i have to use @camilamacedo86 method. still testing.

@camilamacedo86 I suggest that you can replace v0.3.1 with v0.3.3 , it’ll continue to work