mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 01:38:56 -04:00
Allow patch level mismatch between Kibana and Elasticsearch (#8980)
Backports PR #8976
**Commit 1:**
Allow patch level mismatch between Kibana and Elasticsearch
Kibana should be able to run against Elasticsearch nodes that are at the
same minor version regardless of whether they are at the same patch
version. In the event that their patch versions differ, we render a
warning.
* Original sha: 79ea67f4c9
* Authored by Court Ewing <court@epixa.com> on 2016-11-04T21:28:46Z
This commit is contained in:
parent
21d2d7fdd2
commit
838b16eda5
4 changed files with 11 additions and 17 deletions
|
@ -32,7 +32,7 @@ _Note: The version numbers below are only examples, meant to illustrate the rela
|
|||
| ES patch number is newer. | 5.1.__2__ | 5.1.__5__ | ⚠️ Logged warning |
|
||||
| ES minor number is newer. | 5.__1__.2 | 5.__5__.0 | ⚠️ Logged warning |
|
||||
| ES major number is newer. | __5__.1.2 | __6__.0.0 | 🚫 Fatal error |
|
||||
| ES patch number is older. | 5.1.__2__ | 5.1.__0__ | 🚫 Fatal error |
|
||||
| ES patch number is older. | 5.1.__2__ | 5.1.__0__ | ⚠️ Logged warning |
|
||||
| ES minor number is older. | 5.__1__.2 | 5.__0__.0 | 🚫 Fatal error |
|
||||
| ES major number is older. | __5__.1.2 | __4__.0.0 | 🚫 Fatal error |
|
||||
|
||||
|
|
|
@ -17,10 +17,6 @@ describe('plugins/elasticsearch', () => {
|
|||
it('when majors are equal, but ES minor is less than Kibana minor', () => {
|
||||
expect(isEsCompatibleWithKibana('1.0.0', '1.1.0')).to.be(false);
|
||||
});
|
||||
|
||||
it('when majors and minors are equal, but ES patch is less than Kibana patch', () => {
|
||||
expect(isEsCompatibleWithKibana('1.1.0', '1.1.1')).to.be(false);
|
||||
});
|
||||
});
|
||||
|
||||
describe('returns true', () => {
|
||||
|
@ -35,6 +31,10 @@ describe('plugins/elasticsearch', () => {
|
|||
it('when majors and minors are equal, and ES patch is greater than Kibana patch', () => {
|
||||
expect(isEsCompatibleWithKibana('1.1.1', '1.1.0')).to.be(true);
|
||||
});
|
||||
|
||||
it('when majors and minors are equal, but ES patch is less than Kibana patch', () => {
|
||||
expect(isEsCompatibleWithKibana('1.1.0', '1.1.1')).to.be(true);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
|
||||
import _ from 'lodash';
|
||||
import esBool from './es_bool';
|
||||
import semver from 'semver';
|
||||
import isEsCompatibleWithKibana from './is_es_compatible_with_kibana';
|
||||
import SetupError from './setup_error';
|
||||
|
||||
|
@ -38,9 +37,9 @@ module.exports = function checkEsVersion(server, kibanaVersion) {
|
|||
return incompatibleNodes.push(esNode);
|
||||
}
|
||||
|
||||
// It's acceptable if ES is ahead of Kibana, but we want to prompt users to upgrade Kibana
|
||||
// to match it.
|
||||
if (semver.gt(esNode.version, kibanaVersion)) {
|
||||
// It's acceptable if ES and Kibana versions are not the same so long as
|
||||
// they are not incompatible, but we should warn about it
|
||||
if (esNode.version !== kibanaVersion) {
|
||||
warningNodes.push(esNode);
|
||||
}
|
||||
});
|
||||
|
@ -66,9 +65,9 @@ module.exports = function checkEsVersion(server, kibanaVersion) {
|
|||
lastWarnedNodesForServer.set(server, warningNodeNames);
|
||||
server.log(['warning'], {
|
||||
tmpl: (
|
||||
`You're running Kibana ${kibanaVersion} with some newer versions of ` +
|
||||
'Elasticsearch. Update Kibana to the latest version to prevent compatibility issues: ' +
|
||||
warningNodeNames
|
||||
`You're running Kibana ${kibanaVersion} with some different versions of ` +
|
||||
'Elasticsearch. Update Kibana or Elasticsearch to the same ' +
|
||||
`version to prevent compatibility issues: ${warningNodeNames}`
|
||||
),
|
||||
kibanaVersion,
|
||||
nodes: simplifiedNodes,
|
||||
|
|
|
@ -29,10 +29,5 @@ export default function isEsCompatibleWithKibana(esVersion, kibanaVersion) {
|
|||
return false;
|
||||
}
|
||||
|
||||
// Reject older patch versions of ES.
|
||||
if (esVersionNumbers.patch < kibanaVersionNumbers.patch) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue