Re: [netmod] WG Last Call for draft-ietf-netmod-yang-metadata-01 (until 2015-06-29)

2015-07-01 Thread Ladislav Lhotka
Hi Kent,

thanks for reviewing the document.

Kent Watsen kwat...@juniper.net writes:

 [As an individual contributor]

 Already many comments have been made, hopefully he below comments are new:


 1. In Section 3, it says:

   By advertising a YANG module in which metadata annotation A is
defined using the md:annotation statement, a server specifies
support for the syntax of annotation A.  This means that
configuration or state data, RPC messages and notifications will be
considered syntactically valid if annotation A is attached to any
data node instance, provided that all rules stated in this document
are observed.


   Does this mean that the annotation A can be used by *any* module
   the server advertises, or just the modules that define/import
   annotation A?

For all modules implemented by the server, no import is needed.

  
   For example, could a YANG module be defined like this:

module example-color-text {
  namespace http://example.org/example-color-text;;
  prefix rgb;
  import ietf-yang-metadata { prefix md; }
  description
Text is black, unless colored otherwise;
  md:annotation color {
type enumeration {
  enum red;
  enum green;
  enum blue;
}
description
  This annotation only makes sense within this module.
   Application of this annotation to any data node
   Recursively applies to all its descendent nodes.;
  }
  container document {
list paragraph {
  list sentence {
leaf-list word {
  type string;
}
  }
}
  }
}




   I assume that the intent is for the annotation to apply to
   the server as a whole, not any specific module.  It might

Yes. The description can also say that the annotation is ignored
elsewhere.

   help enforce this if annotations can only be defined in
   modules that don't define any data-nodes and it is required
   that the server advertises this module explicitly (not via
   an import)...

I expect this will be the normal way of defining annotations, and it
could appear in the document as a guideline. I don't think though it is
necessary to state it as a hard rule.




 2. Also in Section 3, s/conditional:/conditional;/


OK.




 3. In Section 4.2.2, adding metadata to the first entry in a list doesn't
 seem elegant.  Can we instead create a special list element like the
 following?

Maybe I don't understand but the idea is that a separate metadata objects
can be attached to any or all entries of a list. In the example it is
added only to the first entry but another metadata object could be added
to the second entry as well.

It is not possible to add an annotation to the whole list, also because
this cannot be represented in XML encoding (via attributes).


seq: [
  {
@: {
example-inactive:inactive: true

}
  },
  {
name: two,
...
  }
]

   I don't think that '@' is a valid identifier string, so it's
   syntactically OK, right?

Right.




 4. Also in Section 4.2.2, an anydata example would complete this section...



 5. In Section 4.2.3, an anyxml example would complete this section...


OK, will add these examples.

Thanks, Lada


 Thanks,
 Kent



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

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

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


Re: [netmod] three color meters in diffserv model

2015-07-01 Thread Aseem Choudhary (asechoud)
Hello Ferdi,

We have following text in section 3 of the draft:



   A meter qualifies if the traffic arrival rate is based on agreed upon
   rate and variability.  A meter is generically modeled as qualifying
   rate and variability defined as a token bucket.  Single rate meter
   [RFC2697https://tools.ietf.org/html/rfc2697] can be defined as two such 
token buckets with first
   defining the rate and committed burst and excess burst for second bucket.

“

I think it covers quite what you are suggesting. “Overflow” is implied by the 
algorithm.

Regards,
Aseem

From: FERDINAND Pienaar 
pienaar.ferdin...@alcatel-sbell.com.cnmailto:pienaar.ferdin...@alcatel-sbell.com.cn
Date: Tuesday, June 30, 2015 at 5:59 PM
To: netmod@ietf.orgmailto:netmod@ietf.org 
netmod@ietf.orgmailto:netmod@ietf.org
Subject: Re: [netmod] three color meters in diffserv model


Hello Aseem



Thanks for your answer! If I understand correctly, the absence of the leaf 
meter-rate has special meaning: the bucket gets tokens by overflow from another 
bucket. So for RFC 2697, bucket C is has rate CIR, and its fail-action 
next-meter-id points to bucket E. Bucket E has no leaf meter-rate, so its token 
increment comes from bucket C's overflow.



How is it determined where a bucket's overflow goes? I'm assuming it is to the 
bucket pointed to by the next-meter-id in its fail-action (if the target has no 
rate), but this is not obvious to me -- doesn't this whole mechanism deserve a 
mention in the description of the meter-rate and/or fail-action? Or maybe it’s 
simpler than that, and token overflow is implied only for a list with two 
meters, one with a meter rate and the other without?



Regards



Ferdi



-Original Message-
From: Aseem Choudhary (asechoud) [mailto:asech...@cisco.com]
Sent: Wednesday, July 01, 2015 04:47
To: FERDINAND Pienaar; netmod@ietf.orgmailto:netmod@ietf.org
Subject: Re: [netmod] three color meters in diffserv model



Hello Ferdi,



Thanks for your question!



Single Rate Three Color Marking can be supported by configuring two meters, one 
with rate and burst, second with just burst.



³Coupling flag² functionality, which is more effective in color aware mode, is 
not defined by any of diffserv RFC¹s, and hence not included in the current 
model.



This functionality can be added as separate augmentation ³mef² module to base 
diffserv module.



Regards,

Aseem



On 6/29/15, 9:30 PM, FERDINAND Pienaar

pienaar.ferdin...@alcatel-sbell.com.cnmailto:pienaar.ferdin...@alcatel-sbell.com.cn
 wrote:



Hello



I think I see how container meter-cfg is intended to allow

configuration of RFC 2697 and 2698 style meters (by linking two meters

in the meter-list via the pointer next-meter-id). But it seems to me

that a way to indicate overflow from one bucket to another during token

update is needed. In RFC 2697, bucket E is incremented only if bucket C

is full, i.e. C overflows into E. In RFC 2698, buckets C and P are

updated independently.



The Metro Ethernet Forum's Bandwidth Profile Algorithm explicitly

supports configuring this type of coupling, via parameter CF, coupling

flag.



It's not clear to me how RFC 2697 can be supported by concatenating the

meters in the YANG model, unless there is a way to indicate overflow

between them.



Ferdi Pienaar

Alcatel Shanghai-Bell



___

netmod mailing list

netmod@ietf.orgmailto: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] WG Last Call for draft-ietf-netmod-yang-json-04 (until 2015-06-29)

