There was an earlier thread on whether to ignore registration attempts
from pre-1.0 Mesos agents:

https://lists.apache.org/thread.html/f5e15f6d7a3f3b08d29e27455e2e1c801775418a148dded953c568e7@%3Cdev.mesos.apache.org%3E

We didn't explicitly discuss what to do when the compiled-in version
of Mesos is not parseable as SemVer. I'll start a separate thread to
let users know about that change.

Neil


On Mon, May 8, 2017 at 10:25 AM, Vinod Kone <vinodk...@apache.org> wrote:
> @Neil: Have we sent an email about this change to dev list? This might
> break people who were directly building off source and using a custom
> version number.
>
> On Fri, May 5, 2017 at 4:54 PM, <ne...@apache.org> wrote:
>
>> Checked validity of master and agent version numbers on startup.
>>
>> During startup, we now check that the compiled-in version number of the
>> master and agent can be parsed by stout's `Version::parse` (i.e., that
>> `MESOS_VERSION` is valid according to stout's extended variant of the
>> Semver 2.0.0 format).
>>
>> Review: https://reviews.apache.org/r/58708
>>
>>
>> Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
>> Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/5a5dd8a4
>> Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/5a5dd8a4
>> Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/5a5dd8a4
>>
>> Branch: refs/heads/1.2.x
>> Commit: 5a5dd8a4edcb52e2227e2a4607b95a7dcc6aa321
>> Parents: c56851e
>> Author: Neil Conway <neil.con...@gmail.com>
>> Authored: Mon Mar 6 10:55:07 2017 -0800
>> Committer: Neil Conway <neil.con...@gmail.com>
>> Committed: Fri May 5 15:16:38 2017 -0700
>>
>> ----------------------------------------------------------------------
>>  src/master/main.cpp | 11 +++++++++++
>>  src/slave/main.cpp  | 11 +++++++++++
>>  2 files changed, 22 insertions(+)
>> ----------------------------------------------------------------------
>>
>>
>> http://git-wip-us.apache.org/repos/asf/mesos/blob/5a5dd8a4/
>> src/master/main.cpp
>> ----------------------------------------------------------------------
>> diff --git a/src/master/main.cpp b/src/master/main.cpp
>> index da75fe9..d485a06 100644
>> --- a/src/master/main.cpp
>> +++ b/src/master/main.cpp
>> @@ -57,6 +57,7 @@
>>  #include <stout/stringify.hpp>
>>  #include <stout/strings.hpp>
>>  #include <stout/try.hpp>
>> +#include <stout/version.hpp>
>>
>>  #include "common/build.hpp"
>>  #include "common/http.hpp"
>> @@ -175,6 +176,16 @@ int main(int argc, char** argv)
>>      return EXIT_FAILURE;
>>    }
>>
>> +  // Check that master's version has the expected format (SemVer).
>> +  {
>> +    Try<Version> version = Version::parse(MESOS_VERSION);
>> +    if (version.isError()) {
>> +      EXIT(EXIT_FAILURE)
>> +        << "Failed to parse Mesos version '" << MESOS_VERSION << "': "
>> +        << version.error();
>> +    }
>> +  }
>> +
>>    if (flags.ip_discovery_command.isSome() && flags.ip.isSome()) {
>>      EXIT(EXIT_FAILURE) << flags.usage(
>>          "Only one of `--ip` or `--ip_discovery_command` should be
>> specified");
>>
>> http://git-wip-us.apache.org/repos/asf/mesos/blob/5a5dd8a4/
>> src/slave/main.cpp
>> ----------------------------------------------------------------------
>> diff --git a/src/slave/main.cpp b/src/slave/main.cpp
>> index 31f2b4f..f90aa2f 100644
>> --- a/src/slave/main.cpp
>> +++ b/src/slave/main.cpp
>> @@ -39,6 +39,7 @@
>>  #include <stout/os.hpp>
>>  #include <stout/stringify.hpp>
>>  #include <stout/try.hpp>
>> +#include <stout/version.hpp>
>>
>>  #include "common/build.hpp"
>>  #include "common/http.hpp"
>> @@ -142,6 +143,16 @@ int main(int argc, char** argv)
>>      return EXIT_FAILURE;
>>    }
>>
>> +  // Check that agent's version has the expected format (SemVer).
>> +  {
>> +    Try<Version> version = Version::parse(MESOS_VERSION);
>> +    if (version.isError()) {
>> +      EXIT(EXIT_FAILURE)
>> +        << "Failed to parse Mesos version '" << MESOS_VERSION << "': "
>> +        << version.error();
>> +    }
>> +  }
>> +
>>    if (flags.master.isNone() && flags.master_detector.isNone()) {
>>      cerr << flags.usage("Missing required option `--master` or "
>>                          "`--master_detector`.") << endl;
>>
>>

Reply via email to