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