Subject: Re: [netmod] YANG1.1 issue:add 'dataset' and 'datastore' statements

From: Ladislav Lhotka <[email-masked]>
Date: Fri, 02 May 2014 11:26:09 +0200

Martin Bjorklund <[email-masked]> writes:

> Hi,
>
> I added this as an alternative solution to Y42; Y42-02.

+1

I think it should be considered, too, some extensibility might be useful. The set of (configuration) datastores is extensible in theory but currently there is no way for specifying the semantics of new datastores. In fact, even the semantics of "running" is open-ended.

Lada

>
>
> /martin
>
>
>
> [email-masked] wrote:
>> Hi all,
>>       I suggest add 'dataset' and 'datastore' statements to identify which 
>> dataset a data node belongs to.
>>       YANG use config statement to identify whether the node belongsto 
>> configuration dataset, but it is not extensible.
>>  
>>       For example, I2RS want to define its own dataset, but YANG have no 
>> syntax to identify which node belongs to I2RS dataset,
>>       unless I2RS extend its own yang keyword.
>> 
>>       I think we should provide a standard way to de this.
>>  
>>       'dataset' statement can be used to define a user-specific dataset. 
>> and a new statement 'belongs' can be used to identify which dataset 
>>        the data node belongs to, as substatement of data 
>> nodes(container,list,leaf,leaf-list,anyxml,etc).
>>  
>>       'datastore' statement can be used to define a data store based on 
>> one dataset.
>>  
>>       dataset statement's substatements are listed below:
>>  
>> substatement
>> cardinality
>> description
>> 0..1
>> reference
>> 0..1
>> 
>>      datastore statement's substatements are listed below:
>>  
>> substatement
>> cardinality
>> base
>> 1
>> description
>> 0..1
>> reference
>> 0..1
>> 
>>      The 'base' statement has a argument,its value is a defined dataset, 
>> to indicate which dataset this datastore is based.
>> 
>>      For example:
>>      dataset config {
>>         description "the configuration dataset";
>>      }
>> 
>>      datastore running {
>>         base config;
>>         description "running configuration data store";
>>      }
>>  
>>      dataset i2rs {
>>          description "i2rs data set";
>>      }
>>  
>>      datastore i2rs {
>>          base i2rs;
>>      }
>> 
>>      container foo {
>>         belongs config;
>>        list foo-list {
>>             belongs i2rs;
>>             key name;
>>             leaf name {...}
>>             leaf other {...}
>>        }
>>      }
>> 
>> /frank
>> --------------------------------------------------------
>> ZTE Information Security Notice: The information contained in this mail (and
>> any attachment transmitted herewith) is privileged and confidential and is
>> intended for the exclusive use of the addressee(s).  If you are not an intended
>> recipient, any disclosure, reproduction, distribution or other dissemination or
>> use of the information contained is strictly prohibited.  If you have received
>> this mail in error, please delete it and notify us immediately.
>> --------------------------------------------------------
>> ZTE Information Security Notice: The information contained in this mail (and
>> any attachment transmitted herewith) is privileged and confidential and is
>> intended for the exclusive use of the addressee(s).  If you are not an intended
>> recipient, any disclosure, reproduction, distribution or other dissemination or
>> use of the information contained is strictly prohibited.  If you have received
>> this mail in error, please delete it and notify us immediately.
>
> _______________________________________________
> netmod mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/netmod

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

---

From: [email-masked]
Date: Sun, 4 May 2014 13:58:57 +0800

/frank

Andy Bierman <[email-masked]> 写于 2014-04-30 22:16:40:

> Andy Bierman <[email-masked]> 
> 2014-04-30 22:16
> 
> 收件人
> 
> Juergen Schoenwaelder <[email-masked]>, 
> [email-masked], "[email-masked]" <[email-masked]>, 
> 
> 抄送
> 
> 主题
> 
> Re: [netmod] YANG1.1 issue:add 'dataset' and 'datastore' statements
> 
> 

