Ejemplo n.º 1
0
        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}.");
        }
Ejemplo n.º 2
0
        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}.");
        }
Ejemplo n.º 3
0
        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}.");
        }