Subject: [yang-doctors] automating yang doctor reviews

From: Kent Watsen <[email-masked]>
Date: Wed, 18 Apr 2018 20:29:36 +0000

Doctors,

Here's a stab at how we might automate the basic parts of a YANG Doctor review, something I've mentioned wanting at the YD-lunch meeting at the last two IETF meetings.

I'll be the first to say that this proposal has issues, but hopefully it's in the ballpark, and we can finish it off together, assuming there is interest in bringing it forward at all...

Note, I assume that this document will be AD-sponsored, just like RFC 7991 was, hence why the draft name is what it is.

PS: I'm falling into a black hole, and may not reply to any responses until early next week.

Kent

---

From: Martin Bjorklund <[email-masked]>
Date: Tue, 24 Apr 2018 22:57:03 +0200 (CEST)

Hi Kent,

While I appreciate the effort, I'm not sure this will actually make
the YANG doctor's job any easier.  For example, re including the
command to generate the tree diagram - if people knew how to do this
properly, they could as easily write a Makefile (or similar) that
always generate the diagram so that the tree diagram is always up to
date.  But we know that this is not the case.  So why do we think that
the addition of the 'gen' attribute will make people produce good
drafts?

Also, I'm not sure it helps to include specific commands like this --
what it tells me as a YD is that the probability that the examples
validate is somewhat higher than w/o this attribute.  It does not tell
me that the examples are valid.

And sometimes examples and tree diagrams are manually edited for
formatting reason (e.g., replace chunks of noise with "...").   This
is difficult to capture formally, and people will still have to
validate examples.

As have been pointed out, there is often dependencies to other
modules; capturing all this seems a bit tricky.  And the question is
what problem is actually solves.

Another approach might be to encourage people to keep their draft work
on github, have separate files for examples, use 'make' to generate
tree diagrams and to validate examples.  This is less formal, but
achieves the same goal.

/martin

Kent Watsen <[email-masked]> wrote:
> 
> Doctors,
> 
> Here's a stab at how we might automate the basic parts of a YANG
> Doctor review, something I've mentioned wanting at the YD-lunch
> meeting at the last two IETF meetings.
> 
> I'll be the first to say that this proposal has issues, but hopefully
> it's in the ballpark, and we can finish it off together, assuming
> there is interest in bringing it forward at all...
> 
> Note, I assume that this document will be AD-sponsored, just like RFC
> 7991 was, hence why the draft name is what it is.
>

---

From: Kent Watsen <[email-masked]>
Date: Wed, 25 Apr 2018 00:56:13 +0000

Martin,

Regarding the problem trying to be solved, the end of the Section 1 reads:

   While the solution presented in this document facilitates "doctor"
   reviews (MIB, YANG, etc.), experience shows that doctor reviews are
   often out of synch with the document submitted for publication, some
   times by several draft revisions.  Thusly, it is currently common
   practice for the draft's shepherd to make some attempt at verifying
   the correctness of artwork containing structured code.  And, of
   course, as the document progresses in the publication process, it 
   may be subsequently updated by IESG and/or RFC Editor reviews.  By
   enabling the verification [and tree-diagram generation] to be 
   automated, correctness can be more assured throughout the 
   publication process.

That said, I'll grant you that there could be a bug in the author's
specification of the command line (or script) to validate the 
<sourcecode> element (e.g., <sourcecode validate="true"> to hack
it), but perhaps the YANG Doctor could at least verify that much
in their review, with the reasonable assumption that it will not
be removed (or become out-of-date) later. 

Kent

===== original message =====

Hi Kent,

/martin

---

From: "Reshad Rahman (rrahman)" <[email-masked]>
Date: Thu, 26 Apr 2018 15:07:38 +0000

Hi,

I'm all for "encouraging" Makefiles which generate trees, validate examples which are in separate etc. On 2 YANG models I work on, Mahesh pushed for this and it made a big difference.

For things such as whether import statements contain a reference and whether the reference is correct, it'd be good if we could have a tool to do the verification. It is very tedious work and error-prone.

Regards,
Reshad.

On 2018-04-24, 8:56 PM, "yang-doctors on behalf of Kent Watsen" <[email-masked] on behalf of [email-masked]> wrote:

    Martin,

    
    
    Kent

    Hi Kent,

    

    /martin

    > PS: I'm falling into a black hole, and may not reply to any responses

    _______________________________________________
    yang-doctors mailing list
    [email-masked]
    https://www.ietf.org/mailman/listinfo/yang-doctors

---

From: Mahesh Jethanandani <[email-masked]>
Date: Thu, 26 Apr 2018 12:51:53 -0700

I have borrowed heavily scripts and Makefiles that Kent and others have developed, to validate YANG modules, generate the tree diagram, and verify the examples against the YANG module BEFORE assembling them for producing the draft. This is simple to do when YANG module, examples, tree diagrams, and the draft text exist as separate files. I would recommend that we publish such a template in GitHub and have YANG module developers follow the template, perhaps with some guidance in 6087bis or in this new draft. Such steps will reduce the time a YANG doctor will need to spend reviewing the model.

This may not be possible for existing drafts, which is where I guess Kent is suggesting taking existing drafts and disassembling it so the individual files that can be validated/verified/generated.

If I had to choose, I would focus on the tools and steps for new drafts and leave existing drafts for manual review.

Cheers.

> On Apr 26, 2018, at 8:07 AM, Reshad Rahman (rrahman) <[email-masked]> wrote:
> 
> Hi,
> 

Mahesh Jethanandani
[email-masked]