OutageDao ACL support is broken causing web UI failures

Description

The ACL feature allows to filter the information a given user can see on the WebUI, based on the groups the user belongs to.

This feature has been working since it has been introduced until 16.0.4.

Starting with 17.0.0, specifically because of a change on the OnmsOutage class added in revision 64947d83263133ffff6c47a75dd8c9faa3b8e494, after enabling the ACL feature, everything related directly or indirectly to outages is broken on the WebUI, and a SQL exception is thrown on web.log

Acceptance / Success Criteria

None

Attachments

3

Lucidchart Diagrams

Activity

Alejandro Galue February 25, 2016 at 1:32 PM

Alejandro Galue February 24, 2016 at 6:29 PM

Bamboo want green, so indeed the alias is NOT required inside the OnmsOutage's Filter.

Alejandro Galue February 24, 2016 at 3:47 PM

Alejandro Galue February 24, 2016 at 3:24 PM
Edited

As an experiment, I replaced:

with

Insite the OnmsOutage's Filter and now everything works as expected, including all the tests on OnmsDaoIT.

The solution was tested on the same VM on which the ACL were failing, and now everything works fine. I'm going to put that patch on a branch to see if goes green on Bamboo.

Alejandro Galue February 24, 2016 at 3:09 PM
Edited

Here is an interesting fact:

The AlarmDao has a method called getNodeAlarmSummaries that returns a list of AlarmSummary objects. This works similar to OutageDao. getNodeOutageSummaries(). The interesting thing is that all the alarms related features are working as expected with ACL (for example, the alarms with problem box is rendered, and the alarms page is rendered as well). One thing to notice is that @Filter annotation inside the OnmsAlarm doesn't have any alias like in OnmsOutage.

Fixed

Details

Assignee

Reporter

Labels

Components

Affects versions

Priority

PagerDuty

Created February 23, 2016 at 1:10 PM
Updated June 19, 2016 at 7:30 PM
Resolved February 25, 2016 at 8:51 PM