Subject: [RTG-DIR] Rtgdir last call review of draft-ietf-ccamp-alarm-module-06

From: Joel Halpern <[email-masked]>
Date: Thu, 10 Jan 2019 09:21:38 -0800

Reviewer: Joel Halpern
Review result: Has Issues

I have been selected as the Routing Directorate reviewer for this draft. The
Routing Directorate seeks to review all routing or routing-related drafts as
they pass through IETF last call and IESG review, and sometimes on special
request. The purpose of the review is to provide assistance to the Routing ADs.
For more information about the Routing Directorate, please see
​http://trac.tools.ietf.org/area/rtg/trac/wiki/RtgDir

Although these comments are primarily for the use of the Routing ADs, it would
be helpful if you could consider them along with any other IETF Last Call
comments that you receive, and strive to resolve them through discussion or by
updating the draft.

Document: draft-ietf-ccamp-alarm-module-06
Reviewer: Joel Halpern
Review Date: 10-January-2019
IETF LC End Date: N/A
Intended Status: Proposed Standard

Summary:
This document is basically ready for publication, but has minor issues that
should be considered prior to publication.

Comments:
    The document is quite readable, and starts with a clear and helpful
    description of what it is trying to do.

Major Issues:
    No major issues found.

Minor Issues:
    The first paragraph of section 3.6 (Root Cause, Impacted Resources and
    Related Alarms) has a confused "not", a missing preposition, and a typoed
    conjunction, making it very hard to be sure what is intended.  I believe
    the first part of the sentence should read: "The recommendation is to have
    a single alarm for the underlying problem and list ..."

    There is a larger issue about system behavior and root cause analysis that
    I think should be discussed in this section.  Root cause analysis and
    side-effect analysis are not simple tasks.  It is common for them to be
    performed outside of network elements.  When such is performed outside of a
    network element, it is unclear what the implications are.  Is it the intent
    that network elements that can not perform root cause analysis and impacted
    resource determination should NOT support this YANG module?  Or can /
    should / may they support it even though they can not perform this
    analysis?  There is a paragraph that seems to be trying to talk about this,
    but I was left confused about what was expected.  Part of my confusion is
    that the text treats this inability as rare, whereas in my experience for
    network elements such inability is common.

    It took me a while to realize what the text in 3.7 (and 4.1.1) about not
    generating notification is talking about.   The problem is that with all
    the effort to make clear that alarms are not notifications, I missed the
    fact that an alarm being raised (or re-raised) does itself cause a
    notification.  And that it is this re-raise notification (and other
    severity change, clearing, etc notifications) that are suppressed by the
    shelving.   It seems to me that there needs to be better explanation of
    this in or before 3.7.

    Reading the YANG for shelving alarms, it looks to me that while it can do
    what is described earlier in the document, the conceptual structure is VERY
    different.  From the YANG, to shelve a specific alarm one has to create a
    named shelf whose conditions identify the specific alarm.  To selve several
    alarms that are related (for example, when the operator looks at a list and
    selects several items to shelve) the system will likely have to create
    multiple shelves, give each a unique name, and put the different alarm
    identifiers in each one.   To unshelve alarms, one has to find the named
    shelf which has caused the shelving.   This seems very awkward.  It seems
    to have been designed to enable one to store the shelving reason separate
    from the alarm itself.  It introduces the odd effect that if the shelves
    are used with conditions that can match more than one thing, then one could
    have several shelves shelving the same alarm, and an effort to unshelve
    might well not produce the desired result. Assuming that this complexity is
    desired by the working group, I would ask that it be explicitly called out
    in the descriptive portions of the document.

Nits:
        In section 4.4 (overview of The Alarm List) tree showing the components
        of the purge-alarm operation, is there any way to make clear that the
        enumeration called alarm-status is the enumeration of filter choices
        related to whether the alarm is cleared?  Maybe rename it
        alarm-cleared-filter?

---

From: stefan vallin <[email-masked]>
Date: Tue, 15 Jan 2019 22:52:36 +0100

Hi Joel!
Thanks for your review, really helpful!
See inline:

> On 10 Jan 2019, at 18:21, Joel Halpern <[email-masked]> wrote:
> Minor Issues:
>    a single alarm for the underlying problem and list …"
That sentence is really broken in v6, my fat fat fingers. This was also pointed out by Gert Grammel.
It should read:

 The recommendation is to have a single alarm
 for the underlying problem and list the affected resources in the
 alarm, rather than having separate alarms for each resource

>    network elements such inability is common.
The module does not mandate any root-cause -, impact analysis or correlation capabilities.
The purpose of this section is to describe optional leafs in the alarms relating to presenting the result of such analysis, if supported.
If the system has no such capabilities, the optional leafs are not used and this section can be ignored.
I will make that clear in this  section. It would be fatal if the reader did not use the module assuming it put requirements on correlation.
>    shelving.   It seems to me that there needs to be better explanation of
Ok, will improve description.
>    identifiers in each one.   
The data-model uses a leaf-list for the resource which makes it possible to define one shelf for several resources. 
However your comments made us aware of alarm-type and alarm-qualifier just being leafs. As you point out this may
lead to situations where you need to configure several shelfs for shelving different alarms relating to the same reason.
We will change this so that several alarm-types/alarm-qualifiers can also be defined for one shelf. 
With this change, any arbitrary group of alarms can be configured as one shelf.
Also, we will make the list ordered-by user, and add to the
description that the first matching shelf is used.

Thanks for pointing this out.

> To unshelve alarms, one has to find the named
See above, with the proposed change, it will always be one shelf.
Finding the shelf with the shelf name should not be awkward.
Note well that it is likely that there are several alarms that are shelved due to the same shelf configuration.
Take the straight-forward shelving of all alarms from a specific interface. 
Different alarms from that interface will then be shelved and it is straight-forward to delete the shelf configuration that says, “if X/Y/Z under test”.
This is an important feature of shelving.

See above about the change to ordered-by-user, this will address your issue of several shelves addressing the same alarm.
Again, thanks for your review making us aware of this issue!
>        related to whether the alarm is cleared?  Maybe rename it
Ok, will consider this

br Stefan and Martin

---

From: "Joel M. Halpern" <[email-masked]>
Date: Tue, 15 Jan 2019 17:38:20 -0500

Thank you Stefan.  Your proposed clarifications sound like they will 
addres my concerns.

Yours,
Joel