Subject: [Netconf] FW: I-D Action:draft-ietf-netconf-monitoring-13.txt

From: Mark Scott <[email-masked]>
Date: Wed, 26 May 2010 12:52:56 -0400

Hello,

A new version (v13) of the "YANG Module for NETCONF Monitoring" draft has been posted.

This addresses comments received on v12 during WGLC, AD and Gen-Art reviews.

In addition some further changes were worked in a smaller group (which included WG chairs).  The noteworthy changes being:

1. Sec 6, Security Considerations
  a. new security text template (rev4) as agreed by WG
  b. 'username' identified as sensitive data
2. 'username' description updated to specify the standard value for SSH transport (i.e. the mandatory NETCONF transport).  For the optional transports the derivation remains implementation specific.
3. Yang module updates:
  a. added Martin to list of contacts
  b. prefix changed to 'ncm' (netconf monitoring);  better reflects the module name
  c. fixed double reference statement bug in yin identity
  d. added presence statement to locks container
  e. name changed from container to leaf node
  f. name key added for datastores list
  g. added typedef sessionid-or-zero
  h. additional mandatory nodes added (username, locked-time, namespace)
  i. additional descriptions added
  j. leaf locked-by-session type changed to session-id-or-zero
4. updated IANA considerations:
  a. "Yang Module Names" registry reference added for module registration
  b. 'rfcxxx' removed from module namespace per (netmod) consensus to drop that guideline

Please refer to the Change Log (Appendix A) for details on all changes.

cheers,
Mark

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of [email-masked]
Sent: May-26-10 12:15 PM
To: [email-masked]
Cc: [email-masked]
Subject: [Netconf] I-D Action:draft-ietf-netconf-monitoring-13.txt

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Network Configuration Working Group of the IETF.

	Title           : YANG Module for NETCONF Monitoring
	Author(s)       : M. Scott, M. Bjorklund
	Filename        : draft-ietf-netconf-monitoring-13.txt
	Pages           : 40
	Date            : 2010-05-26

This document defines a NETCONF data model to be used to monitor the
NETCONF protocol.  The monitoring data model includes information
about NETCONF datastores, sessions, locks and statistics.  This data
facilitates the management of a NETCONF server.  This document also
defines methods for NETCONF clients to discover data models supported
by a NETCONF server and defines a new NETCONF <get-schema> operation
to retrieve them.

A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-ietf-netconf-monitoring-13.txt

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/

Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version of the
Internet-Draft.
RklMRSBRVUFSQU5USU5FRA0KDQpNaWNyb3NvZnQgRm9yZWZyb250IFNlY3VyaXR5IGZvciBFeGNo
YW5nZSBTZXJ2ZXIgcmVtb3ZlZCBhIGZpbGUgc2luY2UgaXQgd2FzIGZvdW5kIHRvIG1hdGNoIGEg
ZmlsdGVyLg0KRmlsZSBuYW1lOiAid2lubWFpbC5kYXQtPmRyYWZ0LWlldGYtbmV0Y29uZi1tb25p
dG9yaW5nLTEzLnVybCINCkZpbHRlciBuYW1lOiAiRklMRSBGSUxURVI9IHVubmFtZWQ6ICoudXJs
Ig0K

---

From: Andy Bierman <[email-masked]>
Date: Wed, 26 May 2010 10:18:34 -0700

> This addresses comments received on v12 during WGLC, AD and Gen-Art reviews.

I do not remember a public discussion and resolution that led
to changing the datastore name from a container to a leaf.
Since a client has to support this container-of-empty-leaf
all over NETCONF, it doesn't really help to fix it here.
I do not strongly object, but this is a big change so
late in the process.

I do not understand why this document is defining the
NETCONF session-id and session-id-or-zero typedefs.
The ietf-netconf module is defining session-id-type
and session-id-or-zero-type.  There is no way 4741bis
is going to incur a normative reference to this RFC
for some out-of-place typedef.  That means 2 sets
of typedefs going forward.  Quite lame.

Andy

> ------------------------------------------------------------------------
>
> _______________________________________________
> Netconf mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/netconf

---

From: Martin Bjorklund <[email-masked]>
Date: Wed, 26 May 2010 19:29:36 +0200 (CEST)

Hi,

> I do not strongly object, but this is a big change so

I think this is different from the other places, since this is in a
(non-config) data model, and the other places are rpc input params.
By using a leaf we can make it a key, which directly defines that the
name identifies an entry in this list.  This was not clear in the
previous version.  This is also the way we want new data models to
look like, and it plays well with subtree filtering too (no, I do not
want to re-start the deep keys discussion here :)

> NETCONF session-id and session-id-or-zero typedefs.

The only reason is to avoid a normative reference to 4741bis.

/martin

---

From: Andy Bierman <[email-masked]>
Date: Wed, 26 May 2010 11:03:31 -0700

> want to re-start the deep keys discussion here :)

It is OK -- should have figured that out in draft-02, though.
I wish all of NETCONF used an enumeration
instead of what we have now, e.g.:

   choice config-target {
      mandatory true;
      leaf database { type netconf-datastore-type; }
      leaf url { type inet:uri; }
  }

Semantically, this is much cleaner, not just simpler syntax.
Too late for that I guess.

> The only reason is to avoid a normative reference to 4741bis.

I figured that out.
But solving this artificial IETF-process-related problem
introduces long-term confusion and duplication.

IMO it would be better to think about how these YANG modules
will be used during their expected lifetime, rather than worry about
the 6 week to 6 month time frame for avoiding normative references.

I prefer to have all the common NETCONF typedefs in the
draft-ietf-netmod-types draft.  (e.g., session-id, datastore-type).
That is the correct engineering solution.  That would also
get published before 4741bis, so ietf-netconf and
ietf-netconf-monitoring can import from a module in this draft.

