Skip to content

Commit 92c8a73

Browse files
Deprecate disabling basic-license features (#54816)
We believe there's no longer a need to be able to disable basic-license features completely using the "xpack.*.enabled" settings. If users don't want to use those features, they simply don't need to use them. Having such features always available lets us build more complex features that assume basic-license features are present. This commit deprecates settings of the form "xpack.*.enabled" for basic-license features, excluding "security", which is a special case. It also removes deprecated settings from integration tests and unit tests where they're not directly relevant; e.g. monitoring and ILM are no longer disabled in many integration tests.
1 parent ba5a97d commit 92c8a73

File tree

62 files changed

+172
-168
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+172
-168
lines changed

distribution/build.gradle

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -449,9 +449,6 @@ testClusters {
449449
throw new IllegalArgumentException("Unsupported self-generated license type: [" + licenseType + "[basic] or [trial].")
450450
}
451451
setting 'xpack.security.enabled', 'true'
452-
setting 'xpack.monitoring.enabled', 'true'
453-
setting 'xpack.sql.enabled', 'true'
454-
setting 'xpack.rollup.enabled', 'true'
455452
keystore 'bootstrap.password', 'password'
456453
user username: 'elastic-admin', password: 'elastic-password', role: 'superuser'
457454
}

docs/reference/migration/migrate_8_0/settings.asciidoc

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,21 @@ setting `cluster.remote.connect` is removed.
5151
In Elasticsearch 7.8.0, the setting `node.local_storage` was deprecated and
5252
beginning in Elasticsearch 8.0.0 all nodes will require local storage. Therefore,
5353
the `node.local_storage` setting has been removed.
54+
55+
[float]
56+
==== Option to disable basic license features is deprecated
57+
58+
In Elasticsearch 7.8.0, the following settings have been deprecated:
59+
60+
* `xpack.enrich.enabled`
61+
* `xpack.flattened.enabled`
62+
* `xpack.ilm.enabled`
63+
* `xpack.monitoring.enabled`
64+
* `xpack.rollup.enabled`
65+
* `xpack.slm.enabled`
66+
* `xpack.sql.enabled`
67+
* `xpack.transform.enabled`
68+
* `xpack.vectors.enabled`
69+
70+
In future releases, it will not be possible to disable the APIs for Enrichment,
71+
Flattened mappings, ILM, Monitoring, Rollup, SLM, SQL, Transforms, and Vectors.

docs/reference/modules/node.asciidoc

Lines changed: 22 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,9 @@ fails to start.
5252

5353
<<transform-node,{transform-cap} node>>::
5454

55-
A node that has `xpack.transform.enabled` and `node.transform` set to `true`. If
56-
you want to use {transforms}, there must be at least one {transform} node in
57-
your cluster. For more information, see <<transform-settings>> and
58-
<<transforms>>.
55+
A node that has `node.transform` set to `true`. If you want to use {transforms},
56+
there must be at least one {transform} node in your cluster. For more
57+
information, see <<transform-settings>> and <<transforms>>.
5958

6059
[NOTE]
6160
[[coordinating-node]]
@@ -126,8 +125,7 @@ node.ingest: false <4>
126125
node.ml: false <5>
127126
xpack.ml.enabled: true <6>
128127
node.transform: false <7>
129-
xpack.transform.enabled: true <8>
130-
node.remote_client_client: false <9>
128+
node.remote_client_client: false <8>
131129
-------------------
132130
<1> The `node.master` role is enabled by default.
133131
<2> The `node.voting_only` role is disabled by default.
@@ -136,8 +134,7 @@ node.remote_client_client: false <9>
136134
<5> Disable the `node.ml` role (enabled by default).
137135
<6> The `xpack.ml.enabled` setting is enabled by default.
138136
<7> Disable the `node.transform` role.
139-
<8> The `xpack.transform.enabled` setting is enabled by default.
140-
<9> Disable remote cluster connections (enabled by default).
137+
<8> Disable remote cluster connections (enabled by default).
141138

142139
To create a dedicated master-eligible node in the {oss-dist}, set:
143140

