Re: [netmod] schema mount and YANG library

Ladislav Lhotka <lhotka@nic.cz> Wed, 17 January 2018 16:06 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 3DA331314A7 for <netmod@ietfa.amsl.com>; Wed, 17 Jan 2018 08:06:27 -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 VcAM6wVNLxcj for <netmod@ietfa.amsl.com>; Wed, 17 Jan 2018 08:06:19 -0800 (PST)
Received: from mail.nic.cz (mail.nic.cz [217.31.204.67]) (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 99FDE131499 for <netmod@ietf.org>; Wed, 17 Jan 2018 08:06:16 -0800 (PST)
Received: from birdie (unknown [IPv6:2001:1488:fffe:6:3095:1bff:fe2b:aa11]) by mail.nic.cz (Postfix) with ESMTPSA id DBB1064ADD; Wed, 17 Jan 2018 17:06:14 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1516205174; bh=++cm7nusS0duLVk6ejRwjHWNoVvpmOymhDCExS+6a2A=; h=From:To:Date; b=OacwlzAkGcxZoZYTDRUPCAcBgZz1fAd/8Rb8T0NHeOzH6Oo5QQ8hHKf+yc+Z0KWfj DggZxGNuR4ix5Tu2MRMOpKYzq7S/7TSyjUm4uxjFCVgGXeq9bnsA7sGmgxY8Yytxaz 8SnOANgKQX7frN9J9vxuhGYfbkrqqS+6ixUAgE/M=
Message-ID: <1516205174.1388.48.camel@nic.cz>
From: Ladislav Lhotka <lhotka@nic.cz>
To: Lou Berger <lberger@labn.net>, Robert Wilton <rwilton@cisco.com>, Martin Bjorklund <mbj@tail-f.com>
Cc: netmod@ietf.org
Date: Wed, 17 Jan 2018 17:06:14 +0100
In-Reply-To: <2d3e40ab-7dd6-20ea-ee41-c06c498d767c@labn.net>
References: <53c046c7-bd41-4a4b-ef61-0d3bf9414269@labn.net> <20180116.161347.1518992717170489943.mbj@tail-f.com> <0d9b55b4-1377-34b9-442a-a94713e6ead1@labn.net> <20180116.165014.297580929914718463.mbj@tail-f.com> <e2065948-f455-dfc7-b1ae-079331b6e626@cisco.com> <1516172373.21945.16.camel@nic.cz> <2d3e40ab-7dd6-20ea-ee41-c06c498d767c@labn.net>
Organization: CZ.NIC
Content-Type: text/plain; charset="UTF-8"
X-Mailer: Evolution 3.26.4
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/Im4vtD8x-_H0nPNxEwbsl6CgteI>
Subject: Re: [netmod] schema mount and YANG library
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: Wed, 17 Jan 2018 16:06:27 -0000

On Wed, 2018-01-17 at 09:09 -0500, Lou Berger wrote:
> 
> On 1/17/2018 1:59 AM, Ladislav Lhotka wrote:
> ...
> > > > > > > I think
> > > > > > > it is incumbent upon those revisiting past/closed WG decisions (in
> > > > > > > this case, inline schema being represented by YL) to argue why the
> > > > > > > decision needs to be revisited.
> > > > > > 
> > > > > > I'm repeating my self: b/c the current solution doesn't work well
> > > > > > with
> > > > > > the NMDA.
> > > > > 
> > > > > I simply don't understand how YL-bis works at the root node but
> > > > > doesn't work equally at an inline mount point.  Can you elaborate?
> > > > 
> > > > With NMDA, a server may have one schema for the config datastore and
> > > > another one for operational (one is a superset of the other).  A
> > > > mounted YL can only be present in operational.  Thus, there's no way a
> > > > client can learn the schema for config.
> > > 
> > > If the LNE mounted the full YL-bis at the mount point then you would
> > > have the list of datastores, and the schema associated with each
> > > datastore.  Of course, this would only be available in operational, but
> > > that is the same as a regular server support YL-bis.
> > 
> > YL-bis is different in that it is in fact metadata even though we call it
> > state
> > data.
> 
> I couldn't agree more.  YL and SM are server metadata and are 
> independent of any DS.  They could be accessed via any (as others have 
> suggested), but we are currently choosing to access if via operational 
> state.  With NMDA, I think personally think server meta data should have 
> it's own DS.  This discussion has convinced me that the current proposed 
> alternative, of accessing as operational data is flawed and even access 
> via *any* DS is preferable.

Yes, I would support an extra datastore.

> 
> > In any case, no matter what datastores the server has, YL-bis is the
> > single well-known location from which the schema of all datastores can be
> > retrieved.
> 
> That's a nice idea, but as was discussed in december, the direction 
> being taken doesn't include SM so this statement isn't *currently* true.

I assume SM is also part of metadata, so it would be in the same datastore as
YL.

> 
> > 
> > We could refer to <operational> as the place from which the mounted schemas
> > of
> > NMDA-standard config datastores can be retrieved (except for special cases,
> > one
> > is discussed below). But if there is another config datastore (e.g. dynamic)
> > with an inline mount point instance, it is unclear where to look for the
> > mounted
> > schema.
> 
> Why?  Is it unclear where to look for YL-bis in this case?  Why is SM 
> any different than YL?

NMDA requires that standard config data be also in <operational>, so if we have
a mount point instance in <intended>, there is (mostly) a corresponding instance
in <operational>, which is the place where the embedded YL can be found. I don't
think other non-standard datastores necessarily have this relationship with
<operational>.

> 
> >   With my proposal, the mount point instance will be annotated with
> > @schema-ref that points to a schema in the top-level YL.
> 
> right and as we thrashed out the last time we had discussed this with 
> the whole WG, having inline schema available at the top level was not 
> the preferred solution.

Because we didn't have the metadata annotation that can now refer from any
inline mount point instance to a schema that is placed at the top level. It is
just a simple indirection.

> 
> > 
> > > I thought that the problem with the current solution and NMDA, was that
> > > there is no way to find out what the LNE schema is if the LNE isn't
> > > booted, and hence isn't providing <operational>.  But I'm not sure what
> > > issues that actually causes.  E.g. does it cause issues with
> > > pre-configuration of the LNE?
> > 
> > The issue that this causes is that the schema for the pre-configured LNE
> > isn't
> > known and validity of <intended> is unclear.
> 
> Please elaborate on what you see here as a problem.  Those working on 
> LNE's (including myself) don't see an issue here.

Assume the "root" mount point for LNE is inline. Can you have a pre-provisioned
configuration for a LNE entry? If so, then I assume there is no corresponding
LNE entry in <operational>. If this is correct, then I don't see from where you
get the embedded YL instance. That is, <intended> may contain

  "ietf-logical-network-element:logical-network-element": [
    { "name": "foo",
      "root": { ... pre-provisioned config ... }
    },
    ...
  ]

But if the "foo" LNE isn't booted, then there is no "foo" entry in
<operational>, i.e. also no corresponding instance of the "root" mount point.

Is this reasoning flawed?

Lada

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