Re: [netmod] YANG next

Ladislav Lhotka <lhotka@nic.cz> Tue, 23 July 2019 21:43 UTC

Return-Path: <lhotka@nic.cz>
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 DF29A1200FD for <netmod@ietfa.amsl.com>; Tue, 23 Jul 2019 14:43:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.997
X-Spam-Level:
X-Spam-Status: No, score=-6.997 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nic.cz
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 71rq3wtYWLPL for <netmod@ietfa.amsl.com>; Tue, 23 Jul 2019 14:43:46 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [IPv6:2001:1488:800:400::400]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 119FA120110 for <netmod@ietf.org>; Tue, 23 Jul 2019 14:43:46 -0700 (PDT)
Received: from birdie (unknown [IPv6:2001:67c:1232:144:1a4f:a84b:2bfd:c611]) by mail.nic.cz (Postfix) with ESMTPSA id 8DD2B140B13; Tue, 23 Jul 2019 23:43:43 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1563918224; bh=H0oOBFqGKGZSlSkllrIlhTe9xaSmSi2PPy2iad221MI=; h=From:To:Date; b=TtQBNcvRk+F/GWRBLYS5E/hefbBWbAPShpzqK3rFmAutWOWOq+rXoQY6J9VELUJOJ w5/HOhRfQbyqgASYVIKXFvKse51pLaN8Uj2Z2e949QH5xpjfVh4gQIFHto1gSBFTV2 XWum23A2TjeI8nP6ptdv1Z8rMPaE6hnSExFgr3Dg=
Message-ID: <c35ae918e65411575b7e18dfd24547cbbf9d216d.camel@nic.cz>
From: Ladislav Lhotka <lhotka@nic.cz>
To: Andy Bierman <andy@yumaworks.com>
Cc: NETMOD WG <netmod@ietf.org>
Date: Tue, 23 Jul 2019 17:43:41 -0400
In-Reply-To: <CABCOCHQoKAiugVsDhuHSvhfnCbP2D2caLU88cF-AkkH0aCSOUA@mail.gmail.com>
References: <ff5d90b51872df190abb226cb10d51a635e88521.camel@nic.cz> <CABCOCHRxfKWh1OS3bUJAabk3XAqTCiOswiE65JtMC8eyxMUxMA@mail.gmail.com> <02c4110737b4ff23f966e6153fad764f04436089.camel@nic.cz> <CABCOCHQoKAiugVsDhuHSvhfnCbP2D2caLU88cF-AkkH0aCSOUA@mail.gmail.com>
Organization: CZ.NIC
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.32.4
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: clamav-milter 0.100.3 at mail.nic.cz
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/UTmFy6nsRr8BQt9gw7T8EiaxTBI>
Subject: Re: [netmod] YANG next
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
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: Tue, 23 Jul 2019 21:43:49 -0000

On Tue, 2019-07-23 at 11:35 -0700, Andy Bierman wrote:
> 
> 
> On Tue, Jul 23, 2019 at 11:00 AM Ladislav Lhotka <lhotka@nic.cz> wrote:
> > On Tue, 2019-07-23 at 09:22 -0700, Andy Bierman wrote:
> > > 
> > > 
> > > On Tue, Jul 23, 2019 at 9:03 AM Ladislav Lhotka <lhotka@nic.cz> wrote:
> > > > Hi,
> > > > 
> > > > this morning I attended the side meeting "Next Step of IETF YANG". I was
> > > > somewhat misled into thinking that it would be about future evolution of
> > > > YANG
> > > > the language, which was not the case at all. However, my personal
> > conclusion
> > > > from the meeting is that it would be a total disaster to throw in a new
> > > > version
> > > > of YANG within the next few years or so.
> > > > 
> > > 
> > > 
> > > I hope a summary of the meeting is posted to the WG mailing list.
> > 
> > I think so, minutes were taken.
> > 
> > >  
> > > > The operators and equipment vendors are busy putting together YANG
> > modules
> > > > and
> > > > tools, filling the gaps, coping with NMDA, schema mount, IETF versus
> > > > OpenConfig
> > > > etc. A new YANG version (and modules written in it) would IMO be
> > extremely
> > > > counter-productive at this rather turbulent stage.
> > > > 
> > > > So, if we want to continue the yang-next discussion, I think we first
> > have
> > > > to
> > > > figure out how to evolve YANG without making waves in the current YANG
> > pond
> > > > and
> > > > let the operators and vendors do their work, without which YANG can
> > never
> > > > succeed.
> > > > 
> > > 
> > > IMO a new version of YANG would not be disruptive (if done right).
> > > The issue is whether it is cleaner in the long-run to introduce NBC
> > changes
> > > properly
> > > with a new version number, or not so properly, through YANG extensions.
> > 
> > I don't see much difference provided that the extensions will be properly
> > signalled. But we have to take into account that some tools that people use
> > may
> > not be updated for quite some time, and if they cannot properly work with
> > modules written for the new version (or extensions), then things will break.
> > 
> 
> So you want to work on YANG 1.2, but just the parts you want to change? ;-)

I am actually fine with not doing any changes to YANG 1.1 at all, except perhaps
bug fixes. This doesn't necessarily mean closing the NETMOD WG, it would IMO be
immensely useful to rewrite the language specification and remove NETCONF- and
XML-specific part.

> There is no such thing as a critical extension in YANG 1.1.

One alternative to doing nothing is to introduce critical extensions but
temporarily forbid their use in IETF modules (so that existing tools continue to
work). This would allow for developing and testing new YANG features without
causing troubles to current YANG users. Specific areas and communities may
decide to treat some crictical extensions as required and use tools that support
them.

> IMO it would be a bad idea to develop standard modules that relied on tool
> support of
> any extension. A tool is allowed to skip any extension when parsing a module.
> This cannot be changed in YANG 1.1.
>  
> > This problem is actually not limited to YANG itself - people are reporting
> > problems with the transition to NMDA. 
> > 
> > > 
> > > E.g -- adding a leaf to the datastore that says "I don't follow the rules
> > in
> > > 7950"
> > > is still breaking the YANG 1.1 contract.  Using extensions instead of real
> > > statements
> > > is problematic because they are optional to implement (as you point out
> > all
> > > the time).
> > 
> > Yes, hence critical extensions. However, the problem is still the same -
> > these
> > changes require updated tools, and not all tools will be updated
> > immediately. I
> > think that we should make sure that (at least in the IETF) all modules will
> > be
> > compatible with tools supporting YANG 1.1, say for the next 5 years.
> > 
> 
> I am OK with the current WG priorities such as versioning.

Yes, work on versioning and packages should continue.

> Those YANG extensions simply clarify YANG 1.1 so no rules are broken
> and no YANG 1.1 functionality is removed if a tool ignores the extensions.
> Also OK with not working on YANG 1.2 or critical extensions.
> There are no must-have features at this time.

I agree.

Lada

> 
> > Lada
> > 
> 
> Andy
>  
> > > 
> > > Seems like the WG is going the YANG extension route, which has its own set
> > of
> > > problems
> > > compared to a new YANG language version.
> > > 
> > > 
> > > > Lada
> > > 
> > > Andy
> > >  
-- 
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67