2015-07-01 Thread Ladislav Lhotka

 On 01 Jul 2015, at 09:21, Juergen Schoenwaelder 
 j.schoenwael...@jacobs-university.de wrote:
 
 On Wed, Jul 01, 2015 at 08:54:07AM +0200, Ladislav Lhotka wrote:
 Juergen Schoenwaelder j.schoenwael...@jacobs-university.de writes:
 
 On Tue, Jun 30, 2015 at 04:07:10PM +0200, Ladislav Lhotka wrote:
 
 On 30 Jun 2015, at 15:39, Juergen Schoenwaelder 
 j.schoenwael...@jacobs-university.de wrote:
 
 On Tue, Jun 30, 2015 at 03:32:13PM +0200, Ladislav Lhotka wrote:
 
 On 30 Jun 2015, at 15:20, Juergen Schoenwaelder 
 j.schoenwael...@jacobs-university.de wrote:
 
 On Tue, Jun 30, 2015 at 02:56:30PM +0200, Ladislav Lhotka wrote:
 Juergen Schoenwaelder j.schoenwael...@jacobs-university.de writes:
 
 On Mon, Jun 29, 2015 at 11:49:11AM +0200, Ladislav Lhotka wrote:
 Hi Juergen,
 
 thank you for the review.
 
 Juergen Schoenwaelder j.schoenwael...@jacobs-university.de writes:
 
 On Mon, Jun 15, 2015 at 10:49:28PM +, Kent Watsen wrote:
 
 This is a notice to start a NETMOD WG last call for the document 
 JSON Encoding of Data Modeled with YANG:
 
 https://tools.ietf.org/html/draft-ietf-netmod-yang-json-04
 
 Please indicate your support by Monday June 29, 2015 at 9PM EST.
 
 Hi,
 
 I have reviewed draft-ietf-netmod-yang-json-04.
 
 - I am not sure I agree with the wording in section 3. Why is 
 section
 8.3.3 only applicable to XML encoded data? Validation applies to
 datastores. While constraints are defined using XML-based notations
 
 You are right that this section shouldn't talk about XML-encoded 
 data,
 i.e. serialized form. On the other hand, XPath 1.0 spec says: XPath
 operates on the abstract, logical structure of an XML document, ….
 
 So I think a datastore needs to be represented, at least 
 conceptually,
 as XML infoset.
 
 such as XPATH, how the validation is carried out is not defined in
 the YANG specifications. I guess I actually disagree with the
 
 I don't think this is true. YANG spec doesn't say how must and 
 when
 statements are evaluated, and relies on XPath.
 
 RFC 6020:
 
 When a datastore is validated, all must constraints are
 conceptually evaluated once for each data node in the data tree, and
 for all leafs with default values in use (see Section 7.6.1).  If a
 data node does not exist in the data tree, and it does not have a
 default value, its must statements are not evaluated.
 
 [...]
 
 The text you substituted here with an ellipsis is actually quite
 important for this discussion because it defines the context for XPath
 evaluation (together with section 6.4), in particular the data tree on
 which every XPath expression is evaluated. It is clear that the data
 tree can also comprise state data, notification content or RPC
 input/output, i.e. not only datastore content as you keep saying.
 
 Terms like context node refer to the XPath data model as described in
 sec. 5 of the XPath spec:
 
 http://www.w3.org/TR/1999/REC-xpath-19991116/#data-model
 
 (and section 6.4 in RFC 6020 says it explicitly).
 
 We need to know, at least conceptually, how to construct the XPath data
 tree from JSON text. For example, it has to be clear that leaf-list
 entries encoded as a JSON array appear as sibling nodes in the data
 tree, otherwise a must constraint specified for the leaf-list won't
 work correctly. I don't think this is anyhow evident and IMO it has to
 be addressed. This is the purpose of section 3 in
 draft-ietf-netmod-yang-json-04.
 
 Would it help if validation is replaced with XPath evaluation
 throughout this section?
 
 No. I continue to believe (a) a datastore is validated and not an XML
 infoset (or something like that) and (b) that the evaluation of must
 constraints is conceptual.

