Subject: [netmod] Fwd: New Version Notification for draft-bierman-netmod-yang-conformance-00.txt

From: Andy Bierman <[email-masked]>
Date: Mon, 16 Sep 2013 18:15:09 -0700

Hi,

I raised issues with YANG conformance mechanisms in the past
but the issue was tabled until somebody proposed a solution.
I would like to un-table the issue and have the NETMOD WG address the
YANG conformance issues raised in the draft.

thanks,
Andy

---------- Forwarded message ----------
From: <[email-masked]>
Date: Mon, Sep 16, 2013 at 6:09 PM
Subject: New Version Notification for
draft-bierman-netmod-yang-conformance-00.txt
To: Andy Bierman <[email-masked]>

A new version of I-D, draft-bierman-netmod-yang-conformance-00.txt
has been successfully submitted by Andy Bierman and posted to the
IETF repository.

Filename:        draft-bierman-netmod-yang-conformance
Revision:        00
Title:           YANG Conformance Specification
Creation date:   2013-09-16
Group:           Individual Submission
Number of pages: 38
URL:
http://www.ietf.org/internet-drafts/draft-bierman-netmod-yang-conformance-00.txt
Status:
http://datatracker.ietf.org/doc/draft-bierman-netmod-yang-conformance
Htmlized:
http://tools.ietf.org/html/draft-bierman-netmod-yang-conformance-00

Abstract:
   This document describes conformance specification and advertisement
   mechanisms for NETCONF servers implementing YANG data model modules.

Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org.

The IETF Secretariat

---

From: Ladislav Lhotka <[email-masked]>
Date: Wed, 18 Sep 2013 11:52:38 +0200

Hi,

I think this is an important work that solves real problems. A few initial comments and questions:

- What is the use for the "prefix" statement?

- In the "ietf-routing-pkg" example, a device supporting both IPv4 and IPv6 would need another profile, right?

- Regarding the "augment" variant of "require-conformance": Does it mean that the augmented module has to appear in another package with full conformance?

- Could package advertisements be combined with the current single module advertisements?

- Instead of "or" or "choice", I'd suggest to introduce statements indicating that a certain package/profile/module is incompatible with the one being defined. The rest can be achieved by defining multiple profiles.

- Similarly, it is IMO not necessary to advertise alternative profiles. The server should advertise everything it supports and the client could then activate or deactivate desired parts by standard means such as presence containers or "enabled" switches.

Lada
 
Andy Bierman <[email-masked]> writes:

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

-- 
Ladislav Lhotka, CZ.NIC Labs
PGP Key ID: E74E8C0C

---

From: Jonathan Hansford <[email-masked]>
Date: Wed, 18 Sep 2013 13:37:58 +0100

Hi, 

A few possible typo corrections (feel free to ignore as you
see fit) plus a question: 

1.1.3, module base: s/am/an 

2.1.2, 2nd
paragraph, 2nd sentence: delete 'that' 

3.3, 3rd paragraph:
s/insure/ensure 

4.7, penultimate paragraph: s/same or before/same as
or before 

4.8, penultimate paragraph: s/same or after/same as or after

4.10: s/name of YANG feature/name of the YANG feature 

5, 4th bullet:
s/take/taken 

With ietf-netconf-pkg, is there a way of specifying a
level of conformance for the with-defaults capability (i.e. which
default-handling mode is required)? 

Jonathan 

On 2013-09-17 02:15,

> From:
<[email-masked] [1]>
> To: Andy Bierman
<[email-masked] [2]>
> A new version of I-D,
> has been successfully
submitted by Andy Bierman and posted to the
[3]
[4]
[5]
> until the htmlized version and
diff are available at tools.ietf.org [6].
> The IETF Secretariat

Links:
------
[1] mailto:[email-masked]
[2]
mailto:[email-masked]
[3]
http://www.ietf.org/internet-drafts/draft-bierman-netmod-yang-conformance-00.txt
[4]
http://datatracker.ietf.org/doc/draft-bierman-netmod-yang-conformance
[5]
http://tools.ietf.org/html/draft-bierman-netmod-yang-conformance-00
[6]
http://tools.ietf.org

