Re: [Netconf] [netmod] magic leaf 'type' in IETF interfaces

Jan Lindblad <janl@tail-f.com> Wed, 19 December 2018 09:30 UTC

Return-Path: <janl@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 83BDE130DEF; Wed, 19 Dec 2018 01:30:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id g1b14W7fzPFF; Wed, 19 Dec 2018 01:30:50 -0800 (PST)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 5EB69130DC8; Wed, 19 Dec 2018 01:30:50 -0800 (PST)
Received: from [10.147.40.143] (unknown [173.38.220.39]) by mail.tail-f.com (Postfix) with ESMTPSA id CE4911AE0446; Wed, 19 Dec 2018 10:30:47 +0100 (CET)
From: Jan Lindblad <janl@tail-f.com>
Message-Id: <6912DD4C-4C4E-45E8-9F0E-D8D8139F83AE@tail-f.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_0AFC8023-444A-4AA3-AF3F-93CB26C61F8A"
Mime-Version: 1.0 (Mac OS X Mail 12.2 \(3445.102.3\))
Date: Wed, 19 Dec 2018 10:30:46 +0100
In-Reply-To: <CABCOCHQc+kuNiw4guOsU5oRxnwZA0u7-sA5zHUKcERdqytaQpg@mail.gmail.com>
Cc: Balázs Lengyel <balazs.lengyel@ericsson.com>, "netconf@ietf.org" <netconf@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>
To: Andy Bierman <andy@yumaworks.com>
References: <VI1PR07MB39818BD20967B36B8F24DBA69BA10@VI1PR07MB3981.eurprd07.prod.outlook.com> <20181217.091505.218628572185200621.mbj@tail-f.com> <83b139a1-a0ab-5fbc-f702-7f0d50a46864@ericsson.com> <90DB3C3B-FD52-4903-81B0-93985E6F74FE@tail-f.com> <CABCOCHQc+kuNiw4guOsU5oRxnwZA0u7-sA5zHUKcERdqytaQpg@mail.gmail.com>
X-Mailer: Apple Mail (2.3445.102.3)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/VMrDxYUFDt9FSN9KlonmCVRo1T0>
Subject: Re: [Netconf] [netmod] magic leaf 'type' in IETF interfaces
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 19 Dec 2018 09:30:53 -0000

Hi,
>> While I agree with Martin, in our systems we have a number of places, where the system does create configuration in running, due to
>> 
>> different levels of automation and autonomous algorithms kick-in
>> the created config needs to be possible to be further modified by the operator
>> the created config needs to be referenced from operator created config
>> the created config is not always ephemeral, it might need to be part of backup/restore
> This is only a sampling from "the list of excuses". I have heard many more. The road to hell is paved with good intentions, however. If we want to build automation based on sound theory, clearly separating the orders from managers from a system's own operational view is key, IMO. Reliability, security, accountability are growing in importance, and they all play in this direction.
> 
> We may not need to standardize rules to outlaw the above; the market will take care of that. What we need to ensure is that it is possible to be standards compliant without having to implement design excuses like these.
> 
> 
> NMDA has a lot of room for proprietary mechanisms for converting <running> to <intended>.
> Many times the features desired by engineers exceed the capabilities of YANG, such as
> a dynamic default leaf.  YANG allows a simple constant, and no business logic to pick the default.
> This is a very valid use of "server auto-magic".
> 
> Maybe a future version of YANG can improve the client visibility into this "auto-magic"

As you say, this is not uncommon. I usually recommend to leave out any default statement, and write in the description what happens if this leaf isn't set. The operator can then override the default by giving a value. 

While some more advanced features for default values may be of some utility, the simplicity of YANG is also important. We don't want to make the YANG models -- the interface contracts -- the new place for all business logic.

/jan