[netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2019-12-18 Thread Balázs Lengyel
Hello Mahesh, 

I was asked by the group to include in each import statement whether the 
imported module is needed as import-only or as implemented. IMHO netmod/netconf 
group should agree on some standard text for model designers to use. Maybe the 
text proposed below can be used everywhere. The sentence starting with Revision 
-mm-dd  may not always be needed.

 

 

I propose the text  

 

  import ietf-netconf-acm  {

prefix nacm;

description

   "The module ietf-netconf-acm is OPTIONAL to implement.";

  }

 

  import ietf-yang-library {

prefix yanglib;

description "The module ietf-yang-library is REQUIRED to

  be implemented. Revision 2019-01-04 or a

  revision derived from it is REQUIRED.";

  }

 

Regards Balazs

 

P.S. In Yang-Next this could be a candidate for a formal substatement instead 
of a description text.

 

 

From: Mahesh Jethanandani  
Sent: 2019. december 18., szerda 3:20
To: Kent Watsen 
Cc: Balázs Lengyel 
Subject: Re: [netconf] New Version Notification for 
draft-ietf-netconf-notification-capabilities-08.txt

 

Hi Balazs,

 

Additionally, it would be important to address some of the normative text in 
the module. Specifically, we were looking at the following description 
statements:

 

  import ietf-yang-push{
prefix yp;
description
  "This module requires ietf-yang-push to be implemented for the
two subscription-capabilities containers.";
  }
  import ietf-yang-library {
prefix yanglib;
description "This module requires ietf-yang-library to
  be implemented. Revision 2019-01-04 or a
  revision derived from it is required.";
  }

 

The requirement in the description statement feels and smells like words one 
would use to signify requirements in a specification. However, you are not 
using any of the words like REQUIRED etc. to describe it. Why is it?

 

Mahesh Jethanandani

mjethanand...@gmail.com  

 

 

 



smime.p7s
Description: S/MIME cryptographic signature
___
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod


Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2019-12-18 Thread Andy Bierman
On Wed, Dec 18, 2019 at 6:08 AM Balázs Lengyel  wrote:

> Hello Mahesh,
>
> I was asked by the group to include in each import statement whether the
> imported module is needed as import-only or as implemented. IMHO
> netmod/netconf group should agree on some standard text for model designers
> to use. Maybe the text proposed below can be used everywhere. The sentence
> starting with Revision -mm-dd  may not always be needed.
>
>
>
>
>
> I propose the text
>
>
>
>   import ietf-netconf-acm  {
>
> prefix nacm;
>
> description
>
> *   "The module ietf-netconf-acm is OPTIONAL to implement.";*
>
>   }
>
>
>
>   import ietf-yang-library {
>
> prefix yanglib;
>
> description *"The module ietf-yang-library is REQUIRED to*
>
> *  be implemented. Revision 2019-01-04 or a*
>
> *  revision derived from it is REQUIRED.";*
>
>   }
>
>
>
> Regards Balazs
>
>
>
> P.S. In Yang-Next this could be a candidate for a formal substatement
> instead of a description text.
>
>
>


IMO this is a bad idea.
The IETF keeps adding CLRs to YANG that make it harder to use over time.
The YANG syntax defines what must be implemented from the imported module,
so extra description-stmts just add more busy work for writers and
reviewers.
The text specifying the revision overrides (and breaks) YANG rules.
YANG 1.1 has specific import-by-revision that cannot be changed with a
description-stmt.

Andy



>
>
> *From:* Mahesh Jethanandani 
> *Sent:* 2019. december 18., szerda 3:20
> *To:* Kent Watsen 
> *Cc:* Balázs Lengyel 
> *Subject:* Re: [netconf] New Version Notification for
> draft-ietf-netconf-notification-capabilities-08.txt
>
>
>
> Hi Balazs,
>
>
>
> Additionally, it would be important to address some of the normative text
> in the module. Specifically, we were looking at the following description
> statements:
>
>
>
>   import ietf-yang-push{
>
> prefix yp;
>
> description
>
>   "This module requires ietf-yang-push to be implemented for the
>
> two subscription-capabilities containers.";
>
>   }
>
>   import ietf-yang-library {
>
> prefix yanglib;
>
> description "This module requires ietf-yang-library to
>
>   be implemented. Revision 2019-01-04 or a
>
>   revision derived from it is required.";
>
>   }
>
>
>
> The requirement in the description statement feels and smells like words
> one would use to signify requirements in a specification. However, you are
> not using any of the words like REQUIRED etc. to describe it. Why is it?
>
>
>
> Mahesh Jethanandani
>
> mjethanand...@gmail.com
>
>
>
>
>
>
> ___
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
>
___
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod


Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2019-12-18 Thread Ladislav Lhotka
Andy Bierman  writes:

> On Wed, Dec 18, 2019 at 6:08 AM Balázs Lengyel  40ericsson@dmarc.ietf.org> wrote:
>
>> Hello Mahesh,
>>
>> I was asked by the group to include in each import statement whether the
>> imported module is needed as import-only or as implemented. IMHO
>> netmod/netconf group should agree on some standard text for model designers
>> to use. Maybe the text proposed below can be used everywhere. The sentence
>> starting with Revision -mm-dd  may not always be needed.
>>
>>
>>
>>
>>
>> I propose the text
>>
>>
>>
>>   import ietf-netconf-acm  {
>>
>> prefix nacm;
>>
>> description
>>
>> *   "The module ietf-netconf-acm is OPTIONAL to implement.";*
>>
>>   }
>>
>>
>>
>>   import ietf-yang-library {
>>
>> prefix yanglib;
>>
>> description *"The module ietf-yang-library is REQUIRED to*
>>
>> *  be implemented. Revision 2019-01-04 or a*
>>
>> *  revision derived from it is REQUIRED.";*
>>
>>   }
>>
>>
>>
>> Regards Balazs
>>
>>
>>
>> P.S. In Yang-Next this could be a candidate for a formal substatement
>> instead of a description text.
>>
>>
>>
>
>
> IMO this is a bad idea.
> The IETF keeps adding CLRs to YANG that make it harder to use over time.
> The YANG syntax defines what must be implemented from the imported module,

I don't see how YANG syntax defines this. If a module imports ietf-netconf-acm, 
it could be because

- it just uses a typedef, such as "node-instance-identifier", and then
  ietf-netconf-acm needn't be implemented (but can be),

or

- it augments ietf-netconf-acm, which makes sense only if the latter
  module is implemented.

It it the YANG library that specifies whether a module is implemented or not, 
but the "import" statement itself doesn't tell you anything.

> so extra description-stmts just add more busy work for writers and
> reviewers.
> The text specifying the revision overrides (and breaks) YANG rules.
> YANG 1.1 has specific import-by-revision that cannot be changed with a
> description-stmt.

This is one of the problems that the semver effort aims to solve. What happens 
quite oftem these days is that a module is written for NMDA and thus needs NMDA 
versions of modules to be imported. But specifying an exact revision is really 
a bad idea.

Lada

>
> Andy
>
>
>
>>
>>
>> *From:* Mahesh Jethanandani 
>> *Sent:* 2019. december 18., szerda 3:20
>> *To:* Kent Watsen 
>> *Cc:* Balázs Lengyel 
>> *Subject:* Re: [netconf] New Version Notification for
>> draft-ietf-netconf-notification-capabilities-08.txt
>>
>>
>>
>> Hi Balazs,
>>
>>
>>
>> Additionally, it would be important to address some of the normative text
>> in the module. Specifically, we were looking at the following description
>> statements:
>>
>>
>>
>>   import ietf-yang-push{
>>
>> prefix yp;
>>
>> description
>>
>>   "This module requires ietf-yang-push to be implemented for the
>>
>> two subscription-capabilities containers.";
>>
>>   }
>>
>>   import ietf-yang-library {
>>
>> prefix yanglib;
>>
>> description "This module requires ietf-yang-library to
>>
>>   be implemented. Revision 2019-01-04 or a
>>
>>   revision derived from it is required.";
>>
>>   }
>>
>>
>>
>> The requirement in the description statement feels and smells like words
>> one would use to signify requirements in a specification. However, you are
>> not using any of the words like REQUIRED etc. to describe it. Why is it?
>>
>>
>>
>> Mahesh Jethanandani
>>
>> mjethanand...@gmail.com
>>
>>
>>
>>
>>
>>
>> ___
>> netmod mailing list
>> netmod@ietf.org
>> https://www.ietf.org/mailman/listinfo/netmod
>>
> ___
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod

-- 
Ladislav Lhotka 
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67

___
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod


Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2019-12-18 Thread Schönwälder , Jürgen
On Thu, Dec 19, 2019 at 08:23:27AM +0100, Ladislav Lhotka wrote:
> 
> I don't see how YANG syntax defines this. If a module imports 
> ietf-netconf-acm, it could be because
> 
> - it just uses a typedef, such as "node-instance-identifier", and then
>   ietf-netconf-acm needn't be implemented (but can be),
> 
> or
> 
> - it augments ietf-netconf-acm, which makes sense only if the latter
>   module is implemented.
> 
> It it the YANG library that specifies whether a module is implemented or not, 
> but the "import" statement itself doesn't tell you anything.
>

Can we not assume that an implementor will figure out the difference?
Or someone writes a pyang plugin to determine from the schema tree the
kind of imports there are (for a given set of features).

/js

-- 
Juergen Schoenwaelder   Jacobs University Bremen gGmbH
Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103 

___
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod


Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2019-12-19 Thread Ladislav Lhotka
On Thu, 2019-12-19 at 07:52 +, Schönwälder, Jürgen wrote:
> On Thu, Dec 19, 2019 at 08:23:27AM +0100, Ladislav Lhotka wrote:
> > I don't see how YANG syntax defines this. If a module imports ietf-netconf-
> > acm, it could be because
> > 
> > - it just uses a typedef, such as "node-instance-identifier", and then
> >   ietf-netconf-acm needn't be implemented (but can be),
> > 
> > or
> > 
> > - it augments ietf-netconf-acm, which makes sense only if the latter
> >   module is implemented.
> > 
> > It it the YANG library that specifies whether a module is implemented or
> > not, but the "import" statement itself doesn't tell you anything.
> > 
> 
> Can we not assume that an implementor will figure out the difference?

An implementor should be able to figure it out, but other potential module users
may not. For example, if somebody is evaluating whether to use a module for
their device or not, it is important to know that NACM has to be implemented (or
not).

Lada

> Or someone writes a pyang plugin to determine from the schema tree the
> kind of imports there are (for a given set of features).
> 
> /js
> 
-- 
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67

___
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod


Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2019-12-19 Thread Andy Bierman
On Thu, Dec 19, 2019 at 8:00 AM Ladislav Lhotka  wrote:

> On Thu, 2019-12-19 at 07:52 +, Schönwälder, Jürgen wrote:
> > On Thu, Dec 19, 2019 at 08:23:27AM +0100, Ladislav Lhotka wrote:
> > > I don't see how YANG syntax defines this. If a module imports
> ietf-netconf-
> > > acm, it could be because
> > >
> > > - it just uses a typedef, such as "node-instance-identifier", and then
> > >   ietf-netconf-acm needn't be implemented (but can be),
> > >
> > > or
> > >
> > > - it augments ietf-netconf-acm, which makes sense only if the latter
> > >   module is implemented.
> > >
> > > It it the YANG library that specifies whether a module is implemented
> or
> > > not, but the "import" statement itself doesn't tell you anything.
> > >
> >
> > Can we not assume that an implementor will figure out the difference?
>
> An implementor should be able to figure it out, but other potential module
> users
> may not. For example, if somebody is evaluating whether to use a module for
> their device or not, it is important to know that NACM has to be
> implemented (or
> not).
>
>
You seem to be talking about a new conformance documentation procedure
that attempts to solve the problem "to use modules A, B, and C together
to achieve some functionality X, all these conditions need to be met".
(Sounds more like a problem for YANG Packages to solve)

IMO this is a much harder problem than something that can be solved
with extra description-stmt text. The writer is likely to get it wrong or
not
keep it up to date, so a tool to analyze the file seems like a better
solution.

Lada
>


Andy


>
> > Or someone writes a pyang plugin to determine from the schema tree the
> > kind of imports there are (for a given set of features).
> >
> > /js
> >
> --
> Ladislav Lhotka
> Head, CZ.NIC Labs
> PGP Key ID: 0xB8F92B08A9F76C67
>
> ___
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
>
___
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod


Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2020-01-03 Thread Balázs Lengyel
As a draft author who was asked to add text about the imports IMHO

*   it would be easy for me to remove the description from the import. 
Actually I really just want to know what is acceptable to the group, so I can 
proceed
*   I also think that adding this text is in most cases easy and it does 
not need updates later.
*   The rules in some cases might not be trivial.

*   Imported YAMs need to be implemented if

*   Imported parts are included in Xpath (augment, when, must, 
require-instance)

*   Imported YAMs do not need to be implemented if only the following are 
used

*   Types
*   Features
*   extensions

*   Ambiguous if

*   groupings are used
*   if the dependency is not formally defined by YANG, but functionally 
needed. (E.g. notification-capabilities does not formally need YANG-Push to be 
implemented, however there is no sense in defining capabilities if YANG-Push is 
itself not implemented.)
*   deviation ?
*   other cases ?

Regards Balazs

 

From: netmod  On Behalf Of Andy Bierman
Sent: 2019. december 19., csütörtök 17:23
To: Ladislav Lhotka 
Cc: NetMod WG 
Subject: Re: [netmod] Text in import to indicate whether a module is needed as 
import-only or as implemented

 

 

 

On Thu, Dec 19, 2019 at 8:00 AM Ladislav Lhotka mailto:lho...@nic.cz> > wrote:

On Thu, 2019-12-19 at 07:52 +, Schönwälder, Jürgen wrote:
> On Thu, Dec 19, 2019 at 08:23:27AM +0100, Ladislav Lhotka wrote:
> > I don't see how YANG syntax defines this. If a module imports ietf-netconf-
> > acm, it could be because
> > 
> > - it just uses a typedef, such as "node-instance-identifier", and then
> >   ietf-netconf-acm needn't be implemented (but can be),
> > 
> > or
> > 
> > - it augments ietf-netconf-acm, which makes sense only if the latter
> >   module is implemented.
> > 
> > It it the YANG library that specifies whether a module is implemented or
> > not, but the "import" statement itself doesn't tell you anything.
> > 
> 
> Can we not assume that an implementor will figure out the difference?

An implementor should be able to figure it out, but other potential module users
may not. For example, if somebody is evaluating whether to use a module for
their device or not, it is important to know that NACM has to be implemented (or
not).

 

You seem to be talking about a new conformance documentation procedure

that attempts to solve the problem "to use modules A, B, and C together

to achieve some functionality X, all these conditions need to be met".

(Sounds more like a problem for YANG Packages to solve)

 

IMO this is a much harder problem than something that can be solved

with extra description-stmt text. The writer is likely to get it wrong or not

keep it up to date, so a tool to analyze the file seems like a better solution.

 

Lada

 

 

Andy

 


> Or someone writes a pyang plugin to determine from the schema tree the
> kind of imports there are (for a given set of features).
> 
> /js
> 
-- 
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67

___
netmod mailing list
netmod@ietf.org <mailto:netmod@ietf.org> 
https://www.ietf.org/mailman/listinfo/netmod



smime.p7s
Description: S/MIME cryptographic signature
___
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod


Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2020-01-07 Thread Martin Bjorklund
Hi

I agree w/ Andy and others that we should not add this to the import's
description.  I don't think this kind of conformance text belongs to
the import's description.  If you think it is important to state this,
the best place is probably as plain text in the document itself.



/martin


Balázs Lengyel  wrote:
> As a draft author who was asked to add text about the imports IMHO
> 
> * it would be easy for me to remove the description from the import. 
> Actually I really just want to know what is acceptable to the group, so I can 
> proceed
> * I also think that adding this text is in most cases easy and it does 
> not need updates later.
> * The rules in some cases might not be trivial.
> 
> * Imported YAMs need to be implemented if
> 
> * Imported parts are included in Xpath (augment, when, must, 
> require-instance)
> 
> * Imported YAMs do not need to be implemented if only the following are 
> used
> 
> * Types
> * Features
> * extensions
> 
> * Ambiguous if
> 
> * groupings are used
> * if the dependency is not formally defined by YANG, but functionally 
> needed. (E.g. notification-capabilities does not formally need YANG-Push to 
> be implemented, however there is no sense in defining capabilities if 
> YANG-Push is itself not implemented.)
> * deviation ?
> * other cases ?
> 
> Regards Balazs
> 
>  
> 
> From: netmod  On Behalf Of Andy Bierman
> Sent: 2019. december 19., csütörtök 17:23
> To: Ladislav Lhotka 
> Cc: NetMod WG 
> Subject: Re: [netmod] Text in import to indicate whether a module is needed 
> as import-only or as implemented
> 
>  
> 
>  
> 
>  
> 
> On Thu, Dec 19, 2019 at 8:00 AM Ladislav Lhotka  <mailto:lho...@nic.cz> > wrote:
> 
> On Thu, 2019-12-19 at 07:52 +, Schönwälder, Jürgen wrote:
> > On Thu, Dec 19, 2019 at 08:23:27AM +0100, Ladislav Lhotka wrote:
> > > I don't see how YANG syntax defines this. If a module imports 
> > > ietf-netconf-
> > > acm, it could be because
> > > 
> > > - it just uses a typedef, such as "node-instance-identifier", and then
> > >   ietf-netconf-acm needn't be implemented (but can be),
> > > 
> > > or
> > > 
> > > - it augments ietf-netconf-acm, which makes sense only if the latter
> > >   module is implemented.
> > > 
> > > It it the YANG library that specifies whether a module is implemented or
> > > not, but the "import" statement itself doesn't tell you anything.
> > > 
> > 
> > Can we not assume that an implementor will figure out the difference?
> 
> An implementor should be able to figure it out, but other potential module 
> users
> may not. For example, if somebody is evaluating whether to use a module for
> their device or not, it is important to know that NACM has to be implemented 
> (or
> not).
> 
>  
> 
> You seem to be talking about a new conformance documentation procedure
> 
> that attempts to solve the problem "to use modules A, B, and C together
> 
> to achieve some functionality X, all these conditions need to be met".
> 
> (Sounds more like a problem for YANG Packages to solve)
> 
>  
> 
> IMO this is a much harder problem than something that can be solved
> 
> with extra description-stmt text. The writer is likely to get it wrong or not
> 
> keep it up to date, so a tool to analyze the file seems like a better 
> solution.
> 
>  
> 
> Lada
> 
>  
> 
>  
> 
> Andy
> 
>  
> 
> 
> > Or someone writes a pyang plugin to determine from the schema tree the
> > kind of imports there are (for a given set of features).
> > 
> > /js
> > 
> -- 
> Ladislav Lhotka
> Head, CZ.NIC Labs
> PGP Key ID: 0xB8F92B08A9F76C67
> 
> ___
> netmod mailing list
> netmod@ietf.org <mailto:netmod@ietf.org> 
> https://www.ietf.org/mailman/listinfo/netmod
> 
___
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod


Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2020-01-07 Thread Balázs Lengyel
If that is the consensus, I can remove the description statements, no big deal. 
(I actually like the statements, but they are not important for this draft)
Balazs

-Original Message-
From: Martin Bjorklund  
Sent: Tuesday, January 7, 2020 2:38 PM
To: Balázs Lengyel 
Cc: a...@yumaworks.com; lho...@nic.cz; netmod@ietf.org
Subject: Re: [netmod] Text in import to indicate whether a module is needed as 
import-only or as implemented

Hi

I agree w/ Andy and others that we should not add this to the import's 
description.  I don't think this kind of conformance text belongs to the 
import's description.  If you think it is important to state this, the best 
place is probably as plain text in the document itself.



/martin


Balázs Lengyel  wrote:
> As a draft author who was asked to add text about the imports IMHO
> 
> * it would be easy for me to remove the description from the import. 
> Actually I really just want to know what is acceptable to the group, so I can 
> proceed
> * I also think that adding this text is in most cases easy and it does 
> not need updates later.
> * The rules in some cases might not be trivial.
> 
> * Imported YAMs need to be implemented if
> 
> * Imported parts are included in Xpath (augment, when, must, 
> require-instance)
> 
> * Imported YAMs do not need to be implemented if only the following are 
> used
> 
> * Types
> * Features
> * extensions
> 
> * Ambiguous if
> 
> * groupings are used
> * if the dependency is not formally defined by YANG, but functionally 
> needed. (E.g. notification-capabilities does not formally need YANG-Push to 
> be implemented, however there is no sense in defining capabilities if 
> YANG-Push is itself not implemented.)
> * deviation ?
> * other cases ?
> 
> Regards Balazs
> 
>  
> 
> From: netmod  On Behalf Of Andy Bierman
> Sent: 2019. december 19., csütörtök 17:23
> To: Ladislav Lhotka 
> Cc: NetMod WG 
> Subject: Re: [netmod] Text in import to indicate whether a module is 
> needed as import-only or as implemented
> 
>  
> 
>  
> 
>  
> 
> On Thu, Dec 19, 2019 at 8:00 AM Ladislav Lhotka  <mailto:lho...@nic.cz> > wrote:
> 
> On Thu, 2019-12-19 at 07:52 +, Schönwälder, Jürgen wrote:
> > On Thu, Dec 19, 2019 at 08:23:27AM +0100, Ladislav Lhotka wrote:
> > > I don't see how YANG syntax defines this. If a module imports 
> > > ietf-netconf- acm, it could be because
> > > 
> > > - it just uses a typedef, such as "node-instance-identifier", and then
> > >   ietf-netconf-acm needn't be implemented (but can be),
> > > 
> > > or
> > > 
> > > - it augments ietf-netconf-acm, which makes sense only if the latter
> > >   module is implemented.
> > > 
> > > It it the YANG library that specifies whether a module is 
> > > implemented or not, but the "import" statement itself doesn't tell you 
> > > anything.
> > > 
> > 
> > Can we not assume that an implementor will figure out the difference?
> 
> An implementor should be able to figure it out, but other potential 
> module users may not. For example, if somebody is evaluating whether 
> to use a module for their device or not, it is important to know that 
> NACM has to be implemented (or not).
> 
>  
> 
> You seem to be talking about a new conformance documentation procedure
> 
> that attempts to solve the problem "to use modules A, B, and C 
> together
> 
> to achieve some functionality X, all these conditions need to be met"..
> 
> (Sounds more like a problem for YANG Packages to solve)
> 
>  
> 
> IMO this is a much harder problem than something that can be solved
> 
> with extra description-stmt text. The writer is likely to get it wrong 
> or not
> 
> keep it up to date, so a tool to analyze the file seems like a better 
> solution.
> 
>  
> 
> Lada
> 
>  
> 
>  
> 
> Andy
> 
>  
> 
> 
> > Or someone writes a pyang plugin to determine from the schema tree 
> > the kind of imports there are (for a given set of features).
> > 
> > /js
> > 
> --
> Ladislav Lhotka
> Head, CZ.NIC Labs
> PGP Key ID: 0xB8F92B08A9F76C67
> 
> ___
> netmod mailing list
> netmod@ietf.org <mailto:netmod@ietf.org> 
> https://www.ietf.org/mailman/listinfo/netmod
> 

___
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod


Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2020-01-08 Thread Ladislav Lhotka
On Tue, 2020-01-07 at 14:29 +, Balázs Lengyel wrote:
> If that is the consensus, I can remove the description statements, no big
> deal. (I actually like the statements, but they are not important for this
> draft)

Of course, it is not that important, but I don't see how this information could
be harmful, if it is included with the import. In my view, it is not meant as a
conformance requirement but just an info from the module author about the
meaning of the import statement.

The root of this problem (and design flaw of YANG, IMO) is that import is
"overloaded" with two different purposes, one of which effectively requires that
the imported module be also implemented, while the other doesn't.

Lada

> Balazs
> 
> -Original Message-
> From: Martin Bjorklund  
> Sent: Tuesday, January 7, 2020 2:38 PM
> To: Balázs Lengyel 
> Cc: a...@yumaworks.com; lho...@nic.cz; netmod@ietf.org
> Subject: Re: [netmod] Text in import to indicate whether a module is needed as
> import-only or as implemented
> 
> Hi
> 
> I agree w/ Andy and others that we should not add this to the import's
> description.  I don't think this kind of conformance text belongs to the
> import's description.  If you think it is important to state this, the best
> place is probably as plain text in the document itself.
> 
> 
> 
> /martin
> 
> 
> Balázs Lengyel  wrote:
> > As a draft author who was asked to add text about the imports IMHO
> > 
> > *   it would be easy for me to remove the description from the import.
> > Actually I really just want to know what is acceptable to the group, so I
> > can proceed
> > *   I also think that adding this text is in most cases easy and it does not
> > need updates later.
> > *   The rules in some cases might not be trivial.
> > 
> > *   Imported YAMs need to be implemented if
> > 
> > *   Imported parts are included in Xpath (augment, when, must, require-
> > instance)
> > 
> > *   Imported YAMs do not need to be implemented if only the following are
> > used
> > 
> > *   Types
> > *   Features
> > *   extensions
> > 
> > *   Ambiguous if
> > 
> > *   groupings are used
> > *   if the dependency is not formally defined by YANG, but functionally
> > needed. (E.g. notification-capabilities does not formally need YANG-Push to
> > be implemented, however there is no sense in defining capabilities if YANG-
> > Push is itself not implemented.)
> > *   deviation ?
> > *   other cases ?
> > 
> > Regards Balazs
> > 
> >  
> > 
> > From: netmod  On Behalf Of Andy Bierman
> > Sent: 2019. december 19., csütörtök 17:23
> > To: Ladislav Lhotka 
> > Cc: NetMod WG 
> > Subject: Re: [netmod] Text in import to indicate whether a module is 
> > needed as import-only or as implemented
> > 
> >  
> > 
> >  
> > 
> >  
> > 
> > On Thu, Dec 19, 2019 at 8:00 AM Ladislav Lhotka  > lho...@nic.cz> > wrote:
> > 
> > On Thu, 2019-12-19 at 07:52 +, Schönwälder, Jürgen wrote:
> > > On Thu, Dec 19, 2019 at 08:23:27AM +0100, Ladislav Lhotka wrote:
> > > > I don't see how YANG syntax defines this. If a module imports 
> > > > ietf-netconf- acm, it could be because
> > > > 
> > > > - it just uses a typedef, such as "node-instance-identifier", and then
> > > >   ietf-netconf-acm needn't be implemented (but can be),
> > > > 
> > > > or
> > > > 
> > > > - it augments ietf-netconf-acm, which makes sense only if the latter
> > > >   module is implemented.
> > > > 
> > > > It it the YANG library that specifies whether a module is 
> > > > implemented or not, but the "import" statement itself doesn't tell you
> > > > anything.
> > > > 
> > > 
> > > Can we not assume that an implementor will figure out the difference?
> > 
> > An implementor should be able to figure it out, but other potential 
> > module users may not. For example, if somebody is evaluating whether 
> > to use a module for their device or not, it is important to know that 
> > NACM has to be implemented (or not).
> > 
> >  
> > 
> > You seem to be talking about a new conformance documentation procedure
> > 
> > that attempts to solve the problem "to use modules A, B, and C 
> > together
> > 
> > to achieve some functionality X, all these conditions need to be met"..
> > 
> > (Sounds more like a 

Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2020-01-08 Thread Andy Bierman
On Wed, Jan 8, 2020 at 1:11 AM Ladislav Lhotka  wrote:

> On Tue, 2020-01-07 at 14:29 +, Balázs Lengyel wrote:
> > If that is the consensus, I can remove the description statements, no big
> > deal. (I actually like the statements, but they are not important for
> this
> > draft)
>
> Of course, it is not that important, but I don't see how this information
> could
> be harmful, if it is included with the import. In my view, it is not meant
> as a
> conformance requirement but just an info from the module author about the
> meaning of the import statement.
>
>
It adds a lot of extra work but more importantly the import-stmt is the
wrong place
to document such a complex and unrelated issue as server conformance
requirements.


The root of this problem (and design flaw of YANG, IMO) is that import is
> "overloaded" with two different purposes, one of which effectively
> requires that
> the imported module be also implemented, while the other doesn't.
>
>
The import-stmt is only used to map a local prefix to an external module.
This proposal to add conformance info the the import-stmt would overload it
with
another purpose.

Not even a typedef is easy to classify  (e.g., leafref requires
implementation of a data node).
I certainly agree that YANG conformance is poorly specified, poorly
understood, and
in real need of improvement. Likewise, the import-stmt is also in need of
some improvement
since import-by-exact-revision is (and has always been) poorly designed.


Lada
>
> > Balazs
>

Andy



> >
> > -Original Message-
> > From: Martin Bjorklund 
> > Sent: Tuesday, January 7, 2020 2:38 PM
> > To: Balázs Lengyel 
> > Cc: a...@yumaworks.com; lho...@nic.cz; netmod@ietf.org
> > Subject: Re: [netmod] Text in import to indicate whether a module is
> needed as
> > import-only or as implemented
> >
> > Hi
> >
> > I agree w/ Andy and others that we should not add this to the import's
> > description.  I don't think this kind of conformance text belongs to the
> > import's description.  If you think it is important to state this, the
> best
> > place is probably as plain text in the document itself.
> >
> >
> >
> > /martin
> >
> >
> > Balázs Lengyel  wrote:
> > > As a draft author who was asked to add text about the imports IMHO
> > >
> > > *   it would be easy for me to remove the description from the import..
> > > Actually I really just want to know what is acceptable to the group,
> so I
> > > can proceed
> > > *   I also think that adding this text is in most cases easy and it
> does not
> > > need updates later.
> > > *   The rules in some cases might not be trivial.
> > >
> > > *   Imported YAMs need to be implemented if
> > >
> > > *   Imported parts are included in Xpath (augment, when, must, require-
> > > instance)
> > >
> > > *   Imported YAMs do not need to be implemented if only the following
> are
> > > used
> > >
> > > *   Types
> > > *   Features
> > > *   extensions
> > >
> > > *   Ambiguous if
> > >
> > > *   groupings are used
> > > *   if the dependency is not formally defined by YANG, but functionally
> > > needed. (E.g. notification-capabilities does not formally need
> YANG-Push to
> > > be implemented, however there is no sense in defining capabilities if
> YANG-
> > > Push is itself not implemented.)
> > > *   deviation ?
> > > *   other cases ?
> > >
> > > Regards Balazs
> > >
> > >
> > >
> > > From: netmod  On Behalf Of Andy Bierman
> > > Sent: 2019. december 19., csütörtök 17:23
> > > To: Ladislav Lhotka 
> > > Cc: NetMod WG 
> > > Subject: Re: [netmod] Text in import to indicate whether a module is
> > > needed as import-only or as implemented
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > On Thu, Dec 19, 2019 at 8:00 AM Ladislav Lhotka   > > lho...@nic.cz> > wrote:
> > >
> > > On Thu, 2019-12-19 at 07:52 +, Schönwälder, Jürgen wrote:
> > > > On Thu, Dec 19, 2019 at 08:23:27AM +0100, Ladislav Lhotka wrote:
> > > > > I don't see how YANG syntax defines this. If a module imports
> > > > > ietf-netconf- acm, it could be because
> > > > >
> > > > > - it just uses a typedef, such as "node-instance-identifier", and
> then
> > > > >   ietf-n

Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2020-01-08 Thread Ladislav Lhotka
On Wed, 2020-01-08 at 04:49 -0800, Andy Bierman wrote:
> 
> On Wed, Jan 8, 2020 at 1:11 AM Ladislav Lhotka  wrote:
> > On Tue, 2020-01-07 at 14:29 +, Balázs Lengyel wrote:
> > > If that is the consensus, I can remove the description statements, no big
> > > deal. (I actually like the statements, but they are not important for this
> > > draft)
> > 
> > Of course, it is not that important, but I don't see how this information
> > could
> > be harmful, if it is included with the import. In my view, it is not meant
> > as a
> > conformance requirement but just an info from the module author about the
> > meaning of the import statement.
> > 
> 
> It adds a lot of extra work but more importantly the import-stmt is the wrong
> place

What work do you mean? I thought that it would be just info for potential
developers (or their managers) that implementing the module requires
implementing other modules and functionality - or not. 

For example, if a module imports ietf-netconf-nacm only for using "node-
instance-identifier" type, it is relatively uninteresting. Otherwise,
implementation of the module may just be out of question.


> to document such a complex and unrelated issue as server conformance
> requirements.
> 
> 
> > The root of this problem (and design flaw of YANG, IMO) is that import is
> > "overloaded" with two different purposes, one of which effectively requires
> > that
> > the imported module be also implemented, while the other doesn't.
> > 
> 
> The import-stmt is only used to map a local prefix to an external module.

But one thing is using a prefix for accessing top-level types and groupings
(i.e. stuff in YANG modules), and another thing is accessing schema nodes, which
have to be present in the schema tree. In complicated data models, it is not
exactly easy to figure out all these dependencies.

So maybe what is really overloaded are the namespace prefixes: they are used for
addressing YANG modules, schema nodes and instances (in XPath). 

Lada

> This proposal to add conformance info the the import-stmt would overload it
> with
> another purpose.
> 
> Not even a typedef is easy to classify  (e.g., leafref requires implementation
> of a data node).
> I certainly agree that YANG conformance is poorly specified, poorly
> understood, and
> in real need of improvement. Likewise, the import-stmt is also in need of some
> improvement
> since import-by-exact-revision is (and has always been) poorly designed.
> 
> 
> > Lada
> > 
> > > Balazs
> 
> Andy
> 
>  
> > > -Original Message-----
> > > From: Martin Bjorklund  
> > > Sent: Tuesday, January 7, 2020 2:38 PM
> > > To: Balázs Lengyel 
> > > Cc: a...@yumaworks.com; lho...@nic.cz; netmod@ietf.org
> > > Subject: Re: [netmod] Text in import to indicate whether a module is
> > needed as
> > > import-only or as implemented
> > > 
> > > Hi
> > > 
> > > I agree w/ Andy and others that we should not add this to the import's
> > > description.  I don't think this kind of conformance text belongs to the
> > > import's description.  If you think it is important to state this, the
> > best
> > > place is probably as plain text in the document itself.
> > > 
> > > 
> > > 
> > > /martin
> > > 
> > > 
> > > Balázs Lengyel  wrote:
> > > > As a draft author who was asked to add text about the imports IMHO
> > > > 
> > > > *   it would be easy for me to remove the description from the import.
> > > > Actually I really just want to know what is acceptable to the group, so
> > I
> > > > can proceed
> > > > *   I also think that adding this text is in most cases easy and it does
> > not
> > > > need updates later.
> > > > *   The rules in some cases might not be trivial.
> > > > 
> > > > *   Imported YAMs need to be implemented if
> > > > 
> > > > *   Imported parts are included in Xpath (augment, when, must, require-
> > > > instance)
> > > > 
> > > > *   Imported YAMs do not need to be implemented if only the following
> > are
> > > > used
> > > > 
> > > > *   Types
> > > > *   Features
> > > > *   extensions
> > > > 
> > > > *   Ambiguous if
> > > > 
> > > > *   groupings are used
> > > > *   if the dependency is not formally defined by YANG, but functionally
> > > > needed. (E

Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2020-01-08 Thread Andy Bierman
On Wed, Jan 8, 2020 at 5:44 AM Ladislav Lhotka  wrote:

> On Wed, 2020-01-08 at 04:49 -0800, Andy Bierman wrote:
> >
> > On Wed, Jan 8, 2020 at 1:11 AM Ladislav Lhotka  wrote:
> > > On Tue, 2020-01-07 at 14:29 +, Balázs Lengyel wrote:
> > > > If that is the consensus, I can remove the description statements,
> no big
> > > > deal. (I actually like the statements, but they are not important
> for this
> > > > draft)
> > >
> > > Of course, it is not that important, but I don't see how this
> information
> > > could
> > > be harmful, if it is included with the import. In my view, it is not
> meant
> > > as a
> > > conformance requirement but just an info from the module author about
> the
> > > meaning of the import statement.
> > >
> >
> > It adds a lot of extra work but more importantly the import-stmt is the
> wrong
> > place
>
> What work do you mean? I thought that it would be just info for potential
> developers (or their managers) that implementing the module requires
> implementing other modules and functionality - or not.
>
>

It is duplication because the individual data-def statements should have
any notes
about implementation requirements. The duplication may even be wrong.
E.g., in the module it says NACM is not required, but what if some objects
have NACM requirements listed in the Security Considerations section?
That is the RFC section to discuss NACM requirements.


For example, if a module imports ietf-netconf-nacm only for using "node-
> instance-identifier" type, it is relatively uninteresting. Otherwise,
> implementation of the module may just be out of question.
>
>
> > to document such a complex and unrelated issue as server conformance
> > requirements.
> >
> >
> > > The root of this problem (and design flaw of YANG, IMO) is that import
> is
> > > "overloaded" with two different purposes, one of which effectively
> requires
> > > that
> > > the imported module be also implemented, while the other doesn't.
> > >
> >
> > The import-stmt is only used to map a local prefix to an external module.
>
> But one thing is using a prefix for accessing top-level types and groupings
> (i.e. stuff in YANG modules), and another thing is accessing schema nodes,
> which
> have to be present in the schema tree. In complicated data models, it is
> not
> exactly easy to figure out all these dependencies.
>
>
I do not agree these are different things.
In both cases the prefix is used to determine the imported module that
contains the identifier.


So maybe what is really overloaded are the namespace prefixes: they are
> used for
> addressing YANG modules, schema nodes and instances (in XPath).
>
> Lada
>


Andy


>
> > This proposal to add conformance info the the import-stmt would overload
> it
> > with
> > another purpose.
> >
> > Not even a typedef is easy to classify  (e.g., leafref requires
> implementation
> > of a data node).
> > I certainly agree that YANG conformance is poorly specified, poorly
> > understood, and
> > in real need of improvement. Likewise, the import-stmt is also in need
> of some
> > improvement
> > since import-by-exact-revision is (and has always been) poorly designed..
> >
> >
> > > Lada
> > >
> > > > Balazs
> >
> > Andy
> >
> >
> > > > -Original Message-
> > > > From: Martin Bjorklund 
> > > > Sent: Tuesday, January 7, 2020 2:38 PM
> > > > To: Balázs Lengyel 
> > > > Cc: a...@yumaworks.com; lho...@nic.cz; netmod@ietf.org
> > > > Subject: Re: [netmod] Text in import to indicate whether a module is
> > > needed as
> > > > import-only or as implemented
> > > >
> > > > Hi
> > > >
> > > > I agree w/ Andy and others that we should not add this to the
> import's
> > > > description.  I don't think this kind of conformance text belongs to
> the
> > > > import's description.  If you think it is important to state this,
> the
> > > best
> > > > place is probably as plain text in the document itself.
> > > >
> > > >
> > > >
> > > > /martin
> > > >
> > > >
> > > > Balázs Lengyel  wrote:
> > > > > As a draft author who was asked to add text about the imports IMHO
> > > > >
> > > > > *   it would be easy for me to remove the description from the
> 

Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2020-03-02 Thread Benoit Claise

Sorry to resurrect this old email thread.
To me, it's an important piece of information to know that 
ietf-netconf-acm is optional to implement.


It seems that we have 3 potential places where to insert this information
1. The associated document. We could and should insert it into the RFC text.
    Drawback: Somehow the YANG module is looked at independently of the 
associated document

2. import-stmt: people on the list apparently don't like this
3. module description? What harm would it do if the description could 
contain this info?


Regards, Benoit



On Wed, Jan 8, 2020 at 5:44 AM Ladislav Lhotka <mailto:lho...@nic.cz>> wrote:


On Wed, 2020-01-08 at 04:49 -0800, Andy Bierman wrote:
>
> On Wed, Jan 8, 2020 at 1:11 AM Ladislav Lhotka mailto:lho...@nic.cz>> wrote:
> > On Tue, 2020-01-07 at 14:29 +, Balázs Lengyel wrote:
> > > If that is the consensus, I can remove the description
statements, no big
> > > deal. (I actually like the statements, but they are not
important for this
> > > draft)
> >
> > Of course, it is not that important, but I don't see how this
information
> > could
> > be harmful, if it is included with the import. In my view, it
is not meant
> > as a
> > conformance requirement but just an info from the module
author about the
> > meaning of the import statement.
> >
>
> It adds a lot of extra work but more importantly the import-stmt
is the wrong
> place

What work do you mean? I thought that it would be just info for
potential
developers (or their managers) that implementing the module requires
implementing other modules and functionality - or not.



It is duplication because the individual data-def statements should 
have any notes

about implementation requirements. The duplication may even be wrong.
E.g., in the module it says NACM is not required, but what if some objects
have NACM requirements listed in the Security Considerations section?
That is the RFC section to discuss NACM requirements.


For example, if a module imports ietf-netconf-nacm only for using
"node-
instance-identifier" type, it is relatively uninteresting. Otherwise,
implementation of the module may just be out of question.


> to document such a complex and unrelated issue as server conformance
> requirements.
>
>
> > The root of this problem (and design flaw of YANG, IMO) is
that import is
> > "overloaded" with two different purposes, one of which
effectively requires
> > that
> > the imported module be also implemented, while the other doesn't.
> >
>
> The import-stmt is only used to map a local prefix to an
external module.

But one thing is using a prefix for accessing top-level types and
groupings
(i.e. stuff in YANG modules), and another thing is accessing
schema nodes, which
have to be present in the schema tree. In complicated data models,
it is not
exactly easy to figure out all these dependencies.


I do not agree these are different things.
In both cases the prefix is used to determine the imported module that 
contains the identifier.



So maybe what is really overloaded are the namespace prefixes:
they are used for
addressing YANG modules, schema nodes and instances (in XPath).

Lada



Andy


> This proposal to add conformance info the the import-stmt would
overload it
> with
> another purpose.
>
> Not even a typedef is easy to classify  (e.g., leafref requires
implementation
> of a data node).
> I certainly agree that YANG conformance is poorly specified, poorly
> understood, and
> in real need of improvement. Likewise, the import-stmt is also
in need of some
> improvement
> since import-by-exact-revision is (and has always been) poorly
designed.
>
>
> > Lada
> >
> > > Balazs
>
> Andy
>
>
> > > -Original Message-
> > > From: Martin Bjorklund mailto:m...@tail-f.com>>
    > > > Sent: Tuesday, January 7, 2020 2:38 PM
    > > > To: Balázs Lengyel mailto:balazs.leng...@ericsson.com>>
> > > Cc: a...@yumaworks.com <mailto:a...@yumaworks.com>;
lho...@nic.cz <mailto:lho...@nic.cz>; netmod@ietf.org
<mailto:netmod@ietf.org>
> > > Subject: Re: [netmod] Text in import to indicate whether a
module is
> > needed as
> > > import-only or as implemented
> > >
> > > Hi
> > >
> > > I agree w/ Andy and others that we should not add

Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2020-03-02 Thread Andy Bierman
On Mon, Mar 2, 2020 at 8:57 AM Benoit Claise  wrote:

> Sorry to resurrect this old email thread.
> To me, it's an important piece of information to know that ietf-netconf-acm
> is optional to implement.
>
> It seems that we have 3 potential places where to insert this information
> 1. The associated document. We could and should insert it into the RFC
> text.
> Drawback: Somehow the YANG module is looked at independently of the
> associated document
> 2. import-stmt: people on the list apparently don't like this
> 3. module description? What harm would it do if the description could
> contain this info?
>
>
IMO it makes more sense to summarize the imported modules that need to be
implemented
and not mention the ones that are not required.  The module
description-stmt is better
than each import. (YANG 1.1 allows the same module to be imported multiple
times).


> Regards, Benoit
>

Andy


>
>
> On Wed, Jan 8, 2020 at 5:44 AM Ladislav Lhotka  wrote:
>
>> On Wed, 2020-01-08 at 04:49 -0800, Andy Bierman wrote:
>> >
>> > On Wed, Jan 8, 2020 at 1:11 AM Ladislav Lhotka  wrote:
>> > > On Tue, 2020-01-07 at 14:29 +, Balázs Lengyel wrote:
>> > > > If that is the consensus, I can remove the description statements,
>> no big
>> > > > deal. (I actually like the statements, but they are not important
>> for this
>> > > > draft)
>> > >
>> > > Of course, it is not that important, but I don't see how this
>> information
>> > > could
>> > > be harmful, if it is included with the import. In my view, it is not
>> meant
>> > > as a
>> > > conformance requirement but just an info from the module author about
>> the
>> > > meaning of the import statement.
>> > >
>> >
>> > It adds a lot of extra work but more importantly the import-stmt is the
>> wrong
>> > place
>>
>> What work do you mean? I thought that it would be just info for potential
>> developers (or their managers) that implementing the module requires
>> implementing other modules and functionality - or not.
>>
>>
>
> It is duplication because the individual data-def statements should have
> any notes
> about implementation requirements. The duplication may even be wrong.
> E.g., in the module it says NACM is not required, but what if some objects
> have NACM requirements listed in the Security Considerations section?
> That is the RFC section to discuss NACM requirements.
>
>
> For example, if a module imports ietf-netconf-nacm only for using "node-
>> instance-identifier" type, it is relatively uninteresting. Otherwise,
>> implementation of the module may just be out of question.
>>
>>
>> > to document such a complex and unrelated issue as server conformance
>> > requirements.
>> >
>> >
>> > > The root of this problem (and design flaw of YANG, IMO) is that
>> import is
>> > > "overloaded" with two different purposes, one of which effectively
>> requires
>> > > that
>> > > the imported module be also implemented, while the other doesn't.
>> > >
>> >
>> > The import-stmt is only used to map a local prefix to an external
>> module.
>>
>> But one thing is using a prefix for accessing top-level types and
>> groupings
>> (i.e. stuff in YANG modules), and another thing is accessing schema
>> nodes, which
>> have to be present in the schema tree. In complicated data models, it is
>> not
>> exactly easy to figure out all these dependencies.
>>
>>
> I do not agree these are different things.
> In both cases the prefix is used to determine the imported module that
> contains the identifier.
>
>
> So maybe what is really overloaded are the namespace prefixes: they are
>> used for
>> addressing YANG modules, schema nodes and instances (in XPath).
>>
>> Lada
>>
>
>
> Andy
>
>
>>
>> > This proposal to add conformance info the the import-stmt would
>> overload it
>> > with
>> > another purpose.
>> >
>> > Not even a typedef is easy to classify  (e.g., leafref requires
>> implementation
>> > of a data node).
>> > I certainly agree that YANG conformance is poorly specified, poorly
>> > understood, and
>> > in real need of improvement. Likewise, the import-stmt is also in need
>> of some
>> > improvement
>> > since import-by-exact-revision is (

Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2020-03-02 Thread Ladislav Lhotka
 nodes, which
> > > > have to be present in the schema tree. In complicated data models, it is
> > > > not
> > > > exactly easy to figure out all these dependencies.
> > > > 
> > > > 
> > > 
> > > I do not agree these are different things.
> > > In both cases the prefix is used to determine the imported module that
> > > contains the identifier.
> > > 
> > > 
> > > > So maybe what is really overloaded are the namespace prefixes: they are
> > > > used for
> > > > addressing YANG modules, schema nodes and instances (in XPath). 
> > > > 
> > > > Lada
> > > > 
> > > 
> > > 
> > > Andy
> > >  
> > > > > This proposal to add conformance info the the import-stmt would
> > > > overload it
> > > > > with
> > > > > another purpose.
> > > > > 
> > > > > Not even a typedef is easy to classify  (e.g., leafref requires
> > > > implementation
> > > > > of a data node).
> > > > > I certainly agree that YANG conformance is poorly specified, poorly
> > > > > understood, and
> > > > > in real need of improvement. Likewise, the import-stmt is also in need
> > > > of some
> > > > > improvement
> > > > > since import-by-exact-revision is (and has always been) poorly
> > > > designed.
> > > > > 
> > > > > 
> > > > > > Lada
> > > > > > 
> > > > > > > Balazs
> > > > > 
> > > > > Andy
> > > > > 
> > > > >  
> > > > > > > -Original Message-
> > > > > > > From: Martin Bjorklund  
> > > > > > > Sent: Tuesday, January 7, 2020 2:38 PM
> > > > > > > To: Balázs Lengyel 
> > > > > > > Cc: a...@yumaworks.com; lho...@nic.cz; netmod@ietf.org
> > > > > > > Subject: Re: [netmod] Text in import to indicate whether a module
> > > > is
> > > > > > needed as
> > > > > > > import-only or as implemented
> > > > > > > 
> > > > > > > Hi
> > > > > > > 
> > > > > > > I agree w/ Andy and others that we should not add this to the
> > > > import's
> > > > > > > description.  I don't think this kind of conformance text belongs
> > > > to the
> > > > > > > import's description.  If you think it is important to state this,
> > > > the
> > > > > > best
> > > > > > > place is probably as plain text in the document itself.
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > /martin
> > > > > > > 
> > > > > > > 
> > > > > > > Balázs Lengyel 
> > > > wrote:
> > > > > > > > As a draft author who was asked to add text about the imports
> > > > IMHO
> > > > > > > > 
> > > > > > > > *   it would be easy for me to remove the description from the
> > > > import.
> > > > > > > > Actually I really just want to know what is acceptable to the
> > > > group, so
> > > > > > I
> > > > > > > > can proceed
> > > > > > > > *   I also think that adding this text is in most cases easy and
> > > > it does
> > > > > > not
> > > > > > > > need updates later.
> > > > > > > > *   The rules in some cases might not be trivial.
> > > > > > > > 
> > > > > > > > *   Imported YAMs need to be implemented if
> > > > > > > > 
> > > > > > > > *   Imported parts are included in Xpath (augment, when, must,
> > > > require-
> > > > > > > > instance)
> > > > > > > > 
> > > > > > > > *   Imported YAMs do not need to be implemented if only the
> > > > following
> > > > > > are
> > > > > > > > used
> > > > > > > > 
> > > > > > > > *   Types
> > > > > > > > *   Features
> > > > > > > > *   

Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2020-03-02 Thread Andy Bierman
> > > > > >
> > > > > >
> > > > > > > The root of this problem (and design flaw of YANG, IMO) is that
> > > > > import is
> > > > > > > "overloaded" with two different purposes, one of which
> effectively
> > > > > requires
> > > > > > > that
> > > > > > > the imported module be also implemented, while the other
> doesn't.
> > > > > > >
> > > > > >
> > > > > > The import-stmt is only used to map a local prefix to an external
> > > > > module.
> > > > >
> > > > > But one thing is using a prefix for accessing top-level types and
> > > > > groupings
> > > > > (i.e. stuff in YANG modules), and another thing is accessing schema
> > > > > nodes, which
> > > > > have to be present in the schema tree. In complicated data models,
> it is
> > > > > not
> > > > > exactly easy to figure out all these dependencies.
> > > > >
> > > > >
> > > >
> > > > I do not agree these are different things.
> > > > In both cases the prefix is used to determine the imported module
> that
> > > > contains the identifier.
> > > >
> > > >
> > > > > So maybe what is really overloaded are the namespace prefixes:
> they are
> > > > > used for
> > > > > addressing YANG modules, schema nodes and instances (in XPath).
> > > > >
> > > > > Lada
> > > > >
> > > >
> > > >
> > > > Andy
> > > >
> > > > > > This proposal to add conformance info the the import-stmt would
> > > > > overload it
> > > > > > with
> > > > > > another purpose.
> > > > > >
> > > > > > Not even a typedef is easy to classify  (e.g., leafref requires
> > > > > implementation
> > > > > > of a data node).
> > > > > > I certainly agree that YANG conformance is poorly specified,
> poorly
> > > > > > understood, and
> > > > > > in real need of improvement. Likewise, the import-stmt is also
> in need
> > > > > of some
> > > > > > improvement
> > > > > > since import-by-exact-revision is (and has always been) poorly
> > > > > designed.
> > > > > >
> > > > > >
> > > > > > > Lada
> > > > > > >
> > > > > > > > Balazs
> > > > > >
> > > > > > Andy
> > > > > >
> > > > > >
> > > > > > > > -Original Message-
> > > > > > > > From: Martin Bjorklund 
> > > > > > > > Sent: Tuesday, January 7, 2020 2:38 PM
> > > > > > > > To: Balázs Lengyel 
> > > > > > > > Cc: a...@yumaworks.com; lho...@nic.cz; netmod@ietf.org
> > > > > > > > Subject: Re: [netmod] Text in import to indicate whether a
> module
> > > > > is
> > > > > > > needed as
> > > > > > > > import-only or as implemented
> > > > > > > >
> > > > > > > > Hi
> > > > > > > >
> > > > > > > > I agree w/ Andy and others that we should not add this to the
> > > > > import's
> > > > > > > > description.  I don't think this kind of conformance text
> belongs
> > > > > to the
> > > > > > > > import's description.  If you think it is important to state
> this,
> > > > > the
> > > > > > > best
> > > > > > > > place is probably as plain text in the document itself.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > /martin
> > > > > > > >
> > > > > > > >
> > > > > > > > Balázs Lengyel  >
> > > > > wrote:
> > > > > > > > > As a draft author who was asked to add text about the
> imports
> > > > > IMHO
> > > > > > > > >
> > > > > > > > > *   it would be easy for me to 

Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2020-03-02 Thread Schönwälder , Jürgen
On Mon, Mar 02, 2020 at 07:23:16PM +0100, Ladislav Lhotka wrote:
> 
> Modules that have to be implemented can be imported only once. Adding this
> information to the import statement for such modules is IMO more effective 
> than
> having it in the module description. I don't get how it could become a 
> problem.
>

The question is how we make sure that text written by a human reflects
the actual facts. If tools can derive most of the import semantics
(i.e., generate a list of imported names and how they are used), why
not have a tooling answer instead of relying on manual work by authors
and reviewers?

/js

-- 
Juergen Schoenwaelder   Jacobs University Bremen gGmbH
Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103 

___
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod


Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2020-03-03 Thread Benoit Claise
; > Regards, Benoit
> >
>
> Andy
>
> > >
> > > On Wed, Jan 8, 2020 at 5:44 AM Ladislav Lhotka
mailto:lho...@nic.cz>> wrote:
> > > > On Wed, 2020-01-08 at 04:49 -0800, Andy Bierman wrote:
> > > > >
> > > > > On Wed, Jan 8, 2020 at 1:11 AM Ladislav Lhotka
mailto:lho...@nic.cz>> wrote:
> > > > > > On Tue, 2020-01-07 at 14:29 +, Balázs Lengyel wrote:
> > > > > > > If that is the consensus, I can remove the
description statements,
> > > > no big
> > > > > > > deal. (I actually like the statements, but they are
not important
> > > > for this
> > > > > > > draft)
> > > > > >
> > > > > > Of course, it is not that important, but I don't see
how this
> > > > information
> > > > > > could
> > > > > > be harmful, if it is included with the import. In my
view, it is not
> > > > meant
> > > > > > as a
> > > > > > conformance requirement but just an info from the
module author
> > > > about the
> > > > > > meaning of the import statement.
> > > > > >
> > > > >
> > > > > It adds a lot of extra work but more importantly the
import-stmt is
> > > > the wrong
> > > > > place
> > > >
> > > > What work do you mean? I thought that it would be just
info for
> > > > potential
> > > > developers (or their managers) that implementing the
module requires
> > > > implementing other modules and functionality - or not.
> > > >
> > > >
> > >
> > >
> > > It is duplication because the individual data-def statements
should have
> > > any notes
> > > about implementation requirements. The duplication may even
be wrong.
> > > E.g., in the module it says NACM is not required, but what
if some objects
> > > have NACM requirements listed in the Security Considerations
section?
> > > That is the RFC section to discuss NACM requirements.
> > >
> > >
> > > > For example, if a module imports ietf-netconf-nacm only
for using "node-
> > > > instance-identifier" type, it is relatively uninteresting.
Otherwise,
> > > > implementation of the module may just be out of question.
> > > >
> > > >
> > > > > to document such a complex and unrelated issue as server
conformance
> > > > > requirements.
> > > > >
> > > > >
> > > > > > The root of this problem (and design flaw of YANG,
IMO) is that
> > > > import is
> > > > > > "overloaded" with two different purposes, one of which
effectively
> > > > requires
> > > > > > that
> > > > > > the imported module be also implemented, while the
other doesn't.
> > > > > >
> > > > >
> > > > > The import-stmt is only used to map a local prefix to an
external
> > > > module.
> > > >
> > > > But one thing is using a prefix for accessing top-level
types and
> > > > groupings
> > > > (i.e. stuff in YANG modules), and another thing is
accessing schema
> > > > nodes, which
> > > > have to be present in the schema tree. In complicated data
models, it is
> > > > not
> > > > exactly easy to figure out all these dependencies.
> > > >
> > > >
> > >
> > > I do not agree these are different things.
> > > In both cases the prefix is used to determine the imported
module that
> > > contains the identifier.
> > >
> > >
> > > > So maybe what is really overloaded are the namespace
prefixes: they are
> > > > used for
> > > > addressing YANG modules, schema nodes and instances (in
XPath).
    > > > >
    > > > > Lada
    > > > >
> > >
> > >
> > > Andy
> > >
> > > > > This proposal to add conformanc

Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2020-03-03 Thread Andy Bierman
ely
>> > > > > requires
>> > > > > > > that
>> > > > > > > the imported module be also implemented, while the other
>> doesn't.
>> > > > > > >
>> > > > > >
>> > > > > > The import-stmt is only used to map a local prefix to an
>> external
>> > > > > module.
>> > > > >
>> > > > > But one thing is using a prefix for accessing top-level types and
>> > > > > groupings
>> > > > > (i.e. stuff in YANG modules), and another thing is accessing
>> schema
>> > > > > nodes, which
>> > > > > have to be present in the schema tree. In complicated data
>> models, it is
>> > > > > not
>> > > > > exactly easy to figure out all these dependencies.
>> > > > >
>> > > > >
>> > > >
>> > > > I do not agree these are different things.
>> > > > In both cases the prefix is used to determine the imported module
>> that
>> > > > contains the identifier.
>> > > >
>> > > >
>> > > > > So maybe what is really overloaded are the namespace prefixes:
>> they are
>> > > > > used for
>> > > > > addressing YANG modules, schema nodes and instances (in XPath).
>> > > > >
>> > > > > Lada
>> > > > >
>> > > >
>> > > >
>> > > > Andy
>> > > >
>> > > > > > This proposal to add conformance info the the import-stmt would
>> > > > > overload it
>> > > > > > with
>> > > > > > another purpose.
>> > > > > >
>> > > > > > Not even a typedef is easy to classify  (e.g., leafref requires
>> > > > > implementation
>> > > > > > of a data node).
>> > > > > > I certainly agree that YANG conformance is poorly specified,
>> poorly
>> > > > > > understood, and
>> > > > > > in real need of improvement. Likewise, the import-stmt is also
>> in need
>> > > > > of some
>> > > > > > improvement
>> > > > > > since import-by-exact-revision is (and has always been) poorly
>> > > > > designed.
>> > > > > >
>> > > > > >
>> > > > > > > Lada
>> > > > > > >
>> > > > > > > > Balazs
>> > > > > >
>> > > > > > Andy
>> > > > > >
>> > > > > >
>> > > > > > > > -Original Message-
>> > > > > > > > From: Martin Bjorklund 
>> > > > > > > > Sent: Tuesday, January 7, 2020 2:38 PM
>> > > > > > > > To: Balázs Lengyel 
>> > > > > > > > Cc: a...@yumaworks.com; lho...@nic.cz; netmod@ietf.org
>> > > > > > > > Subject: Re: [netmod] Text in import to indicate whether a
>> module
>> > > > > is
>> > > > > > > needed as
>> > > > > > > > import-only or as implemented
>> > > > > > > >
>> > > > > > > > Hi
>> > > > > > > >
>> > > > > > > > I agree w/ Andy and others that we should not add this to
>> the
>> > > > > import's
>> > > > > > > > description.  I don't think this kind of conformance text
>> belongs
>> > > > > to the
>> > > > > > > > import's description.  If you think it is important to
>> state this,
>> > > > > the
>> > > > > > > best
>> > > > > > > > place is probably as plain text in the document itself.
>> > > > > > > >
>> > > > > > > >
>> > > > > > > >
>> > > > > > > > /martin
>> > > > > > > >
>> > > > > > > >
>> > > > > > > > Balázs Lengyel > 40ericsson@dmarc.ietf.org>
>> > > > > wrote:
>> > > > > > > > > As a draft author who was ask

Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2020-03-05 Thread Balázs Lengyel
Hello,

Putting this information on individual schema nodes can be a problem if a 
module uses imported items a lot. We have modules with 100+ schema nodes that 
use an import, while  there are only 7 modules imported. Adding the statement 
(mandatory/optional to implement) 100 times would be a lot of text. I also 
doubt that people will check all 100 places.

IMHO alternatives a) or b) are feasible. (I like a) the best)

Regards Balazs

 

From: netmod  On Behalf Of Andy Bierman
Sent: 2020. március 3., kedd 17:14
To: Benoit Claise 
Cc: NETMOD WG 
Subject: Re: [netmod] Text in import to indicate whether a module is needed as 
import-only or as implemented

 

 

 

On Tue, Mar 3, 2020 at 12:45 AM Benoit Claise mailto:bcla...@cisco.com> > wrote:

Hi,

 

 

On Mon, Mar 2, 2020 at 10:23 AM Ladislav Lhotka mailto:lho...@nic.cz> > wrote:

On Mon, 2020-03-02 at 09:52 -0800, Andy Bierman wrote:
> 
> 
> On Mon, Mar 2, 2020 at 8:57 AM Benoit Claise  <mailto:bcla...@cisco.com> > wrote:
> > Sorry to resurrect this old email thread.
> > To me, it's an important piece of information to know that ietf-netconf-acm
> > is optional to implement.
> > 
> > It seems that we have 3 potential places where to insert this information
> > 1. The associated document. We could and should insert it into the RFC text.
> > Drawback: Somehow the YANG module is looked at independently of the
> > associated document
> > 2. import-stmt: people on the list apparently don't like this
> > 3. module description? What harm would it do if the description could
> > contain this info?
> > 
> > 
> 
> IMO it makes more sense to summarize the imported modules that need to be
> implemented
> and not mention the ones that are not required.  The module description-stmt
> is better
> than each import. (YANG 1.1 allows the same module to be imported multiple
> times).

Modules that have to be implemented can be imported only once. Adding this
information to the import statement for such modules is IMO more effective than
having it in the module description. I don't get how it could become a problem.

 

I do not think this info helps very much. It is duplicate info.

It should be in the description-stmts for the objects defined in the module.

Well, I had in mind the module description
The "description-stmts for the objects defined in the module" is yet another 
place.

 

 

The object descriptions are the correct level of granularity to be useful.

A boolean statement wrt/ module implementation is required vs not required is 
not very useful.

Rarely is the entire module either fully required or nothing to implement at 
all.

 

IMO it is wrong to conflate the import-stmt with conformance requirements.

It is merely a mechanism to bind local prefix usage to an external module.

Text like "revision X or derived from X is required" is appropriate for the 
import-stmt because

it refers to the binding between prefix and imported module revision used.

 

Consider how this extra documentation work scales to a big module like ietf-bgp.

There are multiple submodules, each with overlapping imports and each with 
their own module header.

 

 

Andy

 

It is also self-evident (and defined in YANG) that if you augment some external 
node

you have to implement the augmented module.

 

 This is the classic definition of a CLR.

 

Lada

 

 

Trying to decompose the problem space 
I believe it's common sense to include in the RFC text that ietf-netconf-acm is 
optional to implement (to take the example in question in 
https://tools.ietf.org/html/draft-ietf-netconf-notification-capabilities-11)
Do we agree that this information should also be contained somewhere, somehow 
in the YANG module? I would say: yes

If yes, what are the options?
I agree with Juergen (in a reply in this email thread): ideally a tooling 
answer would be better. This will take some time. So what do we do now?
3 options:
a. import description (description-stmt in import-stmt) 

module ietf-system-capabilities {
  yang-version 1.1;
  namespace
"urn:ietf:params:xml:ns:yang:ietf-system-capabilities";
  prefix sysc;
 
  import ietf-netconf-acm 
{ prefix nacm; }
description "ietf-netconf-acm is optional to implement.";
}


b. module description (description-stmt in  meta-stmts in 
module-stmt/submodule-stmt)

module ietf-system-capabilities {
  yang-version 1.1;
  namespace
"urn:ietf:params:xml:ns:yang:ietf-system-capabilities";
  prefix sysc;
 
  import ietf-netconf-acm { prefix nacm; }
 
  import ietf-yang-library {
prefix yanglib;
description "Revision 2019-01-04 or a
  revision derived from it is REQUIRED.";
  }
 
  organization
"IETF NETCONF (Network Configuration) Working Group";
  contact
"WG Web:   <http

Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2020-03-05 Thread Andy Bierman
On Thu, Mar 5, 2020 at 5:31 AM Balázs Lengyel 
wrote:

> Hello,
>
> Putting this information on individual schema nodes can be a problem if a
> module uses imported items a lot. We have modules with 100+ schema nodes
> that use an import, while  there are only 7 modules imported. Adding the
> statement (mandatory/optional to implement) 100 times would be a lot of
> text. I also doubt that people will check all 100 places.
>
> IMHO alternatives a) or b) are feasible. (I like a) the best)
>


