Subject: [netmod] Client-side conformance

From: "Sharon Chisholm" <[email-masked]>
Date: Thu, 20 Nov 2008 18:16:16 -0500

Hi

I said I would raise this on the mailing list during the working group
meeting.

How do we specify client-side conformance in yang? I.e., how to a
specify that the client must provide certain fields to create a data
instances, for example. This is different from what fields the
server-side must support to claim conformance. This has proved to be a
critical thing to understand in CLI and I think it is important in
NETCONF as well.

Sharon Chisholm
Nortel 
Ottawa, Ontario
Canada
_______________________________________________
netmod mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/netmod

---

From: Andy Bierman <[email-masked]>
Date: Thu, 20 Nov 2008 15:23:10 -0800

> critical thing to understand in CLI and I think it is important in

the YANG module describes what a valid configuration database
(or RPC input) must contain.  A CM application must make sure
it configures all mandatory=true, obeys all must, unique clauses,
min-elements, max-elements, etc.

> __

Andy

---

From: "Sharon Chisholm" <[email-masked]>
Date: Fri, 21 Nov 2008 11:04:02 -0500

Hi

This seems very complicated. Consider that I'm an operator or tool
developer reading a Yam trying to decide what is required to create a
new foo. I remember the nightmare of trying to create new notification
receivers using those standard MIBs. It was a lot of trial and error to
determine what was the minimum required to create this (it didn't help
it was spread out across 5 tables, but anyways). The reasons I wanted
minimum since I really only had 2 real values to set and felt it best if
the device made up values for the other fields.

Note that default values defined in the Schema also does not cover this
since most default values won't be defined that way since they may
change between implementations and releases. Hence the get with defaults
work.

Sharon 

-----Original Message-----
From: Andy Bierman [mailto:[email-masked]] 
Sent: Thursday, November 20, 2008 6:23 PM
To: Chisholm, Sharon (CAR:ZZ00)
Cc: [email-masked]
Subject: Re: [netmod] Client-side conformance

> critical thing to understand in CLI and I think it is important in 

the YANG module describes what a valid configuration database (or RPC
input) must contain.  A CM application must make sure it configures all
mandatory=true, obeys all must, unique clauses, min-elements,
max-elements, etc.

Andy

---

From: "Sharon Chisholm" <[email-masked]>
Date: Fri, 21 Nov 2008 11:15:36 -0500

Hi

Isn't this the assigned-by that Martin is currently talking about?

Sharon 

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf
Of Chisholm, Sharon (CAR:ZZ00)
Sent: Friday, November 21, 2008 11:04 AM
To: Andy Bierman
Cc: [email-masked]
Subject: Re: [netmod] Client-side conformance

Hi

Sharon 

-----Original Message-----
From: Andy Bierman [mailto:[email-masked]]
Sent: Thursday, November 20, 2008 6:23 PM
To: Chisholm, Sharon (CAR:ZZ00)
Cc: [email-masked]
Subject: Re: [netmod] Client-side conformance

Andy

---

From: Martin Bjorklund <[email-masked]>
Date: Mon, 24 Nov 2008 23:39:27 +0100 (CET)

> Isn't this the assigned-by that Martin is currently talking about?

[...]

> new foo.

With assigned-by there are 3 cases:

  list foo {
      key "name";
      leaf name { .. .}
  
      leaf a {
          ...
      }
      leaf b {
          mandatory true;
          ...
      }
      leaf c {
          assigned-by system;
      }
  }

When a new 'foo' is created, the client knows that it MUST provide
values for 'name' (since it is the key) and 'b' (since it is
mandatory).   'a' is completely optional, it may or may not exist in
the db.  'c' is assigned by the system if the client does not create
it.

There are some details to work out re. assigned-by, but I hope this is
not a nightmare for the client.

/martin