Andy

---

From: "Romascanu, Dan (Dan)" <[email-masked]>
Date: Mon, 31 May 2010 18:26:47 +0200

Mehmet (as document shepherd),

Can you please clarify if the WG plans to make any change (back) based
on this content, or stick to the current version before submitting the
document to the IESG? 

Thanks and Regards,

Dan

> From: [email-masked] 
> [mailto:[email-masked]] On Behalf Of Andy Bierman
> Sent: Wednesday, May 26, 2010 8:19 PM
> To: Mark Scott
> Cc: [email-masked]
> Subject: Re: [Netconf] FW: I-D 
> Action:draft-ietf-netconf-monitoring-13.txt
> 
> Mark Scott wrote:
> > Hello,
> >
> I do not strongly object, but this is a big change so late in 
> the process.
> 
> I do not understand why this document is defining the NETCONF 
> session-id and session-id-or-zero typedefs.
> The ietf-netconf module is defining session-id-type and 
> session-id-or-zero-type.  There is no way 4741bis is going to 
> incur a normative reference to this RFC for some out-of-place 
> typedef.  That means 2 sets of typedefs going forward.  Quite lame.
> 
> 
> 
> Andy
> 
> 
> 
> 
> > In addition some further changes were worked in a smaller 
> group (which included WG chairs).  The noteworthy changes being:
> >
> >   b. 'username' identified as sensitive data 2. 'username' 
> description 
> > updated to specify the standard value for SSH transport 
> (i.e. the mandatory NETCONF transport).  For the optional 
> transports the derivation remains implementation specific.
> > 3. Yang module updates:
> >   j. leaf locked-by-session type changed to session-id-or-zero 4. 
> > updated IANA considerations:
> >   b. 'rfcxxx' removed from module namespace per (netmod) 
> consensus to 
> > drop that guideline
> >

---

From: "Romascanu, Dan (Dan)" <[email-masked]>
Date: Mon, 31 May 2010 18:32:49 +0200

> ietf-netconf-monitoring can import from a module in this draft.

This looks cleaner and can be done in theory right now with the cost of
delaying draft-ietf-netmod-types which hangs on the clearing of a last
DISCUSS before being approved by the IESG. However I am wondering if
this is not a futile effort. This will not be the last typedef that will
be needed, and in the future we shall not update each time that RFC when
we need to add one or a few new typedefs. Or shall we? 

Dan
(speaking as a contributor)

---

From: Andy Bierman <[email-masked]>
Date: Mon, 31 May 2010 09:50:08 -0700

> we need to add one or a few new typedefs. Or shall we? 

Another solution is to not use any typedef
in ietf-netconf-monitoring.  Just use uint32
instead.

I really don't care that much.
I just want to make sure the IESG is not going
to force 4741bis to import session-id from this draft.

Andy

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Mon, 31 May 2010 19:27:25 +0200

> we need to add one or a few new typedefs. Or shall we? 

The ietf-yang-types module is for generally useful types - I do not
think NETCONF specific types belong there. They should either be in an
ietf-netconf-types module or straight in ietf-netconf. The last time
we discussion session-id and friends, the proposal was to keep them in
the monitoring document and to replace them with an import once we
have a better document to import them from.

I agree with Andy (very rare these days but it does happen ;-) that
importing something from ietf-netconf-monitoring into ietf-netconf is
not what we want. Perhaps the solution is to add a comment stating
that these types might be imported in future versions from a netconf
specific yang module.

/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: Andy Bierman <[email-masked]>
Date: Mon, 31 May 2010 10:37:06 -0700

> that these types might be imported in future versions from a netconf

I agree with you (!)
It is too late to add a 'ietf-netconf-types' module
to the yang-types draft.  I never imagined these
types would go into 1 of the existing modules.

Originally, I had all these "NETCONF related typedefs"
in my netconf.yang draft.  They got removed because they were
not directly used within the objects.  IMO, we should add
the ietf-netconf-types module to 4741bis now, and start
with the session-id-type in ietf-netconf.yang.

Andy

---

From: Martin Bjorklund <[email-masked]>
Date: Mon, 31 May 2010 20:34:27 +0200 (CEST)

> in ietf-netconf-monitoring.  Just use uint32

I think this is a reasonable way forward.  We should remove the two
session-id types from monitoring, and just use unit32.

> IMO, we should add

Why can't we just define those types in ietf-netconf?  Why do we need
a separate module for the types?  Do you expect that module to be
revised more often than ietf-netconf?

/martin

---

From: Andy Bierman <[email-masked]>
Date: Mon, 31 May 2010 12:17:25 -0700

> revised more often than ietf-netconf?

I am thinking that there will be more types later.
I have a specific use-case already implemented,
which is the 'sysStartup' notification event:

http://www.netconfcentral.org/modulereport/yuma-system#sysStartup.162

It includes any boot errors in the <rpc-error> format.

http://www.netconfcentral.org/modules/yuma-netconf/2010-05-24#RpcErrorType.399

Since NETCONF cares about real-world use-cases --
not all vendors want the server to crash if there are
errors in the config.  The server (or operator) can
figure out from the boot error messages what went wrong,
and decide how to fix it.

Of course, the only way to get the 'sysStartup' event is
via the notification replay buffer.  It is always the
first event in the buffer (until the buffer rolls over).

The enumerations from various <rpc-error> fields are
likely to show up in RPCs and notifications over time.

IMO it is cleaner for a ietf-foo module to import
from ietf-netconf-types because it is more precise
and less complexity for the reader.  The modules
would be in the same RFC to prevent a normative reference.

Andy