| 29 | namespace mesos { |
| 30 | |
| 31 | Try<Version> kernelVersion() |
| 32 | { |
| 33 | Try<os::UTSInfo> uname = os::uname(); |
| 34 | if (!uname.isSome()) { |
| 35 | return Error("Unable to determine kernel version: " + uname.error()); |
| 36 | } |
| 37 | |
| 38 | vector<string> parts = strings::split(uname->release, "."); |
| 39 | parts.resize(2); |
| 40 | |
| 41 | Try<Version> version = Version::parse(strings::join(".", parts)); |
| 42 | if (!version.isSome()) { |
| 43 | return Error("Failed to parse kernel version '" + uname->release + |
| 44 | "': " + version.error()); |
| 45 | } |
| 46 | |
| 47 | return version; |
| 48 | } |
| 49 | |
| 50 | } // namespace mesos { |