Re: [core] progressing ietf-core-yang-cbor and ietf-core-sid

Michael Richardson <mcr+ietf@sandelman.ca> Thu, 16 January 2020 23:34 UTC

Return-Path: <mcr+ietf@sandelman.ca>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DA71F1200D6 for <core@ietfa.amsl.com>; Thu, 16 Jan 2020 15:34:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level:
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 Jeq2iteYkhqb for <core@ietfa.amsl.com>; Thu, 16 Jan 2020 15:34:43 -0800 (PST)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [209.87.249.19]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8E1371200BA for <core@ietf.org>; Thu, 16 Jan 2020 15:34:43 -0800 (PST)
Received: from sandelman.ca (obiwan.sandelman.ca [IPv6:2607:f0b0:f:2::247]) by tuna.sandelman.ca (Postfix) with ESMTP id BBD4C3897D for <core@ietf.org>; Thu, 16 Jan 2020 18:34:14 -0500 (EST)
Received: from localhost (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id 7E307D98 for <core@ietf.org>; Thu, 16 Jan 2020 18:34:42 -0500 (EST)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: Core <core@ietf.org>
In-Reply-To: <CABCOCHSp6HxyNunVNyQhoScXW0Wvehrqh57Hebh7ES=DT57OBg@mail.gmail.com>
References: <29380.1565102380@localhost> <BL0PR06MB50428065032ECC2AB3345F619AD70@BL0PR06MB5042.namprd06.prod.outlook.com> <7505.1565633977@localhost> <BL0PR06MB50424C618A704460E4A8F8D99AA90@BL0PR06MB5042.namprd06.prod.outlook.com> <18990.1577231446@localhost> <CAJFkdRyWOfCb4U09rEJ-ZMR3GUuk-rmQ+f3Fs164Mxs8qkeVuw@mail.gmail.com> <22612.1578626081@localhost> <CAJFkdRztFUxdGcdvtTgB=9c-e_BwDAgLTmVPJ+OB8-dgs1sGog@mail.gmail.com> <15754.1578789013@localhost> <CAJFkdRy_3pC37ZxzhTmzqRgWjwDvEFTuhu5Z8+_ktaJgoeOGfg@mail.gmail.com> <6025.1578939111@localhost> <F67A7C80-0955-4836-9B84-66CB52AB6FD9@tzi.org> <26398.1579112884@localhost> <0805B57C-3DCB-4601-976C-2D51CE812312@tzi.org> <14603.1579125396@localhost> <CFF6555D-85EF-42CB-B773-17116F9CC554@tzi.org> <18568.1579133839@localhost> <CABCOCHRJ6-YUSn=MXGMtJT5tK3m9uR3U1K2xYd2UgW2MYkv6ig@mail.gmail.com> <CAJFkdRy8tDbYnnyr-mCer-Bip6s7pcXyGQPmo+nO8zRavSTm1w@mail.gmail.com> <CABCOCHSp6HxyNunVNyQhoScXW0Wvehrqh57Hebh7ES=DT57OBg@mail.gmail.com>
X-Mailer: MH-E 8.6; nmh 1.7+dev; GNU Emacs 24.5.1
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha256"; protocol="application/pgp-signature"
Date: Thu, 16 Jan 2020 18:34:42 -0500
Message-ID: <16867.1579217682@localhost>
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/vNd-sT-mhyT6MtgH9WfahPhwElA>
Subject: Re: [core] progressing ietf-core-yang-cbor and ietf-core-sid
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 16 Jan 2020 23:34:47 -0000

{Trying to answer several emails in this thread at once.}

Ivaylo wrote:
    >> Thank you very much for the discussion. It brings a lot of interesting
    >> perspectives on the problem how to make sure SIDs are most usable for
    >> people and make it difficult to make mistakes.
    >>
    >> I believe there are a few important points that need to be agreed upon
    >> before we accept how to fix anything. Here are my assumptions:

"Petrov's Three Laws of SID allocation":
[in the spirit of: https://en.wikipedia.org/wiki/Three_Laws_of_Robotics]

    >> 1. we don't want to waste too much SIDs while creating SID modules

I would have preferred if you hadn't made this the first point.

    >> 2. we want SIDs to be as stable as possible
    >> 3. we don't want to unpleasantly surprise people with the way SIDs
    >> need to be used as compared to only using YANG modules.

    andy> YANG module development has proven to be a messy process.
    andy> It is the exception, not the rule, that a module stays stable from draft-00
    andy> to RFC.

So, again, I advocate that at WGLC, that the WG consider if they wish to
remove and/or renumber any SID values that have been allocated since WG Adoption.
(Of course, we might being doing a BIS document, so there is history before)

I see Carsten's point about the sid-file-revision could lead to people being
attached to particular lineages.  I don't think that is as likely; but I'm
not going to die on this hill.  It's JSON, we could add it later if we needed
it, but it would be better to specify what it is.  I am happy with an integer
that increments.  I think that the SID writer should probably insert it's
name, revision, the date it ran, who ran it, the phase of the moon, and the
current cost of a .org domain, into the file if it changes anything.

    >> My question is what happens currently with an implementation that uses
    >> a version of YANG module that has been present inside a draft, but
    >> have differences with the version in the final RFC that is published
    >> from the draft?

    andy> The implementor is on their own, just like now for YANG,
    andy> and just like MIB modules for 30+ years.  Vendors know that
    andy> implementing a work-in-progress is dangerous.  WGs should know
    andy> that publishing an RFC with zero implementation experience for the
    andy> technology in the draft is going to produce an inferior result.

I think that you intended to identify a tussle here, but maybe it was rather subtle?

On the one hand: work-in-progress can be dangerous to implement.
On the other hand: having no implementation feedback produces inferior
       results.

The discussion we are having here is how to enhance the stability of the spec
in order to reduce cost/risk of early implementations, while at the same time
allowing the WG to regret (and reverse) early decisions.

I think that the flow I have suggested works: allocate at adoption time,
remove dead-wood at WGLC, and make renumbering a WGLC consideration.

    andy> Only the RFC versions of MIB or YANG modules is ever recorded by IANA.
    andy> The work-in-progress versions are extracted from drafts.
    andy> The YangModels github repo stores these modules.

Andy, should sid files be included in <CODE BEGINS> then along with YANG
modules?  We don't say anything about that, I think.  I hadn't thought about this.

--
]               Never tell me the odds!                 | ipv6 mesh networks [
]   Michael Richardson, Sandelman Software Works        |    IoT architect   [
]     mcr@sandelman.ca  http://www.sandelman.ca/        |   ruby on rails    [


--
Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works
 -= IPv6 IoT consulting =-