-
Notifications
You must be signed in to change notification settings - Fork 25.2k
Deprecate disabling basic-license features #54816
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deprecate disabling basic-license features #54816
Conversation
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.
Pinging @elastic/es-core-infra (:Core/Infra/Plugins) |
I'm wondering then now how |
Good question. The issue I ran into was that some tests were failing because of deprecation warnings in setup and teardown, so I brute-force removed all of the deprecated settings from the test configurations. Because we need to preserve test coverage for deprecated but not removed options, I don't think this is something that I actually want to do at this stage; instead, I will probably put those settings back where they were and find a way to ignore the relevant deprecation warnings in the test setup and teardown.
However, we are planning to make the breaking change of removing those settings altogether on the I should probably put the WIP tag on this PR. |
Yes, we need to keep the coverage if it's just deprecated but if this is slated for removal in Here's the tests specific to this project. |
This reverts commit 92e909a.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the question of x-pack:qa:rolling-upgrade-basic
vs x-pack:qa:rolling-upgrade
is orthogonal to this issue. We should look at that separately. From what I remember the upgrade-basic test was added when we opened x-pack, but it really has nothing to do with whether the basic licensed features have the ability to be disabled.
...ck/plugin/watcher/qa/rest/src/test/resources/rest-api-spec/test/mustache/30_search_input.yml
Outdated
Show resolved
Hide resolved
The Watcher REST integration tests had been running with ILM disabled. With that setting's deprecation, it seems that some index creation and deletion operations will throw deprecation warnings. These deprecation warnings don't seem to have to do with the purposes of the tests, so we will just change the settings in build.gradle in order to avoid having to catch them all.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally looks good, just a few things that should be tweaked.
@debadair Thank you for the feedback and fixes! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@elasticmachine please run elasticsearch-ci/2 |
I'm running |
After letting |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. The main nit is there seems to be several qa tests that still have monitoring disabled.
...test/java/org/elasticsearch/xpack/monitoring/collector/enrich/EnrichStatsCollectorTests.java
Show resolved
Hide resolved
x-pack/plugin/sql/src/test/java/org/elasticsearch/xpack/sql/SqlInfoTransportActionTests.java
Outdated
Show resolved
Hide resolved
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.
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.
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.
Meta issue: #54745