Re: [netmod] yang-data-ext issues

Martin Bjorklund <mbj@tail-f.com> Fri, 27 April 2018 10:03 UTC

Return-Path: <mbj@tail-f.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 267EC12DA46 for <netmod@ietfa.amsl.com>; Fri, 27 Apr 2018 03:03:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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 HKOLBKdVSB9A for <netmod@ietfa.amsl.com>; Fri, 27 Apr 2018 03:03:27 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 1AD8112DA41 for <netmod@ietf.org>; Fri, 27 Apr 2018 03:03:27 -0700 (PDT)
Received: from localhost (h-80-27.A165.priv.bahnhof.se [212.85.80.27]) by mail.tail-f.com (Postfix) with ESMTPSA id BA9A61AE030D; Fri, 27 Apr 2018 12:03:25 +0200 (CEST)
Date: Fri, 27 Apr 2018 12:03:25 +0200
Message-Id: <20180427.120325.419501937185262392.mbj@tail-f.com>
To: lhotka@nic.cz
Cc: netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <065a363753a67ee12f8bde6224009207b5fe7ee7.camel@nic.cz>
References: <87muxq1pk9.fsf@nic.cz> <CABCOCHSwB8m6Uk82MZHnjnVi=0ofRohqEPT0Q06NM=+3n5gtFA@mail.gmail.com> <065a363753a67ee12f8bde6224009207b5fe7ee7.camel@nic.cz>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/jYIFMm1eD6fhBx-KMV03178wT5Q>
Subject: Re: [netmod] yang-data-ext issues
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 27 Apr 2018 10:03:29 -0000

Hi,

Ladislav Lhotka <lhotka@nic.cz> wrote:
> On Thu, 2018-04-26 at 17:52 -0700, Andy Bierman wrote:
> > 
> > 
> > On Wed, Apr 25, 2018 at 10:53 PM, Ladislav Lhotka <lhotka@nic.cz> wrote:
> > > Ladislav Lhotka <lhotka@nic.cz> writes:
> > > 
> > > > On Wed, 2018-04-25 at 08:04 -0700, Andy Bierman wrote:
> > > >> 
> > > >> 
> > > >> On Wed, Apr 25, 2018 at 7:05 AM, Ladislav Lhotka <lhotka@nic.cz> wrote:
> > > >> > On Wed, 2018-04-25 at 15:55 +0200, Juergen Schoenwaelder wrote:
> > > >> > > On Tue, Apr 24, 2018 at 04:36:01PM +0200, Martin Bjorklund wrote:
> > > >> > > > Ladislav Lhotka <lhotka@nic.cz> wrote:
> > > >> > > > > Martin Bjorklund <mbj@tail-f.com> writes:
> > > >> > > > > 
> > > >> > > > > > Hi,
> > > >> > > > > > 
> > > >> > > > > > I am not sure what this statement tells us re. the issue in
> > > this
> > > >> > email
> > > >> > > > > > thread.
> > > >> > > > > 
> > > >> > > > > It tells us that, in my view, the approach taken in this document
> > > is a
> > > >> > > > > bad idea.
> > > >> > > > 
> > > >> > > > Do you mean that the WG shoud drop this document?  And people that
> > > >> > > > need yang-data should continue to use the version in 8040?  Or that
> > > >> > > > people that need yang-data do not have a valid use case and they
> > > >> > > > should do something else?
> > > >> > > 
> > > >> > > One option is that people use yang-data as defined in RFC 8040 until
> > > >> > 
> > > >> > IMO, people should use plain YANG. With the new YANG library it will be
> > > >> > possible
> > > >> > to confine such non-NM schemas in a special datastore so that the
> > > intention
> > > >> > should be clear and multi-module schemas with all the additional data
> > > >> > (versions,
> > > >> >  features, deviations) can be used.
> > > >> > 
> > > >> 
> > > >> I don't see how yang-data interferes with "plain YANG" at all.
> > > >> It is for data that is not in scope for plain YANG.
> > > >
> > > > My question is why this extension is needed in the first place.
> > > 
> > > For example, RFC 8040 could have used two modules instead of
> > > "ietf-restconf", one with the contents of grouping "errors" and the
> > > other with the contents of grouping "restconf". No extension.
> > > 
> > 
> > This is true. We used to do this before yang-data was available.
> 
> If I remember correctly, the stuff was inside groupings that were not used
> anywhere.

