Re: [Netconf] comments on draft-ietf-netconf-subscribed-notifications-12

"Eric Voit (evoit)" <evoit@cisco.com> Thu, 14 June 2018 17:18 UTC

Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E112C130E5B for <netconf@ietfa.amsl.com>; Thu, 14 Jun 2018 10:18:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.51
X-Spam-Level:
X-Spam-Status: No, score=-14.51 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 eZ48lselQTmO for <netconf@ietfa.amsl.com>; Thu, 14 Jun 2018 10:18:41 -0700 (PDT)
Received: from rcdn-iport-1.cisco.com (rcdn-iport-1.cisco.com [173.37.86.72]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A643C130E58 for <netconf@ietf.org>; Thu, 14 Jun 2018 10:18:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=7155; q=dns/txt; s=iport; t=1528996721; x=1530206321; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=O/m5qX1Sf+4lF2xBJ24/MNXWV7MRwrkIUtiw9rjB8E8=; b=cmxxDUZsjeWrdvCd1Zf8ty6VmGnRB26wLwxlMQePYehR5ipbxRy828qU iKlvEVT9IJkAqS+TLI4b/40hE2OopfBpe4D38GSh1QwPeO+ZFaBVGWgHE 1yJK/XndXRjKbky3xiMvEUPmogxmFIsTKBxRVrTDBE1H/iSlEL8XQiMnv g=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0DoAQAAoyJb/4YNJK1aAxkBAQEBAQEBAQEBAQEHAQEBAQGDSGJ/KAqYRYF/lG0UgWQLH4RNAoJJITUXAQIBAQEBAQECbRwMhSgBAQEDATo4BQIFCQICAQgOAgUDDREQGxclAgQBDQUIgxyBdwisXohGgWMFBYhHgVQ/hBuEQgEMBgEHAjcmhQ8CmQ4JAo53gUeLeYduiSwCERMBgSQfATVhcXAVgn6GMIofb41yDheBCIEaAQE
X-IronPort-AV: E=Sophos;i="5.51,222,1526342400"; d="scan'208";a="410328317"
Received: from alln-core-12.cisco.com ([173.36.13.134]) by rcdn-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Jun 2018 17:18:40 +0000
Received: from XCH-RTP-012.cisco.com (xch-rtp-012.cisco.com [64.101.220.152]) by alln-core-12.cisco.com (8.14.5/8.14.5) with ESMTP id w5EHIe0u016365 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Thu, 14 Jun 2018 17:18:40 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-012.cisco.com (64.101.220.152) with Microsoft SMTP Server (TLS) id 15.0.1320.4; Thu, 14 Jun 2018 13:18:39 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1320.000; Thu, 14 Jun 2018 13:18:39 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Martin Bjorklund <mbj@tail-f.com>, "j.schoenwaelder@jacobs-university.de" <j.schoenwaelder@jacobs-university.de>
CC: "alexander.clemm@huawei.com" <alexander.clemm@huawei.com>, "alex@clemm.org" <alex@clemm.org>, "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] comments on draft-ietf-netconf-subscribed-notifications-12
Thread-Index: AQHT/nTB7wTodISdV0qlE/sux4czBKRU8kawgAFinID///zC4IAAXMiA//++zTCABv5KgP//v8BQAAsePAAAAeTiAAAPiUWAAAIQEmAAKpK66wAP4zmQ
Date: Thu, 14 Jun 2018 17:18:39 +0000
Message-ID: <f6f66d0c0a444f2bb0fc770082450037@XCH-RTP-013.cisco.com>
References: <20180613.090421.188030980179358538.mbj@tail-f.com> <e61d9a8666964a6ca3a7900c71e4f4d2@XCH-RTP-013.cisco.com> <20180613160206.gkutjhxigdxpv2uz@anna.jacobs.jacobs-university.de> <20180614.102216.2199378020340361225.mbj@tail-f.com>
In-Reply-To: <20180614.102216.2199378020340361225.mbj@tail-f.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.228]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/Mf_Bcha_XoCqEqjvkAnQZYq3oVk>
Subject: Re: [Netconf] comments on draft-ietf-netconf-subscribed-notifications-12
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Jun 2018 17:18:44 -0000

