Subject: [netmod] [Technical Errata Reported] RFC7950 (5879)

From: RFC Errata System <[email-masked]>
Date: Tue, 22 Oct 2019 04:43:19 -0700 (PDT)

The following errata report has been submitted for RFC7950,
"The YANG 1.1 Data Modeling Language".

--------------------------------------
You may review the report below and at:
https://www.rfc-editor.org/errata/eid5879

--------------------------------------
Type: Technical
Reported by: Ladislav Lhotka <[email-masked]>

Section: 3

Original Text
-------------
o  schema tree: The definition hierarchy specified within a module.

Corrected Text
--------------
o  schema tree: The hierarchy of schema nodes defined in the set of all modules 
   implemented by a server, as specified in the YANG library data [RFC7895].

Notes
-----
The original definition of the term has two problems:

1. Schema tree is not limited to a single module. Some YANG constructs, such as augment and leafref type, may refer to a schema node that is defined in another module.

2. Apart from schema nodes, YANG modules contain definitions that do not contribute to the schema tree: groupings, typedefs, identities etc.

Instructions:
-------------
This erratum is currently posted as "Reported". If necessary, please
use "Reply All" to discuss whether it should be verified or
rejected. When a decision is reached, the verifying party  
can log in to change the status and edit the report, if necessary. 

--------------------------------------
RFC7950 (draft-ietf-netmod-rfc6020bis-14)
--------------------------------------
Title               : The YANG 1.1 Data Modeling Language
Publication Date    : August 2016
Author(s)           : M. Bjorklund, Ed.
Category            : PROPOSED STANDARD
Source              : Network Modeling
Area                : Operations and Management
Stream              : IETF
Verifying Party     : IESG

---

From: Kent Watsen <[email-masked]>
Date: Tue, 22 Oct 2019 14:38:36 +0000

I think that this errata should be accepted.

Kent // contributor

> On Oct 22, 2019, at 7:43 AM, RFC Errata System <[email-masked]> wrote:
>

---

From: Martin Bjorklund <[email-masked]>
Date: Tue, 22 Oct 2019 17:02:29 +0200 (CEST)

Hi,

The problem is that it is not clear that we can use this new
definition with the rest of the text in the RFC that uses this term.
For example, section 7.1.5 talks about "the imported module's schema
tree", and this doesn't really work if the schema tree is not tied to
a module.

Also the proposed definition is recursive since it is defined in
terms of "schema node", and a "schema node" is already defined as "a
node in the schema tree".

So it probably makes sense to look at this definition (and the text
and other definitions) if we do a document update, but as it is
currently written I think it should be rejected.

/martin

---

From: Schönwälder, Jürgen <[email-masked]>
Date: Tue, 22 Oct 2019 15:12:59 +0000

I would be extremely careful with a change here. We would need to
check carefully all places where "schema tree" is used today to be
sure that accepting the errata does not accidentally change
semantics.

It may turn out that we use "schema tree" sometimes as "schema tree of
a module" and sometimes as "schema tree of a server". It may turn out
that we need to make this distinction more carefully and explicit than
we have done so far and we may even conclude that we need two
different terms to make this distinction.

A minor nit: I think the definition should not reference RFC 7895; the
definition should stand on its own and ideally RFC 7895 would import
the proper defined term from YANG; it should not look like the
definition in YANG depends on RFC 7895.

/js

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

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

---

From: "Rob Wilton (rwilton)" <[email-masked]>
Date: Tue, 22 Oct 2019 15:15:49 +0000

I agree with Lada that having such a definition would be useful.

But I also agree with Martin that this isn't really an erratum.

It is also worth noting that RFC 8342 defines:

   o  schema node: A node in the schema tree.  The formal definition is
      provided in RFC 7950.

   o  datastore schema: The combined set of schema nodes for all modules
      supported by a particular datastore, taking into consideration any
      deviations and enabled features for that datastore.

The latest version of the packages draft (not posted yet), defines:

   o  YANG schema: A datastore schema, not bound to any particular
      datastore.

Thanks,
Rob

