Description
For annotated versions of mesos (e.g. 0.21.0-rc1), the module manager fails a CHECK:
Try<Version> mesosVersion = Version::parse(MESOS_VERSION); CHECK_SOME(mesosVersion);
This was a known limitation of stout's version utility:
// This class provides convenience routines for version checks. // TODO(karya): Consider adding support for more than 3 components, // and compatibility operators. // TODO(karya): Add support for labels and build metadata. Consider // semantic versioning (http://semvar.org/) for specs. class Version
As a result make check will fail for annotated versions:
F1023 08:28:41.595279 46919 manager.cpp:134] Check failed: !mesosVersion.isError()
karya can you take a look? I would recommend that in the interim of better Version parsing support, we use the same hack as was done in os::release, to protect these calls:
grep -R Version::parse src src/module/manager.cpp: Try<Version> mesosVersion = Version::parse(MESOS_VERSION); src/module/manager.cpp: Try<Version> minimumVersion = Version::parse(kindToVersion[moduleBase->kind]); src/module/manager.cpp: Try<Version> moduleMesosVersion = Version::parse(moduleBase->mesosVersion);