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

Ladislav Lhotka <lhotka@nic.cz> Mon, 12 February 2018 15:14 UTC

Return-Path: <lhotka@nic.cz>
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 583AC12D775 for <netmod@ietfa.amsl.com>; Mon, 12 Feb 2018 07:14:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.01
X-Spam-Level:
X-Spam-Status: No, score=-7.01 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, T_RP_MATCHES_RCVD=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nic.cz
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 HyZdrHLV0z1q for <netmod@ietfa.amsl.com>; Mon, 12 Feb 2018 07:14:32 -0800 (PST)
Received: from mail.nic.cz (mail.nic.cz [IPv6:2001:1488:800:400::400]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8A70E126CB6 for <netmod@ietf.org>; Mon, 12 Feb 2018 07:14:31 -0800 (PST)
Received: from birdie (unknown [IPv6:2001:1488:fffe:6:e4c8:9fff:fe6e:9de7]) by mail.nic.cz (Postfix) with ESMTPSA id 57F3E62119; Mon, 12 Feb 2018 16:14:29 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1518448469; bh=kg+e7mvsR/ZebTpH0jsONOgMlwpnsTMB45+3KkM5Eiw=; h=From:To:Date; b=HyFjoBcPgptwDtfUMqUgb0LFIb0PrvsBraRBanpAEqITVS8QCZK48ndRaOjp7/V/S xjcB/HiZK/f/VW3KfVGPAcQmFAJDaxfNMlx3CWxzwjgbJVxwGUwBCLESe7cxly5jCw t+uJCsSmJBwWTYffYhNjR/1CCEZjbbd76ZBtuN0k=
Message-ID: <1518448469.13433.104.camel@nic.cz>
From: Ladislav Lhotka <lhotka@nic.cz>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Cc: Martin Bjorklund <mbj@tail-f.com>, netmod@ietf.org
Date: Mon, 12 Feb 2018 16:14:29 +0100
In-Reply-To: <20180212143749.vmjwgtx2lgxxgbcw@elstar.local>
References: <87fu6axobc.fsf@nic.cz> <20180212.130212.2080346646041413993.mbj@tail-f.com> <1518445591.13433.81.camel@nic.cz> <20180212143749.vmjwgtx2lgxxgbcw@elstar.local>
Organization: CZ.NIC
Content-Type: text/plain; charset="UTF-8"
X-Mailer: Evolution 3.26.5
Mime-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: clamav-milter 0.99.2 at mail
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/p0BE8MIM87XXVyhnOGvVpqHdORw>
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 15:14:34 -0000

On Mon, 2018-02-12 at 15:37 +0100, Juergen Schoenwaelder wrote:
> 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

My problem with the current text is that it seems to make no difference between
YANG library and any other state data.

> 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 guilty but careful. There is no requirement that clients check YANG library
between every two operations, and notifications are optional.

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

Nothing except emphasizing the difference between data and metadata, which is
IMO an important one.

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

Etags work, but my point here is to have the checksum as a globally unique
identifier of a given data model, schema or module set. For example, it would
allow for checking that multiple servers use the same data model.

Lada

> 
> /js
> 
-- 
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67