Hi Cyrille,

sure no problem, here it goes:

> Does I understand correctly your scenarii?
> 
> >>> No alarm exist: Send event with reduction key and result should be *one* 
> >>> alarm
> This is the usual workflow when no alarm already exist.Nothing to be changed 
> here

correct

> >>> One alarm with reduction key exist: Send event with matching reduction 
> >>> key and result should be *one* alarm
> This is the usual workflow when an alarm already exists; That's, the alarm 
> gets updated with lasteventtime etc... Nothing to be changed here

correct

> >>> One alarm cleared exist: Send event with matching reduction key and 
> >>> result should be *one* alarm
> I don't know what currently occurs in this case:
>      1- Normally cleared alarms don't exist since they are automatically 
> vacuumd every 5 minutes. So, this situation can only exists within these 5 
> minutes.
>      2- In the event a matching event occurs during these 5 minutes, what 
> would happen to the alarm isn't clear for me: I think the event will update 
> the alarm but it's status will still stay as "cleared", and it will still be 
> vacuumed after 5 miutes. If this is really what happens, it is for me a bug, 
> because as the user has already cleared the alarm he isn't expecting any 
> further matching event, and thus any occurence of a matching event should 
> create a new alarm. Is it what you're trying to achieve?

The default configuration of Vacuumd has a cron job and runs:

- deletePastClearedAlarms (unasked alarms older than 5 minutes)
- deleteAllPastClearedAlarms (unacked alarms older than 1 day)

- garbageCollect (all alarms older than 3 days)
- fullGarbageCollect (all alarms older than 8 days)

If they are deleted Alarmd will create new alarms. It is then the first case 
"No alarm exist”.

> >>> One alarm acknowledged exist: Send event with matching reduction key and 
> >>> result should be *one* alarm
> I don't understand what you're expecting to happens here.
> 
> For me, when I acknowledge an alarm this means I know there's an issue and 
> I'm working on it. And, I don't want to be bothered by openNMS relating this 
> issue anymore.
> 
> So, I don't want OpenNMS to make this alarm outstanding again, I want it to 
> keep this alarm acknowledged.OpenNMS can update the alarm's lasteventime 
> etc... but it shall not make it outstanding.
> 
> Is it also how you're expecting OpenNMS to behave?

That’s the reason there should be *one* alarm in OpenNMS. You have it 
acknowledged, you know - any further alarm deduplicates the existing instance. 
It is the behavior you’ve described.

> >>> One alarm acknowledged *and* cleared exist: Send event with matching 
> >>> reduction key and result should be *two* alarms
> I don't understand what you're expecting to happens here neither.
> 
> For me the fact that the alarm has been cleared means that the user isn't 
> expecting any new matching event anymore. So, in this case, a new alarm 
> should be created.
> 
> Is it also how you're expecting OpenNMS to behave?

correct

> PS: Do you really think the code change is not complicated when your PR 
> modifies 1026 files?!? ;-p

Something happened to the foundation-2016 branch.
Thank you for the hint, this is not correct.

Hope it helps.

