Re: [netmod] LL review of draft-ietf-netconf-rfc7895bis-04

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Mon, 12 February 2018 14:37 UTC

Return-Path: <j.schoenwaelder@jacobs-university.de>
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 7C361129516 for <netmod@ietfa.amsl.com>; Mon, 12 Feb 2018 06:37:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level:
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, T_RP_MATCHES_RCVD=-0.01] 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 cl0rQnaUcKXR for <netmod@ietfa.amsl.com>; Mon, 12 Feb 2018 06:37:53 -0800 (PST)
Received: from atlas5.jacobs-university.de (atlas5.jacobs-university.de [212.201.44.20]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A5B08126C2F for <netmod@ietf.org>; Mon, 12 Feb 2018 06:37:52 -0800 (PST)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas5.jacobs-university.de (Postfix) with ESMTP id 6FB8CB7A; Mon, 12 Feb 2018 15:37:51 +0100 (CET)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas5.jacobs-university.de ([10.70.0.217]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10032) with ESMTP id X4zdY_me4UXo; Mon, 12 Feb 2018 15:37:48 +0100 (CET)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "Jacobs University CA - G01" (verified OK)) by atlas5.jacobs-university.de (Postfix) with ESMTPS; Mon, 12 Feb 2018 15:37:51 +0100 (CET)
Received: from localhost (demetrius1.jacobs-university.de [212.201.44.46]) by hermes.jacobs-university.de (Postfix) with ESMTP id 541A02014B; Mon, 12 Feb 2018 15:37:51 +0100 (CET)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius1.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id pnImyoV48Ttj; Mon, 12 Feb 2018 15:37:50 +0100 (CET)
Received: from elstar.local (unknown [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id 626372014E; Mon, 12 Feb 2018 15:37:50 +0100 (CET)
Received: by elstar.local (Postfix, from userid 501) id B7BB64243864; Mon, 12 Feb 2018 15:37:49 +0100 (CET)
Date: Mon, 12 Feb 2018 15:37:49 +0100
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Ladislav Lhotka <lhotka@nic.cz>
Cc: Martin Bjorklund <mbj@tail-f.com>, netmod@ietf.org
Message-ID: <20180212143749.vmjwgtx2lgxxgbcw@elstar.local>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: Ladislav Lhotka <lhotka@nic.cz>, Martin Bjorklund <mbj@tail-f.com>, netmod@ietf.org
References: <87fu6axobc.fsf@nic.cz> <20180212.130212.2080346646041413993.mbj@tail-f.com> <1518445591.13433.81.camel@nic.cz>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <1518445591.13433.81.camel@nic.cz>
User-Agent: NeoMutt/20171215
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/4N6djE3mWnya3lcVlmlgklXtJBs>
Subject: Re: [netmod] LL review of draft-ietf-netconf-rfc7895bis-04
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.22
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 Feb 2018 14:37:54 -0000

On Mon, Feb 12, 2018 at 03:26:31PM +0100, Ladislav Lhotka wrote:
 
> > > **** Sec. 1 - YANG library stability
> > > 
> > >      The text basically says that the YANG library information can
> > >      change at any time. This has been recently discussed but I
> > >      haven't seen any conclusion yet. I understand it is difficult to
> > >      enumerate all the situations when this information can change,
> > >      but it should also be emphasized that YL info is not just another
> > >      subtree of state data and that it should not change haphazardly.
> > 
> > I agree, but I think that YANG library's job is to report what the
> > server implements.  If the server dynamically changes its set of
> > loaded modules, then YL should adapt.
> > 
> > I welcome more discussion on this topic, but I don't think it has to
> > be documented in this draft.
> 
> What about this?
> 
> OLD
>    The YANG library information can be different on every server and it
>    can change at runtime or across a server reboot.  If a server
>    implements multiple network management protocols to access the
>    server's datastores, then each such protocol may have its own
>    conceptual instantiation of the YANG library.
> 
> NEW
>    The YANG library information represents a management API for a given server, 
>    and should therefore be as stable as possible. The circumstances under which 
>    this information can change are outside the scope of this document but it is 
>    advisable to consider potential impact on clients.

I like the old text because it tells the client clearly that this data
can change. And the statement has been in RFC 7895 in the exact same
wording. If you want to add a statement that servers should not change
the YANG library without reason I could live with that but any attempt
to write text that makes the server somewhat guilty when a client is
not prepared to handle a YANG library change is IMHO a fundamental
change from what RFC 7895 said.

> > >      It is like with database schemas, REST APIs and the like. Of
> > >      course, these can change as well, but everybody has to understand
> > >      that doing so means transition problems, broken clients etc.
> > > 
> > >      For this reason, it might be useful to set YL and schema mount
> > >      data aside and call them metadata or schema information - even if
> > >      we continue modelling them with YANG.
> > 
> > Do you have some concrete proposal for where to introduce this term?
> 
> In RESTCONF it could be a separate well-known resource outside all datastores.

Putting the data into a different place does not change the impact of
the data changing. So I do not understand which problem introducing
yet another datastore solves.

> > > **** Sec. 4 - checksum
> > > 
> > >      I think it would be very useful (even if not immediately) to
> > >      standardize the procedure for computing the checksum. What I
> > >      envision are systems that construct and process YANG schemas
> > >      (such as the YANG Catalog). They could benefit from having a
> > >      universal hash string as a characteristic of any particular
> > >      schema. Just consider how useful the universal hashes are e.g. in
> > >      git.
> > 
> > Ok.  It would be interesting to see such a scheme.  But I agree it is
> > not needed immediately for this document.
> 
> Checksums are mandatory, so every implementation has to invent some scheme.
> 
> Actually, it might be useful to have checksums also on module-sets, schemas and
> datastores so that the client can easily localize the changes and retrieve again
> only necessary data.

With RESTCONF, you can use etags and conditional requests. NETCONF
lacks a similar generic mechanism to support caching. Instead of
adding checksum everywhere into our data models, it seems a better
solution would be to add something like etags to NETCONF. Hence, we
reduced this to a single checksum which is needed as it is carried in
the hello message.

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