> -----Original Message-----
> From: netmod <[email-masked]> On Behalf Of Martin Bjorklund
> Sent: 22 October 2019 16:02
> To: [email-masked]
> Cc: [email-masked]; [email-masked]; [email-masked]
> Subject: Re: [netmod] [Technical Errata Reported] RFC7950 (5879)
> 
> Hi,
> 
> The problem is that it is not clear that we can use this new definition
> with the rest of the text in the RFC that uses this term.
> tree", and this doesn't really work if the schema tree is not tied to a
> module.
> 
> Also the proposed definition is recursive since it is defined in terms of
> "schema node", and a "schema node" is already defined as "a node in the
> schema tree".
> 
> So it probably makes sense to look at this definition (and the text and
> other definitions) if we do a document update, but as it is currently
> written I think it should be rejected.
> 
> 
> /martin
> 
> 
> 
> > The following errata report has been submitted for RFC7950, "The YANG
> > 1.1 Data Modeling Language".
> >
> > 1. Schema tree is not limited to a single module. Some YANG constructs,
> such as augment and leafref type, may refer to a schema node that is
> defined in another module.
> >
> > 2. Apart from schema nodes, YANG modules contain definitions that do not
> contribute to the schema tree: groupings, typedefs, identities etc.
> >
> > Instructions:
> > -------------
> > use "Reply All" to discuss whether it should be verified or rejected.
> > When a decision is reached, the verifying party can log in to change
> > the status and edit the report, if necessary.
> >

---

From: Schönwälder, Jürgen <[email-masked]>
Date: Tue, 22 Oct 2019 15:37:41 +0000

So we need to extend and clarify the terminology but this can't be
done via an errata. Looking at the RFC 8342 terms, we may need to also
define 'module schema', which is pretty much what the current 'schema
tree' definition is (or we just keep that definition).

(I am not sure 'YANG schema' as proposed in the packages work is a
 good term, but then this is a draft and this can be improved.)

I am also not sure that 'set of all modules implemented by a server'
(proposed by Lada) is a good definition; in the NMDA world, a server
implements several datastores and each datastore has a datastore
schema and they can be different.

Bottom line: I think the errata should be rejected and we should check
that we have a proper issue on the YANG issue next tracker to address
this terminology issue in the future.

/js

---

From: "Rob Wilton (rwilton)" <[email-masked]>
Date: Tue, 22 Oct 2019 16:26:05 +0000

Yes.

I've raised https://github.com/netmod-wg/yang-next/issues/96 to track this.  Please modify/extend as appropriate.

Thanks,
Rob

> From: Schönwälder, Jürgen <[email-masked]>
> Sent: 22 October 2019 16:38
> To: Rob Wilton (rwilton) <[email-masked]>
> Cc: Martin Bjorklund <[email-masked]>; [email-masked];
> [email-masked]; [email-masked]; [email-masked]
> So we need to extend and clarify the terminology but this can't be done
> via an errata. Looking at the RFC 8342 terms, we may need to also define
> 'module schema', which is pretty much what the current 'schema tree'
> definition is (or we just keep that definition).
> 
> (I am not sure 'YANG schema' as proposed in the packages work is a  good
> term, but then this is a draft and this can be improved.)
> 
> implements several datastores and each datastore has a datastore schema
> and they can be different.
> 
> that we have a proper issue on the YANG issue next tracker to address this
> terminology issue in the future.
> 
> /js
> 
> > > tree", and this doesn't really work if the schema tree is not tied
> > > to a module.
> > >
> > > > o  schema tree: The hierarchy of schema nodes defined in the set
> > > > of all
> > > modules
> > > > This erratum is currently posted as "Reported". If necessary,
> > > > please use "Reply All" to discuss whether it should be verified or
> rejected.
> > > > When a decision is reached, the verifying party can log in to
> > > > change the status and edit the report, if necessary.
> > > >

---

From: Ladislav Lhotka <[email-masked]>
Date: Tue, 22 Oct 2019 21:19:07 +0200

> tree", and this doesn't really work if the schema tree is not tied to

On the other hand, sec. 9.9 says (and that's how I stumbled upon this):

   The "path" substatement (Section 9.9.2) is used to identify the
   referred leaf or leaf-list node in the schema tree.

With the current definition of schema tree, it would mean that the referred leaf
or leaf-list node must be in the same module, which is of course a nonsense.

Lada

> > 1. Schema tree is not limited to a single module. Some YANG constructs, such
> as augment and leafref type, may refer to a schema node that is defined in
> another module.
> > 
-- 
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67

---

From: Ladislav Lhotka <[email-masked]>
Date: Tue, 29 Oct 2019 08:45:55 +0100

> or leaf-list node must be in the same module, which is of course a nonsense.

The erratum was rejected, but if we keep the definition of "schema tree", then the above definition of "path" statement is technically incorrect.

Lada