@@ -209,8 +206,7 @@ node.ingest: false <4>
209206
node.ml: false <5>
210207
xpack.ml.enabled: true <6>
211208
node.transform: false <7>
212-
xpack.transform.enabled: true <8>
213-
node.remote_cluster_client: false <9>
209+
node.remote_cluster_client: false <8>
214210
-------------------
215211
<1> The `node.master` role is enabled by default.
216212
<2> Enable the `node.voting_only` role (disabled by default).
@@ -219,8 +215,7 @@ node.remote_cluster_client: false <9>
219215
<5> Disable the `node.ml` role (enabled by default).
220216
<6> The `xpack.ml.enabled` setting is enabled by default.
221217
<7> Disable the `node.transform` role.
222-
<8> The `xpack.transform.enabled` setting is enabled by default.
223-
<9> Disable remote cluster connections (enabled by default).
218+
<8> Disable remote cluster connections (enabled by default).
224219

225220
[float]
226221
[[data-node]]
@@ -243,17 +238,15 @@ node.data: true <3>
243238
node.ingest: false <4>
244239
node.ml: false <5>
245240
node.transform: false <6>
246-
xpack.transform.enabled: true <7>
247-
node.remote_cluster_client: false <8>
241+
node.remote_cluster_client: false <7>
248242
-------------------
249243
<1> Disable the `node.master` role (enabled by default).
250244
<2> The `node.voting_only` role is disabled by default.
251245
<3> The `node.data` role is enabled by default.
252246
<4> Disable the `node.ingest` role (enabled by default).
253247
<5> Disable the `node.ml` role (enabled by default).
254248
<6> Disable the `node.transform` role.
255-
<7> The `xpack.transform.enabled` setting is enabled by default.
256-
<8> Disable remote cluster connections (enabled by default).
249+
<7> Disable remote cluster connections (enabled by default).
257250

258251
To create a dedicated data node in the {oss-dist}, set:
259252
[source,yaml]
@@ -343,8 +336,7 @@ node.ingest: false <4>
343336
node.ml: false <5>
344337
xpack.ml.enabled: true <6>
345338
node.transform: false <7>
346-
xpack.transform.enabled: true <8>
347-
node.remote_cluster_client: false <9>
339+
node.remote_cluster_client: false <8>
348340
-------------------
349341
<1> Disable the `node.master` role (enabled by default).
350342
<2> The `node.voting_only` role is disabled by default.
@@ -353,8 +345,7 @@ node.remote_cluster_client: false <9>
353345
<5> Disable the `node.ml` role (enabled by default).
354346
<6> The `xpack.ml.enabled` setting is enabled by default.
355347
<7> Disable the `node.transform` role.
356-
<8> The `xpack.transform.enabled` setting is enabled by default.
357-
<9> Disable remote cluster connections (enabled by default).
348+
<8> Disable remote cluster connections (enabled by default).
358349

359350
To create a dedicated coordinating node in the {oss-dist}, set:
360351

@@ -396,8 +387,7 @@ node.ingest: false <4>
396387
node.ml: true <5>
397388
xpack.ml.enabled: true <6>
398389
node.transform: false <7>
399-
xpack.transform.enabled: true <8>
400-
node.remote_cluster_client: false <9>
390+
node.remote_cluster_client: false <8>
401391
-------------------
402392
<1> Disable the `node.master` role (enabled by default).
403393
<2> The `node.voting_only` role is disabled by default.
@@ -406,22 +396,21 @@ node.remote_cluster_client: false <9>
406396
<5> The `node.ml` role is enabled by default.
407397
<6> The `xpack.ml.enabled` setting is enabled by default.
408398
<7> Disable the `node.transform` role.
409-
<8> The `xpack.transform.enabled` setting is enabled by default.
410-
<9> Disable remote cluster connections (enabled by default).
399+
<8> Disable remote cluster connections (enabled by default).
411400

412401
[discrete]
413402
[[transform-node]]
414403
=== [xpack]#{transform-cap} node#
415404

416405
{transform-cap} nodes run {transforms} and handle {transform} API requests.
417406

