Re: [netmod] I-D Action: draft-ietf-netmod-rfc6991-bis-14.txt

Andy Bierman <andy@yumaworks.com> Mon, 12 December 2022 16:12 UTC

Return-Path: <andy@yumaworks.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 B6985C14CE2A for <netmod@ietfa.amsl.com>; Mon, 12 Dec 2022 08:12:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.095
X-Spam-Level:
X-Spam-Status: No, score=-7.095 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id b5mYIks5IEtr for <netmod@ietfa.amsl.com>; Mon, 12 Dec 2022 08:12:37 -0800 (PST)
Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com [IPv6:2a00:1450:4864:20::133]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8952DC14F75F for <netmod@ietf.org>; Mon, 12 Dec 2022 08:12:37 -0800 (PST)
Received: by mail-lf1-x133.google.com with SMTP id bp15so157969lfb.13 for <netmod@ietf.org>; Mon, 12 Dec 2022 08:12:37 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks.com; s=google; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=lSjdg9I8C8oLnYfdGGxTKEqnVDpLRsXJZ+0y8Bu5PsU=; b=RWA3hXlThiCw1fGnQ8anVYehz0AtmE5uV2LSGv5dscEe8eTRoQMKD9SXZ731fJxwJt lQ0iFXcfCuxdxRh7KgLo1531SMbiqiNadXrVLgA8XdOMT4DWTIr3Ni7PLqM9UnshpS5k E91xLt1wUdLLn6lqbApReDz8DVZSPlp8/q7Ap6hh37txB9pDZ/RN+drWyKOwXsUoKHm1 VrgMdLwXy1kDRf2b/8zPvMi3bfrhNBBbnqJ82xT9v8zRyhptqFbca1i6DGeBqsA8Pqsq D1x3IlTA66t06gdSla3cFoeY663nKBfU1qEElNn00r5pg0JUaOZDgwVBIg1NtZx8zg57 IEaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=lSjdg9I8C8oLnYfdGGxTKEqnVDpLRsXJZ+0y8Bu5PsU=; b=gTXVkAjPz98fSUrnkzI2Sltx7pdGumN1QlQ7B9d4I5XtHZaIs1V035E0jh3Xr+SCvV Z7pXxJfj5TBplzZQNtqHVsDN+Gag/JXkuLBhtXWDT6wbs8IO/5Q7lJ3N8mePH9eM7O83 0rzq1ULxPStRIksUVNaGGhZwcX9mr5O0hh6rc4Ikjprs+29Rp0zrmkbrfrvtqMaWb1tk knmOU1BhWUs5za967fB4HTCfgeBRj9PhU4PjfjDQx+xIfxXsjBWSUOKZq4XcUIl//yba 2RCCs9ZL/RZjWnN2zYm5Kd+3migJEgbwXR9HE5I3W8H0/8YXCTgX5NusbcvQI7ZLiqR8 Kb2Q==
X-Gm-Message-State: ANoB5pnYlFbmuAxQ3OZoQf83nriL2bFAVDiQ/A57zrFrtQjPbH1KCVls Ywma6/TtSYZH87ZlV7Vwhfsbsprb1eM6h2zPEnvqqg==
X-Google-Smtp-Source: AA0mqf49a5zosSMc3l0Cklv3g3byNbniRLOXtoI7AwhTUKuzorFRg97xLZKXnhVS0zRpZs1yGS5Jo1PdLAHkbJoOiQI=
X-Received: by 2002:ac2:55b5:0:b0:4b5:b787:623c with SMTP id y21-20020ac255b5000000b004b5b787623cmr1027849lfg.328.1670861554835; Mon, 12 Dec 2022 08:12:34 -0800 (PST)
MIME-Version: 1.0
References: <01000184e3f14a15-95feeb1e-c027-4366-ab2c-291ac3f03cc8-000000@email.amazonses.com> <20221205223741.mxeacefm46mkpwrl@anna> <CABCOCHQ1JxcDn0OPnKWFpz9vcZzW8YOjEP8_wdF_KK2z=EoREQ@mail.gmail.com> <20221207.092731.2267015585780052231.id@4668.se> <01000184efaf6098-44b9712e-b4e6-43c8-a7ed-1245b811ee1a-000000@email.amazonses.com> <20221208074206.au7w2ohklk3fhfe3@anna> <CABCOCHRN2DwnxGAs8V_JTg5kk4SZczjK0xj52+TT0LR3iWryUA@mail.gmail.com> <01000184f78c1abe-6d3a5862-f67f-4e5f-abef-54588f9ee2dd-000000@email.amazonses.com> <CABCOCHTg8fzAFyBDiRWce+dRu2vvNxLtLxSH=N9RTsbP+u=y-A@mail.gmail.com> <837A13FC-F3FE-4524-8B40-0C62B829AB5E@cisco.com> <CABCOCHSgpgy5j366r+0XEM2PaUG8_w_e4JB_s9P_i0c7P85NPA@mail.gmail.com> <87tu20lkrc.fsf@nic.cz>
In-Reply-To: <87tu20lkrc.fsf@nic.cz>
From: Andy Bierman <andy@yumaworks.com>
Date: Mon, 12 Dec 2022 08:12:22 -0800
Message-ID: <CABCOCHQDn2k3aDYwB64tj+DrOh20ArFDBBA-gnqMk3ubRG6SXw@mail.gmail.com>
To: Andy Bierman <andy@yumaworks.com>, "Acee Lindem (acee)" <acee@cisco.com>, "netmod@ietf.org" <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000071f41105efa3c5c4"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/kI7OPmvPlvTa9J34q-BD4xAH8ww>
Subject: Re: [netmod] I-D Action: draft-ietf-netmod-rfc6991-bis-14.txt
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.39
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: Mon, 12 Dec 2022 16:12:41 -0000