Both NETCONF and YANG are absolutely silent about the data model of a 
datastore, so I assume it can be pretty much anything. Can you explain how a 
“must” constraint is conceptually evaluated on, say, key-value database?

Lada

 
 JSON is an encoding. It remains unclear why you think that the JSON
 encoding has any impact of what happens with a datastore.
 
 /js
 
 -- 
 Juergen Schoenwaelder   Jacobs University Bremen gGmbH
 Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | Germany
 Fax:   +49 421 200 3103 http://www.jacobs-university.de/

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




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


Re: [netmod] WG Last Call for draft-ietf-netmod-yang-json-04 (until 2015-06-29)

2015-07-01 Thread Andy Bierman
On Wed, Jul 1, 2015 at 6:01 AM, Ladislav Lhotka lho...@nic.cz wrote:


  On 01 Jul 2015, at 14:33, Juergen Schoenwaelder 
 j.schoenwael...@jacobs-university.de wrote:
 
  On Wed, Jul 01, 2015 at 02:03:15PM +0200, Ladislav Lhotka wrote:
 
  On 01 Jul 2015, at 09:21, Juergen Schoenwaelder 
 j.schoenwael...@jacobs-university.de wrote:
 
  On Wed, Jul 01, 2015 at 08:54:07AM +0200, Ladislav Lhotka wrote:
  Juergen Schoenwaelder j.schoenwael...@jacobs-university.de writes:
 
  On Tue, Jun 30, 2015 at 04:07:10PM +0200, Ladislav Lhotka wrote:
 
  On 30 Jun 2015, at 15:39, Juergen Schoenwaelder 
 j.schoenwael...@jacobs-university.de wrote:
 
  On Tue, Jun 30, 2015 at 03:32:13PM +0200, Ladislav Lhotka wrote:
 
  On 30 Jun 2015, at 15:20, Juergen Schoenwaelder 
 j.schoenwael...@jacobs-university.de wrote:
 
  On Tue, Jun 30, 2015 at 02:56:30PM +0200, Ladislav Lhotka wrote:
  Juergen Schoenwaelder j.schoenwael...@jacobs-university.de
 writes:
 
  On Mon, Jun 29, 2015 at 11:49:11AM +0200, Ladislav Lhotka
 wrote:
  Hi Juergen,
 
  thank you for the review.
 
  Juergen Schoenwaelder j.schoenwael...@jacobs-university.de
 writes:
 
  On Mon, Jun 15, 2015 at 10:49:28PM +, Kent Watsen wrote:
 
  This is a notice to start a NETMOD WG last call for the
 document JSON Encoding of Data Modeled with YANG:
 
  https://tools.ietf.org/html/draft-ietf-netmod-yang-json-04
 
  Please indicate your support by Monday June 29, 2015 at 9PM
 EST.
 
  Hi,
 
  I have reviewed draft-ietf-netmod-yang-json-04.
 
  - I am not sure I agree with the wording in section 3. Why
 is section
  8.3.3 only applicable to XML encoded data? Validation
 applies to
  datastores. While constraints are defined using XML-based
 notations
 
  You are right that this section shouldn't talk about
 XML-encoded data,
  i.e. serialized form. On the other hand, XPath 1.0 spec says:
 XPath
  operates on the abstract, logical structure of an XML
 document, ….
 
  So I think a datastore needs to be represented, at least
 conceptually,
  as XML infoset.
 
  such as XPATH, how the validation is carried out is not
 defined in
  the YANG specifications. I guess I actually disagree with the
 
  I don't think this is true. YANG spec doesn't say how must
 and when
  statements are evaluated, and relies on XPath.
 
  RFC 6020:
 
  When a datastore is validated, all must constraints are
  conceptually evaluated once for each data node in the data
 tree, and
  for all leafs with default values in use (see Section 7.6.1).
 If a
  data node does not exist in the data tree, and it does not
 have a
  default value, its must statements are not evaluated.
 
  [...]
 
  The text you substituted here with an ellipsis is actually quite
  important for this discussion because it defines the context for XPath
  evaluation (together with section 6.4), in particular the data tree on
  which every XPath expression is evaluated. It is clear that the data
  tree can also comprise state data, notification content or RPC
  input/output, i.e. not only datastore content as you keep saying.
 
  Terms like context node refer to the XPath data model as described
 in
  sec. 5 of the XPath spec:
 
  http://www.w3.org/TR/1999/REC-xpath-19991116/#data-model
 
  (and section 6.4 in RFC 6020 says it explicitly).
 
  We need to know, at least conceptually, how to construct the XPath
 data
  tree from JSON text. For example, it has to be clear that leaf-list
  entries encoded as a JSON array appear as sibling nodes in the data
  tree, otherwise a must constraint specified for the leaf-list won't
  work correctly. I don't think this is anyhow evident and IMO it has to
  be addressed. This is the purpose of section 3 in
  draft-ietf-netmod-yang-json-04.
 
  Would it help if validation is replaced with XPath evaluation
  throughout this section?
 
  No. I continue to believe (a) a datastore is validated and not an XML
  infoset (or something like that) and (b) that the evaluation of must
  constraints is conceptual.
 
  Both NETCONF and YANG are absolutely silent about the data model of a
 datastore, so I assume it can be pretty much anything. Can you explain how
 a “must” constraint is conceptually evaluated on, say, key-value database?
 
 
  This is a question to answer by someone who implements it on a
  key-value database.

 Note that RFC 6020 just has XML mapping sections and otherwise tells
 nothing about how instances of data nodes are represented in a datastore. I
 have thus always assumed that everything works fine because the datastore
 model is essentially XML Infoset, except that “data tree” is used instead
 of “infoset”,  “data node” instead of “information item” etc.

 In any case, with RFC 6020 in hand I can only explain how JSON is mapped
 to XML. I have no idea how to get JSON data into a datastore of unknown
 data model (which you take for granted), and then conceptually evaluate
 XPath expressions on it.

 
  I feel we are wasting time and energy here.

 Indeed, and it is frustrating. 

