public override void Validate(IElasticClient client, NodeConfiguration configuration) { var v = configuration.ElasticsearchVersion; var requiredMonikers = ElasticsearchPluginCollection.Supported .Where(plugin => plugin.IsValid(v) && configuration.RequiredPlugins.Contains(plugin.Plugin)) .Select(plugin => plugin.Moniker) .ToList(); if (!requiredMonikers.Any()) { return; } var checkPlugins = client.CatPlugins(); if (!checkPlugins.IsValid) { throw new Exception($"Failed to check plugins: {checkPlugins.DebugInformation}."); } var missingPlugins = requiredMonikers .Except((checkPlugins.Records ?? Enumerable.Empty <CatPluginsRecord>()).Select(r => r.Component)) .ToList(); if (!missingPlugins.Any()) { return; } var pluginsString = string.Join(", ", missingPlugins); throw new Exception($"Already running elasticsearch missed the following plugin(s): {pluginsString}."); }
public override void Validate(IElasticClient client, NodeConfiguration configuration) { var v = configuration.ElasticsearchVersion; var requiredMonikers = ElasticsearchPluginCollection.Supported .Where(plugin => plugin.IsValid(v) && configuration.RequiredPlugins.Contains(plugin.Plugin)) .Select(plugin => plugin.Moniker) .ToList(); if (!requiredMonikers.Any()) { return; } // 6.2.4 splits out X-Pack into separate plugin names if (requiredMonikers.Contains(ElasticsearchPlugin.XPack.Moniker()) && TestClient.VersionUnderTestSatisfiedBy(">=6.2.4")) { requiredMonikers.Remove(ElasticsearchPlugin.XPack.Moniker()); requiredMonikers.Add(ElasticsearchPlugin.XPack.Moniker() + "-core"); } var checkPlugins = client.CatPlugins(); if (!checkPlugins.IsValid) { throw new Exception($"Failed to check plugins: {checkPlugins.DebugInformation}."); } var missingPlugins = requiredMonikers .Except((checkPlugins.Records ?? Enumerable.Empty <CatPluginsRecord>()).Select(r => r.Component)) .ToList(); if (!missingPlugins.Any()) { return; } var pluginsString = string.Join(", ", missingPlugins); throw new Exception($"Already running elasticsearch missed the following plugin(s): {pluginsString}."); }
private void ValidatePlugins(IElasticClient client, XplatManualResetEvent handle) { //if the version we are running against is a s snapshot version we do not validate plugins //because we can not reliably install plugins against snapshots if (this.Version.IsSnapshot) { return; } var checkPlugins = client.CatPlugins(); var requiredPluginMonikers = this._config.RequiredPlugins.Select(p => ElasticsearchPlugins.Supported[p].Moniker); var missingPlugins = requiredPluginMonikers.Except(checkPlugins.Records.Select(r => r.Component)).ToList(); if (!missingPlugins.Any()) { return; } var e = new Exception($"Already running elasticsearch missed the following plugin(s): {string.Join(", ", missingPlugins)}."); this.Fatal(handle, e); }
private void ValidatePlugins(IElasticClient client, XplatManualResetEvent handle) { //if the version we are running against is a s snapshot version we do not validate plugins //because we can not reliably install plugins against snapshots if (this.Version.IsSnapshot) { return; } var requiredMonikers = ElasticsearchPluginCollection.Supported .Where(plugin => plugin.IsValid(this.Version) && this._config.RequiredPlugins.Contains(plugin.Plugin)) .Select(plugin => plugin.Moniker) .ToList(); if (!requiredMonikers.Any()) { return; } var checkPlugins = client.CatPlugins(); if (!checkPlugins.IsValid) { this.Fatal(handle, new Exception($"Failed to check plugins: {checkPlugins.DebugInformation}.")); return; } var missingPlugins = requiredMonikers .Except((checkPlugins.Records ?? Enumerable.Empty <CatPluginsRecord>()).Select(r => r.Component)) .ToList(); if (!missingPlugins.Any()) { return; } var e = new Exception($"Already running elasticsearch missed the following plugin(s): {string.Join(", ", missingPlugins)}."); this.Fatal(handle, e); }
public override void Validate(IElasticClient client, NodeConfiguration configuration) { var v = configuration.ElasticsearchVersion; //if the version we are running against is a s snapshot version we do not validate plugins //because we can not reliably install plugins against snapshots if (v.IsSnapshot) { return; } var supported = configuration.RequiredPlugins.Select(p => p.Moniker).ToList(); if (!supported.Any()) { return; } var checkPlugins = client.CatPlugins(); if (!checkPlugins.IsValid) { throw new Exception($"Failed to check plugins: {checkPlugins.DebugInformation}."); } var missingPlugins = supported .Except((checkPlugins.Records ?? Enumerable.Empty <CatPluginsRecord>()).Select(r => r.Component)) .ToList(); if (!missingPlugins.Any()) { return; } var pluginsString = string.Join(", ", missingPlugins); throw new Exception($"Already running elasticsearch missed the following plugin(s): {pluginsString}."); }