minishift

Error creating new host: json: cannot unmarshal bool into Go struct field Driver.Virtio9p


After downloading minishift, I cant run it due to the following error,

Starting Minishift VM .... FAIL E0529 13:00:23.325175   82884 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.

The solution provided here does not help

Below is the whole log.

Isaacs-MacBook-Pro-2:minishift-1.34.0-darwin-amd64 isaack$ 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 ... SKIP
-- 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: 10 GB
-- Starting Minishift VM .... FAIL E0529 13:00:23.325175   82884 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

Solution

  • Your 1.34.0 version of Minishift is currently tested against docker-machine-driver-xhyve version 0.3.3. and has compatibility issues with the recently deployed docker-machine-driver-xhyve v0.4.0.

    The solution for me was to uninstall the docker-machine-driver-xhyve 0.4.0 driver and install the old and tested 0.3.3:

    https://github.com/machine-drivers/docker-machine-driver-xhyve/releases/tag/v0.3.3

    $ brew uninstall docker-machine-driver-xhyve
    $ brew edit docker-machine-driver-xhyve
    

    Change the tag: and revision: references to:

    class DockerMachineDriverXhyve < Formula
      desc "Docker Machine driver for xhyve"
      homepage "https://github.com/machine-drivers/docker-machine-driver-xhyve"
      url "https://github.com/machine-drivers/docker-machine-driver-xhyve.git",
          :tag      => "v0.3.3",
          :revision => "7d92f74a8b9825e55ee5088b8bfa93b042badc47"
      revision 2
    

    brew install as usual:

    $ brew install docker-machine-driver-xhyve
    
    $ 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 ...................... OK
    [...]