> On Tue, Apr 29, 2014 at 11:00 PM, Juergen Schoenwaelder <
> [email-masked]> wrote:
> I think the examples show a misconception about how YANG works and a
> likely typical misuse of a mechanism to define 'dataset's and
> 'datastores'. I think it would be a mistake to designate say a leaf
> definition as belonging to the running datastore instead of marking it
> as a config object.

> 
> I do not want YANG modules defining datastores.
> This classification needs to be hard-wired because the validation rules
> are specific to the datastore. How does a client know the validation
> rules for the "acme:special-datastore"?

I think if a client don't know a user-defined datastors, it will ignore 
the data node tagged with dataset based by this datastore.

For example, 'edit-config' operation's target is running/candidate,
if a data node tagged with "acme:special-datastore", this data node will 
be ignored by 'edit-config'.
'edit-config' operation can only edit the data node tagged with 'config' 
dataset.
 
> 
> So far, we distinguish configuration objects from operational state
> objects. What we are missing seems to be the distinction between
> read-only operational state objects and operational state objects that
> can be written. I may be very wrong to allow data model writers to
> come up with arbitrary such distinctions.

> 
> +1
> 
> We have rpc + data nodes + notifications.
> The 'data nodes' piece consists of a configuration datastore
> plus some config=false stuff that is not in a configuration datastore.
> YANG does not define it any further than that.
> 
> We need to divide the config=false blob into at least 2 pieces:
>   1) editable operational state
>   2) non-editable operational state and statistics
> 
> YANG does not tag data as 'NETCONF' or 'I2RS' but
> rather just identifies the data properties.  The protocol used to
> edit data is outside the scope of YANG (if it is designed correctly).
> 

I think  data nodes defined by YANG is not simply  divided  into config 
and not config.
We have no way to define all methods how the data nodes is divided.

So, we should provide a way  for user to define the domain what data nodes 
belongs to.

For example, NETCONF can define config dataset and state dataset,
I2RS can define i2rs-editable dataset and i2rs-readonly dataset.

> In other words, a proposal to introduce a mechanism to identify
> writable operational state is one thing (if it comes along with a
> clear understanding what the impact of this is on the whole
> NETCONF/YANG infrastructure). But a proposal to to allow an open ended
> set of object classes and datastores seems not very useful.
> 
> /js (speaking as technical contributor)

> 
> Andy
>  
> On Wed, Apr 30, 2014 at 09:11:25AM +0800, [email-masked] wrote:
> > Hi all,
> > ZTE Information Security Notice: The information contained in this
> mail (and any attachment transmitted herewith) is privileged and 
> confidential and is intended for the exclusive use of the addressee
> (s).  If you are not an intended recipient, any disclosure, 
> reproduction, distribution or other dissemination or use of the 
> information contained is strictly prohibited.  If you have received 
> > ZTE Information Security Notice: The information contained in this
> mail (and any attachment transmitted herewith) is privileged and 
> confidential and is intended for the exclusive use of the addressee
> (s).  If you are not an intended recipient, any disclosure, 
> reproduction, distribution or other dissemination or use of the 
> information contained is strictly prohibited.  If you have received 
> 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/>
> 
--------------------------------------------------------
ZTE Information Security Notice: The information contained in this mail (and any attachment transmitted herewith) is privileged and confidential and is intended for the exclusive use of the addressee(s).  If you are not an intended recipient, any disclosure, reproduction, distribution or other dissemination or use of the information contained is strictly prohibited.  If you have received this mail in error, please delete it and notify us immediately.
--------------------------------------------------------
ZTE Information Security Notice: The information contained in this mail (and any attachment transmitted herewith) is privileged and confidential and is intended for the exclusive use of the addressee(s).  If you are not an intended recipient, any disclosure, reproduction, distribution or other dissemination or use of the information contained is strictly prohibited.  If you have received this mail in error, please delete it and notify us immediately.