On Mon, Dec 12, 2022 at 7:11 AM Ladislav Lhotka <ladislav.lhotka@nic.cz>
wrote:

> Andy Bierman <andy@yumaworks.com> writes:
>
> > On Fri, Dec 9, 2022 at 8:29 AM Acee Lindem (acee) <acee@cisco.com>
> wrote:
> >
> >> Top posting to assure everyone reads:
> >>
> >>
> >>
> >> I don’t think I could of come up with a better strategy to guarantee
> that
> >> IETF YANG models aren’t used if I tried. We’ll still specify them in
> IETF
> >> document and they’ll provide a useful reference model for other SDOs and
> >> vendor native models, but no one is going to implement and deploy them.
> >>
> >>
> >>
> >
> > This is already happening. e.g.
> >
> https://github.com/openconfig/public/blob/master/release/models/types/openconfig-inet-types.yang
> >
> > After all the churn and complexity introduced by the "NMDA redo", we
> should
> > be extra careful
> > not to do that again.  SDOs and vendors need a stable foundation on which
> > to build their
> > domain-specific data models.
>
> It is interesting that the same three-phase doom scenario for schema
> languages happens over and over again (it happened e.g. to W3C Schema,
> DSDL, XPath/XQuery):
>
> 1. A small group produces version X, it has some flaws and nobody cares.
>
> 2. The same group produces version Y that becomes quite (or wildly)
> popular;
>    the number of stakeholders increases, and new features start to creep
> in.
>
> 3. A much larger group embarks on developing version Z, sometimes they
>    even succeed, but the final result is a kitchen sink of features so
>    complicated that nobody cares about it again.
>
> For YANG Y = 1.1, and phase 3 is well underway.
>
>
This issue is about unnecessary changes to a critical YANG data type.
There are over 1000 modules using the data type.

Changing the name to something else should be done in the early stages of
development.
Changing a type name after 14 years of use just to "teach people a lesson"
and save them from the "dangers" of a little-used optional feature is not
helpful.


Lada
>
>
Andy


