Re: [netmod] yang-push issue: draft-ietf-netconf-yang-push-12 and default values and RFC 6243

"Einar Nilsen-Nygaard (einarnn)" <einarnn@cisco.com> Wed, 17 January 2018 20:33 UTC

Return-Path: <einarnn@cisco.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 245AD12420B for <netmod@ietfa.amsl.com>; Wed, 17 Jan 2018 12:33:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.529
X-Spam-Level:
X-Spam-Status: No, score=-14.529 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-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 ifq48_w8Y9g7 for <netmod@ietfa.amsl.com>; Wed, 17 Jan 2018 12:33:07 -0800 (PST)
Received: from rcdn-iport-5.cisco.com (rcdn-iport-5.cisco.com [173.37.86.76]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 88699127275 for <netmod@ietf.org>; Wed, 17 Jan 2018 12:33:07 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=28744; q=dns/txt; s=iport; t=1516221187; x=1517430787; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=5p7QDiU0h3RHV/7nqvSkVWPYmn71Uzc7JMVH+nTZM3A=; b=FDPNQyX1tDPuv/utZ3sMH8CchUDjE9v1hWpkC9DSSINlpYjcRDs+k8TD a08euIpgk7+vS+2ymHKuLGVyiM3PraUiRex1jFFr8bhFW1DfjFsYsU61z 2yHg3jBCjfrjZw+xMv/+Bign9mg18/uZ9sJ/lSJc2CxehibP8jylsioOx 8=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0CYAQC1sV9a/40NJK1cGQEBAQEBAQEBAQEBAQcBAQEBAYJKRzBmdCcHhAyKJI5egVsnly6CFgojhRgCGoRKPxgBAQEBAQEBAQFrKIUjAQEBBCNWEAIBCBEEAQEOEwcDAgICMBQJCAIEDgWJT2QQph+CJ4lNAQEBAQEBAQEBAQEBAQEBAQEBAQEBHYQ8ghWDaQyCeYFJgVsLAQECAYFHJjeCYTGCNAWjbAKIDI1FghlnkROKa4JYhiSDGwIRGQGBOwEfOYFQbxVnAYF/CTaCISmBTniKBYE0gRcBAQE
X-IronPort-AV: E=Sophos;i="5.46,374,1511827200"; d="scan'208,217";a="126577786"
Received: from alln-core-8.cisco.com ([173.36.13.141]) by rcdn-iport-5.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Jan 2018 20:33:06 +0000
Received: from XCH-RTP-006.cisco.com (xch-rtp-006.cisco.com [64.101.220.146]) by alln-core-8.cisco.com (8.14.5/8.14.5) with ESMTP id w0HKX6QH003326 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Wed, 17 Jan 2018 20:33:06 GMT
Received: from xch-rtp-009.cisco.com (64.101.220.149) by XCH-RTP-006.cisco.com (64.101.220.146) with Microsoft SMTP Server (TLS) id 15.0.1320.4; Wed, 17 Jan 2018 15:33:05 -0500
Received: from xch-rtp-009.cisco.com ([64.101.220.149]) by XCH-RTP-009.cisco.com ([64.101.220.149]) with mapi id 15.00.1320.000; Wed, 17 Jan 2018 15:33:05 -0500
From: "Einar Nilsen-Nygaard (einarnn)" <einarnn@cisco.com>
To: Alexander Clemm <alexander.clemm@huawei.com>
CC: "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: yang-push issue: draft-ietf-netconf-yang-push-12 and default values and RFC 6243
Thread-Index: AQHTj5bZRYJFO6bk50OEy2/RxrkWrKN4wiUAgAAXRIA=
Date: Wed, 17 Jan 2018 20:33:05 +0000
Message-ID: <376990F4-90E5-4504-BF55-C892420B70E7@cisco.com>
References: <616655B0-2494-4E63-906C-290E4AA6C1DE@cisco.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0EADB6A6@sjceml521-mbx.china.huawei.com>
In-Reply-To: <644DA50AFA8C314EA9BDDAC83BD38A2E0EADB6A6@sjceml521-mbx.china.huawei.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3445.5.20)
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.61.99.225]
Content-Type: multipart/alternative; boundary="_000_376990F490E54504BF55C892420B70E7ciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/CSiyp5irsqW4_FSzFTTxbAXPlMo>
Subject: Re: [netmod] yang-push issue: draft-ietf-netconf-yang-push-12 and default values and RFC 6243
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 Jan 2018 20:33:10 -0000


