Subject: [MIB-DOCTORS] New NETCONF/YANG tutorial

From: Andy Bierman <[email-masked]>
Date: Wed, 2 Jul 2014 21:21:29 -0700

Hi,

I wrote a free tutorial called "A Guide to NETCONF for SNMP Developers".
http://dld.netconfcentral.org/doc/ncorg_netconf_yang_tutorial.pdf

It is 122 slides and it isn't done ;-)
I hoping some YANG and MIB doctors will have some time
to review it.  I need to present the basic sections (1 - 3) at
an IEEE conference in less than 2 weeks, so any bugfixes,
comments, other insights, etc. before July 10 would be greatly appreciated.

thanks,
Andy

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Thu, 3 Jul 2014 08:00:08 +0200

> http://dld.netconfcentral.org/doc/ncorg_netconf_yang_tutorial.pdf

This is good stuff. Something I spotted on slide 75: I think SNMPv3
has way more than 3 error codes (and even SNMPv1 had more than 3).

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1, 28759 Bremen, Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>

---

From: Martin Bjorklund <[email-masked]>
Date: Thu, 03 Jul 2014 09:14:23 +0200 (CEST)

> It is 122 slides and it isn't done ;-)

Let me know when its done and I'll update yang-central with a link to
this presentation.

> comments, other insights, etc. before July 10 would be greatly appreciated.

This looks very good!  I like the slides where you show SMIv2 vs YANG
and SNMP vs NETCONF on the same slide; it gives a good overview.

Some comments:

- slide 13/14: to be fair to snmp there are other transports
  *defined*.  but I guess it is correct to say udp here since it's
  certainly the most deployed transport.

- slide 24: could you write the link as http://www.yang-central.org?
  The twiki part might change...