This is a strawman -- nobody suggested duplicating the same text over and
over in data nodes.
The same issue exists with the reference-stmt.  We don't require (or
encourage) people to
place a reference to an external RFC on every leaf. The same judgement can
be used here.




> Regards Balazs
>
>
Andy


>
>
> *From:* netmod  *On Behalf Of *Andy Bierman
> *Sent:* 2020. március 3., kedd 17:14
> *To:* Benoit Claise 
> *Cc:* NETMOD WG 
> *Subject:* Re: [netmod] Text in import to indicate whether a module is
> needed as import-only or as implemented
>
>
>
>
>
>
>
> On Tue, Mar 3, 2020 at 12:45 AM Benoit Claise  wrote:
>
> Hi,
>
>
>
>
>
> On Mon, Mar 2, 2020 at 10:23 AM Ladislav Lhotka  wrote:
>
> On Mon, 2020-03-02 at 09:52 -0800, Andy Bierman wrote:
> >
> >
> > On Mon, Mar 2, 2020 at 8:57 AM Benoit Claise  wrote:
> > > Sorry to resurrect this old email thread.
> > > To me, it's an important piece of information to know that
> ietf-netconf-acm
> > > is optional to implement.
> > >
> > > It seems that we have 3 potential places where to insert this
> information
> > > 1. The associated document. We could and should insert it into the RFC
> text.
> > > Drawback: Somehow the YANG module is looked at independently of the
> > > associated document
> > > 2. import-stmt: people on the list apparently don't like this
> > > 3. module description? What harm would it do if the description could
> > > contain this info?
> > >
> > >
> >
> > IMO it makes more sense to summarize the imported modules that need to be
> > implemented
> > and not mention the ones that are not required.  The module
> description-stmt
> > is better
> > than each import. (YANG 1.1 allows the same module to be imported
> multiple
> > times).
>
> Modules that have to be implemented can be imported only once. Adding this
> information to the import statement for such modules is IMO more effective
> than
> having it in the module description. I don't get how it could become a
> problem.
>
>
>
> I do not think this info helps very much. It is duplicate info.
>
> It should be in the description-stmts for the objects defined in the
> module.
>
> Well, I had in mind the module description
> The "description-stmts for the objects defined in the module" is yet
> another place.
>
>
>
>
>
> The object descriptions are the correct level of granularity to be useful..
>
> A boolean statement wrt/ module implementation is required vs not required
> is not very useful.
>
> Rarely is the entire module either fully required or nothing to implement
> at all.
>
>
>
> IMO it is wrong to conflate the import-stmt with conformance requirements..
>
> It is merely a mechanism to bind local prefix usage to an external module..
>
> Text like "revision X or derived from X is required" is appropriate for
> the import-stmt because
>
> it refers to the binding between prefix and imported module revision used..
>
>
>
> Consider how this extra documentation work scales to a big module like
> ietf-bgp.
>
> There are multiple submodules, each with overlapping imports and each with
> their own module header.
>
>
>
>
>
> Andy
>
>
>
> It is also self-evident (and defined in YANG) that if you augment some
> external node
>
> you have to implement the augmented module.
>
>
>
>  This is the classic definition of a CLR.
>
>
>
> Lada
>
>
>
>
>
> Trying to decompose the problem space 
> I believe it's common sense to include in the RFC text that
> ietf-netconf-acm is optional to implement (to take the example in question
> in
> https://tools.ietf.org/html/draft-ietf-netconf-notification-capabilities-11
> )
> Do we agree that this information should also be contained somewhere,
> somehow in the YANG module? I would say: yes
>
> If yes, what are the options?
> I agree with Juergen (in a reply in this email thread): ideally a tooling
> answer would be better. This will take some time. So what do w

Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2020-03-05 Thread Balázs Lengyel
 

 

