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

Martin Bjorklund <mbj@tail-f.com> Mon, 12 November 2018 16:29 UTC

Return-Path: <mbj@tail-f.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 E863F12F1AC for <netmod@ietfa.amsl.com>; Mon, 12 Nov 2018 08:29:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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 m8jzYCAHJEUL for <netmod@ietfa.amsl.com>; Mon, 12 Nov 2018 08:29:48 -0800 (PST)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 2DB50130E41 for <netmod@ietf.org>; Mon, 12 Nov 2018 08:29:47 -0800 (PST)
Received: from localhost (unknown [173.38.220.61]) by mail.tail-f.com (Postfix) with ESMTPSA id 256B61AE0442; Mon, 12 Nov 2018 17:29:46 +0100 (CET)
Date: Mon, 12 Nov 2018 17:29:45 +0100 (CET)
Message-Id: <20181112.172945.713446019460767559.mbj@tail-f.com>
To: rwilton@cisco.com
Cc: j.schoenwaelder@jacobs-university.de, netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <96995ddc-f69e-1a91-21b6-36304c8510f3@cisco.com>
References: <20181109151347.3xms2cty6hxyl232@anna.jacobs.jacobs-university.de> <20181109.173159.1522007243611164311.mbj@tail-f.com> <96995ddc-f69e-1a91-21b6-36304c8510f3@cisco.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/K11beg5xuuo49Zsp4-YFQ-3B-34>
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: Mon, 12 Nov 2018 16:29:51 -0000

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.

Yes, but that doesn't mean that a given server supports more than one
version seamlessly.  As you wrote, it works fine for operational
state, but it is less obvious how it should work in the general case
for config data.

> 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.

Yes, but this solution is also problematic; it is not always the case
that clients can pick and choose from these different "views" and get
consistent results, simply b/c the mappings are not 100% one-to-one.


/martin

> 
> Thanks,
> Rob
> 
> 
> >
> >
> > /martin
> >
> >
> >> I have not seen a proposal that addresses all requirements and hence
> >> at the end the WG needs to decide which tradeoffs 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
> > .
> >
>