> 2015-12-17 1:20 GMT+01:00 <ro...@opennms.org <mailto:ro...@opennms.org>>:
> Hello everyone,
> 
> I’m working on the issue NMS-8011 [1]. The code change so far is not 
> complicated [2]. I’ve spent some time to figure out how to create a Unit test 
> for this behavior and dived into AlarmdIT [3].
> 
> The testPersistAlarm() [4] seems like has everything I need to create a test. 
> Try to understand the code in the integration test. Instead of dealing with 
> native SQL statements, I thought using the existing Alarm Data Access Object 
> (AlarmDaoHibernate) [5] has just get() and find() methods.
> 
> Investigating some more, I’ve found a AlarmPersisterImpl() [6] which has a 
> persist() method but takes Events. It seems the method does not just persist 
> an Alarm it just forwards the Event to addOrReduceEventsAsAlarm() and 
> struggled to get the following test scenario implemented:
> 
> - No alarm exist: Send event with reduction key and result should be *one* 
> alarm
> - One alarm with reduction key exist: Send event with matching reduction key 
> and result should be *one* alarm
> - One alarm cleared exist: Send event with matching reduction key and result 
> should be *one* alarm
> - One alarm acknowledged exist: Send event with matching reduction key and 
> result should be *one* alarm
> - One alarm acknowledged *and* cleared exist: Send event with matching 
> reduction key and result should be *two* alarms
> 
> Any hints welcome and thank you in advance.
> 
> [1] http://issues.opennms.org/browse/NMS-8011 
> <http://issues.opennms.org/browse/NMS-8011>
> [2] https://github.com/OpenNMS/opennms/pull/519 
> <https://github.com/OpenNMS/opennms/pull/519>
> [3] 
> https://github.com/OpenNMS/opennms/blob/develop/opennms-alarms/daemon/src/test/java/org/opennms/netmgt/alarmd/AlarmdIT.java
>  
> <https://github.com/OpenNMS/opennms/blob/develop/opennms-alarms/daemon/src/test/java/org/opennms/netmgt/alarmd/AlarmdIT.java>
> [4] 
> https://github.com/OpenNMS/opennms/blob/develop/opennms-alarms/daemon/src/test/java/org/opennms/netmgt/alarmd/AlarmdIT.java#L181
>  
> <https://github.com/OpenNMS/opennms/blob/develop/opennms-alarms/daemon/src/test/java/org/opennms/netmgt/alarmd/AlarmdIT.java#L181>
> [5] 
> https://github.com/OpenNMS/opennms/blob/develop/opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/AlarmDaoHibernate.java
>  
> <https://github.com/OpenNMS/opennms/blob/develop/opennms-dao/src/main/java/org/opennms/netmgt/dao/hibernate/AlarmDaoHibernate.java>
> [6] 
> https://github.com/OpenNMS/opennms/blob/develop/opennms-alarms/daemon/src/main/java/org/opennms/netmgt/alarmd/AlarmPersisterImpl.java
>  
> <https://github.com/OpenNMS/opennms/blob/develop/opennms-alarms/daemon/src/main/java/org/opennms/netmgt/alarmd/AlarmPersisterImpl.java>
> 
> --
> Ronny Trommer, OGP
> Germany :: Fulda :: Stuttgart
> Web: http://www.opennms.org <http://www.opennms.org/>
> 
> PGP Key Fingerprint: 4A1B 4D06 FEEC 244D 38EF  8074 9075 B2E5 08A2 451E
> PGP Key Server1: https://keyserver.pgp.com <https://keyserver.pgp.com/>
> PGP Key Server2: http://pgp.mit.edu/ <http://pgp.mit.edu/>
> 
> 
> 
> 
> 
> 
> ------------------------------------------------------------------------------
> 
> _______________________________________________
> Please read the OpenNMS Mailing List FAQ:
> http://www.opennms.org/index.php/Mailing_List_FAQ 
> <http://www.opennms.org/index.php/Mailing_List_FAQ>
> 
> opennms-devel mailing list
> 
> To *unsubscribe* or change your subscription options, see the bottom of this 
> page:
> https://lists.sourceforge.net/lists/listinfo/opennms-devel 
> <https://lists.sourceforge.net/lists/listinfo/opennms-devel>
> 
> ------------------------------------------------------------------------------
> _______________________________________________
> Please read the OpenNMS Mailing List FAQ:
> http://www.opennms.org/index.php/Mailing_List_FAQ
> 
> opennms-devel mailing list
> 
> To *unsubscribe* or change your subscription options, see the bottom of this 
> page:
> https://lists.sourceforge.net/lists/listinfo/opennms-devel

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

------------------------------------------------------------------------------
_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/index.php/Mailing_List_FAQ

opennms-devel mailing list

To *unsubscribe* or change your subscription options, see the bottom of this 
page:
https://lists.sourceforge.net/lists/listinfo/opennms-devel

Reply via email to