-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Alarm events should be able to take on multiple values (+add other missing Alarm metadata) #57
Comments
Yes, I think you are right. You should be able to specify a list of possible severities. We could also interpret the severity value to mean "the most critical severity". Otherwise, I can change the alarm schema to require an array for severity (and maybe also change the name to something like possibleSeverity). |
Is there a place where the intended meaning of each alarm level is defined? We are currently updating a bunch of ICDs for the NFIRAOS final design review anyway, so we're fine with fixing up everything to handle a potential schema change. I think I like the idea of: no possibleSeverity => alarm can take on any of the values specified in the schema, otherwise you specify an explicit array of the possible values. |
In the prototype there are comments in the AlarmModel class (The alarm service has not been implemented in csw-prod yet):
|
The comments were based on the specification that Kim wrote: |
After discussing alarms at length with Jimmy, we believe that each alarm should be associated with one severity level. As stated, this is not in the current design or documentation, which follows the EPICS approach to alarms associated with process variables. So let’s stick with a single severity. It may also be that the API will change to not require setting the severity since it is fixed for each alarm. If an alarm is associated with different severities, they should be different alarms. This makes the model simpler too since it doesn’t need to content with different possible severities.
… On Mar 13, 2018, at 10:21 PM, Edward Chapin ***@***.***> wrote:
My understanding from the CSW Final Design documentation is that an alarm should be able to take on multiple values (e.g., good, ill, bad, critical). TMT then monitors all of the alarms associated with a software component, and uses the worst alarm level to derive health (e.g., good, ill, bad).
At the moment, it looks like one can only define an alarm event with a particular severity, e.g.,
{
name = temperature
description = "EE air temperature is outside acceptable limits"
severity = major
archive = true
}
Presumably the "temperature" alarm state would be considered good until this event is published.
It seems like it should be possible to define an alarm: (i) without specifying a severity; or (ii) specify an array of possible values that it might take on, e.g.,
{
name = temperature
description = "EE air temperature is outside acceptable limits"
possibleSeverity = "good,warning,major,critical"
archive = true
}
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub <#57>, or mute the thread <https://github.com/notifications/unsubscribe-auth/ABdmMW7uesBvyx2Xky5wdHZxcDKsZ-F7ks5teEZjgaJpZM4Spi9P>.
|
OK, in that case, please continue to use the master branch for now. We will probably still add the additional fields, but we can discuss that. |
We have chosen to implement the Alarm Service as originally designed, that is, with each alarm having a set of supported/allowed severities. This doesn't preclude developers to create alarms such that they can only have one severity, if desired, to align with the design described in Kim's comment above from March 15, 2018. With that decision, Ed's suggestion still stands. In addition, the rest of the Alarm metadata fields from the CSW implementation should be added to the models. |
My understanding from the CSW Final Design documentation is that an alarm should be able to take on multiple values (e.g., good, ill, bad, critical). TMT then monitors all of the alarms associated with a software component, and uses the worst alarm level to derive health (e.g., good, ill, bad).
At the moment, it looks like one can only define an alarm event with a particular severity, e.g.,
Presumably the "temperature" alarm state would be considered good until this event is published.
It seems like it should be possible to define an alarm: (i) without specifying a severity; or (ii) specify an array of possible values that it might take on, e.g.,
The text was updated successfully, but these errors were encountered: