[netconf] Re: Adoption call for notif-yang-04

Andy Bierman <andy@yumaworks.com> Sun, 19 May 2024 18:45 UTC

Return-Path: <andy@yumaworks.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 3DCB9C14F69F for <netconf@ietfa.amsl.com>; Sun, 19 May 2024 11:45:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.095
X-Spam-Level:
X-Spam-Status: No, score=-7.095 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lgzCL1H3156I for <netconf@ietfa.amsl.com>; Sun, 19 May 2024 11:45:31 -0700 (PDT)
Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AA8A7C14F6EA for <netconf@ietf.org>; Sun, 19 May 2024 11:45:31 -0700 (PDT)
Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-1ee954e0aa6so21312825ad.3 for <netconf@ietf.org>; Sun, 19 May 2024 11:45:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks.com; s=google; t=1716144331; x=1716749131; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=d8sQRyBmxYhz9/tOgxkuPxUCZoIIR5geOppfN/sGbcs=; b=v9TGvL8GbQxVJ1ye0lSKONzUTu0km+eUnSEkaInEzGYpn5pvfGPGGkmWzkrGqj6Dn5 ygfe4XEAv4Uto9vlRDuz/1aXlFS/y8Ujd1HCwSm1zCgEGV+2sqaKIgDaXdwzQ5V7Jea1 DivQfVkeq0JMFSLvKVtabuloTLHQ61x18xoI29OX1iTJB7IXaS7hB0db5u5dMWBAQhgQ 2Rd8NIqOswOGX5r24zjE+xDoHfdiK61m9c9Ona8cI/O2uBI3pY7yNBXRNsFRR/KaG6q/ 9h0pwTjIqPk76v33znSZehvGg4xJMKyKQiy4X/3bHSULNmyAXhpVDgKKswQ3qYsQcMsU RtJw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716144331; x=1716749131; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=d8sQRyBmxYhz9/tOgxkuPxUCZoIIR5geOppfN/sGbcs=; b=NX2B9wGpTa/A630w1VpMXzIDPmgLQ6QZVc/MDQc9jlnpXT+hGmqpA7siEdcSdVBpLg cK833yxYSfsTSmcf1FtCyJEDUuH+GFwIc2ooqomh9WsBvoQawYmbY8sFksXiAxstGC9q VRAMoeOdWyQzDmlGQcTxDp3aoOhei9jb601woAsTDBRXsMckogzBOsWfjpC2SVxEOA9k UznCsFmhs61sjPaT8SH6T1gkc20O9V67uBOIFNovYigxBxdp7C/jjPQcg1pXanf4Alvq ke+DmDJmr7HUhNxn6RFtIx3RcV0AzNUwN1rmlDgciL1SPTOjeg3zg9NDqcp/HkO7QG5i /bgQ==
X-Forwarded-Encrypted: i=1; AJvYcCVSnEfDk5Mpj71t0c8E84dmtPNRFUraaSYUirzlSkU4nqSoopFovJutsNGQhkZVUgTfJzq5rd/UrIVd0syMTTH2
X-Gm-Message-State: AOJu0YxTCIth234wYThHqh/JbsId/GjliWN4Bw6hjELjeRjDMQvkAnhS N3ULXqllhJjbCzvKxKcTGpFKFv75Bt0ZKpaFB7mhwHimdW1z1GBMgdvSUQ0a3Cf/5/ZgJF8c9dd U8aybCgnn6DTnlTQB/sJS4QJFYACAiISfCCenkw==
X-Google-Smtp-Source: AGHT+IHxbL2f+MSVpt+74aIHYFbnEyahCLi+/5oCqZgFx2LWK8v9wvar8hdO2CjWSsI58+6sdQ4iXqg/WN5Pps20BaY=
X-Received: by 2002:a05:6a21:9188:b0:1af:f89d:831d with SMTP id adf61e73a8af0-1aff89d8473mr19874038637.24.1716144330969; Sun, 19 May 2024 11:45:30 -0700 (PDT)
MIME-Version: 1.0
References: <0100018eb57a21d8-26b38f41-a625-4d44-9248-09b349fd4212-000000@email.amazonses.com> <DU2PR02MB10160110D4C72D682BA884802880E2@DU2PR02MB10160.eurprd02.prod.outlook.com> <CABCOCHT4Yy8gUKxmR9__ZcAEULiK8g-S7-B6EaLO8s0nk0FjTg@mail.gmail.com> <0100018f07521d0a-17e021b3-295a-4c50-8316-58632d7a7107-000000@email.amazonses.com> <CACvbXWGS_Er8bK0u4suNs0oHD7B6avObk8uu6bET_-7xWHcdbQ@mail.gmail.com> <355358f23f374b8dba8a20c00fea03f4@swisscom.com> <CABCOCHRVEQBocBAspUHJFE0vp8AkO1KCimPdUV9+H0kpg1TgYA@mail.gmail.com> <722051c62df24ce1acb86f280532fd87@swisscom.com> <LV8PR11MB85364B4196E67EBD4A8F5941B5E82@LV8PR11MB8536.namprd11.prod.outlook.com> <CABCOCHSsBYGbALLmCyLPgwX3+Gw0PfvruMiAiNM0i_kD5J189g@mail.gmail.com>
In-Reply-To: <CABCOCHSsBYGbALLmCyLPgwX3+Gw0PfvruMiAiNM0i_kD5J189g@mail.gmail.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Sun, 19 May 2024 11:45:18 -0700
Message-ID: <CABCOCHQ2Z7+XR7=PSr4SP3fTyfmvzj6HMuNgy+xnXtffa5JD0w@mail.gmail.com>
To: "Rob Wilton (rwilton)" <rwilton@cisco.com>
Content-Type: multipart/alternative; boundary="0000000000003b35940618d2fd50"
Message-ID-Hash: C3Z6IIBHK6NTRXTAHN7AA27JRXT2L4ZM
X-Message-ID-Hash: C3Z6IIBHK6NTRXTAHN7AA27JRXT2L4ZM
X-MailFrom: andy@yumaworks.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-netconf.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: "Thomas.Graf@swisscom.com" <Thomas.Graf@swisscom.com>, "netconf@ietf.org" <netconf@ietf.org>, "pierre.francois@insa-lyon.fr" <pierre.francois@insa-lyon.fr>
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [netconf] Re: Adoption call for notif-yang-04
List-Id: NETCONF WG list <netconf.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/3Je4qfm47Ru68sqQw_yGg4BI9M8>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Owner: <mailto:netconf-owner@ietf.org>
List-Post: <mailto:netconf@ietf.org>
List-Subscribe: <mailto:netconf-join@ietf.org>
List-Unsubscribe: <mailto:netconf-leave@ietf.org>

