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.

> 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

Reply via email to