[CCAMP] Alarm Module work

stefan vallin <stefan@wallan.se> Mon, 28 May 2018 12:11 UTC

Return-Path: <stefan@wallan.se>
X-Original-To: ccamp@ietfa.amsl.com
Delivered-To: ccamp@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id F17D7128C0A for <ccamp@ietfa.amsl.com>; Mon, 28 May 2018 05:11:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Status: No, score=-1.909 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] 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 ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id Ky9J-swkwQDi for <ccamp@ietfa.amsl.com>; Mon, 28 May 2018 05:11:42 -0700 (PDT)
Received: from mail-wr0-x231.google.com (mail-wr0-x231.google.com [IPv6:2a00:1450:400c:c0c::231]) (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 451CD12D82F for <ccamp@ietf.org>; Mon, 28 May 2018 05:11:42 -0700 (PDT)
Received: by mail-wr0-x231.google.com with SMTP id u12-v6so19910547wrn.8 for <ccamp@ietf.org>; Mon, 28 May 2018 05:11:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wallan-se.20150623.gappssmtp.com; s=20150623; h=from:subject:message-id:date:to:mime-version; bh=wRf1afpndSpNclfXIzIdB0nMuPUI+Fe2k+bW2LOODHQ=; b=N5f9ojIHn80D3MxhEsoG7v+TLPSEzJaMY/iU+JrZ5mo++C6O0/0cuJZwy+z0kD2VG+ jFi1rGHyt/pRMGZlkAhbBY/hcx2NW6giUZKaje3cDm+t1Qje0J32la35h1da+V9RaMYL bCfFetRMWxvAJNbosgby//WP7KvVF7UAzSCUytJ49EwMcg/N+RDqX+7CapDX5wguTAWj pyXONy6Zon29BSBHmcVBug8hq9SB6HA2SziPJ0pRG4uy/UE/R84oGiLsaBUjhFZdPBSa hh1ajzmkG/7rcDgKNLOMeB6qwGg6pgbWibrNzScyzNUwG85twzbtbgh98d/fqthw1Ck3 +NBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:subject:message-id:date:to:mime-version; bh=wRf1afpndSpNclfXIzIdB0nMuPUI+Fe2k+bW2LOODHQ=; b=QTkU5+h/P52SZfLD7O9d8gDGbqT7tNyKEXF7jPskSa5JhReZADqNPTHb3uVkLtitLY jBfyLXjFw8QqeSaCGoFdq8iZOyV7ySMat+K60pDK+2sD8itxljM6mcQgktzhcvM+f6dx IuHfzUNAZ4eOWp7peiO+/pETKv+K4JFJfwa83WhCAajl92dpk/vwQPD53queFQyB26Ff /+i5fPz3jM4ATShsvFDLVv6iYJxp/cgiTXzK/JxNed75bjRPggmchWDmWU38V3TEYvRr MSLV5E0p6gpyfOFcEJWU0I5bLqOZ3l0jrJSzPwLREqs0AkXYYSQoLxnmhZem8hqTK0ze CfpQ==
X-Gm-Message-State: ALKqPwcagwvl5RaJYneTP2ykbf5r1NA1omPIKz6H/CY4uGRFCETXfo8t 89fHZxxvZZiXkspeviWsDVkvaV90Nu0=
X-Google-Smtp-Source: ADUXVKLmG1LPHL+Nk+FQA2tAhreheGHz7gtAaSxp2y7TaZlSxWIeSVqJJElHgznx0OaLAgvqWSb7aQ==
X-Received: by 2002:a19:4dc5:: with SMTP id a188-v6mr6869274lfb.99.1527509500497; Mon, 28 May 2018 05:11:40 -0700 (PDT)
Received: from [] ([]) by smtp.gmail.com with ESMTPSA id b202-v6sm6780727lfg.42.2018. for <ccamp@ietf.org> (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 28 May 2018 05:11:39 -0700 (PDT)
From: stefan vallin <stefan@wallan.se>
Content-Type: multipart/alternative; boundary="Apple-Mail=_05A2A513-EA57-43B1-86E5-0017ECD1AA61"
Message-Id: <D174588E-1233-4B53-B5BB-D29DE14B3888@wallan.se>
Date: Mon, 28 May 2018 14:11:38 +0200
To: Common Control and Measurement Plane Discussion List <ccamp@ietf.org>
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
X-Mailer: Apple Mail (2.3124)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ccamp/O2XBZxjv-ye3ZPXqqu9zlJ1mKWU>
Subject: [CCAMP] Alarm Module work
X-BeenThere: ccamp@ietf.org
X-Mailman-Version: 2.1.22
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: Mon, 28 May 2018 12:11:45 -0000

Me and Martin are working on an updated version of the alarm module. Several smaller things pointed out by reviewers. Thank you all.

We would like to share 2 things for discussion:
1) Extended notification filtering
2) Alarm Severity Assignment Profile