Re: [netmod] WG Last Call for draft-ietf-netmod-yang-json-04 (until 2015-06-29)

2015-07-01 Thread Ladislav Lhotka

 On 01 Jul 2015, at 14:33, Juergen Schoenwaelder 
 j.schoenwael...@jacobs-university.de wrote:
 
 On Wed, Jul 01, 2015 at 02:03:15PM +0200, Ladislav Lhotka wrote:
 
 On 01 Jul 2015, at 09:21, Juergen Schoenwaelder 
 j.schoenwael...@jacobs-university.de wrote:
 
 On Wed, Jul 01, 2015 at 08:54:07AM +0200, Ladislav Lhotka wrote:
 Juergen Schoenwaelder j.schoenwael...@jacobs-university.de writes:
 
 On Tue, Jun 30, 2015 at 04:07:10PM +0200, Ladislav Lhotka wrote:
 
 On 30 Jun 2015, at 15:39, Juergen Schoenwaelder 
 j.schoenwael...@jacobs-university.de wrote:
 
 On Tue, Jun 30, 2015 at 03:32:13PM +0200, Ladislav Lhotka wrote:
 
 On 30 Jun 2015, at 15:20, Juergen Schoenwaelder 
 j.schoenwael...@jacobs-university.de wrote:
 
 On Tue, Jun 30, 2015 at 02:56:30PM +0200, Ladislav Lhotka wrote:
 Juergen Schoenwaelder j.schoenwael...@jacobs-university.de writes:
 
 On Mon, Jun 29, 2015 at 11:49:11AM +0200, Ladislav Lhotka wrote:
 Hi Juergen,
 
 thank you for the review.
 
 Juergen Schoenwaelder j.schoenwael...@jacobs-university.de 
 writes:
 
 On Mon, Jun 15, 2015 at 10:49:28PM +, Kent Watsen wrote:
 
 This is a notice to start a NETMOD WG last call for the document 
 JSON Encoding of Data Modeled with YANG:
 
 https://tools.ietf.org/html/draft-ietf-netmod-yang-json-04
 
 Please indicate your support by Monday June 29, 2015 at 9PM EST.
 
 Hi,
 
 I have reviewed draft-ietf-netmod-yang-json-04.
 
 - I am not sure I agree with the wording in section 3. Why is 
 section
 8.3.3 only applicable to XML encoded data? Validation applies to
 datastores. While constraints are defined using XML-based 
 notations
 
 You are right that this section shouldn't talk about XML-encoded 
 data,
 i.e. serialized form. On the other hand, XPath 1.0 spec says: 
 XPath
 operates on the abstract, logical structure of an XML document, ….
 
 So I think a datastore needs to be represented, at least 
 conceptually,
 as XML infoset.
 
 such as XPATH, how the validation is carried out is not defined in
 the YANG specifications. I guess I actually disagree with the
 
 I don't think this is true. YANG spec doesn't say how must and 
 when
 statements are evaluated, and relies on XPath.
 
 RFC 6020:
 
 When a datastore is validated, all must constraints are
 conceptually evaluated once for each data node in the data tree, and
 for all leafs with default values in use (see Section 7.6.1).  If a
 data node does not exist in the data tree, and it does not have a
 default value, its must statements are not evaluated.
 
 [...]
 
 The text you substituted here with an ellipsis is actually quite
 important for this discussion because it defines the context for XPath
 evaluation (together with section 6.4), in particular the data tree on
 which every XPath expression is evaluated. It is clear that the data
 tree can also comprise state data, notification content or RPC
 input/output, i.e. not only datastore content as you keep saying.
 
 Terms like context node refer to the XPath data model as described in
 sec. 5 of the XPath spec:
 
 http://www.w3.org/TR/1999/REC-xpath-19991116/#data-model
 
 (and section 6.4 in RFC 6020 says it explicitly).
 
 We need to know, at least conceptually, how to construct the XPath data
 tree from JSON text. For example, it has to be clear that leaf-list
 entries encoded as a JSON array appear as sibling nodes in the data
 tree, otherwise a must constraint specified for the leaf-list won't
 work correctly. I don't think this is anyhow evident and IMO it has to
 be addressed. This is the purpose of section 3 in
 draft-ietf-netmod-yang-json-04.
 
 Would it help if validation is replaced with XPath evaluation
 throughout this section?
 
 No. I continue to believe (a) a datastore is validated and not an XML
 infoset (or something like that) and (b) that the evaluation of must
 constraints is conceptual.
 
 Both NETCONF and YANG are absolutely silent about the data model of a 
 datastore, so I assume it can be pretty much anything. Can you explain how a 
 “must” constraint is conceptually evaluated on, say, key-value database?
 
 
 This is a question to answer by someone who implements it on a
 key-value database.