- slide 32: you may want to expand the YANG example so people don't
  have to guess the blanks, something like:

     module radius-accounting-server {
       ...
       rpc config-reset {
         description "...";
       }
       leaf server-state {
         config false;
         type enumeration {
           enum other;
           enum initializing;
           enum running;
         }
       }

  (good point about the dual purpose!)

- slide 38: in order to avoid information overflow, consider removing
  bullets 4,5, and 7.

- slide 42: [side note: I think it is a bug that ok and rpc-error of
  type warning cannot be returned at the same time...]

- slide 53: "foo" + bar + 'baz' is not allowed:

     If a quoted string is followed by a plus character ("+"),
     followed by another quoted string, the two strings are
     concatenated into one string,
   
  (for some reason...)

- slide 65-67: remove XSD column?

- slide 75: s/error-app-info/error-app-tag/

General comment: risk of information overflow?  sometimes the slides
contains all details - which of course is correct but you may consider
removing less important details.

/martin

---

From: "Bert Wijnen (IETF)" <[email-masked]>
Date: Thu, 03 Jul 2014 11:07:59 +0200

I like it. Looks like there is lots for me to refresh my mind.

Are you also planning to give this tutorial at an IETF EDU session
or maybe WG chairs lunch?

120+ slides. I normally calculate an average of 2 minutes per slide.
So that would make for 240 minutes or 4 hours. Add a couple of breaks
and it gets to 5-6 hours. Or a day for normal training days.

It has copyright Yumaworks. I understand that... but
Can other yang doctors/yang proponents still use the slides?

most of this is probably nits. But here it goes anyways.

On slide 2 I see reference to an IESG statement. Do you mean
     http://www.ietf.org/iesg/statement/writable-mib-module.html
You might want to add the ptr

around slide 40 I see several times:

     module example-mod {
        namespace “http://example.com/ns/example-mod”;
        prefix “sys”;

Why prefix "sys" ?? Would it not be better to use something aka: prefix "xmpl"
so s to indicate that you would normally use a prefix that is easy to link
up with (or remember what is) the full namespace?
Specifically sys might also collide with prefixes we have used i(or may use) n IETF, no?

Not sure I understand 2nd bullet (and sub bullets) on slide 55.
Probably my lack of YANG knowledge. But the slide does not help either.
May also be clearer if you do slides about "must" and "when" earlier.
They now show up as slides 72/73.
Begs the question: is the target audience complete novices or do we expect
them to have read the RFCs? If so, you might want to add that as a slide
at the very beginning. However, I think we should make this digestable for
those who are novice to NetConf but do have some skill in SNMP and SMI.

slide 60
    mmm the term "body statements"... is that well defined?
    in rfc6020, section 4.2.1 I see:

    .... the definition statements are
    the body of the module where the data model is defined

Is that what you refer to? cause from the RFC6020 I would think they
are "definition statements" instead of "body statements".

This slideset plus the demo that Juergen once did in a OPSAREA session
makes a great introduction to NETCONF and YANG (I think).

Bert

On 03/07/14 06:21, Andy Bierman wrote:
> _______________________________________________
> yang-doctors mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/yang-doctors
>

---

From: "Romascanu, Dan (Dan)" <[email-masked]>
Date: Thu, 3 Jul 2014 10:46:54 +0000

To the latest issue raised by Martin (risk of information overflow)

As Andy pointed, one of the motivations of this preso is a tutorial the IETF was invited to give at the IEEE 802 meeting the week of 7/14, that Andy graciously took upon himself preparing. 

At the IEEE meeting he's got 90 min to present, including Q&A. We expect part of the audience to be composed of IEEE folks developing MIB modules , many of them with r/w capabilities. 

The plan is to focus on sections 1-3. Even so it may be too many slides, so the tactics are to flip only the slides that contain details and examples, focusing on the differences between SNMP and NETCONF, SMI and YANG, and the reasons the IETF embarked on the path of NETCONF/YANG. 

The morning after Andy will be available at the IEEE plenary for discussions and answering more detailed questions. 

Regards,

Dan

> -----Original Message-----
> From: yang-doctors [mailto:[email-masked]] On Behalf Of
> Martin Bjorklund
> Sent: Thursday, July 03, 2014 10:14 AM
> To: [email-masked]
> Cc: [email-masked]; [email-masked]
> Subject: Re: [yang-doctors] New NETCONF/YANG tutorial
> 
> Let me know when its done and I'll update yang-central with a link to this
> presentation.
> 
> > I hoping some YANG and MIB doctors will have some time to review it.
> > I need to present the basic sections (1 - 3) at an IEEE conference in
> > less than 2 weeks, so any bugfixes, comments, other insights, etc.
> > before July 10 would be greatly appreciated.
> 
> This looks very good!  I like the slides where you show SMIv2 vs YANG and
> SNMP vs NETCONF on the same slide; it gives a good overview.
> 
> Some comments:
> 
> contains all details - which of course is correct but you may consider removing
> less important details.
> 
> 
> 
> 
> /martin
>

---

From: Andy Bierman <[email-masked]>
Date: Thu, 3 Jul 2014 05:28:11 -0700

> has way more than 3 error codes (and even SNMPv1 had more than 3).

OK -- I removed that line since I cannot find the list of SNMPv3 error
codes right now.

---

From: Andy Bierman <[email-masked]>
Date: Thu, 3 Jul 2014 05:43:38 -0700

> or maybe WG chairs lunch?
No

> and it gets to 5-6 hours. Or a day for normal training days.
It could be expanded into a whole day I guess.
Maybe 2 min. average is accurate -- I plan on several short slides.

> Can other yang doctors/yang proponents still use the slides?

yes -- they are going to be posted on netconfcentral.org.

(I was somewhat disturbed that 21 of about 27 links on the NETCONF Wiki page
led me to a WEB page asking for money in order to read the article,)

> You might want to add the ptr

added

>        namespace "http://example.com/ns/example-mod";
>        prefix "sys";
>

changed to 'ex'

> They now show up as slides 72/73.

You're right.  I am just going to delete this slide.
It's just that YANG XPath and NETCONF "select" (XML XPath) look
the same and customers have been confused (e.g. -- the YANG prefix MUST be
used as the XML prefix).

> those who are novice to NetConf but do have some skill in SNMP and SMI.
No -- I am assuming some familiarity with SNMP/SMIv2 in these slides.

> are "definition statements" instead of "body statements".
They are called body-stmts in the ABNF

> makes a great introduction to NETCONF and YANG (I think).
I tried not to cover the same details.
Links to both tutorials are on netconfcentral now.

Andy

---

From: Andy Bierman <[email-masked]>
Date: Thu, 3 Jul 2014 06:25:42 -0700

> and SNMP vs NETCONF on the same slide; it gives a good overview.
thanks -- I hope it will help the migration (that has officially started in
the IETF).

>   certainly the most deployed transport.

what should I put?

>   The twiki part might change...

OK

>      module radius-accounting-server {
done

> - slide 38: in order to avoid information overflow, consider removing

removed 4 &  7 (bottom part looked too empty)

>   type warning cannot be returned at the same time...]

base:1.2

>      concatenated into one string,

Hmmm... Our code allows an unquoted string to be mixed in.
fixed

> - slide 65-67: remove XSD column?

Agreed, but...
Those slides are pulled in from an old tutorial -- I can't figure out how to
change them (LibreOffice doesn't think they are tables).

I went through my computer (12 years of ODP files scattered all over!).
I tried to get rid of most style mismatches but a lot left to fix.

> - slide 75: s/error-app-info/error-app-tag/
fixed

> removing less important details.

good point.  I should have lots of WEB links to the details and try to
do more high-level explanation. (There are many details still left out.)

thanks,
Andy

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Thu, 3 Jul 2014 16:48:41 +0200

> OK -- I removed that line since I cannot find the list of SNMPv3 error

RFC 3416 search for error-status. But removing this is best since the
number of error codes is not important - what matters I think is that
NETCONF not only gives you an error code but additional information
describing the context (and this is already on the slides).

/js

---

From: Andy Bierman <[email-masked]>
Date: Thu, 3 Jul 2014 08:53:39 -0700

> describing the context (and this is already on the slides).
thanks (I should know that).

I updated the slides online with v0.4.
I do not like the table on slide 14.
Any suggestions on fixing it?

Andy

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Thu, 3 Jul 2014 18:36:06 +0200

> Any suggestions on fixing it?

I guess the table is likely creating more confusion than it helps to
convey a clear message. If you want to have comparsion slides, create
one comparing SMIv2 to YANG and one comparing SNMP with NETCONF.

That is, change slide 14 to a protocol comparison slide (name the
different transports, the difference in fixed set of protocol
operations vs. data model driven set of protocol operations, mention
the concept of datastores and separation of config from operational
state and the availability of standard primitives for locking and
cross-device transactions). Later, add a slide after you have talked
high-level about data models and YANG to compare SMIv2 to YANG
(interrelated flat tables vs. a hierarchical data model, data
serialization to BER vs. XML, must and when constraints, ...).

/js

---

From: Andy Bierman <[email-masked]>
Date: Thu, 3 Jul 2014 10:29:53 -0700

Hi Bert,

> or maybe WG chairs lunch?

Do you think another EDU session is needed?
Maybe IETF 91 - this 1 has a 4 hour 'YANG Advice and Editing Session'
(I am really curious what people expect out of this 4 hour meeting.
Can we order out for pizza and beer? ;-)

---

From: "Bert Wijnen (IETF)" <[email-masked]>
Date: Thu, 03 Jul 2014 20:58:06 +0200

inline

On 03/07/14 19:29, Andy Bierman wrote:
> Hi Bert,
>
>
> On Thu, Jul 3, 2014 at 2:07 AM, Bert Wijnen (IETF) <[email-masked] <mailto:[email-masked]>> wrote:
>

Maybe I missed it, did we do one?
As I said either an EDU session or a WG chairs lunch session.
But then you get max 1 hour.

> (I am really curious what people expect out of this 4 hour meeting.

yeah, I am not sure yet either. but it is worth a try.

> Can we order out for pizza and beer? ;-)
I guess we can, as long as we pay our own way. which is fine by me.
Or we could try to find a sponsor. but I am not sure who would do that.

Bert

---

From: Andy Bierman <[email-masked]>
Date: Thu, 3 Jul 2014 12:09:19 -0700

> Maybe I missed it, did we do one?

IETF 84
http://www.ietf.org/edu/documents/2012-ietf-84-netconf-yang.pdf

> But then you get max 1 hour.

Does not seem like a Blue Dot topic to me.

> Or we could try to find a sponsor. but I am not sure who would do that.

Yeah, speaking of food and beer, I think the agenda has a typo.
It says 14:00 - 18:00, but the welcome reception is 17:00 to 19:00.
Are we really overlapping that?

Andy

---

From: Benoit Claise <[email-masked]>
Date: Fri, 04 Jul 2014 09:44:43 +0200

On 3/07/2014 21:09, Andy Bierman wrote:
>
>
>
> On Thu, Jul 3, 2014 at 11:58 AM, Bert Wijnen (IETF) 
> <[email-masked] <mailto:[email-masked]>> wrote:
>
>     inline
>
>         On Thu, Jul 3, 2014 at 2:07 AM, Bert Wijnen (IETF)
>         <[email-masked] <mailto:[email-masked]>
>         <mailto:[email-masked] <mailto:[email-masked]>>>
>         wrote:
>
Let's see how that goes.
This is an experiment.

Regards, Benoit

---

From: "Thomas D. Nadeau" <[email-masked]>
Date: Fri, 4 Jul 2014 09:27:10 -0400

Right. This is the first in what I personally hope, is a regularly run meeting for promoting (accelerated) yang development at the IETF. 

	--Tom

On Jul 4, 2014:3:44 AM, at 3:44 AM, Benoit Claise <[email-masked]> wrote:

>> On Thu, Jul 3, 2014 at 11:58 AM, Bert Wijnen (IETF) <[email-masked]> wrote:
>> inline
>>