Skip to content

Commit

Permalink
Deprecate xpack.eql.enabled setting and make it a no-op (#61375) (#62491
Browse files Browse the repository at this point in the history
)

* Deprecate xpack.eql.enabled and make it a no-op
* Remove uses of xpack.eql.enabled
  • Loading branch information
williamrandolph authored Sep 17, 2020
1 parent 5f64343 commit 5a0dca2
Show file tree
Hide file tree
Showing 10 changed files with 25 additions and 45 deletions.
1 change: 0 additions & 1 deletion client/rest-high-level/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,6 @@ testClusters.all {
setting 'xpack.security.authc.api_key.enabled', 'true'
setting 'xpack.security.http.ssl.enabled', 'false'
setting 'xpack.security.transport.ssl.enabled', 'false'
setting 'xpack.eql.enabled', 'true'
// Truststore settings are not used since TLS is not enabled. Included for testing the get certificates API
setting 'xpack.security.http.ssl.certificate_authorities', 'testnode.crt'
setting 'xpack.security.transport.ssl.truststore.path', 'testnode.jks'
Expand Down
1 change: 0 additions & 1 deletion docs/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ testClusters.integTest {
systemProperty 'es.autoscaling_feature_flag_registered', 'true'
}
setting 'xpack.autoscaling.enabled', 'true'
setting 'xpack.eql.enabled', 'true'
keystorePassword 's3cr3t'
}