Note that RFC 6020 just has XML mapping sections and otherwise tells nothing 
about how instances of data nodes are represented in a datastore. I have thus 
always assumed that everything works fine because the datastore model is 
essentially XML Infoset, except that “data tree” is used instead of “infoset”,  
“data node” instead of “information item” etc.

In any case, with RFC 6020 in hand I can only explain how JSON is mapped to 
XML. I have no idea how to get JSON data into a datastore of unknown data model 
(which you take for granted), and then conceptually evaluate XPath expressions 
on it.

 
 I feel we are wasting time and energy here.

Indeed, and it is frustrating. However, I’d like to know what to do with 
section 3 of the yang-json document.

Lada

 
 /js
 
 -- 
 Juergen Schoenwaelder   Jacobs 

Re: [netmod] [Rtg-yang-coord] Requirements for I2RS protocol and I2RS interim (6/24/2015 at 10:00 - 11:30am ET)

2015-07-01 Thread BELOTTI, SERGIO (SERGIO)
Hello Susan,
-  Topology model which is a composite of:
o   Generic topology model: 
draft-ietf-i2rs-yang-network-topo-01https://datatracker.ietf.org/doc/draft-ietf-i2rs-yang-network-topo/
o   L3 topology model: 
draft-ietf-i2rs-yang-l3-topology-00https://datatracker.ietf.org/doc/draft-ietf-i2rs-yang-l3-topology/
o   L2 topology model: 
draft-ietf-i2rs-yang-l2-network-topology-00https://datatracker.ietf.org/doc/draft-ietf-i2rs-yang-l2-network-topology/
o   L1 Topology model: draft-zhang-i2rs-l1-topo-yang-model-01 (-02 released 
later this week).
o   Service topology model: draft-hares-i2rs-service-topo-yang-model-00 
(released on Wednesday)

At this time, none of the Topology models utilize Traffic engineering.  It is 
anticipated that these models will support traffic engineering.

Reading this , my question is whether there is intention for Traffic 
Engineering part of topology model to exploit/coordinate with Teas , and 
particularly with
 draft-liu-teas-yang-te-topo or to proceed with distinct contributions internal 
to I2RS.

Thanks
Sergio

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


Re: [netmod] WG Last Call for draft-ietf-netmod-yang-json-04 (until 2015-06-29)