418-
If you want to use {transforms} in your cluster, you must have
419-
`xpack.transform.enabled` set to `true` on all master-eligible nodes and all
420-
data nodes. If you want to use {transforms} in clients (including {kib}), it
421-
must also be enabled on all coordinating nodes. You must also have
422-
`node.transform` set to `true` on at least one node. This is the default
423-
behavior. If you have the {oss-dist}, do not use these settings. For more
424-
information, see <<transform-settings>>.
407+
If you want to use {transforms} in your cluster, you must not have
408+
`xpack.transform.enabled` set to `false` on any master-eligible or data
409+
nodes. To use {transforms} in clients (including {kib}), do not disable this
410+
setting on any coordinating nodes. You must also have `node.transform` set to
411+
`true` on at least one node. This is the default behavior. If you have the
412+
{oss-dist}, do not use these settings. For more information, see
413+
<<transform-settings>>.
425414

426415
To create a dedicated {transform} node in the {default-dist}, set:
427416

@@ -433,17 +422,15 @@ node.data: false <3>
433422
node.ingest: false <4>
434423
node.ml: false <5>
435424
node.transform: true <6>
436-
xpack.transform.enabled: true <7>
437-
node.remote_cluster_client: false <8>
425+
node.remote_cluster_client: false <7>
438426
-------------------
439427
<1> Disable the `node.master` role.
440428
<2> Disable the `node.voting_only`.
441429
<3> Disable the `node.data` role.
442430
<4> Disable the `node.ingest` role.
443431
<5> Disable the `node.ml` role.
444432
<6> Enable the `node.transform` role.
445-
<7> Enable the `xpack.transform.enabled` setting.
446-
<8> Disable remote cluster connections.
433+
<7> Disable remote cluster connections.
447434

448435
[float]
449436
[[change-node-role]]

docs/reference/monitoring/collecting-monitoring-data.asciidoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ To learn about monitoring in general, see <<monitor-elasticsearch-cluster>>.
3030

3131
. Configure your cluster to collect monitoring data:
3232

33-
.. Verify that the `xpack.monitoring.enabled` setting is `true`, which is its
34-
default value, on each node in the cluster. For more information, see
33+
.. Verify that the deprecated `xpack.monitoring.enabled` setting is not set to
34+
`false` on any node in the cluster. For more information, see
3535
<<monitoring-settings>>.
3636

3737
.. Verify that the `xpack.monitoring.elasticsearch.collection.enabled` setting

docs/reference/settings/ilm-settings.asciidoc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ These are the settings available for configuring Index Lifecycle Management
77
==== Cluster level settings
88

99
`xpack.ilm.enabled`::
10-
Whether ILM is enabled or disabled, setting this to `false` disables any
11-
ILM REST API endpoints and functionality. Defaults to `true`.
10+
deprecated:[7.8.0,Basic License features should always be enabled] +
11+
Whether ILM is enabled or disabled, setting this to `false` disables any ILM
12+
REST API endpoints and functionality. Defaults to `true`.
1213

1314
`indices.lifecycle.poll_interval`::
1415
(<<time-units, time units>>) How often {ilm} checks for indices that meet policy

docs/reference/settings/monitoring-settings.asciidoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ For more information, see <<monitor-elasticsearch-cluster>>.
2727
==== General Monitoring Settings
2828

2929
`xpack.monitoring.enabled`::
30+
deprecated:[7.8.0,Basic License features should always be enabled] +
3031
Set to `true` (default) to enable {es} {monitoring} for {es} on the node.
3132
+
3233
--

docs/reference/settings/notification-settings.asciidoc

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,12 @@ required. For more information, see <<encrypting-data>>.
3838
added:[6.3.0,Default changed to `true`.]
3939
deprecated:[7.0.0,Watcher history indices are now managed by the `watch-history-ilm-policy` ILM policy]
4040
+
41-
Set to `true` (default) to enable the cleaner service. If this setting is
42-
`true`, the `xpack.monitoring.enabled` setting must also be set to `true` with
43-
a local exporter enabled. The cleaner service removes previous versions of
44-
{watcher} indices (for example, `.watcher-history*`) when it determines that
45-
they are old. The duration of {watcher} indices is determined by the
46-
`xpack.monitoring.history.duration` setting, which defaults to 7 days. For
47-
more information about that setting, see <<monitoring-settings>>.
41+
Set to `true` (default) to enable the cleaner service. The cleaner service
42+
removes previous versions of {watcher} indices (for example,
43+
`.watcher-history*`) when it determines that they are old. The duration of
44+
{watcher} indices is determined by the `xpack.monitoring.history.duration`
45+
setting, which defaults to 7 days. For more information about that setting,
46+
see <<monitoring-settings>>.
4847

