You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by wu...@apache.org on 2022/10/16 08:15:15 UTC
[ambari] branch trunk updated: AMBARI-25124: ambari-audit.log entries span multiple lines (#3396)
This is an automated email from the ASF dual-hosted git repository.
wuzhiguo pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/trunk by this push:
new 5fc20b85f7 AMBARI-25124: ambari-audit.log entries span multiple lines (#3396)
5fc20b85f7 is described below
commit 5fc20b85f72097ab30b04f39d482e85a8cf26534
Author: Zhiguo Wu <wu...@apache.org>
AuthorDate: Sun Oct 16 16:15:05 2022 +0800
AMBARI-25124: ambari-audit.log entries span multiple lines (#3396)
---
.../ambari/server/audit/event/LoginAuditEvent.java | 7 +++----
.../AddRepositoryVersionRequestAuditEvent.java | 9 +++------
.../ChangeRepositoryVersionRequestAuditEvent.java | 10 ++++------
.../ClusterPrivilegeChangeRequestAuditEvent.java | 18 ++++++++++--------
.../ViewPrivilegeChangeRequestAuditEvent.java | 16 ++++++++--------
.../ambari/server/audit/LoginAuditEventTest.java | 12 ++++++------
.../request/creator/PrivilegeEventCreatorTest.java | 12 ++++++------
.../creator/RepositoryVersionEventCreatorTest.java | 20 ++++++++++----------
.../creator/ViewPrivilegeEventCreatorTest.java | 12 ++++++------
9 files changed, 56 insertions(+), 60 deletions(-)
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/LoginAuditEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/LoginAuditEvent.java
index 9be216ad3b..f9523c10ad 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/LoginAuditEvent.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/LoginAuditEvent.java
@@ -62,15 +62,14 @@ public class LoginAuditEvent extends AbstractUserAuditEvent {
protected void buildAuditMessage(StringBuilder builder) {
super.buildAuditMessage(builder);
- builder.append(", Operation(User login), Roles(").append(System.lineSeparator());
+ builder.append(", Operation(User login), Roles(");
if (roles != null && !roles.isEmpty()) {
List<String> lines = new LinkedList<>();
for (Map.Entry<String, List<String>> entry : roles.entrySet()) {
- lines.add(" " + entry.getKey() + ": " + StringUtils.join(entry.getValue(), ", "));
+ lines.add(entry.getKey() + ": " + StringUtils.join(entry.getValue(), ", "));
}
- builder.append(StringUtils.join(lines, System.lineSeparator()));
- builder.append(System.lineSeparator());
+ builder.append(StringUtils.join(lines, ","));
}
builder.append("), Status(")
.append(reasonOfFailure == null ? "Success" : "Failed");
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddRepositoryVersionRequestAuditEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddRepositoryVersionRequestAuditEvent.java
index 82207d21c7..fb85ddc097 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddRepositoryVersionRequestAuditEvent.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddRepositoryVersionRequestAuditEvent.java
@@ -88,18 +88,15 @@ public class AddRepositoryVersionRequestAuditEvent extends RequestAuditEvent {
.append(repoVersion)
.append("), Repositories(");
- if (!repos.isEmpty()) {
- builder.append(System.lineSeparator());
- }
for (Map.Entry<String, List<Map<String, String>>> repo : repos.entrySet()) {
builder.append("Operating system: ").append(repo.getKey());
- builder.append(System.lineSeparator());
+ builder.append("(");
for (Map<String, String> properties : repo.getValue()) {
- builder.append(" Repository ID(").append(properties.get("repo_id"));
+ builder.append("Repository ID(").append(properties.get("repo_id"));
builder.append("), Repository name(").append(properties.get("repo_name"));
builder.append("), Base url(").append(properties.get("base_url")).append(")");
- builder.append(System.lineSeparator());
+ builder.append(")");
}
}
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ChangeRepositoryVersionRequestAuditEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ChangeRepositoryVersionRequestAuditEvent.java
index fdba4eb013..83e36140b5 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ChangeRepositoryVersionRequestAuditEvent.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ChangeRepositoryVersionRequestAuditEvent.java
@@ -89,18 +89,16 @@ public class ChangeRepositoryVersionRequestAuditEvent extends RequestAuditEvent
.append(repoVersion)
.append("), Repositories(");
- if (!repos.isEmpty()) {
- builder.append(System.lineSeparator());
- }
+
for (Map.Entry<String, List<Map<String, String>>> repo : repos.entrySet()) {
builder.append("Operating system: ").append(repo.getKey());
- builder.append(System.lineSeparator());
+ builder.append("(");
for (Map<String, String> properties : repo.getValue()) {
- builder.append(" Repository ID(").append(properties.get("repo_id"));
+ builder.append("Repository ID(").append(properties.get("repo_id"));
builder.append("), Repository name(").append(properties.get("repo_name"));
builder.append("), Base url(").append(properties.get("base_url")).append(")");
- builder.append(System.lineSeparator());
+ builder.append(")");
}
}
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ClusterPrivilegeChangeRequestAuditEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ClusterPrivilegeChangeRequestAuditEvent.java
index 5b2ceca8bb..a49215fef8 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ClusterPrivilegeChangeRequestAuditEvent.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ClusterPrivilegeChangeRequestAuditEvent.java
@@ -80,28 +80,30 @@ public class ClusterPrivilegeChangeRequestAuditEvent extends RequestAuditEvent {
roleSet.addAll(roles.keySet());
builder.append(", Roles(");
- if (!users.isEmpty() || !groups.isEmpty()|| !roles.isEmpty()) {
- builder.append(System.lineSeparator());
- }
+
List<String> lines = new LinkedList<>();
for (String role : roleSet) {
- lines.add(role + ": ");
+ List<String> tmpLines = new LinkedList<>();
+ lines.add(role + ": [");
if (users.get(role) != null && !users.get(role).isEmpty()) {
- lines.add(" Users: " + StringUtils.join(users.get(role), ", "));
+ tmpLines.add("Users: " + StringUtils.join(users.get(role), ", "));
}
if (groups.get(role) != null && !groups.get(role).isEmpty()) {
- lines.add(" Groups: " + StringUtils.join(groups.get(role), ", "));
+ tmpLines.add("Groups: " + StringUtils.join(groups.get(role), ", "));
}
if (roles.get(role) != null && !roles.get(role).isEmpty()) {
- lines.add(" Roles: " + StringUtils.join(roles.get(role), ", "));
+ tmpLines.add("Roles: " + StringUtils.join(roles.get(role), ", "));
}
+ lines.add(StringUtils.join(tmpLines, ";"));
+ lines.add("] ");
}
- builder.append(StringUtils.join(lines, System.lineSeparator()));
+ builder.append(StringUtils.join(lines, ""));
builder.append(")");
+
}
public ClusterPrivilegeChangeRequestAuditEventBuilder withUsers(Map<String, List<String>> users) {
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ViewPrivilegeChangeRequestAuditEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ViewPrivilegeChangeRequestAuditEvent.java
index 2fdb3ef436..7aaf928864 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ViewPrivilegeChangeRequestAuditEvent.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ViewPrivilegeChangeRequestAuditEvent.java
@@ -101,26 +101,26 @@ public class ViewPrivilegeChangeRequestAuditEvent extends RequestAuditEvent {
roleSet.addAll(roles.keySet());
builder.append(", Permissions(");
- if (!users.isEmpty() || !groups.isEmpty() || !roles.isEmpty()) {
- builder.append(System.lineSeparator());
- }
List<String> lines = new LinkedList<>();
for (String role : roleSet) {
- lines.add(role + ": ");
+ List<String> tmpLines = new LinkedList<>();
+ lines.add(role + ": [");
if (users.get(role) != null && !users.get(role).isEmpty()) {
- lines.add(" Users: " + StringUtils.join(users.get(role), ", "));
+ tmpLines.add("Users: " + StringUtils.join(users.get(role), ", "));
}
if (groups.get(role) != null && !groups.get(role).isEmpty()) {
- lines.add(" Groups: " + StringUtils.join(groups.get(role), ", "));
+ tmpLines.add("Groups: " + StringUtils.join(groups.get(role), ", "));
}
if (roles.get(role) != null && !roles.get(role).isEmpty()) {
- lines.add(" Roles: " + StringUtils.join(roles.get(role), ", "));
+ tmpLines.add("Roles: " + StringUtils.join(roles.get(role), ", "));
}
+ lines.add(StringUtils.join(tmpLines, ";"));
+ lines.add("] ");
}
- builder.append(StringUtils.join(lines, System.lineSeparator()));
+ builder.append(StringUtils.join(lines, ""));
builder.append(")");
}
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginAuditEventTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginAuditEventTest.java
index b2ab7cc0cd..39b96ae224 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginAuditEventTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginAuditEventTest.java
@@ -55,7 +55,7 @@ public class LoginAuditEventTest {
// When
String actualAuditMessage = evnt.getAuditMessage();
- String roleMessage = System.lineSeparator() + " a: r1, r2, r3" + System.lineSeparator();
+ String roleMessage = "a: r1, r2, r3";
// Then
String expectedAuditMessage = String.format("User(%s), RemoteIp(%s), Operation(User login), Roles(%s), Status(Success)",
@@ -74,7 +74,7 @@ public class LoginAuditEventTest {
// When
actualAuditMessage = evnt.getAuditMessage();
- roleMessage = System.lineSeparator() + " a: r1, r2, r3" + System.lineSeparator();
+ roleMessage = "a: r1, r2, r3";
// Then
expectedAuditMessage = String.format("User(%s), RemoteIp(%s), ProxyUser(%s), Operation(User login), Roles(%s), Status(Success)",
@@ -109,7 +109,7 @@ public class LoginAuditEventTest {
// When
String actualAuditMessage = evnt.getAuditMessage();
- String roleMessage = System.lineSeparator() + " a: r1, r2, r3" + System.lineSeparator();
+ String roleMessage = "a: r1, r2, r3" ;
// Then
String expectedAuditMessage = String.format("User(%s), RemoteIp(%s), Operation(User login), Roles(%s), Status(Failed), Reason(%s), Consecutive failures(%d)",
@@ -130,7 +130,7 @@ public class LoginAuditEventTest {
// When
actualAuditMessage = evnt.getAuditMessage();
- roleMessage = System.lineSeparator() + " a: r1, r2, r3" + System.lineSeparator();
+ roleMessage = "a: r1, r2, r3" ;
// Then
expectedAuditMessage = String.format("User(%s), RemoteIp(%s), ProxyUser(%s), Operation(User login), Roles(%s), Status(Failed), Reason(%s), Consecutive failures(%d)",
@@ -164,7 +164,7 @@ public class LoginAuditEventTest {
// When
String actualAuditMessage = evnt.getAuditMessage();
- String roleMessage = System.lineSeparator() + " a: r1, r2, r3" + System.lineSeparator();
+ String roleMessage = "a: r1, r2, r3" ;
// Then
String expectedAuditMessage = String.format("User(%s), RemoteIp(%s), Operation(User login), Roles(%s), Status(Failed), Reason(%s), Consecutive failures(UNKNOWN USER)",
@@ -185,7 +185,7 @@ public class LoginAuditEventTest {
// When
actualAuditMessage = evnt.getAuditMessage();
- roleMessage = System.lineSeparator() + " a: r1, r2, r3" + System.lineSeparator();
+ roleMessage = "a: r1, r2, r3";
// Then
expectedAuditMessage = String.format("User(%s), RemoteIp(%s), ProxyUser(%s), Operation(User login), Roles(%s), Status(Failed), Reason(%s), Consecutive failures(UNKNOWN USER)",
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/PrivilegeEventCreatorTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/PrivilegeEventCreatorTest.java
index 84d6dc9772..41c291a92b 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/PrivilegeEventCreatorTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/PrivilegeEventCreatorTest.java
@@ -96,12 +96,12 @@ public class PrivilegeEventCreatorTest extends AuditEventCreatorTestBase{
AuditEvent event = AuditEventCreatorTestHelper.getEvent(creator, request, result);
String actual = event.getAuditMessage();
- String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(Role change), RequestType(PUT), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Roles(\n" +
- "Permission1: \n" +
- " Users: " + userName + "\n" +
- " Groups: testgroup\n" +
- "Permission2: \n" +
- " Users: " + userName + "2)";
+ String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(Role change), RequestType(PUT), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Roles(" +
+ "Permission1: [" +
+ "Users: " + userName + ";" +
+ "Groups: testgroup]" +
+ " Permission2: [" +
+ "Users: " + userName + "2] )";
Assert.assertTrue("Class mismatch", event instanceof ClusterPrivilegeChangeRequestAuditEvent);
Assert.assertEquals(expected, actual);
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/RepositoryVersionEventCreatorTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/RepositoryVersionEventCreatorTest.java
index e4d1d4711c..38c88b5979 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/RepositoryVersionEventCreatorTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/RepositoryVersionEventCreatorTest.java
@@ -59,11 +59,11 @@ public class RepositoryVersionEventCreatorTest extends AuditEventCreatorTestBase
AuditEvent event = AuditEventCreatorTestHelper.getEvent(creator, request, result);
String actual = event.getAuditMessage();
- String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(Repository version addition), RequestType(POST), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Stack(StackName), Stack version(1.9), Display name(MyStack), Repo version(1.2-56), Repositories(\n" +
- "Operating system: redhat6\n" +
- " Repository ID(2), Repository name(MyRepo6), Base url(http://example6.com)\n" +
- "Operating system: redhat7\n" +
- " Repository ID(1), Repository name(MyRepo), Base url(http://example.com)\n" +
+ String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(Repository version addition), RequestType(POST), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Stack(StackName), Stack version(1.9), Display name(MyStack), Repo version(1.2-56), Repositories(" +
+ "Operating system: redhat6(" +
+ "Repository ID(2), Repository name(MyRepo6), Base url(http://example6.com))" +
+ "Operating system: redhat7(" +
+ "Repository ID(1), Repository name(MyRepo), Base url(http://example.com))" +
")";
Assert.assertTrue("Class mismatch", event instanceof AddRepositoryVersionRequestAuditEvent);
@@ -89,11 +89,11 @@ public class RepositoryVersionEventCreatorTest extends AuditEventCreatorTestBase
AuditEvent event = AuditEventCreatorTestHelper.getEvent(creator, request, result);
String actual = event.getAuditMessage();
- String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(Repository version change), RequestType(PUT), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Stack(StackName), Stack version(1.9), Display name(MyStack), Repo version(1.2-56), Repositories(\n" +
- "Operating system: redhat6\n" +
- " Repository ID(2), Repository name(MyRepo6), Base url(http://example6.com)\n" +
- "Operating system: redhat7\n" +
- " Repository ID(1), Repository name(MyRepo), Base url(http://example.com)\n" +
+ String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(Repository version change), RequestType(PUT), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Stack(StackName), Stack version(1.9), Display name(MyStack), Repo version(1.2-56), Repositories(" +
+ "Operating system: redhat6(" +
+ "Repository ID(2), Repository name(MyRepo6), Base url(http://example6.com))" +
+ "Operating system: redhat7(" +
+ "Repository ID(1), Repository name(MyRepo), Base url(http://example.com))" +
")";
Assert.assertTrue("Class mismatch", event instanceof ChangeRepositoryVersionRequestAuditEvent);
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/ViewPrivilegeEventCreatorTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/ViewPrivilegeEventCreatorTest.java
index 121513931f..a2cf86fa2b 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/ViewPrivilegeEventCreatorTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/ViewPrivilegeEventCreatorTest.java
@@ -74,12 +74,12 @@ public class ViewPrivilegeEventCreatorTest extends AuditEventCreatorTestBase{
AuditEvent event = AuditEventCreatorTestHelper.getEvent(creator, request, result);
String actual = event.getAuditMessage();
- String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(View permission change), RequestType(PUT), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Type(MyView), Version(MyView), Name(MyView), Permissions(\n" +
- "Permission1: \n" +
- " Users: testuser\n" +
- " Groups: testgroup\n" +
- "Permission2: \n" +
- " Users: testuser2)";
+ String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(View permission change), RequestType(PUT), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Type(MyView), Version(MyView), Name(MyView), Permissions(" +
+ "Permission1: [" +
+ "Users: testuser;" +
+ "Groups: testgroup]" +
+ " Permission2: [" +
+ "Users: testuser2] )";
Assert.assertTrue("Class mismatch", event instanceof ViewPrivilegeChangeRequestAuditEvent);
Assert.assertEquals(expected, actual);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@ambari.apache.org
For additional commands, e-mail: commits-help@ambari.apache.org