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

Martin Bjorklund <mbj@tail-f.com> Thu, 08 November 2018 21:42 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 AB5E212DD85 for <netmod@ietfa.amsl.com>; Thu, 8 Nov 2018 13:42:23 -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 Cy54GmHkT5Gr for <netmod@ietfa.amsl.com>; Thu, 8 Nov 2018 13:42:21 -0800 (PST)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 49F5112D4E8 for <netmod@ietf.org>; Thu, 8 Nov 2018 13:42:21 -0800 (PST)
Received: from localhost (h-255-177.A165.priv.bahnhof.se [176.10.255.177]) by mail.tail-f.com (Postfix) with ESMTPSA id 88E991AE0936; Thu, 8 Nov 2018 22:42:20 +0100 (CET)
Date: Thu, 08 Nov 2018 22:42:20 +0100 (CET)
Message-Id: <20181108.224220.1513800936571555652.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: <20181027211355.ppu7wavjcq2butc4@anna.jacobs.jacobs-university.de>
References: <20181027083628.tgymddbje3yp2lhy@anna.jacobs.jacobs-university.de> <CABCOCHRmcqpffXYcOOeZA7hy=NRhK8RAF8KcJYpht+Mp9g8qkQ@mail.gmail.com> <20181027211355.ppu7wavjcq2butc4@anna.jacobs.jacobs-university.de>
X-Mailer: Mew version 6.7 on Emacs 25.2 / 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/7Aj4-9FeOKy4ykpkULNPxtARcf8>
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: Thu, 08 Nov 2018 21:42:24 -0000

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> wrote:
> On Sat, Oct 27, 2018 at 06:50:58AM -0700, Andy Bierman wrote:
> > 
> > This is what we have today only if modules are updated in legal ways.
> > The 3.1 requirement says this backward compatibility is maintained even
> > if the module is updated in violation of the module update rules.
> >
> 
> It is stating a requirement. How solutions meet the requirement is for
> the solutions to figure out.
> 
> > How would 3.1 be met if the WG decided to just add a new 'datastore'
> > key leaf to the /modules-state/module list?
> 
> Depends on the solution I guess.
>  
> > IMO the current "deprecate and start over" is actually the easiest
> > and most robust solution path, and it requires no changes to YANG or
> > the protocols.
> 
> Yep. But there are people who think that other solutions can do
> better. The challenge is to find out whether they actually do better
> or for whom they do better (and if someone has to pay a price for it).
> For having this discussions, it is good to write down requirements.
> 
> > >        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.
> > >
> > > Today, the version number is effectively an (implicit) part of the
> > > module name (plus the revision date for backwards compatible changes).
> > > Hence, my understanding is that today's model does satisfy 3.2 as
> > > well.
> > 
> > This is not what we have at all. RFC 7950 says a server can only implement
> > one revision of a module.
> >
> 
> A new version today essentially means a new module name and I do not
> see a conflict with what I wrote.

Then I think this requirement needs clarification.  It says "different
revision of modules", which can be interpreted as different revisions
of *the same* module.

Also the second part of the paragraph seems to indicate multiple
revisions of the same module in the server.

I do not agree with this requirement.



/martin


> 
> > > If we want to increase 'agility' in an attempt to make it easier to
> > > deliver early designs and to fix them on the go, the costs will go up
> > > somewhere. The extreme cases are:
> > >
> > > 1) The server can make changes to YANG modules in arbitrary ways and
> > >    the clients have to adapt, i.e., clients have to pay the bill.
> > >
> > > 2) The server has to provide strict backwards compatibility in order
> > >    to not break clients, i.e., servers have to pay the bill.
> > >
> > >
> > This is not correct. Implementing multiple incompatible revisions of a
> > module
> > (e.g, "module" list keyed 2 different ways) is a huge bill to pay for the
> > server developer.
> 
> Depends on the details and the developer will decide based on the
> impact on the clients and whether a transition period is possible. You
> seem to read that the requirement says one has to implement backwards
> compatibility. This is not what the text says. The text says it must
> be possible.
> 
> > > Unless we go for option 1) above, I believe 3.1 and 3.2 are valid and
> > > important requirements.
> > 
> > I do not agree with the premise that non-compatible data model updates are
> > required.
> > 3.1 can be achieved without such changes. 3.2 violates RFC 7950, requiring
> > a new(much more complicated) version of YANG
> 
> I think you misread the requirements text.
> 
> /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
>