Re: Yang update from IESG ?

Ladislav Lhotka <lhotka@nic.cz> Mon, 18 November 2019 07:06 UTC

Return-Path: <lhotka@nic.cz>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DD2A012086B; Sun, 17 Nov 2019 23:06:02 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.998
X-Spam-Level:
X-Spam-Status: No, score=-6.998 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] 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 M5ux7FlImcpH; Sun, 17 Nov 2019 23:06:01 -0800 (PST)
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 9BEF21200B3; Sun, 17 Nov 2019 23:06:00 -0800 (PST)
Received: from birdie (dhcp-9c3a.meeting.ietf.org [31.133.156.58]) by mail.nic.cz (Postfix) with ESMTPSA id 4FA24140996; Mon, 18 Nov 2019 08:05:55 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1574060758; bh=gKrG8JU648+WTRZZnb3yJn9fYx3okE8Xfuj6FD7EJgk=; h=From:To:Date; b=DNkj2ulHPZzgTymiMCbx1fDwqVf5N9fYIGFkBoX9DEtl7teqZadMIt+6RJxF6qGxB 26034iEK88uel6al6MtpN1VPy7IN7X5vj5KjLmHEp25Jx5popXCVTSURyYz6hmfdcg COyrJBegr3eXjBMc/fYhL5w7kxnhpmgKmkFBUqDg=
Message-ID: <a130f7c9d82299f8975ba9a9e8a2e4a6445878b4.camel@nic.cz>
Subject: Re: Yang update from IESG ?
From: Ladislav Lhotka <lhotka@nic.cz>
To: Paul Wouters <paul@nohats.ca>, Roman Danyliw <rdd@cert.org>
Cc: "iesg@ietf.org" <iesg@ietf.org>, ietf@ietf.org
Date: Mon, 18 Nov 2019 15:05:49 +0800
In-Reply-To: <alpine.LRH.2.21.1911180102380.9256@bofh.nohats.ca>
References: <alpine.LRH.2.21.1911131435240.22669@bofh.nohats.ca> <359EC4B99E040048A7131E0F4E113AFC01E70B0061@marchand> <alpine.LRH.2.21.1911180102380.9256@bofh.nohats.ca>
Organization: CZ.NIC
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.34.1
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/ietf/r7entFU1GRd96HBDkjBijr8zePE>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 18 Nov 2019 07:06:03 -0000

On Mon, 2019-11-18 at 01:10 -0500, Paul Wouters wrote:
> On Mon, 18 Nov 2019, Roman Danyliw wrote:
> 
> [ cc:ing ietf@ietf.org for wider discussion, see attachment for Design
> Patterns ]
> 
> > Paul Wouters wrote:
> > > During a plenary at the last or second last IETF, I raised an issue about
> > > people
> > > stuffing incomplete and obsolete/deprecated partial IANA registiries in
> > > yang
> > > drafts/RFCs. The IESG confirmed this as a problem to me and one of the
> > > IESG
> > > members said they were aware and would get back on this.
> > > 
> > > I have not heard anything. The issue is still a problem. Originally, this
> > > came up
> > > in i2nsf/ipsecme, and has now resurfaced for me in dnsop.
> > The IESG talked about this issue during the last IETF meeting.  See
> > attached.
> > 
> > The outcome of this discussion was that there is no single "right answer"
> > and individual ADs should intervene on specific instances as appropriate.
> 
> Thanks for the answer. Unfortunately, it is not much of guidance and
> does not really address the issue I raised, namely that we are putting
> snapshots of IANA registries in RFC documents. One of your three Design
> Patterns still does this.

The snapshot should represent the consensus of a corresponding working group
regarding the best way of modelling a given IANA registry in YANG. After the
publication of that RFC, IANA is expected to update the YANG module along with
the registry so as to keep both in sync.

I do agree that careless YANG modellers that don't bother to read the RFC could
take the YANG module snapshot published therein as the most recent revision
because the RFC itself isn't updated. Perhaps the purpose and expeced use of the
module can be stated more clearly in the RFC, but it still won't help those who
don't read it.  

> 
> Note also that Design Pattern #1 you quote is exactly the one I am
> trying to avoid from happening and Design Pattern #2 happened because
> I _did_ convince those people not to do Design Pattern #1.

I strongly disagree with the statement that design pattern #1 cannot be updated.

First, as described in draft-lhotka-dnsop-iana-class-type-yang-02, the YANG
module is expected to be updated (by IANA) every time the corresponding registry
changes. So the enumeration can be updated with new mnemonic names.

And second, implementors of the YANG module can in fact use the type 'dns-class' 
that is defined as follows:In effect, the 'dns-class' type combines desing
patterns #1 and #2. BTW, t

     typedef dns-class {
       type union {
         type uint16;
         type dns-class-name;
       }
       description
         "This type allows for referring to a DNS class using either the
          assigned mnemonic name or numeric value.";
     }

I apologize to those who don't speak YANG but the meaning should be clear: if
somebody wants to use a DNS class that is not defined in the 'dns-class-name'
enumeration, he or she can use the numeric value instead. This is analogical to
using CLASS42 in other contexts as per RFC 3597.

In effect, the 'dns-class' type above combines design patterns #1 and #2.

Roman's presentation also doesn't mention another design pattern that was used
in the aforemetioned RFC 7224 for the interface types registry, namely to model
interface types as YANG identities.

Lada

> 
> I would like to see the IESG discourage/forbid Design Pattern #1. The
> "yang native" advantage of this Design Pattern seems odd to me, because
> as far as I know there will be specific yang documents created elsewhere
> anyway that are supposed to be updated and used by automation tools?
> 
> Paul
-- 
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67