Re: [netmod] New Version Notification for draft-verdt-netmod-yang-versioning-reqs-01.txt

Andy Bierman <andy@yumaworks.com> Sun, 11 November 2018 07:07 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 38F0312D4F1 for <netmod@ietfa.amsl.com>; Sat, 10 Nov 2018 23:07:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.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 DA6HbZy_QXuV for <netmod@ietfa.amsl.com>; Sat, 10 Nov 2018 23:07:51 -0800 (PST)
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com [IPv6:2a00:1450:4864:20::136]) (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 42EBD1292F1 for <netmod@ietf.org>; Sat, 10 Nov 2018 23:07:51 -0800 (PST)
Received: by mail-lf1-x136.google.com with SMTP id n18so4055273lfh.6 for <netmod@ietf.org>; Sat, 10 Nov 2018 23:07:51 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=K7LwRtGcBeFCjwyEosW3zsHTx37I8mxmkqOklFU29uQ=; b=rEYt1DW0VCHCRR7G3yVRfgvh3fnGUYEQ+wSfV5tAQ2ZRfG10NKp7pA/j9VqPneZplP CXtVen7kh6hPt+Rmclo0M+9IEqeA1cm+mezVRj0qQwnxhj3iIVlFAuvj+G0vGWNV1cgl eGYy1ESYisv+f2w6Vvd/x16485P2j3rL4ZYveRCfVKZdAGvL2f77IXrsuMTXAE8zbgUc 5ycPHYoQ5q4pp6ZU3XULAWJXMK3r4PQk5d8fc+E1sOt0TI5xdKWSmBzfIB22Q9uASLXI g+aBGZxUmZWUu/qOsz1VeKxbwgzc7VwxzNieB+i6zFRe+YLn03Z2c5FlKEJ387VhNbkI 6hhg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=K7LwRtGcBeFCjwyEosW3zsHTx37I8mxmkqOklFU29uQ=; b=nQ8g3CJI+wXtqIw+fSQnOY1v/tFquZBkLkVj0ZsgAxzAD4s4d5X/97BYPjoHczjWt/ M1GfkaI0PnW/KiNFVfCbb/YMG4uEjh33O0S7+o/cNZkRU3mcZtYA89ztvgMBWn6UTp7T kafMBvCN57rsm8QjtwYgHQ9XRQPpSmJ0lOnfcE6NR3ymKkOEZfjpUQGus01hL9n4JDxk XoJ6IwmdqsQQSvX1ajvXwL/em8fzKHGN1flD3R+k2s36qBLgWT6zMdO4a5clIu2TNSp0 R8zy5NUTnPg3TaVBCJJAJANNfQafQbyL2MaynMhf5l9zmQxAvWoL+LcKePj0q9edviMA MbIw==
X-Gm-Message-State: AGRZ1gJYsAj1REQVmHu6vVygwXXkf+J4RU+ME90GVhe6kcSnhLs4caKm chV5X9G6SLE6yCLtSsDYJcRjGtGPcyevI9FeBqPEdg==
X-Google-Smtp-Source: AJdET5dmJroLtouDZzFS25rwE3WJl0LNq+iEIH/Ry8rJu1MFAeS93DXWaKiLPMFoZJDRqdHk1YinTjgO0bsLFYItalc=
X-Received: by 2002:a19:ca51:: with SMTP id h17mr8265401lfj.126.1541920069124; Sat, 10 Nov 2018 23:07:49 -0800 (PST)
MIME-Version: 1.0
Received: by 2002:a19:1f87:0:0:0:0:0 with HTTP; Sat, 10 Nov 2018 23:07:47 -0800 (PST)
In-Reply-To: <96995ddc-f69e-1a91-21b6-36304c8510f3@cisco.com>
References: <20181109081557.kzalxvnsk2k2fycm@anna.jacobs.jacobs-university.de> <20181109.143729.1869485019013831956.mbj@tail-f.com> <20181109151347.3xms2cty6hxyl232@anna.jacobs.jacobs-university.de> <20181109.173159.1522007243611164311.mbj@tail-f.com> <96995ddc-f69e-1a91-21b6-36304c8510f3@cisco.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Sat, 10 Nov 2018 23:07:47 -0800
Message-ID: <CABCOCHT6jShf0t=hC=cB1ZfmoBqHoOHdescYZxX-DOnGTfqt4w@mail.gmail.com>
To: Robert Wilton <rwilton@cisco.com>
Cc: Martin Bjorklund <mbj@tail-f.com>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, NetMod WG <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000fe21fc057a5e3d0a"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/tMDbIsdH21LYUHA7lWpNDGCO-yM>
Subject: Re: [netmod] New Version Notification for draft-verdt-netmod-yang-versioning-reqs-01.txt
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: Sun, 11 Nov 2018 07:07:54 -0000

On Fri, Nov 9, 2018 at 2:53 PM, Robert Wilton <rwilton@cisco.com> wrote:

> Hi Martin,
>
>
> On 09/11/2018 16:31, Martin Bjorklund wrote:
>
>> Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> wrote:
>>
>>> On Fri, Nov 09, 2018 at 02:37:29PM +0100, Martin Bjorklund wrote:
>>>
>>>> I think we need to distinguish between the agreement on the
>>>>> requirement, namely that a server should be able to provide support
>>>>> for an old and a new definition, and agreement on the solution.
>>>>>
>>>>> Do you disagree with the requirement? Or do you disagree with the
>>>>> consequences of implementing multiple versions of the same module
>>>>> for some of the proposed new versioning schemes? Or both?
>>>>>
>>>> I do not agree with the requirement that a server MUST be able to
>>>> support multiple revisions of the same module, which is how I
>>>> interpret 3.2.  If this is not the intention of 3.2, maybe it can be
>>>> clarified.
>>>>
>>>> Here is what 3.2 says:
>>>
>>>         3.2  The solution MUST provide a mechanism to allow servers to
>>>              simultaneously support clients using different revisions of
>>>              modules.  A client's choice of particular revision of one or
>>>              more modules may restrict the particular revision of other
>>>              modules that may be used in the same request or session.
>>>
>>> This does _not_ say servers MUST implement this.
>>>
>>> Item 3.2 establishes a requirement and for some solutions it may be
>>> easy to satisfy this requirement, for others it may be more costly to
>>> satisfy this requirement.
>>>
>>> The whole requirements exercise becomes a rather pointless exercise if
>>> we remove requirements so that certain solutions look more
>>> attractive.
>>>
>> Ok, but that's not what I wrote.  I don't agree with this requirement
>> which says that it MUST be possible for a server to support
>> different revisions of a given module (again, if this is not the
>> intention of the text, please clarify).  I simply don't think that
>> this is a good requirement.
>>
> One way to think of this is as YANG data models defining an API between
> client and server.
>
> There seem to be lots of REST APIs that implement versioning of their API
> by having a version number in the URL.  In fact, I think that RESTCONF
> adopts this approach to allow versioning of the protocol.
>
> One solution is as Andy describes.  The underlying server only implements
> one version of the a given YANG module, but they may provide other views on
> to this data using different versions of YANG modules.  E.g. the same as
> how Vendor YANG models, IETF YANG models, and OpenConfig YANG models might
> be treated as their own views, mapped to the same internal YANG modules.
>
>

I agree with Martin that this requirement is a bad idea.
It will make YANG too complicated and error-prone.
This is not the same as versioning the entire API (e.g., /restconf2,
/restconf3).
This is conceptually a version number at every node in the tree.

The "outer" models are ignored by the server in this approach.
Only the "inner" model is actually implemented and validated.
A different set of outer models for each client, based on the set of modules
the client wants to see, sounds very complicated to design, implement,
test, and operate.


Thanks,
> Rob
>
>
Andy


>
>
>>
>> /martin
>>
>>
>> I have not seen a proposal that addresses all requirements and hence
>>> at the end the WG needs to decide which t
>>> <https://maps.google.com/?q=the+end+the+WG+needs+to+decide+which+t&entry=gmail&source=g>radeoffs
>>> make sense.
>>>
>>> /js
>>>
>>> --
>>> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
>>> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
>>> Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
>>>
>>> _______________________________________________
>> netmod mailing list
>> netmod@ietf.org
>> https://www.ietf.org/mailman/listinfo/netmod
>> .
>>
>>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
>