aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@yahooinc.com>2022-02-18 15:34:59 +0100
committerValerij Fredriksen <valerijf@yahooinc.com>2022-02-18 15:34:59 +0100
commitfb4e9378d2ed85236b958962fdf88b9ff73fc8ff (patch)
tree35f02a699aa2e4ccb0beeb8564ef4953075c098b /controller-server
parentb33b6cbd6ad7ec2ec441d59486a7b473e745e8ad (diff)
Allow to excludeMessages
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java11
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java2
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/notifications-applicationPackage.json6
3 files changed, 8 insertions, 11 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
index f6bc37835b8..faa60afa176 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
@@ -548,6 +548,7 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler {
private HttpResponse notifications(HttpRequest request, Optional<String> tenant, boolean includeTenantFieldInResponse) {
boolean productionOnly = showOnlyProductionInstances(request);
+ boolean excludeMessages = "true".equals(request.getProperty("excludeMessages"));
Slime slime = new Slime();
Cursor notificationsArray = slime.setObject().setArray("notifications");
@@ -561,7 +562,7 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler {
propertyEquals(request, "job", JobType::fromJobName, notification.source().jobType()) &&
propertyEquals(request, "type", Notification.Type::valueOf, Optional.of(notification.type())) &&
propertyEquals(request, "level", Notification.Level::valueOf, Optional.of(notification.level())))
- .forEach(notification -> toSlime(notificationsArray.addObject(), notification, includeTenantFieldInResponse));
+ .forEach(notification -> toSlime(notificationsArray.addObject(), notification, includeTenantFieldInResponse, excludeMessages));
return new SlimeJsonResponse(slime);
}
private static <T> boolean propertyEquals(HttpRequest request, String property, Function<String, T> mapper, Optional<T> value) {
@@ -570,12 +571,14 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler {
.orElse(true);
}
- private static void toSlime(Cursor cursor, Notification notification, boolean includeTenantFieldInResponse) {
+ private static void toSlime(Cursor cursor, Notification notification, boolean includeTenantFieldInResponse, boolean excludeMessages) {
cursor.setLong("at", notification.at().toEpochMilli());
cursor.setString("level", notificationLevelAsString(notification.level()));
cursor.setString("type", notificationTypeAsString(notification.type()));
- Cursor messagesArray = cursor.setArray("messages");
- notification.messages().forEach(messagesArray::addString);
+ if (!excludeMessages) {
+ Cursor messagesArray = cursor.setArray("messages");
+ notification.messages().forEach(messagesArray::addString);
+ }
if (includeTenantFieldInResponse) cursor.setString("tenant", notification.source().tenant().value());
notification.source().application().ifPresent(application -> cursor.setString("application", application.value()));
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java
index 38340c1a988..61e9ea02acc 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java
@@ -863,7 +863,7 @@ public class ApplicationApiTest extends ControllerContainerTest {
addNotifications(TenantName.from("tenant1"));
addNotifications(TenantName.from("tenant2"));
tester.assertResponse(request("/application/v4/notifications", GET)
- .properties(Map.of("type", "applicationPackage")).userIdentity(HOSTED_VESPA_OPERATOR),
+ .properties(Map.of("type", "applicationPackage", "excludeMessages", "true")).userIdentity(HOSTED_VESPA_OPERATOR),
new File("notifications-applicationPackage.json"));
tester.assertResponse(request("/application/v4/tenant/tenant1/notifications", GET).userIdentity(USER_ID),
new File("notifications-tenant1.json"));
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/notifications-applicationPackage.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/notifications-applicationPackage.json
index d5a44538d12..c0833ae0f05 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/notifications-applicationPackage.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/notifications-applicationPackage.json
@@ -4,9 +4,6 @@
"at": "(ignore)",
"level": "warning",
"type": "applicationPackage",
- "messages": [
- "Something something deprecated..."
- ],
"tenant": "tenant1",
"application": "app1"
},
@@ -14,9 +11,6 @@
"at": "(ignore)",
"level": "warning",
"type": "applicationPackage",
- "messages": [
- "Something something deprecated..."
- ],
"tenant": "tenant2",
"application": "app1"
}