From: Andy Bierman  
Sent: 2020. március 5., csütörtök 16:43
To: Balázs Lengyel 
Cc: Benoit Claise ; NETMOD WG 
Subject: Re: [netmod] Text in import to indicate whether a module is needed as 
import-only or as implemented

 

 

 

On Thu, Mar 5, 2020 at 5:31 AM Balázs Lengyel mailto:balazs.leng...@ericsson.com> > wrote:

Hello,

Putting this information on individual schema nodes can be a problem if a 
module uses imported items a lot. We have modules with 100+ schema nodes that 
use an import, while  there are only 7 modules imported. Adding the statement 
(mandatory/optional to implement) 100 times would be a lot of text. I also 
doubt that people will check all 100 places.

IMHO alternatives a) or b) are feasible. (I like a) the best)

 

 

This is a strawman -- nobody suggested duplicating the same text over and over 
in data nodes.

The same issue exists with the reference-stmt.  We don't require (or encourage) 
people to

place a reference to an external RFC on every leaf. The same judgement can be 
used here.

 

Andy

 BALAZS2: If the first 50 uses of an import don’t need an implemented 
import-module  but the 51stdoes, then finding this will be difficult, unless we 
formalize it somehow e.g. with a new statement, extension, standard text, 
whatever.

 

From: netmod mailto:netmod-boun...@ietf.org> > On 
Behalf Of Andy Bierman
Sent: 2020. március 3., kedd 17:14
To: Benoit Claise mailto:bcla...@cisco.com> >
Cc: NETMOD WG mailto:netmod@ietf.org> >
Subject: Re: [netmod] Text in import to indicate whether a module is needed as 
import-only or as implemented

 

 

 

