{"action":"created","issue":{"url":"https://api.github.com/repos/boot2docker/boot2docker/issues/731","labels_url":"https://api.github.com/repos/boot2docker/boot2docker/issues/731/labels{/name}","comments_url":"https://api.github.com/repos/boot2docker/boot2docker/issues/731/comments","events_url":"https://api.github.com/repos/boot2docker/boot2docker/issues/731/events","html_url":"https://github.com/boot2docker/boot2docker/issues/731","id":57245445,"number":731,"title":"race condition: `boot2docker upgrade` after docker release but before boot2docker release results in client server version mismatch","user":{"login":"jokeyrhyme","id":479816,"avatar_url":"https://avatars.githubusercontent.com/u/479816?v=3","gravatar_id":"","url":"https://api.github.com/users/jokeyrhyme","html_url":"https://github.com/jokeyrhyme","followers_url":"https://api.github.com/users/jokeyrhyme/followers","following_url":"https://api.github.com/users/jokeyrhyme/following{/other_user}","gists_url":"https://api.github.com/users/jokeyrhyme/gists{/gist_id}","starred_url":"https://api.github.com/users/jokeyrhyme/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jokeyrhyme/subscriptions","organizations_url":"https://api.github.com/users/jokeyrhyme/orgs","repos_url":"https://api.github.com/users/jokeyrhyme/repos","events_url":"https://api.github.com/users/jokeyrhyme/events{/privacy}","received_events_url":"https://api.github.com/users/jokeyrhyme/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":30,"created_at":"2015-02-10T22:10:03Z","updated_at":"2015-05-29T04:05:35Z","closed_at":null,"body":"Just ran `boot2docker upgrade` after the Docker 1.5.0 release but before the matching boot2docker release. So I was on boot2docker 1.4.1.\r\n\r\nThe upgrade process updated my docker binary to 1.5.0, but kept the boot2docker parts at 1.4.1, which is as expected.\r\n\r\nUnfortunately, I now get the following output from `docker version:\r\n>Client version: 1.5.0\r\n>Client API version: 1.17\r\n>Go version (client): go1.4.1\r\n>Git commit (client): a8a31ef\r\n>OS/Arch (client): darwin/amd64\r\n>FATA[0000] Error response from daemon: client and server don't have same version (client : 1.17, server: 1.16) \r\n\r\nAnd the following error for many docker commands:\r\n> time=\"2015-02-11T09:03:17+11:00\" level=\"fatal\" msg=\"Error: client and server don't have same version (client : 1.17, server: 1.16)\"\r\n\r\nI noticed that the old docker binary is backed up to ~/.boot2docker, so this is not the end of the world for me or anything. :)\r\n\r\nI wonder if it's possible for `boot2docker upgrade` to check the API versions and automatically rollback if there is a mismatch? Or maybe somehow know that there will be a mismatch in advance? /shrug\r\n\r\n**Update:** It has been well-established that once all the required versions of docker and boot2docker are actually available, that simply running `boot2docker upgrade` is sufficient to correct any issues. When I first reported this issue, my desire was that `boot2docker upgrade` should not be able to break anything in the first place. Running it a second time a few days later is known to fix it, but is little consolation if you are prevented from using Docker during this time."},"comment":{"url":"https://api.github.com/repos/boot2docker/boot2docker/issues/comments/106677465","html_url":"https://github.com/boot2docker/boot2docker/issues/731#issuecomment-106677465","issue_url":"https://api.github.com/repos/boot2docker/boot2docker/issues/731","id":106677465,"user":{"login":"osswangxining","id":10258572,"avatar_url":"https://avatars.githubusercontent.com/u/10258572?v=3","gravatar_id":"","url":"https://api.github.com/users/osswangxining","html_url":"https://github.com/osswangxining","followers_url":"https://api.github.com/users/osswangxining/followers","following_url":"https://api.github.com/users/osswangxining/following{/other_user}","gists_url":"https://api.github.com/users/osswangxining/gists{/gist_id}","starred_url":"https://api.github.com/users/osswangxining/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/osswangxining/subscriptions","organizations_url":"https://api.github.com/users/osswangxining/orgs","repos_url":"https://api.github.com/users/osswangxining/repos","events_url":"https://api.github.com/users/osswangxining/events{/privacy}","received_events_url":"https://api.github.com/users/osswangxining/received_events","type":"User","site_admin":false},"created_at":"2015-05-29T04:05:35Z","updated_at":"2015-05-29T04:05:35Z","body":"If you installed docker directly on native OS instead of VM,  you need to restart the docker daemon service to remove this issue, e.g. using the following command in ubuntu: sudo service docker restart."}}