Display Vitrage Alarm Counts, by severity, in the Top Navbar of Horizon

Registered by Greg Waines

This blueprint has been superseded. See the newer blueprint "Provide extensible space in page header for plugins to post content" for updated plans.

Summary
=======
Display Vitrage Alarm Counts, by severity, in the Top Navbar of Horizon.

Motivation
==========
This improves UX as it makes important fault monitoring data easily visible
at all times when using Horizon (regardless of what Horizon panel/screen
the user is on) and provides a quick shortcut to the Vitrage active alarm
list for the associated detailed fault information.

Description
===========
When the Vitrage Dashboard is configured, Horizon will display the Critical,
Major, Minor and Warning active alarm counts from Vitrage in the Top
Navigation Bar of Horizon.
e.g.
   <project-menu> C:1 M:0 m:1 w:3 <settings/logout-menu>

- Being in the Horizon Top Navbar, the Vitrage Alarm Counts will be visible
  at ALL times, regardless of what specific Horizon panel/screen is being
  shown.
- Selecting the Vitrage Alarm Banner in the Top Navbar will take you directly
  to the Vitrage->Alarms panel showing the detailed list of Vitrage Active
  Alarms.

Vitrage supports multi-tenancy, i.e. some alarms are tenant-specific.
- the admin tenant will see counts related to ALL alarms,
- specific tenants will see counts related only to their alarms.

UX
==
The alarm counts banner
   - will be a single line,
   - will be located in the center of the Top Navbar,
   - will be roughly formatted as follows: C:1 M:0 m:1 w:3
     where C = Critical Active Alarm Count
           M = Major Active Alarm Count
           m = Minor Active Alarm Count
           w = warning Active Alarm Count
   - will have some color-coding, details TBD
        e.g. grey if counts are 0, red for critical alarm count > 0, etc.

Selecting the alarm counts banner will take the user directly to the
Vitrage->Alarms panel showing the detailed list of Vitrage Active Alarms.

Testing
=======
Ensure Alarm Counts Banner is not displayed if Vitrage Dashboard is not
configured.

Ensure Alarm Counts Banner is correctly updated if a new Vitrage Active Alarm
is raised or an existing Vitrage Active Alarm is cleared.

Ensure Alarm Counts Banner behaves correctly for both admin and tenant-specific
scenarios.

Outside Dependencies
====================
This blueprint has a dependency on the Vitrage blueprint, "Vitrage Alarm Counts
API", https://blueprints.launchpad.net/vitrage/+spec/alarm-counts-api ,
which provides a new Vitrage REST API to retrieve alarm counts for each
severity.

    /v1/alarm_counts/

    Method: Get

    Request Body
        all_tenants - (boolean, optional) shows the alarm_counts summed across
                      all tenants (in case the user has the permissions).

    Response Body
        Returns a JSON object containing the alarm counts for the different alarm
        severities.

    Response Example
        {
          "critical_alarm_count": 1,
          "major_alarm_count": 0,
          "minor_alarm_count": 1,
          "warning_alarm_count": 3
        }

Requirements Update Required
============================
None.

Doc Impact
==========
Horizon documentation related to the contents of the Top Navbar will be updated.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Not
Drafter:
Greg Waines
Direction:
Needs approval
Assignee:
Greg Waines
Definition:
Superseded
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Rob Cresswell

Related branches

Sprints

Whiteboard

[robcresswell 2017-05-31]
So, in my opinion, this is plugin territory. We may need to work on better extension points for this kind of content, but it should still exist separate to the Horizon repo.

[david-lyle 2017-06-01] There have been a couple of projects that would like some space in the page header. I think the work in Horizon is to provide an extensible space in the page header for plugins to post content. The UI plugin for Vitrage, in this case, would then be responsible for populating that content if desired. This specific blueprint should really be targeted at the Vitrage UI plugin and a separate blueprint should be added to Horizon to create the extension point in the page header.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.