Re: [CCAMP] review of draft-ietf-ccamp-alarm-module-01

stefan vallin <stefan@wallan.se> Sat, 11 August 2018 17:52 UTC

Return-Path: <stefan@wallan.se>
X-Original-To: ccamp@ietfa.amsl.com
Delivered-To: ccamp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 64AD8130E57 for <ccamp@ietfa.amsl.com>; Sat, 11 Aug 2018 10:52:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.908
X-Spam-Level:
X-Spam-Status: No, score=-1.908 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, T_DKIMWL_WL_MED=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=wallan-se.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7tTf4dLFtF3b for <ccamp@ietfa.amsl.com>; Sat, 11 Aug 2018 10:52:37 -0700 (PDT)
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com [IPv6:2a00:1450:4864:20::136]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 93F91130E2A for <ccamp@ietf.org>; Sat, 11 Aug 2018 10:52:36 -0700 (PDT)
Received: by mail-lf1-x136.google.com with SMTP id l16-v6so8637145lfc.13 for <ccamp@ietf.org>; Sat, 11 Aug 2018 10:52:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wallan-se.20150623.gappssmtp.com; s=20150623; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=qvBQA7EJbVGDiZGS6vvtlzrKaNaoPBmzIj22XgFG4ac=; b=Baetl7mQlXAXuxaOyDSGUZtQjrYS/9FXKi2dlXTg4EJeNnWs3/BlYm70DcebiV/lZK vyWlTjrXHGxgDhihdcOZOPUZRnTeEpJU4FGdxsN/77iq5MZOsiHSx1MsBjGdeAe0wYOF FLvL+gxijsRiTsy9+LF3fX0gkaUv3HIyu2TFDt+Pu7TLAJ8gZnBuMeK2l2yokhaXmX6h t4dalMy+UVJbnjminl0HNly0XGUON81ziNELnP7GsZMeigkc6k1BRGIqznxLmOYMp+O9 45r5fPTBC0ICXintBIczGGT2bFtXzifweMHC2XWZigYtyBAXLUxF0L2uCMzhQ8S+Ajr2 PZwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=qvBQA7EJbVGDiZGS6vvtlzrKaNaoPBmzIj22XgFG4ac=; b=ifCYYIDL0v0RMaYvgoP+dgRru/vsNDtZQ0hKHEcpLfxEWdDmrCKg8vphesPXGOjDRF pfKhNkEJicVqPJlXQA/rjFaOrjiIeFL86dHvjA7aWdS06xFGFeQYJDS+cSnrQ2Mz6ldY D0H8qUItQwy2AJOwGdOzoM3S0QbQa/ZyT9T8kQavaM67vtXkP3nimfbvwrxA6FK4GaxL 337UyibDWOB9ZmGNTzCsQUm/sNQ0oNxGzmvfyH1TFJgX3F8L4+oQNdK+hH3mpQIYUOEB bR+p0/TLgmYGQ8wjTkIZtVM2zY17oRm50Ef5SGuGgfJMx9jzXy46Io5qeqsx+otTXTCF uijg==
X-Gm-Message-State: AOUpUlEc5Kxqkj0rxP7EV+oTKuYjD5tCg51iZH0KT3ncMazTj7O8gEty LatT8Qu1bV2RQQihxQVBvsssQA==
X-Google-Smtp-Source: AA+uWPy47Qb0d1JazvbFYq1jzdMDKqf0fxzDcYUVbwY4atTa/e6iwSwvYE7hqhyL3m+rsedMNT/eng==
X-Received: by 2002:a19:ebd7:: with SMTP id f84-v6mr7060413lfk.18.1534009954735; Sat, 11 Aug 2018 10:52:34 -0700 (PDT)
Received: from [192.168.72.11] (h95-155-237-105.cust.se.alltele.net. [95.155.237.105]) by smtp.gmail.com with ESMTPSA id j26-v6sm2185117ljc.54.2018.08.11.10.52.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 11 Aug 2018 10:52:33 -0700 (PDT)
From: stefan vallin <stefan@wallan.se>
Message-Id: <8944F55D-94C0-4CD3-9445-9446F41F5D44@wallan.se>
Content-Type: multipart/alternative; boundary="Apple-Mail=_A24663F7-6AB3-48C7-A6B3-034AEACCB208"
Mime-Version: 1.0 (Mac OS X Mail 11.2 \(3445.5.20\))
Date: Sat, 11 Aug 2018 19:52:33 +0200
In-Reply-To: <04c501d430a0$3c5cc3c0$4001a8c0@gateway.2wire.net>
Cc: "ccamp@ietf.org" <ccamp@ietf.org>
To: tom petch <ietfc@btconnect.com>
References: <B8F9A780D330094D99AF023C5877DABA9AF5BDE8@nkgeml513-mbx.china.huawei.com> <E597E310-27B8-4091-89BB-F510CE1AC3C0@wallan.se> <04c501d430a0$3c5cc3c0$4001a8c0@gateway.2wire.net>
X-Mailer: Apple Mail (2.3445.5.20)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ccamp/dLCZhg0ykiJvfmAN6VomBp5kn-g>
Subject: Re: [CCAMP] review of draft-ietf-ccamp-alarm-module-01
X-BeenThere: ccamp@ietf.org
X-Mailman-Version: 2.1.27
Precedence: list
List-Id: Discussion list for the CCAMP working group <ccamp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ccamp>, <mailto:ccamp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ccamp/>
List-Post: <mailto:ccamp@ietf.org>
List-Help: <mailto:ccamp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ccamp>, <mailto:ccamp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 11 Aug 2018 17:52:40 -0000

