Subject: Re: [netmod] Proposed consensus mail on yang-00172

From: "Ersue, Mehmet (NSN - DE/Munich)" <[email-masked]>
Date: Thu, 6 Nov 2008 12:51:44 +0100

Overall, the table looks good. 

I guess in case of RPC input ordered-by would force
the manager to deliver the list elements in the requested 
order. Is this correct? If not, please clarify.

Mehmet

> -----Original Message-----
> From: [email-masked] 
> [mailto:[email-masked]] On Behalf Of ext Balazs Lengyel
> Sent: Tuesday, October 28, 2008 9:11 PM
> To: David Partain
> Cc: [email-masked]
> Subject: Re: [netmod] Proposed consensus mail on yang-00172
> 
> Generally I support this with some comments:
> 
> General statement:
> Restrictions on data going to the agent must be honored, 
> otherwise an error is returned.
> Restrictions on data coming from the agent, are promises by 
> the agent. If they are broken, 
> tough luck, but they shouldn't.
> 
> Enforced at commit implies: not enforced during the editing 
> of a candidate configuration
> 
> I am still unclear what ordered-by  means on RPC input.
> 
> Balazs
> 
> David Partain wrote:
> > Greetings,
> > 
> > Hope the table below works.  You may have to use a fixed-width font.
> > 
> > This is a call for consensus about issue 'yang-00172:
> > clarifications for ordered-by, must, unique, keyref, when,
> > mandatory, minmax, etc'.  See the wiki at
> > 
> http://wiki.tools.ietf.org/wg/netmod/trac/wiki/Issues_yang#issue-00172
> > for an introduction.
> > 
> > This mail documents the conversations at the interim for proposed
> > changes / clarifications in text in the YANG document.  As such,
> > the question is whether you agree with the interpretation that
> > this text intends to document.  There are no new features being
> > proposed.
> > 
> > PLEASE speak up if you favor the changes or object to the text
> > (including people who attended the interim).
> > 
> > Question that started the discussion: What does 'ordered-by
> > user;' mean for read-only data or RPC input or notification
> > content?
> > 
> > This question is broader and the table below says when the
> > various statements are relevant or not.
> > 
> >                config   config    RPC    RPC     Notifi-  Enforced
> >                 true    false     input  output  cation   at commit
> > ----------------------------------------------------------------
> > ordered-by    |  OK   |   i    |  OK   |   i    |   i    |  N
> > unique        |  OK   |   OK   |  OK   |   OK   |   OK   |  Y
> > must(1)       |  OK   |   OK   |  OK   |   OK   |   OK   |  Y
> > keyref        |  OK   |   OK   |  OK(2)|   OK(2)|   OK(2)|  Y
> > when(1)       |  OK   |   OK   |  OK   |   OK   |   OK   |  N
> > mandatory     |  OK   |   OK   |  OK   |   OK   |   OK   |  Y
> > max/max-elems |  OK   |   OK   |  OK   |   OK   |   OK   |  Y
> > 
> > All of these are constraints, and the question is when that
> > constraint is enforced.
> > 
> > Key:
> > 
> >   i - ignored
> > 
> >   (1) must, when - the XPath context varies, and we'll have to
> >   document all of this for all of the different columns.
> > 
> >   (2) restrictions: the target of the XPath expression refers to
> >   the running config or to status data.
> > 
> > The interim meeting spent some time talking about the differences
> > between when and must.  Phil Shafer's definitions:
> > 
> > 'when' - The parent schema node is ignored unless the 'when'
> > expression is satisfied.  If the expression becomes false, any
> > data associated with the node is automatically deleted.
> > 
> > (Editor: deleted from what? from the response? from the 
> config database?  Not 
> > entirely sure.  Phil?)
> > 
> > 'must' - If the parent node exists in the database, the 'must'
> > expression must be true.  If the expression is false, an error
> > condition exists.  Enforced at commit time.
> > 
> > Do you agree with the definitions above?
> > 
> > There was a long discussion about when a 'when' expression is
> > evaluated.  The rough consensus of the room was that 'when'
> > constraints should be enforced in the candidate configuration,
> > whereas 'must' is enforced first when committing in the running
> > configuration.
> > 
> > Phil Shafer will write some text about a hierarchy of constraints
> > where mandatory can be applied underneath a 'when'.  Conditions
> > on parents affect or negate constraints on children.
> > _______________________________________________
> > netmod mailing list
> > [email-masked]
> > https://www.ietf.org/mailman/listinfo/netmod
> 
> -- 
> Balazs Lengyel                       Ericsson Hungary Ltd.
> TSP System Manager
> ECN: 831 7320                        Fax: +36 1 4377792
> Tel: +36-1-437-7320     email: [email-masked]
> _______________________________________________
> netmod mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/netmod
> 
_______________________________________________
netmod mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/netmod

---

From: Martin Bjorklund <[email-masked]>
Date: Thu, 06 Nov 2008 13:13:26 +0100 (CET)

> order. Is this correct? If not, please clarify.

If a RPC input parmeter list is ordered-by user, it means that the
order used by the manager has some semantic meaning.  For example:

  rpc ping-once-until-found {
      input {
          leaf-list host {
              ordered-by user;
              type inet:ip-address;
          }
      }
      output {
          leaf found-host {
              type inet:ip-address;
          }         
      }
  }

The client might send:

  <rpc>
    <ping-once-until-found>
      <host>10.0.0.1</host>
      <host>10.0.0.3</host>
      <host>10.0.0.2</host>
    </ping-once-until-found>
  </rpc>

And the server will try to ping the hosts - in the order specified by
the client.

/martin