2015-07-01 Thread Juergen Schoenwaelder
On Wed, Jul 01, 2015 at 02:03:15PM +0200, Ladislav Lhotka wrote:
 
  On 01 Jul 2015, at 09:21, Juergen Schoenwaelder 
  j.schoenwael...@jacobs-university.de wrote:
  
  On Wed, Jul 01, 2015 at 08:54:07AM +0200, Ladislav Lhotka wrote:
  Juergen Schoenwaelder j.schoenwael...@jacobs-university.de writes:
  
  On Tue, Jun 30, 2015 at 04:07:10PM +0200, Ladislav Lhotka wrote:
  
  On 30 Jun 2015, at 15:39, Juergen Schoenwaelder 
  j.schoenwael...@jacobs-university.de wrote:
  
  On Tue, Jun 30, 2015 at 03:32:13PM +0200, Ladislav Lhotka wrote:
  
  On 30 Jun 2015, at 15:20, Juergen Schoenwaelder 
  j.schoenwael...@jacobs-university.de wrote:
  
  On Tue, Jun 30, 2015 at 02:56:30PM +0200, Ladislav Lhotka wrote:
  Juergen Schoenwaelder j.schoenwael...@jacobs-university.de writes:
  
  On Mon, Jun 29, 2015 at 11:49:11AM +0200, Ladislav Lhotka wrote:
  Hi Juergen,
  
  thank you for the review.
  
  Juergen Schoenwaelder j.schoenwael...@jacobs-university.de 
  writes:
  
  On Mon, Jun 15, 2015 at 10:49:28PM +, Kent Watsen wrote:
  
  This is a notice to start a NETMOD WG last call for the document 
  JSON Encoding of Data Modeled with YANG:
  
  https://tools.ietf.org/html/draft-ietf-netmod-yang-json-04
  
  Please indicate your support by Monday June 29, 2015 at 9PM EST.
  
  Hi,
  
  I have reviewed draft-ietf-netmod-yang-json-04.
  
  - I am not sure I agree with the wording in section 3. Why is 
  section
  8.3.3 only applicable to XML encoded data? Validation applies to
  datastores. While constraints are defined using XML-based 
  notations
  
  You are right that this section shouldn't talk about XML-encoded 
  data,
  i.e. serialized form. On the other hand, XPath 1.0 spec says: 
  XPath
  operates on the abstract, logical structure of an XML document, ….
  
  So I think a datastore needs to be represented, at least 
  conceptually,
  as XML infoset.
  
  such as XPATH, how the validation is carried out is not defined in
  the YANG specifications. I guess I actually disagree with the
  
  I don't think this is true. YANG spec doesn't say how must and 
  when
  statements are evaluated, and relies on XPath.
  
  RFC 6020:
  
  When a datastore is validated, all must constraints are
  conceptually evaluated once for each data node in the data tree, and
  for all leafs with default values in use (see Section 7.6.1).  If a
  data node does not exist in the data tree, and it does not have a
  default value, its must statements are not evaluated.
  
  [...]
  
  The text you substituted here with an ellipsis is actually quite
  important for this discussion because it defines the context for XPath
  evaluation (together with section 6.4), in particular the data tree on
  which every XPath expression is evaluated. It is clear that the data
  tree can also comprise state data, notification content or RPC
  input/output, i.e. not only datastore content as you keep saying.
  
  Terms like context node refer to the XPath data model as described in
  sec. 5 of the XPath spec:
  
  http://www.w3.org/TR/1999/REC-xpath-19991116/#data-model
  
  (and section 6.4 in RFC 6020 says it explicitly).
  
  We need to know, at least conceptually, how to construct the XPath data
  tree from JSON text. For example, it has to be clear that leaf-list
  entries encoded as a JSON array appear as sibling nodes in the data
  tree, otherwise a must constraint specified for the leaf-list won't
  work correctly. I don't think this is anyhow evident and IMO it has to
  be addressed. This is the purpose of section 3 in
  draft-ietf-netmod-yang-json-04.
  
  Would it help if validation is replaced with XPath evaluation
  throughout this section?
  
  No. I continue to believe (a) a datastore is validated and not an XML
  infoset (or something like that) and (b) that the evaluation of must
  constraints is conceptual.
 
 Both NETCONF and YANG are absolutely silent about the data model of a 
 datastore, so I assume it can be pretty much anything. Can you explain how a 
 “must” constraint is conceptually evaluated on, say, key-value database?


This is a question to answer by someone who implements it on a
key-value database.

I feel we are wasting time and energy here.

/js

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

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


Re: [netmod] WG Last Call for draft-ietf-netmod-yang-metadata-01 (until 2015-06-29)

2015-07-01 Thread Ladislav Lhotka

 On 01 Jul 2015, at 16:25, Benoit Claise bcla...@cisco.com wrote:
 
 Hi Lada,
 ay
 -
 The set of annotations must be extensible in a distributed manner
 so as to allow for defining new annotations without running into
 the risk of collisions with annotations defined and used by
 others.
 
 What does in a distributed manner mean?
 It means that different parties needn't coordinate the names and use of
 annotations, as long as they don't choose conflicting YANG module names
 or namespace URIs.
 Ok, it was not too clear (to me) from the text.

I will add text to explain what “distributed” means.

 
 
 
 - In the introduction, you mention:
 Typical use cases are:
 
 o  Deactivating a subtree in a configuration datastore while keeping
the data in place.
 
 o  Complementing data model information with instance-specific data.
 
 o  RPC operations may use metadata annotations for various purposes