Which doesn't quite work, since no namespace is attached to the nodes.

> > > What would be wrong with this solution? Instead, the reader is
> > > overwhelmed with the complexity of the "yang-data" definition, and most
> > > tools cannot process the module.
> > 
> > There are tools that can use yang-data.
> > Not all use-cases involve a server to query for a yang-library.
> 
> Sure, but it is not necessary, I meant it just as an option. Such YANG modules
> can be passed straight to tools.
> 
> > Offline tools need to know about the special data somehow.
> 
> Why? Let's say I want the ascii tree, and pyang will be able to generate it. All
> right, there will be "rw" labels that don't apply but it is not a big deal.
> 
> > The yang-data extension prevents data-def-stmts from being treated
> > as if they were configuration or operational data.
> 
> This would be a problem if this yang-data is mixed with standard data in the
> same module. IMO this can be avoided, and then for it is essentially irrelevant
> for tools whether it is normal data or not.
> 
> > 
> > I agree with you that unconstrained use of yang-data is questionable
> > for a standard extension. The bar should be that all tools which choose
> > to implement the extension should provide the user with the same behavior.
> > Declaring that behavior out-of-scope does not help interoperability at all.
> 
> Yes, and so my proposal here is to silently misuse YANG somewhat where necessary
> rather than spend cycles on a Standard Track document that gives a false
> impression of a general solution.

I am strongly opposed to this.  IMO it is much better to put such
structures in an extension, which tools that don't understand it will
ignore, than relying on description statements in normal data nodes,
which no tool can understand without hard coding special cases.


> It would be great to remove NETCONF specifics from YANG and I'd be willing to
> contribute to this work.

This is a different topic though.


/martin


> 
> Lada
> 
> > 
> > 
> > > Lada
> > > 
> > 
> > Andy
> >  
> > > >
> > > >> A plain client can ignore yang-data and not affect and RPC, notification,
> > > or
> > > >> data
> > > >> definitions in plain YANG.
> > > >
> > > > A plain (NC/RC) client should never see such data even if it is not
> > > protected by
> > > > yang-data in YANG. On the other hand, tools will be able to process such
> > > schemas
> > > > (generate the ascii tree, convert it to something else, generate sample
> > > > instances etc.) without explicitly supporting yang-data.
> > > >
> > > > Lada
> > > >
> > > >> 
> > > >>  
> > > >> > Lada
> > > >> > 
> > > >> 
> > > >> Andy
> > > >>  
> > > >> > > there is a version of YANG that has a proper and complete integrated
> > > >> > > solution. (If for example yang-data is used to declare error content
> > > >> > > for RPCs, then more extensions are needed or a proper integration
> > > into
> > > >> > > YANG. Is it really good to introduce augment-yang-data (instead of
> > > >> > > making augment work with say 'data' in YANG 1.2)? And then we do
> > > >> > > uses-yang-data etc.
> > > >> > > 
> > > >> > > /js
> > > >> > > 
> > > >> > -- 
> > > >> > Ladislav Lhotka
> > > >> > Head, CZ.NIC Labs
> > > >> > PGP Key ID: 0xB8F92B08A9F76C67
> > > >> > 
> > > >> > _______________________________________________
> > > >> > netmod mailing list
> > > >> > netmod@ietf.org
> > > >> > https://www.ietf.org/mailman/listinfo/netmod
> > > >> 
> > > >> 
> > > > -- 
> > > > Ladislav Lhotka
> > > > Head, CZ.NIC Labs
> > > > PGP Key ID: 0xB8F92B08A9F76C67
> > > >
> > > > _______________________________________________
> > > > netmod mailing list
> > > > netmod@ietf.org
> > > > https://www.ietf.org/mailman/listinfo/netmod
> > > 
> > > _______________________________________________
> > > netmod mailing list
> > > netmod@ietf.org
> > > https://www.ietf.org/mailman/listinfo/netmod
> -- 
> Ladislav Lhotka
> Head, CZ.NIC Labs
> PGP Key ID: 0xB8F92B08A9F76C67
> 
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
>