-
Notifications
You must be signed in to change notification settings - Fork 24.9k
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
Add clear deprecation around legacy role settings #71143
Add clear deprecation around legacy role settings #71143
Conversation
Pinging @elastic/es-core-infra (Team:Core/Infra) |
594d2b2
to
50776d8
Compare
We've deprecated the legacy role settings. Individually, when you use such a setting, you will get an individual log message informing you that you've used a legacy role setting. What the deprecation does not tell you though, is the equivalent node.roles setting that you should be using to achieve identical functionality to what you have today. This creates a bad user experience. Suppose that you've configured a node (e.g., node.data: true, node.ingest: false, node.master: false, node.remote_cluster_client: false), but never explicitly set the legacy node.transform setting. In this case, we'll use the default value of true. You see the deprecation message informing you that node.data, node.ingest, node.master, and node.remote_cluster_client are deprecated. So you do some searching in the docs and discover the node.roles setting. So you dutifully set node.roles: [data] because this is the only legacy role setting that you've enabled. Well, now you're having a bad time because this will also disable the transform role, which was implicitly enabled. This commit provides a cleared deprecation message in this case: legacy role settings [node.data, node.ingest, node.remote_cluster_client, node.master] are deprecated, use [node.roles=[transform, data_frozen, data_hot, data_content, data_warm, data, data_cold] This should help users transition between the legacy role settings and the new role setting.
50776d8
to
77136ef
Compare
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 update branch |
The failing test here is #71147, so I've updated my branch to pull in the latest commits that address the failures there. |
We've deprecated the legacy role settings. Individually, when you use such a setting, you will get an individual log message informing you that you've used a legacy role setting. What the deprecation does not tell you though, is the equivalent node.roles setting that you should be using to achieve identical functionality to what you have today. This creates a bad user experience. Suppose that you've configured a node (e.g., node.data: true, node.ingest: false, node.master: false, node.remote_cluster_client: false), but never explicitly set the legacy node.transform setting. In this case, we'll use the default value of true. You see the deprecation message informing you that node.data, node.ingest, node.master, and node.remote_cluster_client are deprecated. So you do some searching in the docs and discover the node.roles setting. So you dutifully set node.roles: [data] because this is the only legacy role setting that you've enabled. Well, now you're having a bad time because this will also disable the transform role, which was implicitly enabled. This commit provides a cleared deprecation message in this case: legacy role settings [node.data, node.ingest, node.remote_cluster_client, node.master] are deprecated, use [node.roles=[transform, data_frozen, data_hot, data_content, data_warm, data, data_cold] This should help users transition between the legacy role settings and the new role setting.
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
Thanks for fixing it!
We've deprecated the legacy role settings. Individually, when you use such a setting, you will get an individual log message informing you that you've used a legacy role setting. What the deprecation does not tell you though, is the equivalent
node.roles
setting that you should be using to achieve identical functionality to what you have today. This creates a bad user experience. Suppose that you've configured a node (e.g.,node.data: true
,node.ingest: false
,node.master: false
,node.remote_cluster_client: false
), but never explicitly set the legacynode.transform
setting. In this case, we'll use the default value oftrue
. You see the deprecation message informing you thatnode.data
,node.ingest
,node.master
, andnode.remote_cluster_client
are deprecated. So you do some searching in the docs and discover thenode.roles
setting. So you dutifully setnode.roles: [data]
because this is the only legacy role setting that you've enabled. Well, now you're having a bad time because this will also disable the transform role, which was implicitly enabled. This commit provides a cleared deprecation message in this case:This should help users transition between the legacy role settings and the new role setting.
Relates #54998