Re: [netmod] Adoption of versioning design team docs

Kent Watsen <kent+ietf@watsen.net> Tue, 17 March 2020 12:05 UTC

Return-Path: =?utf-8?q?=3C01000170e86251eb-3b4e4a38-e77d-4a89-8489-567b526bc?= =?utf-8?q?506-000000=40amazonses=2Ewatsen=2Enet=3E?=
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 5B93E3A1DCD for <netmod@ietfa.amsl.com>; Tue, 17 Mar 2020 05:05:31 -0700 (PDT)
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, 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=amazonses.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 yClIdxsIpa3x for <netmod@ietfa.amsl.com>; Tue, 17 Mar 2020 05:05:29 -0700 (PDT)
Received: from a8-31.smtp-out.amazonses.com (a8-31.smtp-out.amazonses.com [54.240.8.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 166EC3A1DCB for <netmod@ietf.org>; Tue, 17 Mar 2020 05:05:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=224i4yxa5dv7c2xz3womw6peuasteono; d=amazonses.com; t=1584446722; =?utf-8?q?h=3DContent-Type=3AMime-Version=3ASubject=3AFrom=3AIn-Reply-To=3A?= =?utf-8?q?Date=3ACc=3AContent-Transfer-Encoding=3AMessage-Id=3AReferences?= =?utf-8?q?=3ATo=3AFeedback-ID=3B?= bh=QEevbd0bYxotBoolkfjDJ/SNsFBvb6Yiyaz3UphAcwU=; b=V6HhMsC6xDDPuA6EKcBmZEu52u2jVE4C7LUuROsHogaTaQrzTZVw6D8VvebO6ooW 3hHXjQQlMZClE+4rfN2RP5hePKf6vUkp8yKp/aFH7QHMJakZ3swfgoj65fndg8ndcMy enH84H1USg8bpkM5BuPTU4i7hxaLQ1s6ZvZX/8/s=
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
From: Kent Watsen <kent+ietf@watsen.net>
In-Reply-To: =?utf-8?q?=3CDM5PR08MB26338C078B13DFAAC89E10E89BFA0=40DM5PR08MB?= =?utf-8?q?2633=2Enamprd08=2Eprod=2Eoutlook=2Ecom=3E?=
Date: Tue, 17 Mar 2020 12:05:22 +0000
Cc: =?utf-8?Q?Martin_Bj=C3=B6rklund?= <mbj+ietf@4668.se>, Lou Berger <lberger@labn.net>, "netmod@ietf.org" <netmod@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-ID: =?utf-8?q?=3C01000170e86251eb-3b4e4a38-e77d-4a89-8489-567b526bc5?= =?utf-8?q?06-000000=40email=2Eamazonses=2Ecom=3E?=
References: <0bea8c03-9e1c-f032-7dac-115f4813eba1@labn.net> <20200310.202829.875177434643366833.id@4668.se> =?utf-8?q?=3CDM5PR08MB26338?= =?utf-8?q?C078B13DFAAC89E10E89BFA0=40DM5PR08MB2633=2Enamprd08=2Eprod=2Eoutl?= =?utf-8?q?ook=2Ecom=3E?=
To: "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com>
X-Mailer: Apple Mail (2.3445.104.11)
X-SES-Outgoing: 2020.03.17-54.240.8.31
Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/uZZqBs1yK0EpbXgRJRFQihHWo5s>
Subject: Re: [netmod] Adoption of versioning design team docs
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, 17 Mar 2020 12:05:32 -0000

[As a contributor]

I mostly agree with Martin’s comments, mostly in that I don’t think the “semver" label has been fully justified relative to the disruption I perceive it may cause.   I’d prefer the documents regarding semver be adopted as Experimental until more is known.

Kent


> On Mar 13, 2020, at 12:53 PM, Sterne, Jason (Nokia - CA/Ottawa) <jason.sterne@nokia.com> wrote:
> 
> Hi Martin,
> 
> Thanks for taking a look at the drafts and for your support of the DT's work. Please see inline.
> 
> Regards,
> Jason
> 
>> -----Original Message-----
>> From: netmod <netmod-bounces@ietf.org> On Behalf Of Martin Björklund
>> Sent: Tuesday, March 10, 2020 3:28 PM
>> To: lberger@labn.net
>> Cc: netmod-chairs@ietf.org; netmod@ietf.org
>> Subject: Re: [netmod] Adoption of versioning design team docs
>> 
>> [second attempt, sorry for duplicates]
>> 
>> Hi,
>> 
>> By document:
>> 
>> draft-verdt-netmod-yang-module-versioning-01
>> 
>>  This is a great contribution to the YANG ecosystem.  It is very well
>>  written, and I would like to see this document proceed quickly.  The
>>  solutions it proposed are really needed.  I have one objection
>>  though; in 7.1 the text says:
>> 
>>    All IETF YANG modules MUST include revision-label statements for all
>>    newly published YANG modules, and all newly published revisions of
>>    existing YANG modules.  The revision-label MUST take the form of a
>>    YANG semantic version number [I-D.verdt-netmod-yang-semver].
>> 
>>  I strongly disagree with this new rule.  IETF modules use a linear
>>  history, so there are no reasons to use "modified semver".
> 
> [>>JTS: ] This point will obviously require further discussion, so we have raised an issue in our GitHub DT tracker for it: 
> https://github.com/netmod-wg/yang-ver-dt/issues/45
> 
> Would you be okay to defer discussion on this until after the adoption call, so that we can focus discussion on the two drafts that you oppose adopting?
> 
>> 
>>  I support the adoption of this document.
>> 
>>  (I will send a review of this document in a separate mail)
>> 
>> 
>> draft-verdt-netmod-yang-semver-01
>> 
>>  This draft proposes a way to express how a given revision is
>>  backwards compatible in a very short format.  With the new extension
>>  statements in draft-verdt-netmod-yang-module-versioning, this
>>  information is already present in the revision history of a module.
>>  (One possible exception is editorial changes, but that can easily be
>>  fixed by adding an "editorial" extension to "ietf-yang-revisions").
>> 
>>  I don't think this document should be adopted.
> 
> [>>JTS: ] History suggests that YANG modules, even those produced by IETF will not always be flawless. Most IETF documents may end up having a linear history (in which case semver and the modified semver look the same).  But some may not. 
> 
> Vendors, however, definitely need to be able to support/fix issues in shipped releases without forcing clients to move to the latest code. That means some ability to describe changes in branched modules is required. Branching is optional (and NBC changes in previous versions is not recommended) but when it does need to happen, we should at least have a standardized and well described mechanism available.
> 
> Semver provides a lot more intuitive high level information about the scope of changes in a module vs a vanilla revision date. It presents a human friendly approximation/summary for a complex lineage system when needed. 
> 
> Having a common modified yang semver scheme for standard and vendor models would be very useful for consumers of YANG models. 
> 
> Ultimately a diff of modules is needed to know every change, but it does give a quick 1 line indication of the impact of changing between two module versions, and can handle branched model development.
> 
>> 
>> 
>> draft-rwilton-netmod-yang-packages-03
>> 
>>  I support the adoption of this document.
>> 
>> 
>> draft-wilton-netmod-yang-ver-selection-02
>> 
>>  I think the solutions proposed in this draft are overly complex and
>>  some of them are probably impossible to implement correctly in real
>>  world use cases.
>> 
>>  I don't think this document should be adopted.
> 
> 
> [>>JTS: ] It would be good to discuss the scenarios that version selection may not work for. 
> 
> We do believe there are some cases where version selection is very helpful. 
> 
> One example is when an NBC change needs to occur (e.g. bug fix, or extending functionality) that causes a leaf to change type but there is a strong desire to keep the same name (e.g. something basic like "interface" or "address"). We can't use a "status deprecated" approach to support the old functionality in this case.
> 
> Another example is the ability for a client to specify (and a server to advertise & limit) which data models (3rd party vs proprietary) it wants to use for interactions with the server.
> 
> This is an important part of a complete solution to versioning and backwards compatibility, and after discussions of various alternatives we think this is the most viable approach.
> 
> Note that this draft is optional for clients and servers to support. It provides a scheme when it is desired/needed but servers aren't required to support this if it is too complex for them or not useful in their applications. There is also a fair bit of flexibility in the draft for different server capabilities.
> 
>> 
>> 
>> draft-verdt-netmod-yang-schema-comparison-00
>> 
>>  I support the adoption of this document.
>> 
>> 
>> 
>> /martin
>> 
>> 
>> Lou Berger <lberger@labn.net> wrote:
>>> Hi,
>>> We'd like to start a two week adoption call for the set of documents
>>> described below by Rob.  To be specific, this includes
>>> 1) draft-verdt-netmod-yang-solutions-03
>>> 2) draft-verdt-netmod-yang-module-versioning-01
>>> 3) draft-verdt-netmod-yang-semver-01
>>> 4) draft-rwilton-netmod-yang-packages-03
>>> 5) draft-wilton-netmod-yang-ver-selection-02
>>> 6) draft-verdt-netmod-yang-schema-comparison-00
>>> 
>>> The adoption call ends in two weeks, on March 16.
>>> 
>>> Please voice your support or objections on list.  While we prefer to
>>> adopt as a set, objections on specific documents are acceptable.
>>> 
>>> Netmod Chairs
>>> 
>>> On 2/29/2020 2:21 AM, Rob Wilton (rwilton) wrote:
>>> 
>>>> Netmod chairs,
>>>> 
>>>> The version selection draft draft-wilton-netmod-yang-ver-selection-02
>>>> is now posted.  With that, the YANG versioning design team would like
>>>> to please request you make an WG adoption call for these documents.
>>>> 
>>>> The updated full list is:
>>>> 
>>>> 1) draft-verdt-netmod-yang-solutions-03
>>>>   - Solution overview, updated since 106 to cover updates to version
>>>>   - selection and schema comparison drafts.
>>>> 
>>>> 2) draft-verdt-netmod-yang-module-versioning-01
>>>>   - Base module versioning solution, unchanged from the version presented
>>>>   - at 106.
>>>> 
>>>> 3) draft-verdt-netmod-yang-semver-01
>>>>   - YANG Semantic version numbers, unchanged from the version
>> presented at
>>>>   - 106.
>>>> 
>>>> 4) draft-rwilton-netmod-yang-packages-03
>>>>   - YANG packages draft, updated since 106
>>>>   5) draft-wilton-netmod-yang-ver-selection-02
>>>>   - Version selection, updated since 106, as per notes below
>>>> 
>>>> 6) draft-verdt-netmod-yang-schema-comparison-00
>>>>   - Schema comparison tooling, unchanged from the version presented at
>>>>   - 106.
>>>> 
>>>> The main changes to the version selection draft are:
>>>>   - We have tried to simplify the model, but at the same time give servers
>>>>   - more flexibility about how they implement version selection and what
>>>>   - it can be used for.  E.g. if the server wants to allow a client to
>>>>   - choose between different schema versions, but require that all clients
>>>>   - use the same schema version, that is now possible
>>>>   - The draft explicitly disallows schema-selection happening mid-session
>>>>   - The solution allows the server to require clients to configure
>>>>   - schema-sets before they are used
>>>>   - The solution provides more information about which schema-sets are
>>>>   - compatible with each other
>>>> 
>>>> Regards,
>>>> Rob
>>>> 
>>>> 
>> 
>> _______________________________________________
>> netmod mailing list
>> netmod@ietf.org
>> https://www.ietf.org/mailman/listinfo/netmod