On 17 Jan 2018, at 19:09, Alexander Clemm <alexander.clemm@huawei.com<mailto:alexander.clemm@huawei.com>> wrote:

Hi Einar,

I suggest we add clarification that default values must be reported.

einarnn> I’m afraid I do not agree with that, especially when it comes to configuration leaves. Platforms can have vast numbers of configuration defaults that they run with when the end user makes a relatively simple configuration change. Take the example of creating  a loopback interface on IOS-XE. If we look at the defaults for that, we would have over 60 default leaves that would be reported if a subscription was established on that interface…even though the explicit end-user config may only be a couple of leaves, say description and an IPv4 address

For on-change, clearly all changes need to be reported, whether the change is to a default value or not, everything else would be confusing.

einarnn> I agree that a change to or away from the default value needs to be reported. And I can also agree that if a default value is explicitly set by an end user, then that default value should be reported on an ongoing basis.

einarnn> As you can see, my primary concerns are about configuration data. As yet, I haven’t thought so much about the implications on config false data.

Also for periodic, it would be confusing to leave out readings when a value is at default  versus not (the object might also have been deleted, etc).

einarnn> For config, I don’t agree.

So, I don’t think we need to add a flag or such that would allow to exclude defaults which appear to be of limited benefit to applications while introducing a lot more complexity to deal with corner cases such as the ones described.

einarnn> And I still do not agree, especially when configuration may have a large number of default settings that are relatively uninteresting in terms of reporting when one puts in place telemetry. After all, the consumer knows what the defaults are from the model. Why send all that data that, typically, a platform will need to work harder to extract.

einarnn> I think this is an important issue, or I wouldn’t have raised it, but I am strongly opposed to making the behavior of telemetry the equivalent of RFC 6243 “report-all” behavior.

Cheers,

Einar


--- Alex

From: netmod [mailto:netmod-bounces@ietf.org] On Behalf Of Einar Nilsen-Nygaard (einarnn)
Sent: Wednesday, January 17, 2018 5:27 AM
To: netmod@ietf.org<mailto:netmod@ietf.org>
Subject: [netmod] yang-push issue: draft-ietf-netconf-yang-push-12 and default values and RFC 6243

All,

In discussions with some customers and on implementation, the issue of defaults has come up. For get/get-config we have the “with defaults capability” defined in RFC 6243 that allows us to control the behaviour with respect to defaults. To remind folk with an example, we could have:

    <rpc message-id="101"
         xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
      <get>
        <filter type="subtree">
          <interfaces xmlns="http://example.com/ns/interfaces"/>
        </filter>
        <with-defaults
         xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-with-defaults">
          report-all
        </with-defaults>
      </get>
    </rpc>

The addition of the “with-defaults” tag and value determines the behavior of the get in this example (taken from A.3.1 in RFC 6243<https://tools.ietf.org/html/rfc6243#page-22>).

It strikes me that we need to have a similar mechanism for telemetry, allowing a user to specify, for example, that for a periodic subscription on a subtree, they also wish default values to be reported. I think at minimum we need clarification on this, as section 3.7 of draft-ietf-netconf-yang-push-12 currently says:

The content of the update record is equivalent to the contents that would be obtained had the same data been explicitly retrieved using e.g., a NETCONF "get" operation, with the same filters applied.

This text can currently only refer to a “get” as defined in RFC 6241 as there is no reference to RFC 6243 as yet. I think we need to address this issue now to define expectations, even if it is to explicitly not consider an RFC 6243-like mechanism or to say that we only consider explicitly set values in telemetry, or…

Cheers,

Einar