Repository: mesos Updated Branches: refs/heads/master b090b0b4b -> 6760601cb
Change docker version parsing. Review: https://reviews.apache.org/r/36128 Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/6760601c Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/6760601c Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/6760601c Branch: refs/heads/master Commit: 6760601cbe0b737047b75a8b058cba3fb892d128 Parents: b090b0b Author: Isabel Jimenez <[email protected]> Authored: Thu Jul 2 11:00:33 2015 -0700 Committer: Timothy Chen <[email protected]> Committed: Thu Jul 2 11:00:34 2015 -0700 ---------------------------------------------------------------------- src/docker/docker.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/6760601c/src/docker/docker.cpp ---------------------------------------------------------------------- diff --git a/src/docker/docker.cpp b/src/docker/docker.cpp index cbcb16e..235ac4a 100644 --- a/src/docker/docker.cpp +++ b/src/docker/docker.cpp @@ -147,7 +147,7 @@ void commandDiscarded(const Subprocess& s, const string& cmd) Future<Version> Docker::version() const { - string cmd = path + " version"; + string cmd = path + " --version"; Try<Subprocess> s = subprocess( cmd, @@ -186,14 +186,17 @@ Future<Version> Docker::_version(const string& cmd, const Subprocess& s) Future<Version> Docker::__version(const Future<string>& output) { - foreach (string line, strings::split(output.get(), "\n")) { - line = strings::trim(line); - if (strings::startsWith(line, "Client version: ")) { - line = line.substr(strlen("Client version: ")); - Try<Version> version = Version::parse(line); + vector<string> parts = strings::split(output.get(), ","); + + if (!parts.empty()) { + vector<string> subParts = strings::split(parts.front(), " "); + + if (!subParts.empty()) { + Try<Version> version = Version::parse(subParts.back()); if (version.isError()) { - return Failure("Failed to parse docker version: " + version.error()); + return Failure("Failed to parse docker version: " + + version.error()); } return version;