On Sun, May 19, 2024 at 9:59 AM Andy Bierman <andy@yumaworks.com> wrote:

> Hi,
>
>
>
> On Sun, May 19, 2024 at 8:59 AM Rob Wilton (rwilton) <rwilton@cisco.com>
> wrote:
>
>> I’m trying to implement YANG Push with a JSON encoding of the notifications, I agree that they are underspecified.
>>
>>
> https://datatracker.ietf.org/doc/html/rfc8040#section-6.4
>
> The JSON encoding of the RFC 5277 'notification' element is clearly
> defined for RESTCONF.
>
>
> There is actually no need for a 'notification' structure at all.
> One problem this draft claims to solve (validation) is not actually
> possible in YANG.
> The other one (CBOR encoding) could easily be solved by asking IANA for 2
> SID assignments.
>
>
My original suggestion for NETCONF support was to simply assign 5 SIDs in
the registry:

    SID    element
    -------------------------------------
       1    <hello>
       2    <rpc>
       3     <rpc-reply>
       4     <notification>
       5     <eventTime>

I don't see much difference between a 1MB <rpc-reply> and a 1MB
<notification> wrt/ network impact.
RFC 9254 covers all the child nodes. These are the only SIDs missing from
full binary NETCONF.




> Andy
>
> RFC 8040 does have a solution (6.4), and states to use ietf-restconf as the module for a notification, e.g., there is this example from page 72:
>>
>>    Two child nodes within the "notification" container are expected,
>>
>>    representing the event time and the event payload.  The "eventTime"
>>
>>    node is defined within the same XML namespace as the <notification>
>>
>>    element.  It is defined to be within the "ietf-restconf" module
>>
>>    namespace for JSON-encoding purposes.
>>
>>
>>
>>    The name and namespace of the payload element are determined by the
>>
>>    YANG module containing the notification-stmt representing the
>>
>>    notification message.
>>
>>
>>
>>    ...
>>
>>
>>    An example SSE event notification encoded using JSON:
>>
>>
>>
>>       data: {
>>
>>       data:   "ietf-restconf:notification" : {
>>
>>       data:     "eventTime" : "2013-12-21T00:01:00Z",
>>
>>       data:     "example-mod:event" : {
>>
>>       data:       "event-class" : "fault",
>>
>>       data:       "reporting-entity" : { "card" : "Ethernet0" },
>>
>>       data:       "severity" : "major"
>>
>>       data:     }
>>
>>       data:   }
>>
>>       data: }
>>
>>
>> Of course, that only helps if you are using JSON with RESTCONF (which I’m
>> not).
>>
>> RFC 7951 also states:
>>
>>
>>
>> Abstract
>>
>>
>>
>>    This document defines encoding rules for representing configuration
>>
>>    data, state data, parameters of Remote Procedure Call (RPC)
>>
>>    operations or actions, *and notifications* defined using YANG as
>>
>>    JavaScript Object Notation (JSON) text.
>>
>>
>>
>> But I’m not sure that it has any normative text to say how notifications are encoded in JSON.
>>
>> It does have this anydata example containing a notification, but in this case the pseudo module for the notification is “ietf-notification”:
>>
>>    "data": {
>>
>>      "ietf-notification:notification": {
>>
>>        "eventTime": "2014-07-29T13:43:01Z",
>>
>>        "example-event:event": {
>>
>>          "event-class": "fault",
>>
>>          "reporting-entity": {
>>
>>            "card": "Ethernet0"
>>
>>          },
>>
>>          "severity": "major"
>>
>>        }
>>
>>      }
>>
>>    }
>>
>>
>>
>> Regards,
>>
>> Rob
>>
>>
>>
>>
>>
>>
>>
>> *From: *Thomas.Graf@swisscom.com <Thomas.Graf@swisscom.com>
>> *Date: *Sunday, 19 May 2024 at 10:10
>> *To: *andy@yumaworks.com <andy@yumaworks.com>
>> *Cc: *netconf@ietf.org <netconf@ietf.org>, pierre.francois@insa-lyon.fr <
>> pierre.francois@insa-lyon.fr>
>> *Subject: *[netconf] Re: Adoption call for notif-yang-04
>>
>> Dear Andy,
>>
>>
>>
>> Thanks for the feedback. I am unable to follow your assessment without
>> taking guesses. I think a proper problem statement is needed first. Could
>> you please detail and especially reference your assessment by refering to
>> existing documents. That would help me to follow the conversation.
>>
>>
>>
>> Best wishes
>>
>> Thomas
>>
>>
>>
>> *From:* Andy Bierman <andy@yumaworks.com>
>> *Sent:* Friday, May 10, 2024 7:44 PM
>> *To:* Graf Thomas, INI-NET-VNC-HCS <Thomas.Graf@swisscom.com>
>> *Cc:* per.ietf@ionio.se; kent+ietf@watsen.net;
>> mohamed.boucadair@orange.com; netconf@ietf.org;
>> alex.huang-feng@insa-lyon.fr; benoit.claise@huawei.com;
>> pierre.francois@insa-lyon.fr
>> *Subject:* Re: [netconf] Adoption call for notif-yang-04
>>
>>
>>
>> *Be aware:* This is an external email.
>>
>>
>>
>>
>>
>>
>>
>> On Fri, May 10, 2024 at 7:40 AM <Thomas.Graf@swisscom.com> wrote:
>>
>> Dear Per, Kent, Med and Andy
>>
>> My apology for late feedback on the mailing list. I did some research and
>> clarifications before coming with a proposal and would like to have you
>> feedback and comments.
>>
>>
>>
>> I think I need a virtual interim meeting to catch up on all the issues.
>>
>> NETCONF has only one notification message, defined in an XSD.
>>
>> It is quite rigid and XML-specific:
>>
>>
>>
>>    <notification>
>>
>>        <eventTime>...</eventTime>
>>
>>        < **event element**  />
>>
>>    </notification>
>>
>>
>>
>> There are standard mappings from YANG to JSON and CBOR. (Not XML to JSON
>> and CBOR).
>>
>> YANG is incapable of representing this XSD correctly (no
>> SubstitutionGroup).
>>
>> The YANG-specific mappings in RFC 7951 and RFC 9254 only apply to the
>> event element.
>>
>>
>>
>> Issue 1) Translating the RFC 5277 notification XSD to JSON and CBOR
>>
>>
>>
>> Issue 2) Using a notification message that does not conform to the RFC
>> 5277 XSD
>>
>>
>>
>> Issue 3) Specific changes to the notification message
>>
>>
>>
>> Issue 4) Specific changes to Subscriptions/YANG Push
>>
>>
>>
>> I need to go through your email before commenting more.
>>
>>
>>
>>
>>
>> Andy
>>
>>
>>
>>
>>
>> The XSD defined in
>> https://datatracker.ietf.org/doc/html/rfc5277#section-4 describes the
>> creation of the subscription creation and the event notification. The event
>> notification includes the eventTime. There has been an errata being opened
>> https://www.rfc-editor.org/errata/eid6770 and rejected by Rob Wilton
>> after Andy Bierman's feedback. See
>> https://mailarchive.ietf.org/arch/msg/netconf/8et-gI8Gvh2mG7jZIq7VyhTRU1Q/.
>> However I believe that the concerned addressed is valid but should have
>> been filed under RFC 8639 errata instead.
>>
>> https://datatracker.ietf.org/doc/html/rfc8639#section-1.4 states that
>>
>>    o  The <notification> message of [RFC5277], Section 4 is used.
>>
>> https://datatracker.ietf.org/doc/html/rfc8639#section-2.9 states that
>> "ietf-subscribed-notifications" YANG Module is being used and JSON encoding
>> is optionally.
>>
>> From that I deduct that
>> https://datatracker.ietf.org/doc/html/rfc8639#section-2.1 in RFC 8639 is
>> technically not implementable for reasons explained in
>> https://www.rfc-editor.org/errata/eid6770. Therefore what has been
>> described in https://www.rfc-editor.org/errata/eid6770 should have led
>> to an updated RFC 8639.
>>
>> From the comments of Med and Andy in the
>> draft-ahuang-netconf-notif-yang-04 adoption call
>>
>> https://mailarchive.ietf.org/arch/msg/netconf/Abw9mRHZos_yK9-x1HWHCVyv_xM/
>> https://mailarchive.ietf.org/arch/msg/netconf/Q4S-qPV323F-1KsCSVNf5W1ungc/
>>
>> I understand the following concerns:
>>
>> 1. The path how to resolve that
>> https://datatracker.ietf.org/doc/html/rfc8639#section-2.1 in RFC 8639 is
>> technically not implementable for JSON and CBOR encoded messages
>> 2. That the YANG module described in draft-ahuang-netconf-notif-yang-04
>> could be augmented (example
>> https://datatracker.ietf.org/doc/html/draft-tgraf-netconf-notif-sequencing)
>> and therefore no longer matches the XSD described in
>> https://datatracker.ietf.org/doc/html/rfc5277#section-4
>>
>> Regarding the first point from Med. To my understanding the content of
>> draft-ahuang-netconf-notif-yang-04 has not been questioned. What has been
>> question was that it updates RFC 5277. This should be changed in my opinion
>> to updates RFC 8639 instead and introduction rephrased to describe that it
>> augments RFC 8639 with the capability to model the XSD defined in
>> https://datatracker.ietf.org/doc/html/rfc5277#section-4 in YANG for
>> enabling JSON and CBOR encoding. Alternatively this could be expanded to a
>> RFC8639bis which I do not recommended since this would defeat the purpose
>> that this document should move forward quickly unless there is a very valid
>> reason not to do so. Does that makes sense? How do we proceed after the
>> adoption call?
>>
>> Regarding the second point from Andy. Some background first. I believe
>> that NETCONF notifications described in
>> https://datatracker.ietf.org/doc/html/rfc5277#section-2.2.1 do not match
>> the consistency statement described in
>> https://datatracker.ietf.org/doc/html/draft-boucadair-nmop-rfc3535-20years-later-02#section-4.7.
>> https://datatracker.ietf.org/doc/html/draft-tgraf-netconf-notif-sequencing
>> is addressing this and consequently propagates this to RFC 8639 and RFC
>> 8641 since they build on top of RFC 5277. The observation time described in
>> https://datatracker.ietf.org/doc/html/draft-tgraf-netconf-yang-push-observation-time
>> is being added in the ietf-subscribed-notifications defined in RFC 8639
>> since the timestamping is relevant to the subscription type, on-change vs-
>> periodical.
>>
>> I agree with Andy's concern. I suggest therefore that
>> https://datatracker.ietf.org/doc/html/draft-tgraf-netconf-notif-sequencing
>> needs to be updated to reflect the changes also in the XSD and NETCONF
>> notifications version should be raised from version 1.0 to 2.0. Through
>> capabilities described in RFC 9196 and YANG library in RFC 8525 a client
>> can discover which netconf notification version is supported. This
>> discovery will be described in step 0 in
>> https://datatracker.ietf.org/doc/html/draft-netana-nmop-yang-message-broker-integration#section-3
>> as described by Andy at
>> https://mailarchive.ietf.org/arch/msg/nmop/Dd_mMO8U4y3RSkNYZB6-phvxtwc/.
>> Does that makes sense?
>>
>> Looking forward for feedback and comments to both points.
>>
>> Best wish
>> Thomas
>>
>> -----Original Message-----
>> From: netconf <netconf-bounces@ietf.org> On Behalf Of Per Andersson
>> Sent: Tuesday, April 23, 2024 3:33 PM
>> To: Kent Watsen <kent+ietf@watsen.net>
>> Cc: netconf@ietf.org
>> Subject: Re: [netconf] Adoption call for notif-yang-04
>>
>>
>> Be aware: This is an external email.
>>
>>
>>
>> On Mon, Apr 22, 2024 at 7:39 PM Kent Watsen <kent+ietf@watsen.net> wrote:
>> >
>> > BTW, I almost wonder why this isn’t an rfc5277-bis.
>>
>> That is RFC 8639 Subscribed Notifications.
>>
>> However the notification modelling isn't updated in that document.
>>
>>
>> --
>> Per
>>
>> _______________________________________________
>> netconf mailing list
>> netconf@ietf.org
>> https://www.ietf.org/mailman/listinfo/netconf
>>
>>