4948
`xpack.http.proxy.host`::
5049
Specifies the address of the proxy server to use to connect to HTTP services.

docs/reference/settings/sql-settings.asciidoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,5 @@ these SQL Access settings in the `elasticsearch.yml` file.
1212
[[general-sql-settings]]
1313
==== General SQL Access Settings
1414
`xpack.sql.enabled`::
15+
deprecated:[7.8.0,Basic License features should always be enabled] +
1516
Set to `false` to disable SQL Access on the node.

docs/reference/settings/transform-settings.asciidoc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,14 @@ of transforms to certain nodes instead of using `xpack.transform.enabled`. On de
3535
coordinating nodes or dedicated master nodes, disable the node.transform role.
3636

3737
`xpack.transform.enabled`::
38-
Set to `true` (default) to enable {transforms} on the node. +
38+
deprecated:[7.8.0,Basic License features should always be enabled] +
39+
Set to `true` (default) to enable {transforms} on the node.
3940
+
4041
If set to `false` in `elasticsearch.yml`, the {transform} APIs are disabled on
4142
the node. Therefore the node cannot start or administrate {transforms} or
4243
receive transport (internal) communication requests related to {transform} APIs.
4344
If the node is a coordinating node, {transform} requests from clients (including
44-
{kib}) also fail.
45+
{kib}) also fail.
4546
+
4647
IMPORTANT: If you want to use {transform} features in your cluster, it is
4748
recommended that you set `xpack.transform.enabled` to `true` on all nodes. This

docs/reference/slm/apis/index.asciidoc

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,33 +3,32 @@
33
[[snapshot-lifecycle-management]]
44
== Manage the snapshot lifecycle
55

6-
You can set up snapshot lifecycle policies to automate the timing, frequency, and retention of snapshots.
7-
Snapshot policies can apply to multiple indices.
6+
You can set up snapshot lifecycle policies to automate the timing, frequency, and retention of snapshots.
7+
Snapshot policies can apply to multiple indices.
88

99
The snapshot lifecycle management (SLM) <<snapshot-lifecycle-management-api, CRUD APIs>> provide
10-
the building blocks for the snapshot policy features that are part of the Management application in {kib}.
11-
The Snapshot and Restore UI makes it easy to set up policies, register snapshot repositories,
10+
the building blocks for the snapshot policy features that are part of the Management application in {kib}.
11+
The Snapshot and Restore UI makes it easy to set up policies, register snapshot repositories,
1212
view and manage snapshots, and restore indices.
1313

1414
You can stop and restart SLM to temporarily pause automatic backups while performing
1515
upgrades or other maintenance.
16-
To disable SLM entirely, set `xpack.slm.enabled` to `false` in `elasticsearch.yml`.
1716

1817
[float]
1918
[[slm-and-security]]
2019
=== Security and SLM
2120

22-
Two built-in cluster privileges control access to the SLM actions when
21+
Two built-in cluster privileges control access to the SLM actions when
2322
{es} {security-features} are enabled:
2423

25-
`manage_slm`:: Allows a user to perform all SLM actions, including creating and updating policies
26-
and starting and stopping SLM.
24+
`manage_slm`:: Allows a user to perform all SLM actions, including creating and updating policies
25+
and starting and stopping SLM.
2726

28-
`read_slm`:: Allows a user to perform all read-only SLM actions,
27+
`read_slm`:: Allows a user to perform all read-only SLM actions,
2928
such as getting policies and checking the SLM status.
3029

3130
`cluster:admin/snapshot/*`:: Allows a user to take and delete snapshots of any
32-
index, whether or not they have access to that index.
31+
index, whether or not they have access to that index.
3332

3433
For example, the following request configures an `slm-admin` role that grants the privileges
3534
necessary for administering SLM.
@@ -69,4 +68,4 @@ POST /_security/role/slm-read-only
6968

7069
include::getting-started-slm.asciidoc[]
7170

72-
include::slm-retention.asciidoc[]
71+
include::slm-retention.asciidoc[]

0 commit comments

Comments
 (0)