On Tue, Mar 3, 2020 at 12:45 AM Benoit Claise mailto:bcla...@cisco.com> > wrote:

Hi,

 

 

On Mon, Mar 2, 2020 at 10:23 AM Ladislav Lhotka mailto:lho...@nic.cz> > wrote:

On Mon, 2020-03-02 at 09:52 -0800, Andy Bierman wrote:
> 
> 
> On Mon, Mar 2, 2020 at 8:57 AM Benoit Claise  <mailto:bcla...@cisco.com> > wrote:
> > Sorry to resurrect this old email thread.
> > To me, it's an important piece of information to know that ietf-netconf-acm
> > is optional to implement.
> > 
> > It seems that we have 3 potential places where to insert this information
> > 1. The associated document. We could and should insert it into the RFC text.
> > Drawback: Somehow the YANG module is looked at independently of the
> > associated document
> > 2. import-stmt: people on the list apparently don't like this
> > 3. module description? What harm would it do if the description could
> > contain this info?
> > 
> > 
> 
> IMO it makes more sense to summarize the imported modules that need to be
> implemented
> and not mention the ones that are not required.  The module description-stmt
> is better
> than each import. (YANG 1.1 allows the same module to be imported multiple
> times).

Modules that have to be implemented can be imported only once. Adding this
information to the import statement for such modules is IMO more effective than
having it in the module description. I don't get how it could become a problem.

 

