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

From: "Alexander Clemm (alex)" <[email-masked]>
Date: Tue, 5 Nov 2013 17:44:42 +0000

Hi,

I think this draft addresses important issues.

I do have a few comments/questions.  Those have mainly to do with the mixing between packages and profiles, which, as currently stated, I find somewhat confusing, in particular how a profile can have a "require-package" substatement, and how profiles in turn are defined inside packages. This blurs the lines between them and makes the distinction less clear.   Adding to my confusion is the fact that it is stated in one place that a package can contain zero or more profiles, yet section 3.4 states that only one profile per package can be active at any one time.  So, how do I know which is active, why are they exclusive (this seems to unnecessarily complicate matters), wasn't the package supposed to clarify which modules/features/capabilities have actually been implemented?

It would seem that:

-          A profile is basically a "unit of conformance" that needs to be implemented together to meet the needs of some categories of use case.

-          The same server can implement and support multiple profiles concurrently, irrespective of which packages those profiles happen to have been defined in.

-          A profile can probably "include" other profiles.

A package would then basically be just a "module" containing profile definitions.  What is the unit of conformance?  Presumably, the profile, not the package.  If a profile can "include" other profiles, profiles should be able to refer to those other profiles.  This includes potentially modules in other packages and is probably the reason for the require-package substatement, but it is not clear from the spec (and, if only a single profile from that package is needed, leads to requiring "too much").

Separate issue re: packages, I am not sure what purpose the "category" statement serves.  Is this merely another "label" attached to a package without further meaning?  How does it help with conformance statements?

Thanks
--- Alex

From: [email-masked] [mailto:[email-masked]] On Behalf Of Andy Bierman
Sent: Monday, September 16, 2013 6:15 PM
To: [email-masked]
Subject: [netmod] Fwd: New Version Notification for draft-bierman-netmod-yang-conformance-00.txt

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]<mailto:[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]<mailto:[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<http://tools.ietf.org>.

The IETF Secretariat

---

From: Andy Bierman <[email-masked]>
Date: Tue, 5 Nov 2013 09:59:46 -0800

On Tue, Nov 5, 2013 at 9:44 AM, Alexander Clemm (alex) <[email-masked]>wrote:

> I do have a few comments/questions.  Those have mainly to do with the
> mixing between packages and profiles, which, as currently stated, I find
> somewhat confusing, in particular how a profile can have a
> “require-package” substatement, and how profiles in turn are defined inside
> packages. This blurs the lines between them and makes the distinction less
> clear.   Adding to my confusion is the fact that it is stated in one place
> that a package can contain zero or more profiles, yet section 3.4 states
> that only one profile per package can be active at any one time.  So, how
> do I know which is active, why are they exclusive (this seems to
> unnecessarily complicate matters), wasn’t the package supposed to clarify
> which modules/features/capabilities have actually been implemented?
>
>
>

The profile name is included in the :package capability defined in sec. 6.

 It would seem that:
>
> -          A profile is basically a “unit of conformance” that needs to
> be implemented together to meet the needs of some categories of use case.
>

yes -- conformance to a use-case may not align perfectly with 1 YANG module.
A package could cover 1 module, N modules, or even just 1 object.

 -          The same server can implement and support multiple profiles
> concurrently, irrespective of which packages those profiles happen to have
> been defined in.
>

this is an open issue.  I started simple saying just 1 profile is active.
Multiple profiles or switching between them is a possibility.

 -          A profile can probably “include” other profiles.

yes -- see include-profile statement in  sec. 4.5

 A package would then basically be just a “module” containing profile
> definitions.  What is the unit of conformance?  Presumably, the profile,
> not the package.  If a profile can “include” other profiles, profiles
> should be able to refer to those other profiles.  This includes potentially
> modules in other packages and is probably the reason for the
> require-package substatement, but it is not clear from the spec (and, if
> only a single profile from that package is needed, leads to requiring “too
> much”).
>
>
>
> Separate issue re: packages, I am not sure what purpose the “category”
> statement serves.  Is this merely another “label” attached to a package
> without further meaning?  How does it help with conformance statements?
>
>
>

this is administrative classification.
It could be useful but requires some effort to create a classification
system.
Searching all the YANG modules for keywords seems crude.  One of the
hardest parts of writing a new module is integrating it well with existing
modules.
Assuming everything under the same XML subtree is everything available
related to some feature is not reliable.

 Thanks

Andy

>
>
> *From:* [email-masked] [mailto:[email-masked]] *On
> Behalf Of *Andy Bierman
> *Sent:* Monday, September 16, 2013 6:15 PM
> *To:* [email-masked]
> *Subject:* [netmod] Fwd: New Version Notification for
> draft-bierman-netmod-yang-conformance-00.txt
>
>
>
> Hi,
>
>
>
> From: <[email-masked]>
> Subject: New Version Notification for
> draft-bierman-netmod-yang-conformance-00.txt
> To: Andy Bierman <[email-masked]>
>
>
>
> 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:
> until the htmlized version and diff are available at tools.ietf.org.
>
> The IETF Secretariat
>
>
>

---

From: "Alexander Clemm (alex)" <[email-masked]>
Date: Tue, 5 Nov 2013 18:12:30 +0000

Hello Andy,

Thank you.

I think if the mixing between packages and profiles is dropped, specifically the inclusion of packages inside profiles, things may become a bit easier to use and have more straightforward semantics.  It also avoids the issue of including more of a package than is really required, the same issue listed as an issue with current imports which extend to the entire module even when only some small parts are really needed.

The statement in section 3.4 "Only one profile per package can be active on a server at a time" should probably be rethought.  You state in your response that "Multiple profiles or switching between them is a possibility" - shouldn't it simply be "multiple profiles"; since we are talking about conformance, I am also not sure why a server would want to be able to dynamically switch between different conformances; conformance presumably refers to a static capability of the server as a whole.

--- Alex

From: Andy Bierman [mailto:[email-masked]]
Sent: Tuesday, November 05, 2013 10:00 AM
To: Alexander Clemm (alex)
Cc: [email-masked]
Subject: Re: [netmod] Fwd: New Version Notification for draft-bierman-netmod-yang-conformance-00.txt

On Tue, Nov 5, 2013 at 9:44 AM, Alexander Clemm (alex) <[email-masked]<mailto:[email-masked]>> wrote:
Hi,

It would seem that:

this is administrative classification.
It could be useful but requires some effort to create a classification system.
Searching all the YANG modules for keywords seems crude.  One of the
hardest parts of writing a new module is integrating it well with existing modules.
Assuming everything under the same XML subtree is everything available
related to some feature is not reliable.

Thanks
--- Alex

Andy

From: [email-masked]<mailto:[email-masked]> [mailto:[email-masked]<mailto:[email-masked]>] On Behalf Of Andy Bierman
Sent: Monday, September 16, 2013 6:15 PM
To: [email-masked]<mailto:[email-masked]>
Subject: [netmod] Fwd: New Version Notification for draft-bierman-netmod-yang-conformance-00.txt

Hi,

thanks,
Andy

---------- Forwarded message ----------
From: <[email-masked]<mailto:[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]<mailto:[email-masked]>>

Abstract:

The IETF Secretariat