Skip to content
This repository was archived by the owner on Sep 26, 2021. It is now read-only.

Backward compatibility with 3rd-party drivers is broken in v0.5.5 #2706

Closed
legal90 opened this issue Dec 28, 2015 · 4 comments
Closed

Backward compatibility with 3rd-party drivers is broken in v0.5.5 #2706

legal90 opened this issue Dec 28, 2015 · 4 comments

Comments

@legal90
Copy link
Contributor

legal90 commented Dec 28, 2015

Seems like this PR #2636 breaks the backward compatibility with 3rd-party plugins: Parallels/docker-machine-parallels#32

If I use Docker Machine v0.5.5 (official build) and docker-machine-driver-parallels built with libmachine ref 204af9f (parent commit of #2636), then I get the following error:

$ MACHINE_DEBUG=1 docker-machine ls
... <cut>

(b2d-prl) DBG | executing: prlctl list -i b2d-prl
(b2d-prl) Calling .GetState
(b2d-prl) Calling .DriverName
Error attempting call to get driver name: connection is shut down
NAME       ACTIVE   DRIVER       STATE     URL   SWARM   DOCKER    ERRORS
b2d-prl    -                     Error                   Unknown   unexpected EOF
b2d-vbox   -        virtualbox   Stopped                 Unknown
Making call to close driver server
(b2d-prl) Calling .Close
Error closing a plugin driver: connection is shut down
Making call to close driver server
(b2d-vbox) Calling .Close
Successfully made call to close driver server
Making call to close connection to plugin binary
(b2d-vbox) DBG | Closing plugin on server side

If I rebuild docker-machine-driver-parallels with linking to ref 3b84a94 (or any other, later than #2636), then everything works fine:

(b2d-prl) DBG | Found lease: 10.211.55.197 for MAC: 001C42292CAB, expiring at 1451331030, leased for 1800 s.
(b2d-prl) DBG |
(b2d-prl) DBG | Found IP lease: 10.211.55.197 for MAC address 001C42292CAB
(b2d-prl) DBG |
Reading CA certificate from /Users/legal/.docker/machine/certs/ca.pem
Reading server certificate from /Users/legal/.docker/machine/machines/b2d-prl/server.pem
Reading server key from /Users/legal/.docker/machine/machines/b2d-prl/server-key.pem
(b2d-prl) Calling .DriverName
NAME       ACTIVE   DRIVER       STATE     URL                        SWARM   DOCKER    ERRORS
b2d-prl    -        parallels    Running   tcp://10.211.55.197:2376           v1.9.1
b2d-vbox   -        virtualbox   Stopped                                      Unknown
Making call to close driver server
(b2d-prl) Calling .Close
Successfully made call to close driver server
Making call to close connection to plugin binary
Making call to close driver server
(b2d-vbox) Calling .Close
Successfully made call to close driver server
Making call to close connection to plugin binary
(b2d-vbox) DBG | Closing plugin on server side

It means that all 3rd-party plugins built with libmachine before #2636 (< 0.5.5) is incompatible with Docker Machine v0.5.5+

Fortunately, the "forward" compatibility is not broken and the plugin built with the latest libmachine could be used with previous versions of Docker Machine. So, you can close this issue due to there is nothing to fix already.

P.s. Folks, please, test the compatibility with 3rd party plugins before publishing the release 🙏. I'd be glad to help you in this - just ping me via e-mail, twitter or GitHub

@nathanleclaire
Copy link
Contributor

cc @dgageot @jeanlaurent

@nathanleclaire
Copy link
Contributor

We'll keep you more closely in the loop in the future @legal90. Thanks for filing the issue. We still have #2498 open as a work item in the pipe to help with this and we'd like your opinion on the best way to implement it.

@dgageot
Copy link
Member

dgageot commented Jan 25, 2016

Closing. We now have a compatibility suite that makes sure we don't break old drivers

@dgageot dgageot closed this as completed Jan 25, 2016
@legal90
Copy link
Contributor Author

legal90 commented Jan 25, 2016

@dgageot Great. Thank you! :)

# for free to subscribe to this conversation on GitHub. Already have an account? #.
Projects
None yet
Development

No branches or pull requests

3 participants