---

From: Andy Bierman <[email-masked]>
Date: Wed, 18 Sep 2013 08:35:10 -0700

Hi,

> - What is the use for the "prefix" statement?
none really.  I guess it could be removed.
It becomes the suggested prefix to use in XML encoding I suppose.
The only purpose of the namespace URI is the <capability> advertisement.

> IPv6 would need another profile, right?
right - I will add that to the example

> - Regarding the "augment" variant of "require-conformance": Does it mean
> that the augmented module has to appear in another package with full
> conformance?
>

no (!)
This use-case is going to be complicated to support.
The amount of mod-A needed to conform to mod-B is data-model-specific.
The goal is to describe the required functionality with the tightest scope.
E.g., what if mod-B augments a node that is within a feature in mod-A,
not in mod-A base?  Then "full compliance" to mod-A does not even help.
What if mod-B adds 1 parameter to an rpc-stmt like "reboot"? Conformance
to that profile does not require any monitoring or config objects from
ietf-system.yang.

However, you are making me think that "augment" is just another case
of "ad-hoc", and not really needed at all.

> - Could package advertisements be combined with the current single module
Yes. The module URIs are still useful to derive the exact server schema
tree.
The conformance profiles just specify minimum requirements.  The client
still
needs to know the exact modules+revisions+features actually implemented.

- Instead of "or" or "choice", I'd suggest to introduce statements
> indicating that a certain package/profile/module is incompatible with the
> one being defined. The rest can be achieved by defining multiple profiles.
>
>
I tried to make draft-00 simple, but I think there will be a need for
choice-stmt
to reduce cut-and-paste of profiles.

> - Similarly, it is IMO not necessary to advertise alternative profiles.
> The server should advertise everything it supports and the client could
> then activate or deactivate desired parts by standard means such as
> presence containers or "enabled" switches.
>
>
The alternates do not have to be advertised, but changing profiles would
reported
in a netconf-capability-change notification.

Lada
Andy

---

From: Ladislav Lhotka <[email-masked]>
Date: Wed, 18 Sep 2013 18:09:16 +0200

> to that profile does not require any monitoring or config objects from

Hmm… So, if mod-B augments node X in mod-A, what is the server actually required to implement? X and all its enclosing containers? What if the enclosing containers have other mandatory nodes?

Lada

---

From: Andy Bierman <[email-masked]>
Date: Wed, 18 Sep 2013 09:09:48 -0700

On Wed, Sep 18, 2013 at 5:37 AM, Jonathan Hansford
<[email-masked]>wrote:

> **
>
> Hi,
>
> A few possible typo corrections (feel free to ignore as you see fit) plus
> a question:
>
> 2.1.2, 2nd paragraph, 2nd sentence: delete 'that'
>
> 3.3, 3rd paragraph: s/insure/ensure
>
> 4.7, penultimate paragraph: s/same or before/same as or before
>
> 5, 4th bullet: s/take/taken
>

thanks -- I will fix these in -01

> With ietf-netconf-pkg, is there a way of specifying a level of conformance
> for the with-defaults capability (i.e. which default-handling mode is
> required)?
>

I thought of that,, and left it out of -00 to keep it simpler.
There is no "require-parameter" sub-statement for "require-capability".
Something like that may be needed.

Andy

> On 2013-09-17 02:15, Andy Bierman wrote:
>
> Hi,

---

From: Andy Bierman <[email-masked]>
Date: Wed, 18 Sep 2013 09:15:09 -0700

On Wed, Sep 18, 2013 at 9:09 AM, Ladislav Lhotka <[email-masked]> wrote:

> Hmm… So, if mod-B augments node X in mod-A, what is the server actually
> required to implement? X and all its enclosing containers? What if the
> enclosing containers have other mandatory nodes?
>
>
The server would have to implement the parent nodes of the augmented
node correctly. YANG validation requirements are 1 thing.  Conformance
profile requirements are another.

Andy