> From: Martin Bjorklund, June 14, 2018 4:22 AM
> 
> Hi,
> 
> Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> wrote:
> > On Wed, Jun 13, 2018 at 03:36:01PM +0000, Eric Voit (evoit) wrote:
> > > Each of the terms used are different.  While they all are defined in the first
> document they are used, let me paraphrase the meanings of the definitions...
> > >
> > > Event - something that happened
> > >
> > > Event record - the recorded details of a single event
> > >
> > > Update record - one or more datastore node updates
> > >
> > > <notification> - a structure defined in RFC5277 which is as a wrapper which
> contains an event record.  A <notification> can exist without any active
> subscription.
> > >
> > > "notification" statement - a structure defined in RFC-7950 section 7.16
> which allows the definition of event record types specific to a YANG module.
> The results of the a YANG "notification" statement are encoded in a
> <notification>.
> >
> > Here is where I am getting lost. The RFC 7950 notification statement
> > (its not a structure btw) does define the content of a notification.
> > And notification used to be defined in RFC 6241 as a "server-initiated
> > message indicating that a certain event has been recognized by the
> > server." Your notion of an event record may come from the RFC 5277
> > format that adds an eventTime etc. but the relationship of what is a
> > YANG defined notification and how it related to your event record and
> > the <notification> structure is still unclear.
> 
> I don't think we should align terminology with 5277.  More important is to
> align with the current set of documents; 7950 and 6241.

Exactly.  

Note that there was no terms imported from 5277.  Subscribed-notifications does define an umbrella term "notification message", and uses Section 2.6 to make the minimal connection necessary to show that an RFC-5277  <notification> is a valid "notification message".  BTW: We had text in earlier versions of subscribed-notifications stating the need to support future types of "notification messages" such as those defined in draft-ietf-netconf-notification-messages.  However reviewers asked these evolving references to be removed.

We do have the option of importing terms from 6241 into the NETCONF-notif document.  This would be the right place to do it because in the subscribed-notifications document we want to limit any introduction of NETCONF dependencies.   (Maybe NETCONF-notif adds text to say that a "RFC6241 client" maps to subscriber, and "RFC6241 server" maps to publisher?)

> If subscribed-notifications is transport-independent, it should probably not talk
> too much about <notifcation> etc; this should go into the transport docs.

In general, this is what is done.  In subscribed-notifications, the only place <notification> is mentioned at all is section 2.6.    If necessary, we could move this section to NETCONF-notif, but that would leave no transport independent framing for the notifications.  I guess it is possible to live without that, but it would leave the subscribed-notifications feeling incomplete.  I suspect a similar thought process drove the inclusion of <notification> within RFC-6020 and then RFC-7950.
 
> 7950 says that the "notification" statement defines a notification.
> As Juergen pointed out this term is not defined in the terminology section, but
> nevertheless the term is used.
>
> Does the WG now want to introduce a new term for what the "notification"
> statement defines?

It certainly might make sense to have a future update of RFC-7950 with something like this.    I spend a bit of time trying to understand the connection of YANG notification statement with <notification>.  Having this be better defined would be helpful.

>  It seems to me that the term "event record" is being
> proposed for this.

An event record is not necessarily a YANG notification, as the event record's payload might not be driven by the result of a YANG statement.

> The answer to this question will have a big impact on the
> rest of the terminology.

As event record has a larger scope than what can come from a YANG notification statement, my suggestion would be for the revision of RFC-7950 to import "event record", and then specify a new subtype term (maybe "YANG event record"?).  If that term works, a YANG event record could then be an event record where the contents are populated by the results of the YANG notification statement.

> > > Notification message - a message intended for a specific subscription
> receiver which includes one or more <notification>. A notification message will
> have undergone any security/content filtering on embedded <notification> as
> appropriate for that receiver.
> >
> > So how does this fit Figure 1 of RFC 6241? This figure indicates that
> > <notification> is a message as seen from the messages layer. You are
> > saying a notification message is something else that includes one or
> > more <notification>s. Yes, I know that the diagram in RFC 5277 is
> > different but the diagram in RFC 6241 is the newer one.
> 
> This confuses me as well.

The requirement for the bundling of many events is being driven by large data center telemetry.  It is unclear at this point whether NETCONF will be a transport used in this environment.

If NETCONF does care about this environment, and does want to support something like draft-ietf-netconf-notification-messages, I do think tweaks to RFC-6241 will be needed.  For example what is the definition of <notification> within 6241, Figure 1 (right now point RFC-5277 isn't explicitly mentioned.).   Must this figure only be interpreted as a RFC 5277 <notification>?  Can the figure also mean a draft-ietf-netconf-notification-messages "message"?

> How much of this do we have to define in this document, and how much
> should go into the transport docs?

Beyond what I describe above, impacts would be to new/updated transport drafts.   Plus an update to subscribed-notifications section 2.6 to indicate that a new transport independent <notification> construct exists.

Eric

> /martin
> 
> 
> > > Per the discussion below, I see an update record being a specialized type of
> event record.  For YANG push, the 'event' is driven by the update trigger: i.e.,
> either the expiration of a periodic timer (for periodic subscriptions), or a
> change to the datastore (on-change subscription).
> > >
> >
> > I am missing a definition what an Update record is. It is surely not
> > in this email. Anyway, if there are changes to architectural concepts,
> > it would be nice to find them in a coherent well explained section.
> >
> > /js
> >
> > --
> > Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> > Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> > Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
> >