I do not think this info helps very much. It is duplicate info.

It should be in the description-stmts for the objects defined in the module.

Well, I had in mind the module description
The "description-stmts for the objects defined in the module" is yet another 
place.

 

 

The object descriptions are the correct level of granularity to be useful.

A boolean statement wrt/ module implementation is required vs not required is 
not very useful.

Rarely is the entire module either fully required or nothing to implement at 
all.

 

IMO it is wrong to conflate the import-stmt with conformance requirements.

It is merely a mechanism to bind local prefix usage to an external module.

Text like "revision X or derived from X is required" is appropriate for the 
import-stmt because

it refers to the binding between prefix and imported module revision used.

 

Consider how this extra documentation work scales to a big module like ietf-bgp.

There are multiple submodules, each with overlapping imports and each with 
their own module header.

 

 

Andy

 

It is also self-evident (and defined in YANG) that if you augment some external 
node

you have to implement the augmented module.

 

 This is the classic definition of a CLR.

 

Lada

 

 

Trying to decompose the problem space 
I believe it's common sense to include in the RFC text that ietf-netconf-acm is 
optional to implement (to take the example in question in 
https://tools.ietf.org/html/draft-ietf-netconf-notification-capabilities-11)
Do we agree that this information should also be contained somewhere, somehow 
in the YANG module? I would say: yes

If yes, what are the options?
I agree with Juergen (in a reply in this email thread): ideally a tooling 
answer w

Re: [netmod] Text in import to indicate whether a module is needed as import-only or as implemented

2020-03-05 Thread Andy Bierman
On Thu, Mar 5, 2020 at 7:52 AM Balázs Lengyel 
wrote:

>
>
>
>
> *From:* Andy Bierman 
> *Sent:* 2020. március 5., csütörtök 16:43
> *To:* Balázs Lengyel 
> *Cc:* Benoit Claise ; NETMOD WG 
> *Subject:* Re: [netmod] Text in import to indicate whether a module is
> needed as import-only or as implemented
>
>
>
>
>
>
>
> On Thu, Mar 5, 2020 at 5:31 AM Balázs Lengyel 
> wrote:
>
> Hello,
>
> Putting this information on individual schema nodes can be a problem if a
> module uses imported items a lot. We have modules with 100+ schema nodes
> that use an import, while  there are only 7 modules imported. Adding the
> statement (mandatory/optional to implement) 100 times would be a lot of
> text. I also doubt that people will check all 100 places.
>
> IMHO alternatives a) or b) are feasible. (I like a) the best)
>
>
>
>
>
> This is a strawman -- nobody suggested duplicating the same text over and
> over in data nodes.
>
> The same issue exists with the reference-stmt.  We don't require (or
> encourage) people to
>
> place a reference to an external RFC on every leaf. The same judgement can
> be used here.
>
>
>
> Andy
>
>  BALAZS2: If the first 50 uses of an import don’t need an implemented
> import-module  but the 51stdoes, then finding this will be difficult,
> unless we formalize it somehow e.g. with a new statement, extension,
> standard text, whatever.
>


