mirror of
https://github.com/gravitational/teleport
synced 2024-10-22 02:03:24 +00:00
Merge pull request #1738 from gravitational/sasha/vers
Relax version checking, fixes #1728
This commit is contained in:
commit
ba546f096b
|
@ -98,11 +98,11 @@ func (s *UtilsSuite) TestVersions(c *check.C) {
|
|||
}{
|
||||
{info: "same versions are ok", client: "1.0.0", server: "1.0.0"},
|
||||
{info: "minor diff is ok if server is newer", client: "1.0.0", server: "1.1.0"},
|
||||
{info: "minor diff is ok if server is newer even after one version", client: "1.0.0", server: "1.3.0"},
|
||||
{info: "minor diff is not ok if server is older", client: "1.1.0", server: "1.0.0", err: trace.BadParameter("")},
|
||||
{info: "major diff is not ok", client: "5.1.0", server: "1.0.0", err: trace.BadParameter("")},
|
||||
{info: "major diff is not ok", client: "1.1.0", server: "5.0.0", err: trace.BadParameter("")},
|
||||
{info: "minor diff is ok if server is newer", client: "1.0.0-beta.1", server: "1.1.0-alpha.1"},
|
||||
{info: "force pre-release versions too", client: "1.0.0-beta.2", server: "1.0.0-beta.1", err: trace.BadParameter("")},
|
||||
{info: "older pre-release client is ok", client: "1.0.0-beta.1", server: "1.0.0-beta.12"},
|
||||
}
|
||||
for i, testCase := range testCases {
|
||||
|
|
|
@ -38,11 +38,12 @@ func CheckVersions(clientVersion, serverVersion string) error {
|
|||
}
|
||||
|
||||
// for now only do simple check that client is not newer version
|
||||
// than server
|
||||
// than server, ignore patch versions
|
||||
|
||||
switch {
|
||||
case serverSemver.Major != clientSemver.Major:
|
||||
return trace.BadParameter("client version %q is not compatible server version %q, please make client and server versions use the same major versions", clientVersion, serverVersion)
|
||||
case serverSemver.LessThan(*clientSemver):
|
||||
case serverSemver.Minor < clientSemver.Minor:
|
||||
return trace.BadParameter("client version %q is newer than server version %q, please downgrade client or upgrade server", clientVersion, serverVersion)
|
||||
// for now let's not enforce minor versions diff as it's too harsh
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue