Re: [yang-doctors] [netmod] Yangdoctors last call review of draft-ietf-netmod-nmda-diff-04

Yingzhen Qu <yingzhen.qu@futurewei.com> Fri, 25 September 2020 15:49 UTC

Return-Path: <yingzhen.qu@futurewei.com>
X-Original-To: yang-doctors@ietfa.amsl.com
Delivered-To: yang-doctors@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8E4143A1164; Fri, 25 Sep 2020 08:49:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.543
X-Spam-Level:
X-Spam-Status: No, score=-0.543 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, HTTPS_HTTP_MISMATCH=0.1, LH_URI_DOM_IN_PATH=1.446, RCVD_IN_MSPIKE_H2=-0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=futurewei.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 mOPa6Pu2QmUj; Fri, 25 Sep 2020 08:49:36 -0700 (PDT)
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2107.outbound.protection.outlook.com [40.107.223.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 92BEA3A1195; Fri, 25 Sep 2020 08:49:31 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P1sSxuhMnh9HYu+Pztn43QoO53rsrmYb/1iHaXEtBv1IpjV7QzuFHSyMWD2x7IyNwpjtzPbOVT0nF/bk9GqFxdQ7/sv6wcvxTlVO6VYgnlISc1VsocFh+Lpestu/i00H3Q/h1CIg/Tb92oj6pCd9ysuYJdK3Ihu7VVzPx3C6DMqpmEFD5JvE0hX15t/5JQGV1UYULf8FurIBFJFddBCOqQSc55/yIsS+HLl9528uG7HVTp4o5XCILZSL2zfzv35A13hkuzBs2+bBwmX4ZdSPZDI2GsXjnJrA3MaiZsigKoZNEVZ0FfVqF/OMRUG+z0fd6bz1V1RZR5WkQO0yxIE+BQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gS/kme02Vr2at45MhWQvRb10zcC70QuHjs8OVNElImM=; b=QsG6NZDAJAmX9L16AHeZB7TRhNFAHuuqD2dIqojyhuHMF/feomZNfMXVlDbian5hvvJq3Qb34qcMPBQg6hbSmropyeNYeBuk6N0el5kipweYk9TawijehcNbWm3ZjKySMqb7VHZHX6XXtzh6fyB8NdRjY2V6uxgNUXR+dxOjjx/H8C8YEIvLOq/GdRFKXvbbWHfYglSRrKYVDNCSe7JPJi/5RU5RivMUKT/6DqiWYMejMeXkP72gE5KMbs2gasHj0R48ECt4BY02x9TuQqw8vyDc7HhD03SeuCk/CZYyMoLf/+xzuswTLHFdOn9sGQ2TZYj5MqSIPobeNIzD47FUwA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=futurewei.com; dmarc=pass action=none header.from=futurewei.com; dkim=pass header.d=futurewei.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Futurewei.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gS/kme02Vr2at45MhWQvRb10zcC70QuHjs8OVNElImM=; b=b1G8mqw4cgAXV4KYR7x+xeTilZDGaa03pAftwMRSfJvMrQHRpE4eFk2OAaODpdkpq46gz5KWDsVkd3LKn27igL0pD4cW0tg4DaurKZXZvhgVmNqnPrE/u0ZYw9/3rtqV+rLONFovpICu2mV61JGucg6kQGiNLaaHjpLepEOU2/U=
Received: from BY5PR13MB3048.namprd13.prod.outlook.com (2603:10b6:a03:188::21) by BY5PR13MB3892.namprd13.prod.outlook.com (2603:10b6:a03:226::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3433.13; Fri, 25 Sep 2020 15:49:12 +0000
Received: from BY5PR13MB3048.namprd13.prod.outlook.com ([fe80::381e:6640:d3a3:5034]) by BY5PR13MB3048.namprd13.prod.outlook.com ([fe80::381e:6640:d3a3:5034%5]) with mapi id 15.20.3433.014; Fri, 25 Sep 2020 15:49:12 +0000
From: Yingzhen Qu <yingzhen.qu@futurewei.com>
To: "Reshad Rahman (rrahman)" <rrahman@cisco.com>, Alexander L Clemm <ludwig@clemm.org>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>
CC: "last-call@ietf.org" <last-call@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>, "draft-ietf-netmod-nmda-diff.all@ietf.org" <draft-ietf-netmod-nmda-diff.all@ietf.org>
Thread-Topic: [yang-doctors] [netmod] Yangdoctors last call review of draft-ietf-netmod-nmda-diff-04
Thread-Index: AQHWi7SH5CzuD2UBBEeRuwaHj2kSjalqWSMAgAQF+YCAAHElgIAAAYWAgAAAQICABdlGAIADu3+AgADoH4D//7m6AIAAgowA//+O4IA=
Date: Fri, 25 Sep 2020 15:49:12 +0000
Message-ID: <84B5AA48-3353-45FF-9D95-23F21B4A2EFE@futurewei.com>
References: <159942490640.25028.10946254095755778899@ietfa.amsl.com> <EF21460A-8689-491C-AE19-942C6FA84FFC@cisco.com> <e801c95e-078e-8438-b1a0-18aaf4be3a82@clemm.org> <8759A9BF-300C-46F7-B39F-9EF4CFA2D726@cisco.com> <22126972-0920-1bb3-a73f-f4a219a59bf6@clemm.org> <0E3A16A2-6ABA-4868-936F-AA6C9AAF3A8E@cisco.com> <7cf5120e-28c9-383a-5238-0d6749e93854@clemm.org> <100F7855-CFE2-4E04-927F-A25089D3B2BA@cisco.com> <1b722d38-af72-a96b-9368-49d678a1151a@clemm.org> <246871E9-491C-4F51-85BE-31645204E89B@cisco.com> <AEE35B9D-3009-473F-BB93-B5BD9E753B1A@futurewei.com> <A5877C6F-1B9A-4E91-93CA-7B692F599CCD@cisco.com> <6803F3F2-BA10-45A3-8709-672C9F047F8B@futurewei.com> <9BE49824-8836-41AB-97E7-A72DDE649901@cisco.com>
In-Reply-To: <9BE49824-8836-41AB-97E7-A72DDE649901@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.41.20091302
authentication-results: cisco.com; dkim=none (message not signed) header.d=none;cisco.com; dmarc=none action=none header.from=futurewei.com;
x-originating-ip: [2601:646:9500:c900:345a:b550:c7d:f2a2]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 99945b6d-91a1-41ab-8fdb-08d8616a8c68
x-ms-traffictypediagnostic: BY5PR13MB3892:
x-microsoft-antispam-prvs: <BY5PR13MB389218AD8B537AC2A90CF6D5E1360@BY5PR13MB3892.namprd13.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: EFioOYHAtpEb64ULlqBR/Aj8llJUT+96Rb1ydyflkJ3BFE6dAoZ3wvzGvKAThDPMaSRUqym6VFrfCAm+DodkTjrvRiN8yrH9/EJHeF39p53dsagdtHUpr4Ms2awXqLrTo/Ddo3CfJHOqf/HWwvmJrkrGezCWRJKTLx6JFb96T6qM+40v5Q0d6fNXH75sNmaCUg/I/K/68FzVG/bW/UfTME2bY6QjlGfUldQ0pbYF2nRjrhrdPzEQNkqlzJ14uZ103BF/GV1QX5lG+r0LUphzc4IXWGlrhEK5EStTqo+OZU7nAUHZM1vSF+Z0rYoIEcJjn4IRLE3DuLjbLKP1dy7lUJk67KW/79lU7fpSFmQH0HGGz2ADYqqQgckdLpi5i/JkEEThSuYwABNP1NcAbvA6Mw==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR13MB3048.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(366004)(39850400004)(396003)(376002)(346002)(5660300002)(6486002)(66476007)(33656002)(110136005)(66946007)(66556008)(76116006)(966005)(64756008)(66446008)(44832011)(86362001)(2616005)(478600001)(83380400001)(316002)(8936002)(54906003)(4326008)(30864003)(6506007)(166002)(53546011)(83080400001)(8676002)(9326002)(186003)(6512007)(2906002)(71200400001)(36756003)(579004)(559001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: 9081csTDu3YIG0T6/lLDrIeUubr3aGh8Z4u8DkDYKhOO+9BrewRl9CjZHBTgAHnt5KNa+IbRtl0g5qlgCXaQBNOHI/tA/T45QAFIQRUuyEb2Aizum86n3EoO2k8faDSjjA02GB1u+Iyh20ICG/qgAHIUgjugtC+3Qur6Ya7JFVCLQbTTN3KBimcrb6bwxhqJLOKY78Hvx65BBxVr90bzVHzvRtz6pUHPlnpkfI/xEmFKe1V+waeE2MW/BEmIE77nHRYdUPEwP7YNpzbzDqqj1Gj4A91+LVN5RYzbtSjcz3p0no8j5dHJ3BWIc6P1VxoPrgTZQ30NaYoWrqwFUFun1Zf/zhjUHzuAxZ0mMcStfaLhsXaJz/PNyB/HaGG+brPY+WCsSokdMZymTszpjyqm4FyX/7NuWwoShWlrjQuypQi7Llc+jHAj01FDz41TpKWfd3TINeh9hFNX61pnBuZ68q6oHu9JMK0I+AKgyY2kAPt1rhQSR+FeTmu1cTm4EHBpnsBrZ0Aqgb/ktbiRSZTWE/rgEyXeWeAmJSF40bx/tCJwRUblF2MqnqjMFFYd4Sari9sjaCMeWDBIwllZen9YMTw43JaNy50ljDLHbdmyr47Rg8iS+AybT8pGBgSTKKY26sud8P9Qx/iJEV3V61FFjxfLaa1vEFmg/amz4qts2+HpBx0mcRTKNnv4FofWtRiq6JTO470gKBYOmXYSpj0WKg==
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_84B5AA48335345FF9D9523F21B4A2EFEfutureweicom_"
MIME-Version: 1.0
X-OriginatorOrg: Futurewei.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BY5PR13MB3048.namprd13.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 99945b6d-91a1-41ab-8fdb-08d8616a8c68
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Sep 2020 15:49:12.1056 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 0fee8ff2-a3b2-4018-9c75-3a1d5591fedc
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 3Kj8cP8mPjJ+KQRbv6uOmnccp9Js3hsb23H5UvRv0WnJmYoCgTYHBp/9N/bIDcK1t9m+u/nesWmLLDkccx3KnA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR13MB3892
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/AyoPhYMdeTenF-WMCR0dEXoHryQ>
Subject: Re: [yang-doctors] [netmod] Yangdoctors last call review of draft-ietf-netmod-nmda-diff-04
X-BeenThere: yang-doctors@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Email list of the yang-doctors directorate <yang-doctors.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/yang-doctors/>
List-Post: <mailto:yang-doctors@ietf.org>
List-Help: <mailto:yang-doctors-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 25 Sep 2020 15:49:40 -0000

Hi Reshad,

Thanks for the link to verify JSON, it’s very helpful.

I’ve uploaded version -07. Please let me know if you have any comments.

Thanks,
Yingzhen

From: "Reshad Rahman (rrahman)" <rrahman@cisco.com>
Date: Friday, September 25, 2020 at 8:34 AM
To: Yingzhen Qu <yingzhen.qu@futurewei.com>, Alexander L Clemm <ludwig@clemm.org>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>
Cc: "last-call@ietf.org" <last-call@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>, "draft-ietf-netmod-nmda-diff.all@ietf.org" <draft-ietf-netmod-nmda-diff.all@ietf.org>
Subject: Re: [yang-doctors] [netmod] Yangdoctors last call review of draft-ietf-netmod-nmda-diff-04

Hi Yingzhen,

The JSON example doesn’t seem ok because it only contains 1 edit entry. To confirm I went to https://jsonlint.com/<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fjsonlint.com%2F&data=02%7C01%7Cyingzhen.qu%40futurewei.com%7Ce9baa6c2aeee43ef078d08d8616872b9%7C0fee8ff2a3b240189c753a1d5591fedc%7C1%7C1%7C637366448544225811&sdata=1MfsJLUqKllzfkYO6xAYy%2FZlOq5Prq6MHVXi1sa6VW4%3D&reserved=0> and it 1st complained about missing comma after the } for source-value and when I fixed that it complained about Duplicate key ‘edit-id’.

FYI, the JSON block below passed the lint check.

Regards,
Reshad.

  {
      "ietf-nmda-compare:output": {
            "differences": {
                  "ietf-yang-patch:yang-patch": {
                        "patch-id": "interface status",
                        "comment": "diff between intended (source) and operational",
                        "edit": [
                             {
                                    "edit-id": "1",
                                    "operation": "replace",
                                    "target": "/ietf-interfaces:interface=eth0/enabled",
                                    "value": {
                                          "ietf-interfaces:interface/enabled": "false"
                                    },
                                    "source-value": {
                                          "ietf-interfaces:interface/enabled": "true",
                                          "@ietf-interfaces:interface/enabled": {
                                                "ietf-origin:origin": "ietf-origin:learned"
                                          }
                                    }
                              },
                              {
                                    "edit-id": "2",
                                    "operation": "create",
                                    "target": "/ietf-interfaces:interface=eth0/description",
                                    "value": {
                                          "ietf-interface:interface/description": "ip interface"
                                    }
                              }
                        ]
                  }
            }
      }
  }

From: Yingzhen Qu <yingzhen.qu@futurewei.com>
Date: Friday, September 25, 2020 at 10:47 AM
To: "Reshad Rahman (rrahman)" <rrahman@cisco.com>, Alexander L Clemm <ludwig@clemm.org>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>
Cc: "last-call@ietf.org" <last-call@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>, "draft-ietf-netmod-nmda-diff.all@ietf.org" <draft-ietf-netmod-nmda-diff.all@ietf.org>
Subject: Re: [yang-doctors] [netmod] Yangdoctors last call review of draft-ietf-netmod-nmda-diff-04

Hi Reshad,

Thank you for the example. I modified the XML example as you suggested. The JSON example looks ok to me. Also fixed the nit to reference RFC 6991.

New generated txt file attached, please let me know if you see more issues.

Thanks,
Yingzhen

From: "Reshad Rahman (rrahman)" <rrahman@cisco.com>
Date: Friday, September 25, 2020 at 4:58 AM
To: Yingzhen Qu <yingzhen.qu@futurewei.com>, Alexander L Clemm <ludwig@clemm.org>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>
Cc: "last-call@ietf.org" <last-call@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>, "draft-ietf-netmod-nmda-diff.all@ietf.org" <draft-ietf-netmod-nmda-diff.all@ietf.org>
Subject: Re: [yang-doctors] [netmod] Yangdoctors last call review of draft-ietf-netmod-nmda-diff-04

Hi Yingzhen,

Yes I believe this part is broken, since you have multiple edit-id elements for 1 edit element, below is the YANG snippet from RFC8072.

         list edit {
           key edit-id;
           ordered-by user;
<snip>
           leaf edit-id {
             type string;
             description
               "Arbitrary string index for the edit.
                Error messages returned by the server that pertain
                to a specific edit will be identified by this value.";
           }


If you take a look at A.1.1 of RFC8072, there is an example with multiple edit elements.

Regards,
Reshad.

From: Yingzhen Qu <yingzhen.qu@futurewei.com>
Date: Friday, September 25, 2020 at 1:07 AM
To: "Reshad Rahman (rrahman)" <rrahman@cisco.com>, Alexander L Clemm <ludwig@clemm.org>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>
Cc: "last-call@ietf.org" <last-call@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>, "draft-ietf-netmod-nmda-diff.all@ietf.org" <draft-ietf-netmod-nmda-diff.all@ietf.org>
Subject: Re: [yang-doctors] [netmod] Yangdoctors last call review of draft-ietf-netmod-nmda-diff-04

Hi Reshad,

Thank you for your review.

About the example, in RFC 8072, in the list “edit”, each edit is identified by “edit-id”. So the example looks like:
<edit>
   <edit-id>1</edit-id>
   …..
   <edit-id>2</edit-id>
  ….
</edit>
Do you mean this part is broken?

Thanks,
Yingzhen

From: "Reshad Rahman (rrahman)" <rrahman@cisco.com>
Date: Tuesday, September 22, 2020 at 6:07 AM
To: Alexander L Clemm <ludwig@clemm.org>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>
Cc: "last-call@ietf.org" <last-call@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>, "draft-ietf-netmod-nmda-diff.all@ietf.org" <draft-ietf-netmod-nmda-diff.all@ietf.org>
Subject: Re: [yang-doctors] [netmod] Yangdoctors last call review of draft-ietf-netmod-nmda-diff-04
Resent-From: <alias-bounces@ietf.org>
Resent-To: <ludwig@clemm.org>, <yqu@futurewei.com>, <jefftant.ietf@gmail.com>, <andy@yumaworks.com>, <lberger@labn.net>, <kent+ietf@watsen.net>, <joelja@bogus.com>, <warren@kumari.net>, <rwilton@cisco.com>, Joel Jaeggli <joelja@gmail.com>, <joelja@gmail.com>
Resent-Date: Tuesday, September 22, 2020 at 6:07 AM

Hi Alex,

Thank you for addressing my comments.

I checked rev-06, and I believe the XML and JSON output in the example is broken: there is a single “edit” element with multiple “edit-id” elements. I believe there should be multiple “edit” elements.

The only “nit” is that leaf-xpath-filter references 6021 instead of 6991 (as you correctly pointed out in your response).
           leaf xpath-filter {
             if-feature nc:xpath;
             type yang:xpath1.0;
             description
               "This parameter contains an XPath expression
                identifying the portions of the target
                datastore to retrieve.";
             reference "RFC 6021: Common YANG Data Types";
           }

> Issues
>             1.            YANG model P8, for “leaf xpath-filter”, add reference to RFC6021. There should also be a normative reference to RFC6021 (as per RFC8407)
<ALEX> Thanks.  Adding reference to 6991 (as 6021 is obsoleted). </ALEX>

Regards,
Reshad.

From: Alexander L Clemm <ludwig@clemm.org>
Date: Friday, September 18, 2020 at 3:48 PM
To: "Reshad Rahman (rrahman)" <rrahman@cisco.com>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>
Cc: "last-call@ietf.org" <last-call@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>, "draft-ietf-netmod-nmda-diff.all@ietf.org" <draft-ietf-netmod-nmda-diff.all@ietf.org>
Subject: Re: [yang-doctors] [netmod] Yangdoctors last call review of draft-ietf-netmod-nmda-diff-04


Thank you!

I just uploaded rev -06.

--- Alex
On 9/18/2020 12:47 PM, Reshad Rahman (rrahman) wrote:
Hi Alex,

This addresses my comment/concern.

Regards,
Reshad.

From: Alexander L Clemm <ludwig@clemm.org><mailto:ludwig@clemm.org>
Date: Friday, September 18, 2020 at 3:43 PM
To: "Reshad Rahman (rrahman)" <rrahman@cisco.com><mailto:rrahman@cisco.com>, "yang-doctors@ietf.org"<mailto:yang-doctors@ietf.org> <yang-doctors@ietf.org><mailto:yang-doctors@ietf.org>
Cc: "last-call@ietf.org"<mailto:last-call@ietf.org> <last-call@ietf.org><mailto:last-call@ietf.org>, "netmod@ietf.org"<mailto:netmod@ietf.org> <netmod@ietf.org><mailto:netmod@ietf.org>, "draft-ietf-netmod-nmda-diff.all@ietf.org"<mailto:draft-ietf-netmod-nmda-diff.all@ietf.org> <draft-ietf-netmod-nmda-diff.all@ietf.org><mailto:draft-ietf-netmod-nmda-diff.all@ietf.org>
Subject: Re: [yang-doctors] [netmod] Yangdoctors last call review of draft-ietf-netmod-nmda-diff-04


Hi Reshad,

okay, so let's add the following then to section 4, in the explanation of the "differences" output parameter:

"When a datastore node in the source of the comparison is not present in the target of the comparison, this can be indicated either as a "delete" or as a "remove" in the patch as there is no differentiation between those operations for the purposes of the comparison.  "

And update the description as follows:

         container differences {
          description
           "The list of differences, encoded per RFC8072 with an
             augmentation to include source values where
             applicable.  When a datastore node in the source is
             not present in the target, this can be indicated either
             as a 'delete' or as a 'remove' as there is no difference
             between them for the purposes of the comparison.";
...

I will post this in a -06 shortly.  Please let us know if this addresses your concerns or if there is anything else.

Thanks!

--- Alex


On 9/18/2020 5:57 AM, Reshad Rahman (rrahman) wrote:
Hi Alex,

I think the only “problem” with using both “remove” and “delete” is that it could be confusing (when should one be used and not the other). Adding some text to say they’re the same for the diff operation is good enough for me.

Regards,
Reshad.

From: Alexander L Clemm <ludwig@clemm.org><mailto:ludwig@clemm.org>
Date: Tuesday, September 15, 2020 at 7:31 PM
To: "Reshad Rahman (rrahman)" <rrahman@cisco.com><mailto:rrahman@cisco.com>, "yang-doctors@ietf.org"<mailto:yang-doctors@ietf.org> <yang-doctors@ietf.org><mailto:yang-doctors@ietf.org>
Cc: "last-call@ietf.org"<mailto:last-call@ietf.org> <last-call@ietf.org><mailto:last-call@ietf.org>, "netmod@ietf.org"<mailto:netmod@ietf.org> <netmod@ietf.org><mailto:netmod@ietf.org>, "draft-ietf-netmod-nmda-diff.all@ietf.org"<mailto:draft-ietf-netmod-nmda-diff.all@ietf.org> <draft-ietf-netmod-nmda-diff.all@ietf.org><mailto:draft-ietf-netmod-nmda-diff.all@ietf.org>
Subject: Re: [yang-doctors] [netmod] Yangdoctors last call review of draft-ietf-netmod-nmda-diff-04


Hi Reshad,

re: question 1: As you indicate, there may be no distinction between indicating a "remove" or a "delete" in the patch.  Right now it would be acceptable to return either.  If we want to eliminate this freedom, which one would you prefer be used?  Shall we remove the possibility for "delete" and just cover it using "remove"?

Note that the place where this is specified in the model is as part of a condition that specifies when the source value should be included.   If we want to rule out that diff can return either "remove" or "delete" (indeed they are synonymous), we would need to add text to the container description that when a data object is present in the target of the comparison but not the source, that "remove" should be used to indicate that.

The model would be changed follows.  Please confirm if this looks good to you & we'll incorporate it.

OLD

           container differences {

             description

               "The list of differences, encoded per RFC8072<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftools.ietf.org%2Fhtml%2Frfc8072&data=02%7C01%7Cyingzhen.qu%40futurewei.com%7Ce9baa6c2aeee43ef078d08d8616872b9%7C0fee8ff2a3b240189c753a1d5591fedc%7C1%7C1%7C637366448544235765&sdata=drapeeEOoAsvkbVbwXRpJbtiak3fbhn9VG%2B4g5ocOak%3D&reserved=0> with an

                augmentation to include source values where

                applicable.";

             uses ypatch:yang-patch {

               augment "yang-patch/edit" {

                 description

                   "Provide the value of the source of the patch,

                    respectively of the comparison, in addition to

                    the target value, where applicable.";

                 anydata source-value {

                   when "../operation = 'delete'"

                     + "or ../operation = 'merge'"

                     + "or ../operation = 'move'"

                     + "or ../operation = 'replace'"

                     + "or ../operation = 'remove'";

                   description

                     "The anydata 'value' is only used for 'delete',

                      'move', 'merge', 'replace', and 'remove'

                      operations.";

                 }

                 reference "RFC 8072<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftools.ietf.org%2Fhtml%2Frfc8072&data=02%7C01%7Cyingzhen.qu%40futurewei.com%7Ce9baa6c2aeee43ef078d08d8616872b9%7C0fee8ff2a3b240189c753a1d5591fedc%7C1%7C1%7C637366448544235765&sdata=drapeeEOoAsvkbVbwXRpJbtiak3fbhn9VG%2B4g5ocOak%3D&reserved=0>: YANG Patch Media Type";

               }

             }

           }




NEW:

           container differences {

             description

               "The list of differences, encoded per RFC8072<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftools.ietf.org%2Fhtml%2Frfc8072&data=02%7C01%7Cyingzhen.qu%40futurewei.com%7Ce9baa6c2aeee43ef078d08d8616872b9%7C0fee8ff2a3b240189c753a1d5591fedc%7C1%7C1%7C637366448544245720&sdata=xo601608KBI8P9VUmZNIdqKkjOdWsTUj5dwFXEZq9Iw%3D&reserved=0> with an

                augmentation to include source values where

                applicable.  Where a difference include a data object

                in the target that is not present in the source,

                this shall be indicated as a 'remove' operation

                in the patch, not as a 'delete' operation.";

             uses ypatch:yang-patch {

               augment "yang-patch/edit" {

                 description

                   "Provide the value of the source of the patch,

                    respectively of the comparison, in addition to

                    the target value, where applicable.";

                 anydata source-value {

                   when "../operation = 'merge'"

                     + "or ../operation = 'move'"

                     + "or ../operation = 'replace'"

                     + "or ../operation = 'remove'";

                   description

                     "The anydata 'value' is only used for 'merge',

                      'move','replace', and 'remove' operations.";

                 }

                 reference "RFC 8072<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftools.ietf.org%2Fhtml%2Frfc8072&data=02%7C01%7Cyingzhen.qu%40futurewei.com%7Ce9baa6c2aeee43ef078d08d8616872b9%7C0fee8ff2a3b240189c753a1d5591fedc%7C1%7C1%7C637366448544245720&sdata=xo601608KBI8P9VUmZNIdqKkjOdWsTUj5dwFXEZq9Iw%3D&reserved=0>: YANG Patch Media Type";

               }

             }

           }

Thanks
--- Alex

On 9/15/2020 4:04 PM, Reshad Rahman (rrahman) wrote:

Hi Alex,



I will review the latest version.



See below for questions/responses.



On 2020-09-15, 5:19 PM, "yang-doctors on behalf of Alexander L Clemm" <yang-doctors-bounces@ietf.org on behalf of ludwig@clemm.org><mailto:yang-doctors-bounces@ietf.orgonbehalfofludwig@clemm.org> wrote:



    Hello Reshad, hello YANG Doctors,



    thank you for your review!  Please find my replies inline, <ALEX>.  We

    have also just posted -05 (thanks, Yingzhen, for doublechecking my

    updates).



    --- Alex on behalf of coauthors



    On 9/7/2020 7:06 AM, Reshad Rahman (rrahman) wrote:

    > <Here's the same message with hopefully more readable formatting>

    >

    > Review of rev -04 by Reshad Rahman

    >

    > The document is clear and well-written. While some issues have been identified, they can be resolved quickly.

    >

<snip>



    > Questions

    >    1.      YANG model: does the operation “delete” make sense for a diff operation? If it is kept, it’d be good to have some text explaining that for a diff operation, “delete” and “replace” are the same? If they’re not the same, please also add some text….

<RR> I actually meant "delete" and "remove".

    <ALEX> Here we are simply referring to the basic YANG-patch edit

    operations per https://tools.ietf.org/html/rfc8072#page-11<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftools.ietf.org%2Fhtml%2Frfc8072%23page-11&data=02%7C01%7Cyingzhen.qu%40futurewei.com%7Ce9baa6c2aeee43ef078d08d8616872b9%7C0fee8ff2a3b240189c753a1d5591fedc%7C1%7C1%7C637366448544255678&sdata=P%2BtALNsWuBbanIpCo%2Fkhb%2BrclQGN%2FuwjAh5bRA%2FM6%2FU%3D&reserved=0>.  Those are

    in turn derived from <edit-config> operations per

    https://tools.ietf.org/html/rfc6241#page-37<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftools.ietf.org%2Fhtml%2Frfc6241%23page-37&data=02%7C01%7Cyingzhen.qu%40futurewei.com%7Ce9baa6c2aeee43ef078d08d8616872b9%7C0fee8ff2a3b240189c753a1d5591fedc%7C1%7C1%7C637366448544255678&sdata=x2ai3ZRdPPLU%2FrK3TIEqnGJZaS7C7dTpbOSpTqkw0jk%3D&reserved=0>.  I am not sure we need add

    to explain those, as we are directly referring to YANG-patch.



    </ALEX>

<RR> The operations are indeed well defined in RFC8072 (copied below), but they are defined from the perspective of YANG-Patch. So for YANG-Patch "delete" and "remove" are different operations, but from a diff comparison I believe they are the same (the resource must exist since it's being returned in a diff)



   +-----------+-----------------------------------------------------------------+

   | delete    | delete a data resource if it already exists; if it    |

   |                | does not exist, return an error                               |

   |                |                                                                                      |

   | remove | remove a data resource if it already exists           |

   +-----------+-----------------------------------------------------------------+



    >    3.      YANG model P9, for the “uses path:yang-patch”, why not have a  reference to RFC8072 (is it because the description above mentions RFC8072)?

    <ALEX> We are clearly referencing RFC 8072; are you suggesting to put a

    reference substatement below the uses statement?   It looks a little

    strange to me but sure, we will add it.

<RR> Not needed.



    >    4.      Section 7 mentions rate limiting requests per client. Should there be a “global” rate-limiting too, i.e not client-specific?



    <ALEX> I am not sure this is really needed as I think the number of

    management clients will in general be fairly limited to begin with, but

    we can certainly add it.  How about the following text:



    OLD:



    One possibility for an implementation to mitigate against such a

    possibility is to limit the number of requests that is served to a

    client in any one time interval, rejecting requests made at a higher

    frequency than the implementation can reasonably sustain.



    NEW:



    One possibility for an implementation to mitigate against such a

    possibility is to limit the number of requests that is served to a

    client, or to any number of clients, in any one time interval, rejecting

    requests made at a higher frequency than the implementation can

    reasonably sustain.

<RR> Good with me.



    </ALEX>



    >    5.      Wondering if section 8 should be in an Appendix (or even removed)? Also, the method suggested doesn’t seem to guarantee that the difference persisted for the “dampening” time.



    <ALEX> Personally, I do think it makes sense to include a brief

    discussion of possible further extensions.  I suggest to keep the

    section if it's okay with you, or perhaps leave it to the chair whether

    they have a preference to remove it.



    </ALEX>

<RR>Whatever the WG/chairs decide is fine with me.



Regards,

Reshad.