Expand Down
1 change: 0 additions & 1 deletion x-pack/plugin/eql/qa/rest/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ dependencies {

testClusters.all {
testDistribution = 'DEFAULT'
setting 'xpack.eql.enabled', 'true'
setting 'xpack.license.self_generated.type', 'basic'
setting 'xpack.monitoring.collection.enabled', 'true'
}
1 change: 0 additions & 1 deletion x-pack/plugin/eql/qa/security/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ dependencies {

testClusters.all {
testDistribution = 'DEFAULT'
setting 'xpack.eql.enabled', 'true'
setting 'xpack.license.self_generated.type', 'basic'
setting 'xpack.monitoring.collection.enabled', 'true'
setting 'xpack.security.enabled', 'true'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import org.elasticsearch.plugins.Plugin;
import org.elasticsearch.test.ESIntegTestCase;
import org.elasticsearch.xpack.core.XPackSettings;
import org.elasticsearch.xpack.eql.plugin.EqlPlugin;

import java.util.Collection;
import java.util.Collections;
Expand All @@ -28,7 +27,6 @@ protected Settings nodeSettings(int nodeOrdinal) {
settings.put(XPackSettings.WATCHER_ENABLED.getKey(), false);
settings.put(XPackSettings.GRAPH_ENABLED.getKey(), false);
settings.put(XPackSettings.MACHINE_LEARNING_ENABLED.getKey(), false);
settings.put(EqlPlugin.EQL_ENABLED_SETTING.getKey(), true);
settings.put(LicenseService.SELF_GENERATED_LICENSE_TYPE.getKey(), "trial");
return settings.build();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
import org.elasticsearch.client.Client;
import org.elasticsearch.common.Nullable;
import org.elasticsearch.common.inject.Inject;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.license.XPackLicenseState;
import org.elasticsearch.xpack.core.XPackFeatureSet;
import org.elasticsearch.xpack.core.XPackField;
Expand All @@ -34,8 +33,8 @@ public class EqlFeatureSet implements XPackFeatureSet {
private final Client client;

@Inject
public EqlFeatureSet(Settings settings, @Nullable XPackLicenseState licenseState, Client client) {
this.enabled = EqlPlugin.isEnabled(settings);
public EqlFeatureSet(@Nullable XPackLicenseState licenseState, Client client) {
this.enabled = EqlPlugin.isEnabled();
this.licenseState = licenseState;
this.client = client;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,16 +47,14 @@

public class EqlPlugin extends Plugin implements ActionPlugin {

private final boolean enabled;

public static final Setting<Boolean> EQL_ENABLED_SETTING = Setting.boolSetting(
"xpack.eql.enabled",
true,
Setting.Property.NodeScope
Setting.Property.NodeScope,
Setting.Property.Deprecated
);

public EqlPlugin(final Settings settings) {
this.enabled = EQL_ENABLED_SETTING.get(settings);
public EqlPlugin() {
}

@Override
Expand Down Expand Up @@ -93,23 +91,20 @@ public List<Setting<?>> getSettings() {

@Override
public List<ActionHandler<? extends ActionRequest, ? extends ActionResponse>> getActions() {
if (enabled) {
return Arrays.asList(
new ActionHandler<>(EqlSearchAction.INSTANCE, TransportEqlSearchAction.class),
new ActionHandler<>(EqlStatsAction.INSTANCE, TransportEqlStatsAction.class),
new ActionHandler<>(EqlAsyncGetResultAction.INSTANCE, TransportEqlAsyncGetResultAction.class)
);
}
return Collections.emptyList();
return org.elasticsearch.common.collect.List.of(
new ActionHandler<>(EqlSearchAction.INSTANCE, TransportEqlSearchAction.class),
new ActionHandler<>(EqlStatsAction.INSTANCE, TransportEqlStatsAction.class),
new ActionHandler<>(EqlAsyncGetResultAction.INSTANCE, TransportEqlAsyncGetResultAction.class)
);
}

boolean isSnapshot() {
return Build.CURRENT.isSnapshot();
}

// TODO: this needs to be used by all plugin methods - including getActions and createComponents
public static boolean isEnabled(Settings settings) {
return EQL_ENABLED_SETTING.get(settings);
public static boolean isEnabled() {
return true; // basic license level features are always enabled
}

@Override
Expand All @@ -121,15 +116,12 @@ public List<RestHandler> getRestHandlers(Settings settings,
IndexNameExpressionResolver indexNameExpressionResolver,
Supplier<DiscoveryNodes> nodesInCluster) {

if (enabled) {
return Arrays.asList(
new RestEqlSearchAction(),
new RestEqlStatsAction(),
new RestEqlGetAsyncResultAction(),
new RestEqlDeleteAsyncResultAction()
);
}
return Collections.emptyList();
return Arrays.asList(
new RestEqlSearchAction(),
new RestEqlStatsAction(),
new RestEqlGetAsyncResultAction(),
new RestEqlDeleteAsyncResultAction()
);
}

// overridable by tests
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,19 +51,15 @@ public void init() throws Exception {
}

public void testAvailable() {
EqlFeatureSet featureSet = new EqlFeatureSet(Settings.EMPTY, licenseState, client);
EqlFeatureSet featureSet = new EqlFeatureSet(licenseState, client);
boolean available = randomBoolean();
when(licenseState.isAllowed(XPackLicenseState.Feature.EQL)).thenReturn(available);
assertThat(featureSet.available(), is(available));
}

public void testEnabled() {
boolean enabled = randomBoolean();
Settings.Builder settings = Settings.builder();
settings.put("xpack.eql.enabled", enabled);

EqlFeatureSet featureSet = new EqlFeatureSet(settings.build(), licenseState, client);
assertThat(featureSet.enabled(), is(enabled));
EqlFeatureSet featureSet = new EqlFeatureSet(licenseState, client);
assertThat(featureSet.enabled(), is(true));
}

@SuppressWarnings("unchecked")
Expand Down Expand Up @@ -94,7 +90,7 @@ public void testUsageStats() throws Exception {
}).when(client).execute(eq(EqlStatsAction.INSTANCE), any(), any());

PlainActionFuture<EqlFeatureSet.Usage> future = new PlainActionFuture<>();
new EqlFeatureSet(Settings.builder().put("xpack.eql.enabled", true).build(), licenseState, client).usage(future);
new EqlFeatureSet(licenseState, client).usage(future);
EqlFeatureSetUsage eqlUsage = (EqlFeatureSetUsage) future.get();

long fooBarBaz = ObjectPath.eval("foo.bar.baz", eqlUsage.stats());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public class LocalStateEQLXPackPlugin extends LocalStateCompositeXPackPlugin {
public LocalStateEQLXPackPlugin(final Settings settings, final Path configPath) {
super(settings, configPath);
LocalStateEQLXPackPlugin thisVar = this;
plugins.add(new EqlPlugin(settings) {
plugins.add(new EqlPlugin() {
@Override
protected XPackLicenseState getLicenseState() {
return thisVar.getLicenseState();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,13 @@

package org.elasticsearch.xpack.eql.plugin;

import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.test.ESTestCase;

import static org.hamcrest.Matchers.hasItem;

public class EqlPluginTests extends ESTestCase {
public void testEnabledSettingRegisteredInSnapshotBuilds() {
final EqlPlugin plugin = new EqlPlugin(Settings.EMPTY) {
final EqlPlugin plugin = new EqlPlugin() {

@Override
protected boolean isSnapshot() {
Expand All @@ -25,7 +24,7 @@ protected boolean isSnapshot() {
}

public void testEnabledSettingNotRegisteredInNonSnapshotBuilds() {
final EqlPlugin plugin = new EqlPlugin(Settings.EMPTY) {
final EqlPlugin plugin = new EqlPlugin() {

@Override
protected boolean isSnapshot() {
Expand Down

0 comments on commit 5a0dca2

Please sign in to comment.