I am unclear on the procedures for this new procedure to be added to the
documentation of all YANG modules.

1) What does "implement" mean?
Even in this case, implementation of a typedef is required.
So does "implement" mean "implement data nodes"?
   How is "implement a leafref typedef" classified?

2) What is the module granularity?
   Is the same information repeated in each submodule?
   Does a submodule header document the implementation requirements
   just for that submodule?

3) What is the object granularity?
Does the author search for every occurrence of the prefix and then
write a
summary for that object? Does the author just stop when implementation
of
a data node is required (making the boolean statement true)


Andy


>
> *From:* netmod  *On Behalf Of *Andy Bierman
> *Sent:* 2020. március 3., kedd 17:14
> *To:* Benoit Claise 
> *Cc:* NETMOD WG 
> *Subject:* Re: [netmod] Text in import to indicate whether a module is
> needed as import-only or as implemented
>
>
>
>
>
>
>
> On Tue, Mar 3, 2020 at 12:45 AM Benoit Claise  wrote:
>
> Hi,
>
>
>
>
>
> On Mon, Mar 2, 2020 at 10:23 AM Ladislav Lhotka  wrote:
>
> On Mon, 2020-03-02 at 09:52 -0800, Andy Bierman wrote:
> >
> >
> > On Mon, Mar 2, 2020 at 8:57 AM Benoit Claise  wrote:
> > > Sorry to resurrect this old email thread.
> > > To me, it's an important piece of information to know that
> ietf-netconf-acm
> > > is optional to implement.
> > >
> > > It seems that we have 3 potential places where to insert this
> information
> > > 1. The associated document. We could and should insert it into the RFC
> text.
> > > Drawback: Somehow the YANG module is looked at independently of the
> > > associated document
> > > 2. import-stmt: people on the list apparently don't like this
> > > 3. module description? What harm would it do if the description could
> > > contain this info?
> > >
> > >
> >
> > IMO it makes more sense to summarize the imported modules that need to be
> > implemented
> > and not mention the ones that are not required.  The module
> description-stmt
> > is better
> > than each import. (YANG 1.1 allows the same module to be imported
> multiple
> > times).
>
> Modules that have to be implemented can be imported only once. Adding this
> information to the import statement for such modules is IMO more effective
> than
> having it in the module description. I don't get how it could become a
> problem.
>
>
>
> I do not think this info helps very much. It is duplicate info.
>
> It should be in the description-stmts for the objects defined in the
> module.
>
> Well, I had in mind the module description
> The "description-stmts for the objects defined in the module" is yet
> another place.
>
>
>
>
>
> The object descriptions are the correct level of granularity to be useful..
>
> A boolean statement wrt/ module implementation is required vs not required
> is not very useful.
>
> Rarely is the entire module either fully required or nothing to implement
> at all.
>
>
>
> IMO it is wrong to co