We are now stretching the limit for being a first core module with only relevant features.
At this point I think it is more important to start having implementation support rather than adding even more features which might scare people of from implementing it.

1) Extended notification filtering
See suggestion below, added the capability to filter on severity.
We did not include resource filtering since that would be too much overlap with shelving.

      choice notify-status-changes {
          "This leaf controls the notifications sent for alarm status
           updates. There are three options:
           1. notifications are sent for all updates, severity level
              changes and alarm text changes
           2. notifications are only sent for alarm raise and clear
           3. notifications are sent for status changes equal to or
              above the specified severity level. Clear notifications
              shall always be sent
              Notifications shall also be sent for state changes that
              makes an alarm less severe than the specified level.
           In option 3, assuming the severity level is set to major,
           and that the alarm has the following state changes
           [(Time, severity, clear)]:
           [(T1, major, -), (T2, minor, -), (T3, warning, -),
            (T4, minor, -), (T5, major), (T6, major, clear)]
           In that case, notifications will be sent at
           T1, T2, T5 and T6";
        leaf notify-all-state-changes {
          type empty;
            "Send notifications for all status changes.";
        leaf notify-raise-and-clear {
          type empty;
            "Send notifications only for raise, clear, and re-raise.
             Notifications for severity level changes or alarm text
             changes are not sent.";
        leaf notify-severity-level {
          type severity;
            "Only send notifications for alarm state changes
             crossing the specified level. Always send clear

2) Alarm Severity Assignment Profile

We have renamed ietf-alarms-x733 to ietf-alarms-itu since it now includes X.733 as well as M.3100/M.3160 features

  list alarm-severity-assignment-profile {
      if-feature alarm-severity-assignment-profile;
      key "alarm-type-id alarm-type-qualifier resource";
      ordered-by user;
        "If an alarm matches the criteria in one of the entries
         in this list the configured severity levels shall be
         used instead of the system default. Note well that the
         mapping allows for several severity levels since this
         alarm module uses a stateful alarm model where
         the same alarm can have the following states:
         [(warning, not cleared),(minor, not cleared),
          (minor, cleared)]

         The configuration of this list shall update the
         /al:alarms/al:alarm-inventory/al:alarm-type list so that a
         client can always get a full picture of the possible alarms
         by reading the alarm inventory. If an alarm matches several
         entries in this list, the first match is used.";
        "M.3160/M.3100 Alarm Severity Assignment Profile, ASAP";
      leaf alarm-type-id {
        type al:alarm-type-id;
          "The alarm type identifier to match for severity
      leaf alarm-type-qualifier {
        type string;
          "A W3C regular expression that is used to match
           an alarm type qualifier.";
      leaf resource {
        type al:resource-match;
          "Specifies which resources to match for severity
      leaf-list severity-levels {
        type al:severity;
        ordered-by user;
          "Specifies the configured severity level(s) for the
           matching alarm. If the alarm has several severity
           levels the leaf-list shall be given in rising severity
           order. The original M3100/M3160 ASAP function only
           allows for a one-to-one mapping between alarm type and
           severity but since the IETF alarm module supports stateful
           alarms the mapping must allow for several severity levels.

           Assume a high-utilisation alarm type with two
           thresholds with the system default severity levels of
           threshold1 = warning and threshold2 = minor. Setting this
           leaf-list to (minor, major) will assign the severity
           levels threshold1 = minor and threshold2 = major";
      leaf description {
        type string;
        mandatory true;
          "A description of the alarm severity profile.";

Stefan Vallin