]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: Fix for alert notification message being undefined 40590/head
authorNizamudeen A <nia@redhat.com>
Tue, 23 Mar 2021 07:10:46 +0000 (12:40 +0530)
committerNizamudeen A <nia@redhat.com>
Mon, 5 Apr 2021 06:37:14 +0000 (12:07 +0530)
Prometheus alert notification message in the dashboard always comes up
as undefined. Its because we were showing the alert.summary instead of
alert.description for displaying the message. I couldn't find the
summary field in the ceph_default_alerts.yml file. So removed all the
Summary fields from the dashboard code.

Fixes: https://tracker.ceph.com/issues/49342
Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit 2921b2e9a939e1ad52b07327fdf84885568384b9)

src/pybind/mgr/dashboard/frontend/src/app/shared/models/prometheus-alerts.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/services/prometheus-alert-formatter.spec.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/services/prometheus-alert-formatter.ts
src/pybind/mgr/dashboard/frontend/src/testing/unit-test-helper.ts

index f5e8f850b15bb1011e52100d4843c7f7ebf3f166..1239dcccdfe247e28bbd289df03cab4aae1daf3d 100644 (file)
@@ -7,7 +7,6 @@ export class PrometheusAlertLabels {
 
 class Annotations {
   description: string;
-  summary: string;
 }
 
 class CommonAlertmanagerAlert {
@@ -80,6 +79,6 @@ export class PrometheusCustomAlert {
   status: 'resolved' | 'unprocessed' | 'active' | 'suppressed';
   name: string;
   url: string;
-  summary: string;
+  description: string;
   fingerprint?: string | boolean;
 }
index 0b0190553aaf522b20582fdf7b3ea4cbea4a3e4e..7a195e8b494985e46d82c284ad5cd10523ba7aa2 100644 (file)
@@ -54,7 +54,7 @@ describe('PrometheusAlertFormatter', () => {
         {
           status: 'active',
           name: 'Something',
-          summary: 'Something is active',
+          description: 'Something is active',
           url: 'http://Something',
           fingerprint: 'Something'
         } as PrometheusCustomAlert
@@ -69,7 +69,7 @@ describe('PrometheusAlertFormatter', () => {
           fingerprint: false,
           status: 'active',
           name: 'Something',
-          summary: 'Something is firing',
+          description: 'Something is firing',
           url: 'http://Something'
         } as PrometheusCustomAlert
       ]);
@@ -80,7 +80,7 @@ describe('PrometheusAlertFormatter', () => {
     const alert: PrometheusCustomAlert = {
       status: 'active',
       name: 'Some alert',
-      summary: 'Some alert is active',
+      description: 'Some alert is active',
       url: 'http://some-alert',
       fingerprint: '42'
     };
index 47cb0307c1fa86933c5789cd5d1cf5f07a1e249a..cfa1896e0ed39db51d5dde4ab63b1cabb04db2d7 100644 (file)
@@ -32,7 +32,7 @@ export class PrometheusAlertFormatter {
             : this.getPrometheusNotificationStatus(alert as AlertmanagerNotificationAlert),
           name: alert.labels.alertname,
           url: alert.generatorURL,
-          summary: alert.annotations.summary,
+          description: alert.annotations.description,
           fingerprint: _.isObject(alert.status) && (alert as AlertmanagerAlert).fingerprint
         };
       }),
@@ -52,7 +52,7 @@ export class PrometheusAlertFormatter {
     return new CdNotificationConfig(
       this.formatType(alert.status),
       `${alert.name} (${alert.status})`,
-      this.appendSourceLink(alert, alert.summary),
+      this.appendSourceLink(alert, alert.description),
       undefined,
       'Prometheus'
     );
index a22c76ecacb4ab0f6f2ad6d6e00d5d2bc834c4f3..a17bfeb2e2a673b9863531e2260994b56cbd37b8 100644 (file)
@@ -262,7 +262,7 @@ export class PrometheusHelper {
         severity: 'someSeverity'
       },
       annotations: {
-        summary: `${name} is ${state}`
+        description: `${name} is ${state}`
       },
       generatorURL: `http://${name}`,
       startsAt: new Date(new Date('2022-02-22').getTime() * timeMultiplier).toString()
@@ -276,7 +276,7 @@ export class PrometheusHelper {
         alertname: name
       },
       annotations: {
-        summary: `${name} is ${status}`
+        description: `${name} is ${status}`
       },
       generatorURL: `http://${name}`
     } as AlertmanagerNotificationAlert;