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:21 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 DCC3C130E1D for <netmod@ietfa.amsl.com>; Mon, 12 Nov 2018 08:21:59 -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 O__MF7_fv_eq for <netmod@ietfa.amsl.com>; Mon, 12 Nov 2018 08:21:57 -0800 (PST)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 9665912F1AC for <netmod@ietf.org>; Mon, 12 Nov 2018 08:21:57 -0800 (PST)
Received: from localhost (unknown [173.38.220.61]) by mail.tail-f.com (Postfix) with ESMTPSA id 0DE1E1AE0290; Mon, 12 Nov 2018 17:21:56 +0100 (CET)
Date: Mon, 12 Nov 2018 17:21:55 +0100
Message-Id: <20181112.172155.1599685820248587823.mbj@tail-f.com>
To: j.schoenwaelder@jacobs-university.de
Cc: andy@yumaworks.com, netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <20181109165512.6f3hi55mv2kc3qlp@anna.jacobs.jacobs-university.de>
References: <20181109151347.3xms2cty6hxyl232@anna.jacobs.jacobs-university.de> <20181109.173159.1522007243611164311.mbj@tail-f.com> <20181109165512.6f3hi55mv2kc3qlp@anna.jacobs.jacobs-university.de>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/y9bG0F2VKVG7rmZY9Z87zogmU4U>
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:22:00 -0000

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> wrote:
> On Fri, Nov 09, 2018 at 05:31:59PM +0100, 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.
> >
> 
> I can't follow you or I do not understand what you are after.
> 
>   In some versioning schemes, providing support for different
>   'versions' is relatively easy. If I have modules foo-1 and foo-2,
>   then I can implement foo-1 and foo-2 (or proper workable subsets of
>   them) easily. And older clients expecting foo-1 may continue to work
>   while newer clients move to foo-2. In other versioning schemes,
>   providing the same possibility to migrate from foo version 1 to foo
>   version 2, would lead to the support of foo in two different
>   versions.

But module 'foo-2' is not a new revision of module 'foo-1'.  It might
be that 'foo-2' represents a new version of the underlying "function"
that 'foo-1' represents; but that is a different issue.


> The requirement tries to express that it must be possible to have a
> transition path where old clients can continue to function with the
> old version while new clients start using the new version. The idea is
> to state this as a requirement without making any assumptions about
> the solutions.
> 
> Are you saying that a requirement saying that there should be a
> possibility of a transition path is in general a bad requirement?

No (but I agree w/ Rob Wilton that it is unclear how this should be
done in non-trivial examples), but again, that is not what I think 3.2
says.  IMO 3.2 doesn't allow a solution that requires a new module for
new NBC stuff, since it says that a client should be able to pick a
particular revision of a module.


/martin




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