Re: [yang-doctors] Yangdoctors early review of draft-ietf-idr-bgp-model-07
Andy Bierman <[email protected]> Thu, 2 Jan 2020 13:28:02 -0800
| Newsgroups | gmane.ietf.idr |
|---|---|
| Message-ID | <CABCOCHRWv1Og5V284Vo_Y8vL=Do0=bYc9EjvfE3_M-d+iuPg-w@mail.gmail.com> |
--===============6766332520823888082== Content-Type: multipart/alternative; boundary="000000000000dbf54e059b2ede4d" --000000000000dbf54e059b2ede4d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Jan 2, 2020 at 1:18 PM Acee Lindem (acee) <[email protected]> wrote: > Hi Andy, et al, > > =EF=BB=BFOn 12/30/19, 2:49 PM, "yang-doctors on behalf of Andy Bierman vi= a > Datatracker" <[email protected] on behalf of [email protected]= > > wrote: > > Reviewer: Andy Bierman > Review result: On the Right Track > > > Major issues: > > - The ietf-bgp module uses (legal) YANG 1.1 constructs that are > not supported by available tools so it cannot be validated. > The solution options are > (A) rewrite the module so it does not place any definitions > in the main module. Instead place all definitions in > submodules. Add YANG 1.0 include-stmts as needed so pyang > can validate the module > (B) wait until the opensource tools properly support this > YANG 1.1 usage and resubmit the module at that time > > - The modules import ietf-routing-policy. Version used was > 2019-03-04. This module has a fatal error caused because > ietf-interface-common has apparently been replaced with > ietf-if-extensions@2019-11-04 > > leaf subinterface { > type leafref { > path "/if:interfaces/if:interface/if-cmn:encapsulation" > + "/if-l3-vlan:dot1q-vlan" > + "/if-l3-vlan:outer-tag/if-l3-vlan:vlan-id"; > } > > The path expression is wrong. if-cmn:encapsulation is now > if-ext:encapsulation. You need to check the XPath everywhere > when you refactor YANG modules. > > I have fixed this in the -08 version. > > https://datatracker.ietf.org/doc/draft-ietf-rtgwg-policy-model/ > > Now, if only we could get the IETF tools to include the > ieee802-dot1q-types.yang model so that ietf-if-l3-vlan.yang parses.... > > I noticed that IEEE modules are being imported into some IETF models now. I did not raise it in the ietf-bgp review but it does raise a process or tools issue. Is it possible to standardize tools based on the github YangModels repo, using standard module search path. e.g -p repo/experimental/ietf-extracted-YANG-models -p repo/standard Thanks, > Acee > Andy > > - Full review of these modules is not possible at this time without > proper opensource tools. Processing the YANG statements > by hand is extremely difficult, given the large amount > of groupings used which are spread across many modules and > submodules. > > > Minor Issues > > - The "clear" actions need to be specific about the exact set > of objects that are affected. The value of each object once it > is cleared needs to be specified in every object that is affected > by the action. Impact on operations should be explained in > each action-stmt > > - Some TODO items still remain indicating the YANG definitions > are temporary and will be replaced by more correct statements. > > - Additional reference-stmts would be useful to implementors > who are familar with the routing RFCs that the YANG objects > are based on > > Editorial Comments > > - The implementation complexity appears to be very high > for both server and client developers. The interactions between > subtrees is non-trivial and probably requires more clarifications= .. > This needs to be done by implementors, not document reviewers. > > > _______________________________________________ > yang-doctors mailing list > [email protected] > https://www.ietf.org/mailman/listinfo/yang-doctors > > > --000000000000dbf54e059b2ede4d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">= <div dir=3D"ltr" class=3D"gmail_attr">On Thu, Jan 2, 2020 at 1:18 PM Acee L= indem (acee) <<a href=3D"mailto:[email protected]">[email protected]</a>> w= rote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0p= x 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Andy, e= t al, <br> <br> =EF=BB=BFOn 12/30/19, 2:49 PM, "yang-doctors on behalf of Andy Bierman= via Datatracker" <<a href=3D"mailto:[email protected]"= target=3D"_blank">[email protected]</a> on behalf of <a href= =3D"mailto:[email protected]" target=3D"_blank">[email protected]</a>> wro= te:<br> <br> =C2=A0 =C2=A0 Reviewer: Andy Bierman<br> =C2=A0 =C2=A0 Review result: On the Right Track<br> <br> <br> =C2=A0 =C2=A0 Major issues:<br> <br> =C2=A0 =C2=A0 =C2=A0 - The ietf-bgp module uses (legal) YANG 1.1 constructs= that are<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 not supported by available tools so it cannot b= e validated.<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 The solution options are<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 (A) rewrite the module so it does not place any= definitions<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 in the main module.=C2=A0 Instead= place all definitions in<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 submodules. Add YANG 1.0 include-= stmts as needed so pyang<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 can validate the module<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 (B) wait until the opensource tools properly su= pport this<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 YANG 1.1 usage and resubmit the m= odule at that time<br> <br> =C2=A0 =C2=A0 =C2=A0 - The modules import ietf-routing-policy. Version used= was<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 2019-03-04.=C2=A0 This module has a fatal error= caused because<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 ietf-interface-common has apparently been repla= ced with<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 ietf-if-extensions@2019-11-04<br> <br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 leaf subinterface {<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 type leafref {<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 path "/if:interfaces/= if:interface/if-cmn:encapsulation"<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0+ "/if-l= 3-vlan:dot1q-vlan"<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0+ "/if-l= 3-vlan:outer-tag/if-l3-vlan:vlan-id";<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }<br> <br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 The path expression is wrong. if-cmn:encapsulat= ion is now<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 if-ext:encapsulation.=C2=A0 You need to check t= he XPath everywhere<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 when you refactor YANG modules.<br> <br> I have fixed this in the -08 version. <br> <br> <a href=3D"https://datatracker.ietf.org/doc/draft-ietf-rtgwg-policy-model/"= rel=3D"noreferrer" target=3D"_blank">https://datatracker.ietf.org/doc/draf= t-ietf-rtgwg-policy-model/</a><br> <br> Now, if only we could get the IETF tools to include the ieee802-dot1q-types= ..yang model so that ietf-if-l3-vlan.yang parses....<br> <br></blockquote><div><br></div><div>I noticed that IEEE modules are being = imported into some IETF models now.</div><div>I did not raise it in the iet= f-bgp review but it does raise a process or tools issue.</div><div><br></di= v><div>Is it possible to standardize tools based on the github YangModels r= epo,</div><div>using standard module search path. e.g</div><div><br></div><= div>=C2=A0-p repo/experimental/ietf-extracted-YANG-models</div><div>=C2=A0-= p repo/standard</div><div><br></div><div><br></div><blockquote class=3D"gma= il_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,2= 04,204);padding-left:1ex"> Thanks,<br> Acee <br></blockquote><div><br></div><div>Andy</div><div>=C2=A0</div><block= quote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1= px solid rgb(204,204,204);padding-left:1ex"> <br> =C2=A0 =C2=A0 =C2=A0 - Full review of these modules is not possible at this= time without<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 proper opensource tools. Processing the YANG st= atements<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 by hand is extremely difficult, given the large= amount<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 of groupings used which are spread across many = modules and<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 submodules.<br> <br> <br> =C2=A0 =C2=A0 Minor Issues<br> <br> =C2=A0 =C2=A0 =C2=A0 - The "clear" actions need to be specific ab= out the exact set<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 of objects that are affected. The value of each= object once it<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 is cleared needs to be specified in every objec= t that is affected<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 by the action.=C2=A0 Impact on operations shoul= d be explained in<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 each action-stmt<br> <br> =C2=A0 =C2=A0 =C2=A0 - Some TODO items still remain indicating the YANG def= initions<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 are temporary and will be replaced by more corr= ect statements.<br> <br> =C2=A0 =C2=A0 =C2=A0 - Additional reference-stmts would be useful to implem= entors<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 who are familar with the routing RFCs that the = YANG objects<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 are based on<br> <br> =C2=A0 =C2=A0 Editorial Comments<br> <br> =C2=A0 =C2=A0 =C2=A0 - The implementation complexity appears to be very hig= h<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 for both server and client developers.=C2=A0 Th= e interactions between<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 subtrees is non-trivial and probably requires m= ore clarifications.<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 This needs to be done by implementors, not docu= ment reviewers.<br> <br> <br> =C2=A0 =C2=A0 _______________________________________________<br> =C2=A0 =C2=A0 yang-doctors mailing list<br> =C2=A0 =C2=A0 <a href=3D"mailto:[email protected]" target=3D"_blank">ya= [email protected]</a><br> =C2=A0 =C2=A0 <a href=3D"https://www.ietf.org/mailman/listinfo/yang-doctors= " rel=3D"noreferrer" target=3D"_blank">https://www.ietf.org/mailman/listinf= o/yang-doctors</a><br> <br> <br> </blockquote></div></div> --000000000000dbf54e059b2ede4d-- --===============6766332520823888082== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Idr mailing list [email protected] https://www.ietf.org/mailman/listinfo/idr --===============6766332520823888082==--