Hi Tom!

> On 10 Aug 2018, at 13:53, tom petch <ietfc@btconnect.com> wrote:
> 
> Stefan
> 
> I find this I-D (too) hard to understand.  
Sad to hear, I spent some time on describing it...

> The problem I have is with
> terminology which seems elastic.
OK, I read you, understand I need to improve on the basic definitions, important
Terminology is everything.

> 
> Thus 'alarm state' is not defined as a term; it is in other alarm work
> where the definition would fit with usage such as
> 
>   The operator state for an alarm can be: "none", "ack", "shelved", and
>   "closed".
> or
> actual state of the alarms
> or
> The alarm list (/alarms/alarm-list) is a function from (resource,
>   alarm type, alarm type qualifier) to the current alarm state.
> 
> But this meaning makes no sense to me when the term appears in
> o  Alarm Instance: The alarm state for a specific resource and alarm
> type.
> or
> o  Alarm Type: An alarm type identifies a possible unique alarm state
> for a resource.
> 
> and since I cannot understand what you mean by these two terms, I think
> I cannot understand the document.
Oh oh, fundamental, I need to improve, let my try a quick one:
I think I need to improve the right side of the function
 (resource, alarm-type-id, alarm-type-qualifier)->(alarm state)
The alarm state is really a composite state.

From pyang tree output:

     |  +--ro alarm* [resource alarm-type-id alarm-type-qualifier]
     |     +--ro resource                 resource
     |     +--ro alarm-type-id            alarm-type-id
     |     +--ro alarm-type-qualifier     alarm-type-qualifier
     |     +--ro alt-resource*            resource
     |     +--ro related-alarm* [resource alarm-type-id alarm-type-qualifier]
     |     |     ...
     |     +--ro impacted-resource*       resource
     |     +--ro root-cause-resource*     resource
     |     +--ro time-created             yang:date-and-time
     |     +--ro is-cleared               boolean
     |     +--ro last-changed             yang:date-and-time
     |     +--ro perceived-severity       severity
     |     +--ro alarm-text               alarm-text
     |     +--ro status-change* [time] {alarm-history}?
     |     |     ...
     |     +--ro operator-state-change* [time] {operator-actions}?
     |     |     ...
     |     +---x set-operator-state {operator-actions}?
     |     |     ...
     |     +---n operator-action {operator-actions}?
     |           ...

This means:
(resource, alarm-type-id, alarm-type-qualifier)->(time-created, is-cleared, last-changed, perceived-severity, alarm-text, status-change, operator-state-change)

So by alarm state the composite state of an alarm comprises the alarm severity, if it is cleared, the text, list of resource alarm state changes, list of operator state changes)

This means that you can ask what is the alarm state of (FastEthernet1/0, linkAlarm) and get the answer: current severity, is it cleared?, current operator state like “ack” etc.


> 
> Another example would be the use of 'event' which appears as
> 
> 1.  the definition focuses on leaving out events and logging information
> in general.
> 
> This I-D does not define event; previous IETF work, e.g. RFC3877 does,
> and makes it clear that an alarm (class) is a subset of an event which
> would make no sense here.

I disagree, the focus of the definition in this draft is to exclude general events to appear as alarms.
> 
> There is a lot of prior art in this field but this I-D seems to go
> against it rather than build on it.
Yes!
I am well aware of prior work, spent 25 years in the alarm industry, standards and systems.
Prior is not equivalent to art by definition.

This draft stands in giants shoulders, X.733, 3GPP Alarm IRP, RFC3877 etc but with improvements.

Your statement is very general, hard to comment. Can you make a more specific statement? Example?
I can mention some areas where I did make some design decisions that does not align with X.733, 3GPP Alarm IRP etc.

* Most alarm standards are focused on a list of notifications, this draft is focused on the alarm list as a function (resource, alarm-type-id, alarm-type-qualifier)->(composite alarm state)

* Key for alarm / alarm notification
  X.733 uses managed object (resource), event type, probable cause, specific problem. The most relevant attribute being probable cause, a global flat enum.
  3GPP Alarm IRP has confusing redundant overlapping keys “alarmId” an integer, and the X733 tuple. The standard even shows an example where alarmId and the X733 tuple is in conflict.
 
 This draft simplifies this with the hierarchical alarm-type-id.

* Separation of resource life-cycle and operator life-cycle.
  For example, 3GPP Alarm IRP has the notion of “manual-clear”, an operator setting the alarm clearance state. This is confusing.

* Separating alarm clearance from alarm severity.
  This alarm module separates the clearance state of an alarm from the alarm severity. X.733 and 3GPP does not.

And more….

Br Stefan



> 
> Tom Petch
> 
> ----- Original Message -----
> From: "stefan vallin" <stefan@wallan.se>
> To: "Qin Wu" <bill.wu@huawei.com>
> Cc: <ccamp@ietf.org>
> Sent: Sunday, July 22, 2018 7:17 PM
>