> >
> >
> > Thanks,
> >> Acee
> >>
> >
> >
> > Andy
> >
> >
> >>
> >>
> >> *From: *netmod <netmod-bounces@ietf.org> on behalf of Andy Bierman <
> >> andy@yumaworks.com>
> >> *Date: *Friday, December 9, 2022 at 11:19 AM
> >> *To: *Kent Watsen <kent+ietf@watsen.net>
> >> *Cc: *"netmod@ietf.org" <netmod@ietf.org>
> >> *Subject: *Re: [netmod] I-D Action: draft-ietf-netmod-rfc6991-bis-14.txt
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> On Fri, Dec 9, 2022 at 7:41 AM Kent Watsen <kent+ietf@watsen.net>
> wrote:
> >>
> >>
> >>
> >>
> >>
> >> The idea to encode all relevant semantics of a type in a type's name
> >> has far-reaching consequences:
> >>
> >> - Are we going to deprecate counter32 and introduce
> >>   non-zero-based-counter32 because we have also zero-based-counter32?
> >>
> >> - Do we introduce date-and-time-with-optional-zone-offset and
> >>   deprecate date-and-time?
> >>
> >>
> >>
> >> I wish we had guiding principles for such naming decisions or, perhaps,
> it
> >> is a matter of the type's definition.
> >>
> >>
> >>
> >> The current date-and-time is not ambiguous because it asserts that
> either
> >> a 'Z' or an offset is present, making impossible for implementations to
> >> assume a zoneless form.  Whereas the current ip-address is ambiguous
> >> because it silently accepts the "without" form, leading to surprise in
> some
> >> implementations when the expanded form is "unexpectedly" passed.
> >>
> >>
> >>
> >> Having well-defined guidance could prevent future missteps.
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> The definition of ip-address (published in 2010) was the right thing
> >> to do since the optional zone index can disambiguate IP addresses in
> >> situations where this is needed. In 2013, we also provided the
> >> ip-address-no-zone definition to be used in situations where there is
> >> never a need to disambiguate IP addresses (e.g., when the zone is
> >> known from the context).
> >>
> >>
> >>
> >>
> >>
> >> Trying to focus just on this proposal, not extrapolate the trend...
> >>
> >>
> >>
> >> For 10 years we have had 2 typedefs for IP address:
> >>
> >>
> >>
> >>   - ip-address
> >>
> >>   - ip-address-no-zone
> >>
> >>
> >>
> >> This should be enough (even without reading the module!) to determine
> >>
> >> 1 form has a zone, and 1 does not.
> >>
> >>
> >>
> >> But nobody reads the YANG module so they didn't know about
> >> ip-address-no-zone.
> >>
> >> So how will they know about ip-address-zone either?
> >>
> >>
> >>
> >> Because tooling would flag "ip-address" as deprecated and the
> description
> >> statement would say to use the "with-zone" form?
> >>
> >>
> >>
> >>
> >>
> >> There is no reason to deprecate something to replace it with the exact
> >> same semantics, but a different name.
> >>
> >> The only reason to deprecate something is because it will be removed in
> >> the future,
> >>
> >> Deprecating and obsoleting such a critical data type would be highly
> >> disruptive.
> >>
> >> Many vendors and SDOs may refuse to do it.
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> YANG Catalog search shows 1486 modules import the ip-address typedef.
> >>
> >> I suspect the number is about twice that.
> >>
> >>
> >>
> >> So we want to tell the world:
> >>
> >>
> >>
> >> "You have to stop using ip-address and use this new type instead".
> >>
> >>
> >>
> >> "Why? What's wrong with it?"
> >>
> >>
> >>
> >> "Nothing. We decided after 13 years we like this name better."
> >>
> >>
> >>
> >> A number of issues were raised (misconfigurations, OpenConfig, etc.).
> >>
> >>
> >>
> >>
> >>
> >> What are these operational problems that are caused because of the name
> >> ip-address?
> >>
> >> IMO it would be far worse to take away the most important typedef in
> YANG.
> >>
> >>
> >>
> >> We have never heard any issues at all from customers about problems
> >> implementing ip-address.
> >>
> >> As Martin pointed out, the server MUST check for values such as 0.0.0.0
> >> that are
> >>
> >> accepted by the typedef pattern but not the leaf semantics. Checking
> for a
> >> zone index
> >>
> >> is no different.  The ip-address typedef has been clarified in the draft
> >> update.  That is sufficient.
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> Kent // contributor
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> Andy
> >>
> >>
> >>
> > _______________________________________________
> > netmod mailing list
> > netmod@ietf.org
> > https://www.ietf.org/mailman/listinfo/netmod
>
> --
> Ladislav Lhotka, CZ.NIC
> PGP Key ID: 0xB8F92B08A9F76C67
>