machine-drivers / docker-machine-driver-xhyve

docker-machine/minikube/minishift driver plugin for xhyve/hyperkit (native macOS hypervisor.framework)
https://godoc.org/github.com/machine-drivers/docker-machine-driver-xhyve
BSD 3-Clause "New" or "Revised" License
888 stars 74 forks source link

'upgrade' doesn't work #96

Open Mishail opened 8 years ago

Mishail commented 8 years ago

Even though upgrade went without problems, the VM's version remains the same.

09:37 $ docker-machine upgrade xhyve
Waiting for SSH to be available...
Detecting the provisioner...
Upgrading docker...
Stopping machine to do the upgrade...
(xhyve) Stopping xhyve ...
(xhyve) "disk2" unmounted.
(xhyve) "disk2" ejected.
Upgrading machine "xhyve"...
Default Boot2Docker ISO is out-of-date, downloading the latest release...
Latest release for github.com/boot2docker/boot2docker is v1.10.1
Downloading /Users/mikhail/.docker/machine/cache/boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v1.10.1/boot2docker.iso...
0%....10%....20%....30%....40%....50%....60%....70%....80%....90%....100%
Copying /Users/mikhail/.docker/machine/cache/boot2docker.iso to /Users/mikhail/.docker/machine/machines/xhyve/boot2docker.iso...
Starting machine back up...
(xhyve) Waiting for VM to come online...
(xhyve) Waiting on a pseudo-terminal to be ready... done
(xhyve) Hook up your terminal emulator to /dev/ttys002 in order to connect to your VM
Restarting docker...

09:39 $ docker-machine ssh xhyve
                        ##         .
                  ## ## ##        ==
               ## ## ## ## ##    ===
           /"""""""""""""""""\___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
           \______ o           __/
             \    \         __/
              \____\_______/
 _                 _   ____     _            _
| |__   ___   ___ | |_|___ \ __| | ___   ___| | _____ _ __
| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__|   <  __/ |
|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
Boot2Docker version 1.10.0, build master : b09ed60 - Thu Feb  4 20:16:08 UTC 2016
Docker version 1.10.0, build 590d5108
docker@boot2docker:~$

The upgrade does put a new boot2docker.iso to the VM's directory, but it doesn't update vmlinuz64/ /initrd.img from that ISO.

The only workaround is to extract those files from an ISO and replace them for the VM

cmoad commented 8 years ago

+1 Seeing this same behavior.

mhubig commented 8 years ago

Same here ...

lcmen commented 8 years ago

The simplest fix is to create a new machine and copy those files (vmlinuz64 and initrd.img) from there.

mdeboer commented 5 years ago

Issue still exists with v0.3.3 and docker-machine v0.15.0 😢 Copying the files manually from the ISO works well though. Easy fix when you know it but quite frustrating if you don't ;)