in both requests and responses.  For example, the edit-config
operation in the NETCONF protocol (seesection 7.2 of [RFC6241] 
 https://tools.ietf.org/html/rfc6241#section-7.2)
uses annotations in the form of XML attributes for identifying the
point in the configuration and type of the operation.
 
 
 Don't you have any other examples than those 3?
 What about showing these examples with the spec. in this document?
 Note: I see that the first one is documented with module
 example-inactive
 Well, the backlash I received with
 draft-lhotka-netmod-yang-annotations-00 (expired) show that whilst there
 is consensus about general utility of annotations, practical definitions
 may be controversial.
 Even as example?

Yes, I am afraid.

Lada

 I could add the annotations from the above draft
 as examples here but I fear they could still make for unnecessary
 discussions.
 
 Martin already pointed out in his review that it may be wiser to replace
 the inactive annotation with something less controversial.
 ok.
 
 Regards, Benoit

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




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


Re: [netmod] WG Last Call for draft-ietf-netmod-yang-metadata-01 (until 2015-06-29)

2015-07-01 Thread Andy Bierman
On Wed, Jul 1, 2015 at 7:41 AM, Benoit Claise bcla...@cisco.com wrote:

 Hi Lada,



 - In the introduction, you mention:
  Typical use cases are:

  o  Deactivating a subtree in a configuration datastore while
 keeping
 the data in place.

  o  Complementing data model information with instance-specific
 data.

  o  RPC operations may use metadata annotations for various
 purposes
 in both requests and responses.  For example, the edit-config
 operation in the NETCONF protocol (seesection 7.2 of [RFC6241]
 https://tools.ietf.org/html/rfc6241#section-7.2)
 uses annotations in the form of XML attributes for identifying
 the
 point in the configuration and type of the operation.


 Don't you have any other examples than those 3?
 What about showing these examples with the spec. in this document?
 Note: I see that the first one is documented with module
 example-inactive

 Well, the backlash I received with
 draft-lhotka-netmod-yang-annotations-00 (expired) show that whilst there
 is consensus about general utility of annotations, practical definitions
 may be controversial.

 Even as example?

 Yes, I am afraid.

 I would be in favor to have at the very minimum one example.
 Otherwise, it's difficult to visualize how these metadata should be used.



We support an attribute called owner which is basically the I2RS
client-id.
At ;least one solution proposal for I2RS is going to allow retrieval of the
metadata from the ephemeral datastore (e.g., client-id, secondary-id).
Perhaps an example like this will not be controversial.



 Regards, Benoit (as a contributor)



Andy



 ___
 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] WG Last Call for draft-ietf-netmod-yang-metadata-01 (until 2015-06-29)

2015-07-01 Thread Kent Watsen



1. In Section 3, it says:

snip/
   Does this mean that the annotation A can be used by *any* module
   the server advertises, or just the modules that define/import
   annotation A?

For all modules implemented by the server, no import is needed.


Good, but I think the text should say this explicitly.



   I assume that the intent is for the annotation to apply to
   the server as a whole, not any specific module.  It might

Yes. The description can also say that the annotation is ignored
elsewhere.

Maybe I don't understand your response, but if we agree that annotations
are a server-level thing (not module-specific), then I do not agree that a
module's description should be able to say that an annotation should be
ignored in other modules.



   help enforce this if annotations can only be defined in
   modules that don't define any data-nodes and it is required
   that the server advertises this module explicitly (not via
   an import)...

I expect this will be the normal way of defining annotations, and it
could appear in the document as a guideline. I don't think though it is
necessary to state it as a hard rule.

OK, a SHOULD or RECOMMENDED statement would help to clarify this.



3. In Section 4.2.2, adding metadata to the first entry in a list doesn't
 seem elegant.  Can we instead create a special list element like the
 following?

Maybe I don't understand but the idea is that a separate metadata objects
can be attached to any or all entries of a list. In the example it is
added only to the first entry but another metadata object could be added
to the second entry as well.

I see, but then this make the example misleading.  I thought it was trying
to show how to place an annotation on the list as a whole.  I see now it
says list instance, but this seems uninteresting example, as list
instances are just nodes for which how to apply annotations is already
known - there's nothing special about the node being a list element -
right?




It is not possible to add an annotation to the whole list, also because
this cannot be represented in XML encoding (via attributes).

An annotation cannot be attached to a list as a whole?  - that seems
fundamentally broken, though I understand why you say it cannot be easily
represented in XML (via attributes).  Should we consider alternative
representations?

That said, if unavoidable, the draft needs to call that out as a
limitation somewhere, because it wan't clear to me.  Are there other
limitations that are not also not being called out?




Thanks,
Kent (as a contributor)

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


[netmod] Initial IEEE Yang Models Committed

2015-07-01 Thread Nadeau Thomas

FYI,

There was discussion of IEEE/Ethernet models a while back. I wanted to 
let everyone know that an initial one was just pushed. 

https://github.com/YangModels/yang/tree/master/experimental/ieee

—Tom



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


Re: [netmod] WG Last Call for draft-ietf-netmod-yang-metadata-01 (until 2015-06-29)

2015-07-01 Thread Martin Bjorklund
Ladislav Lhotka lho...@nic.cz wrote:
 
  On 01 Jul 2015, at 16:25, Benoit Claise bcla...@cisco.com wrote:
  
  Hi Lada,
  ay
  -
  The set of annotations must be extensible in a distributed manner
  so as to allow for defining new annotations without running into
  the risk of collisions with annotations defined and used by
  others.
  
  What does in a distributed manner mean?
  It means that different parties needn't coordinate the names and use of
  annotations, as long as they don't choose conflicting YANG module names
  or namespace URIs.
  Ok, it was not too clear (to me) from the text.
 
 I will add text to explain what “distributed” means.

Maybe call it decentralized?



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


Re: [netmod] Y45-04 and ietf-yang-library

2015-07-01 Thread Andy Bierman
Hi,

I am going to update the draft so the conformance leaf
is an enumeration with 'implement' and 'import' enums.
The 'none' enum is not needed because the deviations are
listed inside the module entry.  A module server would return
the conformance for the proxied server, not itself.

No new objects will be added.
Only item # is being addressed.

Every module the server implements with be listed once
with conformance=implement.  Every module and revision
that those modules import (rippled through all imports) will be listed
in the library, with conformance=import, except of
course if the imported module is also an implemented module.
No other modules will be listed.


Andy


On Tue, Jun 30, 2015 at 11:10 AM, Andy Bierman a...@yumaworks.com wrote:



 On Tue, Jun 30, 2015 at 5:45 AM, Juergen Schoenwaelder 
 j.schoenwael...@jacobs-university.de wrote:

 Writing as technical contributor...

 On Tue, Jun 30, 2015 at 10:44:49AM +0200, Martin Bjorklund wrote:
  Hi,
 
  Here's a short summary, and then some questions for the WG.
 
  The ietf-yang-library module is designed to serve two purposes:
 
1.  A protocol-independent advertisement mechanism for YANG 1.1
modules.
 
2.  A list of the YANG modules stored in a server.
 
 
  Q1.  Do you agree with these goals?

 I primarily care about goal 1.

  Q2.  Should this module be designed to work with both YANG 1.0 and
   YANG 1.1 servers - i.e., should it have yang-version 1.1 or not?
 
   If it should not be defined using YANG 1.1, why is this module
   special?

 I assume this module will sooner or later be YANG 1.1 anyway.

  Q3.  Should the /modules/module list be designed to store both YANG
   1.0 and YANG 1.1 modules?

 Yes. Even if YANG 1.1 hits the street tomorrow, we will not have
 revised all published YANG data models that were written using YANG
 1.0. So a server needs to be able to announce both YANG 1.0 and YANG
 1.1 modules.



 Yes -- We also agreed that we would not be republishing modules
 just to change the yang-version to 1.1.

 There are lots of YANG modules in progress at this time.
 Perhaps 3 out of 100 are relying on YANG 1.1 statements.
 It seems rather disruptive to declare all module must be YANG 1.1
 since it has not even made it through WGLC yat, let alone
 be published as an RFC, let alone be implemented
 in real tool-chains.

 I suspect if people find out the only think YANG 1.1 in their module
 (preventing their existing tools from working) is a yang-version-stmt,
 they might not be too happy.


 Andy



  Q4.  Consider these modules, which both import foo without revision:
 
 module a { ... import foo; ... }
 module b { ... import foo; ... }
 
   Do we require a server that implements both a and b to use the
   same revision of foo?
 
   If the answer is yes, we need to indicate the default revision
   that the server uses in the model:
 
 container modules {
   ...
   list module {
 ...
 leaf default-revision {
   type boolean;
   default false;
   description
 Indicates that this revision is used by the server if
  this module is imported without a specific revision
  date.;
 }
   }
 }
 
   If the answer is no, note that this puts an implementation burden
   on the client.  A client cannot simply download all listed
   modules, and load/compile/process them as one set.
 
   If the anwser is no, I propose that we extend the module as such:
 
 container modules {
   ...
   list module {
 ...
 list imported-without-revision {
   key name revision;
   ...
 }
   }
 }
 
   A server could then list:
 
module
  namea/name
  revision2015-01-01/revision
  imported-without-revision
namefoo/name
revision2002-02-02/revision
  /imported-without-revision
/module
module
  nameb/name
  revision2015-01-01/revision
  imported-without-revision
namefoo/name
revision2001-01-01/revision
  /imported-without-revision
/module

 I believe truth is advertisement is a good thing. In the SNMP world,
 not all pieces of the instrumentation were moving at the same pace and
 I would be somewhat surprised if this would be the case for all
 implementations in the NETCONF world. Hence, I rather accept that an
 import of foo without revision may resolve to different versions of
 foo for different imports.

 /js

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

 ___
 netmod mailing list