Re: [netmod] iana-if-type.yang has multiple revisions with the same date

Andy Bierman <andy@yumaworks.com> Fri, 04 March 2022 18:25 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 EC8C13A0D92 for <netmod@ietfa.amsl.com>; Fri, 4 Mar 2022 10:25:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20210112.gappssmtp.com
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 A8d5fjAeVUft for <netmod@ietfa.amsl.com>; Fri, 4 Mar 2022 10:25:15 -0800 (PST)
Received: from mail-yw1-x112d.google.com (mail-yw1-x112d.google.com [IPv6:2607:f8b0:4864:20::112d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E3AC83A0B72 for <netmod@ietf.org>; Fri, 4 Mar 2022 10:25:14 -0800 (PST)
Received: by mail-yw1-x112d.google.com with SMTP id 00721157ae682-2db2add4516so101144007b3.1 for <netmod@ietf.org>; Fri, 04 Mar 2022 10:25:14 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20210112.gappssmtp.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=vGtMNSZcauiQNNSgKWnhE7nCSFvLkC+9ClA3muiZBjg=; b=BnAh+/LJoYArcOzbB1nOJXCP7q5nmCudzPUaUXSZ1i1BFMQsK+XHt/Cg7aqiqTOmww NNkcSjAQ5uQLokH4s0NPuUgQDfqu8VYg29dKFwX9d8Pf2RE7TJ7ND0+C786KYy72bZBr 8uoyeS6hX9hK0i+ldKobdqYZyq43UUra76oZXRH3AXLIzAUof0fkaV7IBKwIAht3u9/l UZDtG9gVveVZTVVTn2xBiAEpP3Zsl9MclkTK2m1exJTYhSKeANJdsYEB3JiqLHPvrNHL vZZkZS3Vm40YBkiWfbELNO4DZ6qlkyrCwKcFqpix7o27OI4msfOhidMpAXBSyu5i0KX/ gCZw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=vGtMNSZcauiQNNSgKWnhE7nCSFvLkC+9ClA3muiZBjg=; b=NhIV+ecj/kGb2oG8DWI64GFtOuVDHNvlxxi8q6ulFL1awrRSOLGESe8ycGj6a6thT1 MyUQay19O4N9dy/8hkfN+iSQKnFDqTRwvzEUM2r1KlIUKf8pvS6EVEMG4PZauRC5cm/l Qqxsp/ZIK+qgr96bXtyEWJ0dLGkn/NDzGVzB8niiXIj8U2oRLh7nk0hZsVDvTsUnoH2T kqmBVUuJyZV9s/pAGB/IO8a29r6EP6Z5+rvWT17JmQUBs5nAWQJihe7d3EBjFvxQgN3c m+7luIdQOkSF5xq3chu7oNesNUKgFQ2F5r65aN9ctgmMoctvpa+A1Rcxrmogv30cXKhK aUZw==
X-Gm-Message-State: AOAM533ktzSDV1pEhB45DQPikPlaT4r5tKiOGxK4Lg4xrkez8tAFm34I DODBRgnE777+xMxhoHY8Qpemorp7jbY+s52aqOn86PRzSMs=
X-Google-Smtp-Source: ABdhPJxTSSMilOuVy8VV+JMy548iLrh7fQ/AOD2aeqXm6tUmAUoiYK2W5qy+jTJ+wOG5F7hzGAepFGvVbIVMsgCNeRE=
X-Received: by 2002:a81:7c7:0:b0:2db:f50a:4b02 with SMTP id 190-20020a8107c7000000b002dbf50a4b02mr17603671ywh.350.1646418313463; Fri, 04 Mar 2022 10:25:13 -0800 (PST)
MIME-Version: 1.0
References: <CAEe_xxiTdvGscUqhuC=Kuh70C-=MRnA8GgjupC2vBfkK6_p+kw@mail.gmail.com> <CABCOCHR+yKwL7kkV2_Teha-Vnc8AJ9Q8QhZyjYwjaj286=vR_g@mail.gmail.com> <CAEe_xxgF+qtQ_9Yzm5q5k2rnubt_gOj9BOEnRsYeJXnyAxXoZw@mail.gmail.com> <CABCOCHRRXDTEwWXTv9USFc5yw99DG_Oktk4iChsvzDsSAQeBBA@mail.gmail.com> <BY5PR11MB41966EA8DA4347710B1AFD62B5059@BY5PR11MB4196.namprd11.prod.outlook.com>
In-Reply-To: <BY5PR11MB41966EA8DA4347710B1AFD62B5059@BY5PR11MB4196.namprd11.prod.outlook.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Fri, 04 Mar 2022 10:25:02 -0800
Message-ID: <CABCOCHTKVSN+cnG05vdQQXbOhMHDAVJ5XXGTQsJoWQVnxD1vLw@mail.gmail.com>
To: "Rob Wilton (rwilton)" <rwilton@cisco.com>
Cc: NetMod WG <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000b9dfba05d968a22c"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/MtXTXk7xz70fL8nPCYYJ30L2ZZw>
Subject: Re: [netmod] iana-if-type.yang has multiple revisions with the same date
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: Fri, 04 Mar 2022 18:25:30 -0000

On Fri, Mar 4, 2022 at 10:00 AM Rob Wilton (rwilton) <rwilton@cisco.com>
wrote:

> Hi Andy,
>
>
>
> YANG packages are aimed at partly solving the problem you describe below.
>
>
>
> In the -00 revision of the packages draft, it included SHA hashes* (YANG
> leaf “checksum”) of the included modules and packages so that a client can
> determine that its local copy of module@A.B.C (or revision-date) exactly
> matches the one that the server is declaring that it is using in the YANG
> package definition.  You can see this in the -00 version (YANG Packages
> (ietf.org)
> <https://tools.ietf.org/id/draft-ietf-netmod-yang-packages-00.html>).
>
>
>
> The checksum/hashes have been taken out of later revisions of the draft
> for two reasons:
>
>    1. At the time, we were not sure that we had a canonical
>    representation of a YANG module, although possibly this has been mitigated
>    by the YANG module versioning draft that effectively defines the file text
>    of the published YANG module to be that canonical representation.
>    2. It was thought that it was too complex, and hence better deferred
>    to an extension of future version of the YANG packages draft.  We also
>    thought that we would need to get real security folks involved to check
>    that we are really getting this right.
>
>
>
> But either way, longer term, I think that a scheme along these lines this
> will probably be helpful.
>
>
>

I was going to mention the checksums. I am aware they were taken out.

I have understood for years that YANG conformance at the module-level,
which is baked into the module itself, is a broken architecture.

Conformance should be based on use-cases, for which YANG module boundaries
are irrelevant.  The key to package management is that it replaces
individual file management.
How do YANG 1.1 compliant systems which only know about YANG modules work
with newer systems that know about packages.  Managing the interaction
details
at both the module and package level seems complicated.

IMO a new YANG version number is needed to make the sort of changes proposed
in the versioning work. There are existing issues, e.g.:

- the behavior for 'deprecated' and 'obsolete' has been broken from the
start
   and only a new YANG version can really fix it
- a standard module (or package) should be able to use deviations to alter
  a module for its own use-cases, but this violates a MUST NOT in YANG 1.1
- All extensions are purely optional in YANG 1.1, which could be fixed in a
new YANG version
- YANG packages could be mandatory for the new YANG version, allowing
   conformance requirements to be properly expressed





Rob
>
> // As an individual contributor
>
>
>
>
>


Andy



> *From:* netmod <netmod-bounces@ietf.org> *On Behalf Of *Andy Bierman
> *Sent:* 03 March 2022 16:56
> *To:* William Lupton <wlupton@broadband-forum.org>
> *Cc:* NetMod WG <netmod@ietf.org>
> *Subject:* Re: [netmod] iana-if-type.yang has multiple revisions with the
> same date
>
>
>
>
>
>
>
> On Thu, Mar 3, 2022 at 1:25 AM William Lupton <wlupton@broadband-forum.org>
> wrote:
>
> Thanks Andy. What is the next step? Should I (or someone else) email
> iana@iana.org, or can we assume that the relevant IANA person will
> already have seen this discussion?
>
>
>
>
>
> It seems that RFC 8407 already says what to do (use a different
> revision-date).
>
> We combine the revision-stmt so there is only 1 revision entry instead of
> 2.
>
>
>
> It is too late to do anything about this module.
>
>
>
> I am interested in the OPS issues:
>
> The client MUST be able to produce the same[*] schema tree as the server
>
> in order to have an accurate model of the server's YANG API.
>
>
>
>  1) server uses implementation-specific mechanisms (e.g. search path)
>
>      to select the modules it will advertise in its yang-library
>
>  2) client reads the yang-library, which provides all the [name,date]
> tuples
>
>      and other info needed
>
>  3a) client can use cached yang-library data and locally obtained YANG
> files
>
>  3b) client can use <get-schema> (IFF supported by the server) to retrieve
> the YANG files
>
>
>
> [*] same can mean a later revision if specific schema definitions have not
> changed
>
>
>
> Issues:
>
>
>
> 1) Is there ANY uniqueness guarantee that [name, date] is GLOBALLY unique.
>
> A: Yes according to RFC 7950, but not really in implementations.
>
> A: No, if revision-label is added and the same revision-date is used in
> multiple release trains.
>
>
>
> So if a client cannot rely on [name, date] uniqueness, then it does not
> really know if
>
> step 3a or step 3b is required.
>
>
>
> This is currently a solved problem using proprietary means
>
> (e.g., client hacked to know which one, based on server testing).
>
>
>
> But now there are more system components, not just a server,
>
> such as YANG Data Instance Files and YANG SID Files.
>
> If the [name, date] tuples are not globally unique here,
>
> then these standards do not work.
>
>
>
>
>
> Andy
>
>
>
>
>
>
>
>
>
>
>
>
>
> On Tue, 1 Mar 2022 at 14:49, Andy Bierman <andy@yumaworks.com> wrote:
>
>
>
> I think that this should be fixed. What's the best way to achieve this?
>
>
>
> I think this issue should be resolved as well.
>
>