Re: [netmod] Issue with path statements in RPC

tom petch <ietfc@btconnect.com> Mon, 10 August 2020 09:03 UTC

Return-Path: <ietfc@btconnect.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 564903A0F6D; Mon, 10 Aug 2020 02:03:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=btconnect.onmicrosoft.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 qCx-G2AJLxo8; Mon, 10 Aug 2020 02:03:43 -0700 (PDT)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2115.outbound.protection.outlook.com [40.107.20.115]) (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 E6E713A1164; Mon, 10 Aug 2020 02:03:42 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=D4GQkFkFityQ1+SJUmeIO1KJ6uVxRvhw+0HQLgJE4jv/h4y3xMlRy1+UBt092JjTE+QbdWX30zmbiWCs1guquIifx2J/XncubhW5fQvl4RWlCUsiBUkueMkxjp9ZHWbqWd4er5AUPO9TYT40N/cH4N/FkXyuT3/k/bdLm+8buvKmtRSBBDkhf8VRlqUx6CJoQDNqmWwhnylLNKU69U5Pc3I9rTWC60ZSH2CFHYTe277vbi94Cd4tyIen2yzkUDmjtL8NCsz2v8Km+2WlA3IkglLuPbT20KrkmGoDS5Bv88itr3g/sTmksXxJSLkX5iS0AWUoTqvs6+xYPYtdU/1eog==
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=eKeE4hftAmRFcURA/tVcLTmznGA8cwtD2ULIDi4t5Oo=; b=YhQ++L62Hkwr++zhc9KJmNqy6H1aCz24m8gzdHkF3hPX3lAnYh1n30kV7SGzeqr/7YaC99NmjGz6Of/3/vvDyUuJVWz0iyOaHI2Q05DjT8BGW1XB+aR8EYGjHkiek8Ca8eJ2A6QZGjAJx/4sHystfop9NnIkpqKPVvfZfz3QUCBfihpXrj1fC7wNJoP2iXefS7l7cBXxv1P96ByusaQ38ZyJGJCndi3wAFzzHOQZzMfQSOHAQGcnwlVl61tugq5J4qZdl8Mq8efWDf+9Ke9ppV7C8Bcvy7/3WL7GoYyopJkc7LI13F1Gd/1Z30ETcaBgxXkCd/ENT9gAQmzN+YgXJg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=btconnect.com; dmarc=pass action=none header.from=btconnect.com; dkim=pass header.d=btconnect.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=btconnect.onmicrosoft.com; s=selector2-btconnect-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eKeE4hftAmRFcURA/tVcLTmznGA8cwtD2ULIDi4t5Oo=; b=hVbZSCyDJqRGRlnkC+3nmh9Oc4Lq6v7KcGI2pwy3szUkeYcJCvHqVXIxD6g1UbAayfDhqtkU940nBinXTxdQxhhUV69Bmx+J4SAfoLRrqMKtecNqmMVmDyjnRrwpmQ6QG03cQn8tser3PdpeqRg3XOnedLXPKra+4rMSCpFSmFc=
Received: from AM7PR07MB6248.eurprd07.prod.outlook.com (2603:10a6:20b:134::11) by AM6PR07MB5829.eurprd07.prod.outlook.com (2603:10a6:20b:2a::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3261.12; Mon, 10 Aug 2020 09:03:40 +0000
Received: from AM7PR07MB6248.eurprd07.prod.outlook.com ([fe80::b570:437a:db46:400a]) by AM7PR07MB6248.eurprd07.prod.outlook.com ([fe80::b570:437a:db46:400a%9]) with mapi id 15.20.3283.014; Mon, 10 Aug 2020 09:03:40 +0000
From: tom petch <ietfc@btconnect.com>
To: Italo Busi <Italo.Busi@huawei.com>, "netmod@ietf.org" <netmod@ietf.org>
CC: TEAS WG <teas@ietf.org>
Thread-Topic: Issue with path statements in RPC
Thread-Index: AdZqMvZLkjbLs0OkQ3ec1fn/B/O1LQEwOsCV
Date: Mon, 10 Aug 2020 09:03:40 +0000
Message-ID: <AM7PR07MB6248D7BF222B8AA480F20089A0440@AM7PR07MB6248.eurprd07.prod.outlook.com>
References: <9c365f0d89ae4f9c9054eed5c4730d59@huawei.com>
In-Reply-To: <9c365f0d89ae4f9c9054eed5c4730d59@huawei.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
authentication-results: huawei.com; dkim=none (message not signed) header.d=none;huawei.com; dmarc=none action=none header.from=btconnect.com;
x-originating-ip: [81.131.229.35]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 816ab459-41e4-4da2-be04-08d83d0c4661
x-ms-traffictypediagnostic: AM6PR07MB5829:
x-microsoft-antispam-prvs: <AM6PR07MB582951692D8D7EE1A60DD7A0A0440@AM6PR07MB5829.eurprd07.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: 9Tfd+z1jg1voEGUo5LtMdNFSPqN11zrz4WMLIAqU1P7BMTMQIDmiO4PIkIua7BVLDLrcMuddBrf+p+/vH8yLYZ7rwxeF0RUI8JDBEuP+7wscV3/LWQ3Bokr99o+xZ+WrJE2ODx44iaDMdA+AKEYFpgfhsVxRTaWc9WSB7vWWFgGZRmG1M+BNYHc9+myfyQlWZZrMl2R9d5QguvAVc/FsM/RGVmJziW64jNH9R24u8pA9/G2EVMlRNIVRi/V2rov9ZBS1f/ONLtMJw8ZtgkNGgWj3vVfM5DOK1oGWmEWkK/X6ek4HdXg8jraIipdKQRbSOYA3xa2F9BDPvr0esCt5ZDDmI0hpREBHO9ovI7IkykrOEU+MM9JhWZJXutk4j8XqN8lL+wc2GY6xAu9PgutzLA==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR07MB6248.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(136003)(346002)(376002)(396003)(39860400002)(366004)(110136005)(4326008)(99936003)(8936002)(478600001)(2906002)(8676002)(966005)(316002)(83380400001)(5660300002)(52536014)(86362001)(66556008)(186003)(91956017)(66476007)(66616009)(64756008)(66946007)(66446008)(9686003)(7696005)(26005)(6506007)(55016002)(76116006)(33656002)(71200400001)(15974865002); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: cuWzgYEBuB1FFVHa0DrAfr+AQLHutOMZOXpl0ipNr0Z6JOJLv0z5TLh5c0Qqz9ciFjBYQt+JurTvV1WsFPUs+J5dp7GbUwA5nAHczGh72pAFnLzJmN8nFJJWDOYbvVISMuzS8AoAyqQ7Y3hJ+45Umg2NMvwtywA66yi+k4wqLPqYK/HwagMq7453ydktbsE5wN0Jax9+Lqz2vwCmfYDlJ2mMJrnXVncTE/ffd3xRmto1CsPsDNZLTzqENtqUho01mcQEf5MqIGSlXxaajNzzDOc8DwG1Z/C3HM78cYJuarWhpk76+ysnchRynraXW0ccTVmLJCHeU0Gsg+t5L75+4GoSMCWRt1SDmCJpmomEgqt23DlGanQyveNyOqQpHBqgjVLxacV6IZP4LOrjqwqfHxWBdcVrg4ZtXwy0OSwD2ySIzjseMjRgGzWRJRHytbPItzfImPzxKNRKBKaFHRdEnX2sVoeBpErsaCFhMQ2P6O9sEjDXYvN7+w1/Yixb9f7luKrzvMT5xeWB8TBcFDAvy1U+dEEC7y7s2RPhQQTkpwWI3RRNcUrmZofD4WZ97P7iGB/QvaXw725QnqdS7/rIEIxHvQ+QJy5oyTYN/2bCzYPXNMrd135dfnjs3X/fFgybiVn8Sc2OekUreFV0Mt0AjQ==
x-ms-exchange-transport-forked: True
Content-Type: multipart/related; boundary="_002_AM7PR07MB6248D7BF222B8AA480F20089A0440AM7PR07MB6248eurp_"; type="text/plain"
MIME-Version: 1.0
X-OriginatorOrg: btconnect.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM7PR07MB6248.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 816ab459-41e4-4da2-be04-08d83d0c4661
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Aug 2020 09:03:40.1144 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: cf8853ed-96e5-465b-9185-806bfe185e30
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 21bUAVFzsLW1eRS0pxjs9rbjAWmFH6isyiXAbwtMD54mFGHiO3kEWARWIUDLSBe0VQ41e2d0H0/xrWNVuHgSXA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR07MB5829
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/0yUaSUW13uJ6mGKFLOQ6QO0Iwhg>
Subject: Re: [netmod] Issue with path statements in RPC
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
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: Mon, 10 Aug 2020 09:03:45 -0000

From: netmod <netmod-bounces@ietf.org> on behalf of Italo Busi <Italo.Busi@huawei.com>
Sent: 04 August 2020 08:49

We have found some issues with RPC XPaths when developing the YANG code for https://tools.ietf.org/html/draft-ietf-teas-yang-path-computation

As discussed during the TEAS WG session in IETF 108, this issue has been raised on pyang github: https://github.com/mbj4668/pyang/issues/662

It was also suggested to check with Netmod WG what should be the correct behavior according to RFC7950.

<tp>
Italo

While waiting for those with greater understanding than I to come up with the answer about whether or not 'input' should or should not be present in the XPath, I had another look at RFC7950 and decided that I could argue it either way; it comes down to schema tree versus data tree, both of which figure in the definition of leafref,  but this is just my speculation,

Tom Petch.

The following code is accepted by pyang 1.75 but not by pyang 2.1:

    type leafref {
      path "/te:tunnels-path-compute/te:input/"
         + "te:path-compute-info/"
        + "te-pc:tunnel-attributes/te-pc:tunnel-name";
    }

The following code instead is accepted by pyang 2.1 but not by pyang 1.7.5:

    type leafref {
      path "/te:tunnels-path-compute/"
         + "te:path-compute-info/"
        + "te-pc:tunnel-attributes/te-pc:tunnel-name";
    }

Moreover the following when statement, which is quite useful to constraint which information is provided by the RPC output based on some attributes in the RPC input, is accepted by pyang 1.7.5 but not accepted by pyang 2.1;

  augment "/te:tunnels-actions/te:output" {
    description
      "Augment Tunnels Action RPC input with path delete result";

    container path-computed-delete-result {
      when "derived-from-or-self(../../te:input/te:action-info/"
         + "te:action, 'tunnel-action-path-compute-delete')";
      description "Path Delete RPC output";
      leaf-list path-compute-transaction-id {
        type string;
        description
          "The list of the transaction-id values of the
           transient states that have been successfully deleted";
      }
    }   // container path-computed-delete-result
  }   // path-delete rpc output


Could you please help us to understand what is the correct behavior?

In case the correct behavior is the one of pyang 2.1, our understanding is that it would not be possible to provide in YANG when constraints for the data nodes in the RPC output depending on specific values of the data nodes used in the RPC input. Therefore these constraints should be specified as behavior and implemented in the back-end.

Is our understanding correct?

Thanks for your help

Sergio and Italo (on behalf of co-authors/contributors)

Italo Busi
Principal Optical Transport Network Research Engineer

[cid:image001.jpg@01D5AC11.9575BB40]
____________________________________________________________________

Huawei Technologies Italia S.r.l.
Address: Centro Direzionale Milano 2, Palazzo Verrocchio, 20090 Segrate (MI)
Tel: +39 345 4721946 - Mobile: Italo.busi@huawei.com<mailto:Italo.busi@huawei.com>

__________________________________________________________________________________
Huawei Technologies Italia S.r.l. is a company registered in Italy at the Company Registration Office of Milan, with registered number 04501190963 and equity capital €3,000,000 fully paid up, whose registered office is in Milan, Via Lorenteggio 240, Tower A, 20147 Milan, Italy. Huawei Technologies Italia S.r.l. is 100% owned by Huawei Technologies Cooperatief U.A.
CONAI Reg. No. cc 12639454 - A.E.E. Registry No. IT10010000006521 - Batteries and Accumulators Registry No. IT12050P00002839.
________________________________________________________________________________________________________________________
This e-mail and its attachments contain confidential information from HUAWEI, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete it! Thank you.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
PRIVACY NOTICE: Pursuant to Art. 13 of the General Data Protection Regulation 2016/679 (GDPR), Huawei Technologies Italia S.r.l. informs you that the personal data contained in this email will be collected and treated for the acquisition of information preliminary to the conclusion of contracts, for the definition of the contractual relationship, as well as for the fulfillment of legal requirements related to civil, tax and accounting law or any other legal obligation to which Huawei may be subject. Personal data will not be subject to disclosure and spread unless otherwise required by law. Huawei will take appropriate security measures to protect personal data against loss, misuse disclosure or destruction of the information. Personal Data held may be transferred to countries outside the European Union, however Huawei Italia has put in place appropriate safeguards for the transfer of personal data to third countries by adopting the standard data protection clauses of the EU Commission. Personal Data are kept for a period necessary for the fulfillment of contract obligations unless otherwise required by law. You can exercise your rights under Art. 15 and following of the GDPR (i.e. right of access, rectification, erasure, restriction, portability, object) by contacting Huawei at this email address: dataprotection@huawei.com<mailto:dataprotection@huawei.com> or through the following channel: www.huawei.com/en/personal-data-request<http://www.huawei.com/en/personal-data-request>. You have also the right to lodge a complaint with the competent supervisory authorities. If you need any further information or have any queries on how Huawei process your personal data, please send an email to our Data Protection Officer at dpo@huawei.com<mailto:dpo@huawei.com>.The Data Controller is Huawei Technologies Italia S.r.l. with registered office in Milan, Via Lorenteggio 240 Tower A, 20147.