Re: [YANG] mandatory & default

Balazs Lengyel <balazs.lengyel@ericsson.com> Mon, 28 January 2008 10:49 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 1JJRYp-0001KX-9B; Mon, 28 Jan 2008 05:49:55 -0500
Received: from yang by megatron.ietf.org with local (Exim 4.43) id 1JJRYo-0001KQ-5C for yang-confirm+ok@megatron.ietf.org; Mon, 28 Jan 2008 05:49:54 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1JJRYn-0001KH-Rf for yang@ietf.org; Mon, 28 Jan 2008 05:49:53 -0500
Received: from mailgw3.ericsson.se ([193.180.251.60]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1JJRYm-0004RM-ND for yang@ietf.org; Mon, 28 Jan 2008 05:49:53 -0500
Received: from mailgw3.ericsson.se (unknown [127.0.0.1]) by mailgw3.ericsson.se (Symantec Mail Security) with ESMTP id 3263D2074C; Mon, 28 Jan 2008 11:49:52 +0100 (CET)
X-AuditID: c1b4fb3c-aaaedbb0000007e0-bb-479db350b110
Received: from esealmw127.eemea.ericsson.se (unknown [153.88.254.122]) by mailgw3.ericsson.se (Symantec Mail Security) with ESMTP id 12C9320509; Mon, 28 Jan 2008 11:49:52 +0100 (CET)
Received: from esealmw129.eemea.ericsson.se ([153.88.254.177]) by esealmw127.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); Mon, 28 Jan 2008 11:49:51 +0100
Received: from [159.107.197.224] ([159.107.197.224]) by esealmw129.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); Mon, 28 Jan 2008 11:49:51 +0100
Message-ID: <479DB34F.10103@ericsson.com>
Date: Mon, 28 Jan 2008 11:49:51 +0100
From: Balazs Lengyel <balazs.lengyel@ericsson.com>
User-Agent: Thunderbird 2.0.0.4 (X11/20070604)
MIME-Version: 1.0
To: Phil Shafer <phil@juniper.net>
Subject: Re: [YANG] mandatory & default
References: <200801280322.m0S3Mqhi051945@idle.juniper.net>
In-Reply-To: <200801280322.m0S3Mqhi051945@idle.juniper.net>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 28 Jan 2008 10:49:51.0501 (UTC) FILETIME=[825CE3D0:01C8619B]
X-Brightmail-Tracker: AAAAAA==
X-Spam-Score: -1.0 (-)
X-Scan-Signature: 68ba2b07ef271dba6ee42a93832cfa4c
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

Hello,
Some basic statements for me:
1) the get-config results can or can not contain defaults based on the with-defaults parameter, 
so the content of get-config is not a deciding factor between the different "default" alternatives.
2) Storing the default values is an internal issue for the implementation, which is independent 
from the existence (or not) of a leaf in the conceptual database.

Balazs

Phil Shafer wrote:
> [replying to multiple Andy-grams]
> 
> Andy Bierman writes:
>> Whether the manager or the agent sets the leaf to the default,
>> it is there from a NETCONF protocol PoV.
> 
> NETCONF leaves all this to the data model, so there's no single
> NETCONF POV on this issue.  This is designed to support existing
> views of configuration issues, including defaults.
> 
>> 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.
> 
> If I'm using NETCONF to archive configurations, I don't
> want them littered with defaults.  Similar for if I'm
> viewing them in the equivalent of a mib browser.  I want
> to see the statements that someone has explicitly configured,
> not volumes of uninteresting defaults.
> 
> Part of putting these values into YANG modules is to allow
> interested parties (applications, developers) to know these values
> as they are helping the user create new instances.  To my mind, the
> "with-defaults" is useless for this scenario, since I want to know
> the defaults _before_ I make the config, not after.
> 
> The KISS view of config is used for CLIs because is keeps the
> noise to a minimum.  This need doesn't disappear when the
> config moves into the application/automation world.
> 
> 
>> Message-ID: <479A799D.1060003@andybierman.com>
>> Date: Fri, 25 Jan 2008 16:06:53 -0800
>> From: Andy Bierman <ietf@andybierman.com>
>>
>> After a system reboot, does the agent 'remember' that mtu
>> was set to 1500 by the manager, so the initial <running/>
>> config from NV-storage after the next reboot has an mtu leaf
>> for eth1?
> 
> No, the system records as the configuration only those fields which
> are interesting.  For example in JUNOS, we define "interesting" as
> anything the user told us to do.  In IOS, they define "interesting"
> as any non-default values.  IMHO, you're trying to define interesting
> to include some very boring defaults.
> 
> 
>> Message-ID: <479B4B65.90104@andybierman.com>
>> Date: Sat, 26 Jan 2008 07:01:57 -0800
>> From: Andy Bierman <ietf@andybierman.com>
>>
>> But here is where this CLI-based design is broken.
>> If a manager sends jumbo packets on eth1, they will not be accepted.
>> There is a maximum transmission unit size in effect on eth1,
>> but the manager is told there is none in the <get-config>.
> 
> The application can find all the information about "mtu", including
> its default value, in the metadata.  The application can show this
> default value to the user as they create a new interface, and the
> application can know that if there's an <mtu> in the interface, its
> there because someone wanted it, and that's it's not noise.
> 
>> The response "oh no, there is an MTU value in effect, just not in the config"
>> is really broken.  It's not state data, and it's not config data, but if
>> the manager does not know the value, it cannot reliably configure other
>> devices that send packets to 'eth1' on this agent.
> 
> Nope, it's not config data.  It's a default value.  The device
> doesn't need it to perform the job of configuration, which is
> defined in the NETCONF spec as:
> 
>    Configuration data is the set of writable data that is required to
>    transform a system from its initial default state into its current
>    state.
> 
> Default values aren't required in config data.  Or wanted.
> 
> If I've got 64,000 interfaces, I don't need to see this default
> value for each interface, let alone the hundred other knobs for
> each interface that have perfect reasonable and completely
> uninteresting default values.
> 
>> IMO, the mtu is clearly config data, and clearly in effect at
>> all times eth1 is accepting packets.  The config returned
>> in NETCONF PDUs should match.  Filtering out these defaults
>> is a separate issue from whether they exist or not.
> 
> The issue isn't filtering them out.  The issue is are defaults part
> of the configuration?  I understand the need for a mechanism for
> discovering them, both inline and in metadata, but I don't see any
> win in considering such noise as part of the configuration of a
> device.
> 
> We are working hard to make devices _more_ managable.  Adding a
> couple of orders of magnitude of noise into the configuration
> means:
> - performance issues (as my 1m config turns into 100m)
> - upgrade/downgrade issues (as defaults for unused features break
>   on software that doesn't support them, even if they are completely
>   unimportant)
> - readability issues (as adding noise makes the config less readable
>   and the purpose of using xml was human readability for debugging
>   and monitoring)
> 
> Inline defaults is broken, to lift your words, since it takes a
> complex problem and makes it more complex.  We should be simplifying,
> reducing, and giving better visibility into the important parts of
> configuration, not polluting them with noise.
> 
> Thanks,
>  Phil
> 
> 
> _______________________________________________
> YANG mailing list
> YANG@ietf.org
> https://www1.ietf.org/mailman/listinfo/yang

-- 
Balazs Lengyel                       Ericsson Hungary Ltd.
TSP System Manager
ECN: 831 7320                        Fax: +36 1 4377792
Tel: +36-1-437-7320     email: Balazs.Lengyel@ericsson.com


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