From: netmod <[email protected]> on behalf of Martin Björklund <[email protected]> Sent: 10 August 2020 10:24
Italo Busi <[email protected]> wrote: > 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. > > 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"; > } The leafref path is an XPath expression, which operates on the data tree (instance data). The "input" node is not present in the instance data / data tree. See section 6.4.1 of RFC 7950. So the latter path (as verfied by pyang 2.1) is correct. <tp> Martin, Thank you for the clarifications. Just looking at the first issue, what gave me pause was section 9.9; the path statement is used to identify the referred leaf in the schema tree and 'input' is in the schema tree. But I can see that 6.4.1 overrides that implication. Tom Petch > 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? Yes, this is correct. It is not possible to refer to the corresponding "input" instance data in the XPath expressions for the "output". /martin > > Thanks for your help > > Sergio and Italo (on behalf of co-authors/contributors) > > Italo Busi > Principal Optical Transport Network Research Engineer > > [cid:[email protected]] > ____________________________________________________________________ > > Huawei Technologies Italia S.r.l. > Address: Centro Direzionale Milano 2, Palazzo Verrocchio, 20090 > Segrate (MI) > Tel: +39 345 4721946 - Mobile: > [email protected]<mailto:[email protected]> > > __________________________________________________________________________________ > 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: > [email protected]<mailto:[email protected]> 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 > [email protected]<mailto:[email protected]>.The Data Controller is Huawei > Technologies Italia S.r.l. with registered office in Milan, Via > Lorenteggio 240 Tower A, 20147. > > _______________________________________________ netmod mailing list [email protected] https://www.ietf.org/mailman/listinfo/netmod _______________________________________________ netmod mailing list [email protected] https://www.ietf.org/mailman/listinfo/netmod
