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) &lt;<a href=3D"mailto:[email protected]">[email protected]</a>&gt; 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, &quot;yang-doctors on behalf of Andy Bierman=
 via Datatracker&quot; &lt;<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>&gt; 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 &quot;/if:interfaces/=
if:interface/if-cmn:encapsulation&quot;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0+ &quot;/if-l=
3-vlan:dot1q-vlan&quot;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0+ &quot;/if-l=
3-vlan:outer-tag/if-l3-vlan:vlan-id&quot;;<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 &quot;clear&quot; 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==--