Re: [YANG] mandatory & default

Martin Bjorklund <mbj@tail-f.com> Fri, 25 January 2008 22:40 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 1JIXDX-0000jp-8n; Fri, 25 Jan 2008 17:40:11 -0500
Received: from yang by megatron.ietf.org with local (Exim 4.43) id 1JIXDW-0000jh-4x for yang-confirm+ok@megatron.ietf.org; Fri, 25 Jan 2008 17:40:10 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1JIXDV-0000jZ-PR for yang@ietf.org; Fri, 25 Jan 2008 17:40:09 -0500
Received: from [213.180.94.162] (helo=mail.tail-f.com) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1JIXDT-0007Me-F4 for yang@ietf.org; Fri, 25 Jan 2008 17:40:09 -0500
Received: from localhost (c213-100-166-13.swipnet.se [213.100.166.13]) by mail.tail-f.com (Postfix) with ESMTP id 4DDEA1B80CB; Fri, 25 Jan 2008 23:40:05 +0100 (CET)
Date: Fri, 25 Jan 2008 23:38:24 +0100 (CET)
Message-Id: <20080125.233824.88508964.mbj@tail-f.com>
To: ietf@andybierman.com
Subject: Re: [YANG] mandatory & default
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <4799FD8F.1090402@andybierman.com>
References: <4799FD8F.1090402@andybierman.com>
X-Mailer: Mew version 5.1.51 on Emacs 22.1 / Mule 5.0 (SAKAKI)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 41c17b4b16d1eedaa8395c26e9a251c4
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

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.

> 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.

> 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


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