Skip to content

Commit 7dbc28f

Browse files
authored
Deprecation check for audit log prefix settings (#36661)
Adds a deprecation check for removed `xpack.security.audit.logfile.prefix.` settings
1 parent 33dfce0 commit 7dbc28f

File tree

3 files changed

+27
-0
lines changed

3 files changed

+27
-0
lines changed

x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/DeprecationChecks.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ private DeprecationChecks() {
3939
static List<BiFunction<List<NodeInfo>, List<NodeStats>, DeprecationIssue>> NODE_SETTINGS_CHECKS =
4040
Collections.unmodifiableList(Arrays.asList(
4141
NodeDeprecationChecks::httpEnabledSettingRemoved,
42+
NodeDeprecationChecks::auditLogPrefixSettingsCheck,
4243
NodeDeprecationChecks::indexThreadPoolCheck,
4344
NodeDeprecationChecks::tribeNodeCheck,
4445
NodeDeprecationChecks::httpPipeliningCheck,

x-pack/plugin/deprecation/src/main/java/org/elasticsearch/xpack/deprecation/NodeDeprecationChecks.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,21 @@ static DeprecationIssue httpEnabledSettingRemoved(List<NodeInfo> nodeInfos, List
3535
return null;
3636
}
3737

38+
static DeprecationIssue auditLogPrefixSettingsCheck(List<NodeInfo> nodeInfos, List<NodeStats> nodeStats) {
39+
List<String> nodesFound = nodeInfos.stream()
40+
.filter(nodeInfo -> nodeInfo.getSettings().getByPrefix("xpack.security.audit.logfile.prefix").isEmpty() == false)
41+
.map(nodeInfo -> nodeInfo.getNode().getName())
42+
.collect(Collectors.toList());
43+
if (nodesFound.size() > 0) {
44+
return new DeprecationIssue(DeprecationIssue.Level.CRITICAL,
45+
"Audit log node info settings renamed",
46+
"https://www.elastic.co/guide/en/elasticsearch/reference/master/breaking_70_cluster_changes.html" +
47+
"#audit-logfile-local-node-info",
48+
"nodes with audit log settings that have been renamed: " + nodesFound);
49+
}
50+
return null;
51+
}
52+
3853
static DeprecationIssue indexThreadPoolCheck(List<NodeInfo> nodeInfos, List<NodeStats> nodeStats) {
3954
List<String> nodesFound = nodeInfos.stream()
4055
.filter(nodeInfo -> nodeInfo.getSettings().getByPrefix("thread_pool.index.").isEmpty() == false)

x-pack/plugin/deprecation/src/test/java/org/elasticsearch/xpack/deprecation/NodeDeprecationChecksTests.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,17 @@ public void testHttpEnabledCheck() {
6868
assertSettingsAndIssue("http.enabled", Boolean.toString(randomBoolean()), expected);
6969
}
7070

71+
public void testAuditLoggingPrefixSettingsCheck() {
72+
DeprecationIssue expected = new DeprecationIssue(DeprecationIssue.Level.CRITICAL,
73+
"Audit log node info settings renamed",
74+
"https://www.elastic.co/guide/en/elasticsearch/reference/master/breaking_70_cluster_changes.html" +
75+
"#audit-logfile-local-node-info",
76+
"nodes with audit log settings that have been renamed: [node_check]");
77+
assertSettingsAndIssue("xpack.security.audit.logfile.prefix.emit_node_host_address", Boolean.toString(randomBoolean()), expected);
78+
assertSettingsAndIssue("xpack.security.audit.logfile.prefix.emit_node_host_name", Boolean.toString(randomBoolean()), expected);
79+
assertSettingsAndIssue("xpack.security.audit.logfile.prefix.emit_node_name", Boolean.toString(randomBoolean()), expected);
80+
}
81+
7182
public void testIndexThreadPoolCheck() {
7283
DeprecationIssue expected = new DeprecationIssue(DeprecationIssue.Level.CRITICAL,
7384
"Index thread pool removed in favor of combined write thread pool",

0 commit comments

Comments
 (0)