Re: [YANG] mandatory & default

Andy Bierman <ietf@andybierman.com> Fri, 25 January 2008 23:14 UTC

Return-path: <yang-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1JIXks-0007u5-LF; Fri, 25 Jan 2008 18:14:38 -0500
Received: from yang by megatron.ietf.org with local (Exim 4.43) id 1JIXkr-0007oV-JL for yang-confirm+ok@megatron.ietf.org; Fri, 25 Jan 2008 18:14:37 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1JIXkr-0007oN-9Q for yang@ietf.org; Fri, 25 Jan 2008 18:14:37 -0500
Received: from smtp116.sbc.mail.sp1.yahoo.com ([69.147.64.89]) by ietf-mx.ietf.org with smtp (Exim 4.43) id 1JIXkp-0008FW-Jv for yang@ietf.org; Fri, 25 Jan 2008 18:14:37 -0500
Received: (qmail 17142 invoked from network); 25 Jan 2008 23:14:35 -0000
Received: from unknown (HELO ?192.168.0.10?) (andybierman@att.net@67.126.129.159 with plain) by smtp116.sbc.mail.sp1.yahoo.com with SMTP; 25 Jan 2008 23:14:34 -0000
X-YMail-OSG: B.cwguQVM1lYVNx8B.GxsrSwXh2ppSTZ7GK9zOH17_sTz3hg
X-Yahoo-Newman-Property: ymail-3
Message-ID: <479A6CDF.5030304@andybierman.com>
Date: Fri, 25 Jan 2008 15:12:31 -0800
From: Andy Bierman <ietf@andybierman.com>
User-Agent: Thunderbird 2.0.0.9 (Windows/20071031)
MIME-Version: 1.0
To: Martin Bjorklund <mbj@tail-f.com>
Subject: Re: [YANG] mandatory & default
References: <4799FD8F.1090402@andybierman.com> <20080125.233824.88508964.mbj@tail-f.com>
In-Reply-To: <20080125.233824.88508964.mbj@tail-f.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 5011df3e2a27abcc044eaa15befcaa87
Cc: yang@ietf.org
X-BeenThere: yang@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: YANG modeling Language for NETCONF <yang.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/yang>, <mailto:yang-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/yang>
List-Post: <mailto:yang@ietf.org>
List-Help: <mailto:yang-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/yang>, <mailto:yang-request@ietf.org?subject=subscribe>
Errors-To: yang-bounces@ietf.org

Martin Bjorklund wrote:
> Hi,
> 
> Andy Bierman <ietf@andybierman.com> wrote:
>> Hi,
>>
>> I don't think every vendor deals with agent-created defaults in the
>> same way, and there is zero chance every implementation will converge
>> on one interpretation.
> 
> Don't you think that we must have one, clear definition of how to
> handle this?  How can anything else ever be interoperable?
> 
>> The important thing to consider is:
>>    what is important for standards-based configuration?
>>
>> Here is the bottom line:
>>
>>   - RFC 4741 requires that *all* config database objects be returned
>>     in a <get-config> without any filters
> 
> Ok.
> 
>>   - All data nodes that exist in the configuration have some value
>>     (consider the value for 'empty' to be present/not-present)
> 
> Ok.
> 
>>   - An extension is needed (e.g., with-defaults=false) to change the
>>     behavior of RFC 4741 wrt/ returning a subset of all nodes without
>>     any filter defined
> 
> Or, if you, for a moment, try to view thing from the other side, you
> need an extension with-defaults=true to actually get the default
> values, since they are not stored in the configuration data store.
> 

I disagree.

If I invoke an <edit-config> and set the leaf to this
default value, it is still not there?


If I invoke an <edit-config> and set the leaf to a
non-default value, it is clearly there.

Whether the manager or the agent sets the leaf to the default,
it is there from a NETCONF protocol PoV.




>> Phil seems to be arguing that nodes that contain the agent-specified
>> default value are not really there.
> 
> Right, since they are not there in his implementation.  Why would you
> store stuff that's not even needed to store?  That's just a waste of
> resources.


Nobody said anything about storing the value.
It is an implementation-specific matter as to how
an agent generates a reply to a <get-config> request.
The defaults do not have to be stored -- they can
be generated on the fly.


> 
>> Yet, if the manager
>> sets a node explicitly to the default value, it is there.
>> IMO, this is rather confusing, and broken.
> 
> I think it makes perfect sense.  If you set it, it's there.  IMO it's
> more confusing if you set it and it's sometimes _not_ there (b/c it
> happened to be the default).  NOTE: I'm NOT saying that this is the
> *only* way to do defaults, I'm just saying that this defintion is
> consistent.
> 
>> The idea of tracking down stacks of offline vendor documentation
>> to determine the theoretical values of these 'default nodes',
> 
> Did anyone suggest that?  The default value is part of the data model,
> and you should be able to get the data model through schema discovery.
> There are lots of other information you need from the data model
> that's not in the instance document, like type, config true/false,
> relationships etc.
> 
>> instead of
>> simply asking the agent for the real values, is a non-starter.
> 
> I don't agree.  I do agree that being able to get defaults from the
> box is useful, that's why the with-defaults extension is good.
> 
> 
> /martin
> 
> 

Andy


_______________________________________________
YANG mailing list
YANG@ietf.org
https://www1.ietf.org/mailman/listinfo/yang