Re: [netmod] schema mount and YANG library

Martin Bjorklund <mbj@tail-f.com> Tue, 16 January 2018 15:50 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 EEA51126CF6 for <netmod@ietfa.amsl.com>; Tue, 16 Jan 2018 07:50:23 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.911
X-Spam-Level:
X-Spam-Status: No, score=-1.911 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, 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 k0K3oUbUoTb4 for <netmod@ietfa.amsl.com>; Tue, 16 Jan 2018 07:50:16 -0800 (PST)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 42C5512D833 for <netmod@ietf.org>; Tue, 16 Jan 2018 07:50:16 -0800 (PST)
Received: from localhost (unknown [173.38.220.56]) by mail.tail-f.com (Postfix) with ESMTPSA id 3266B1AE0399; Tue, 16 Jan 2018 16:50:15 +0100 (CET)
Date: Tue, 16 Jan 2018 16:50:14 +0100
Message-Id: <20180116.165014.297580929914718463.mbj@tail-f.com>
To: lberger@labn.net
Cc: lhotka@nic.cz, netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <0d9b55b4-1377-34b9-442a-a94713e6ead1@labn.net>
References: <53c046c7-bd41-4a4b-ef61-0d3bf9414269@labn.net> <20180116.161347.1518992717170489943.mbj@tail-f.com> <0d9b55b4-1377-34b9-442a-a94713e6ead1@labn.net>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/jTMBdiPrfWVoiKE_7pLTod4Ey3k>
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: Tue, 16 Jan 2018 15:50:24 -0000

Lou Berger <lberger@labn.net> wrote:
> 
> 
> On 1/16/2018 10:13 AM, Martin Bjorklund wrote:
> ... (trimming to topic)
> >>>>>>>> rejectected by the WG multiple times.  FWIW there are drafts already
> >>>>>>>> with
> >>>>>>> No at all. The first and last time I proposed this was on 15 December
> >>>>>>> 2017:
> >>>>>>>
> >>>>>>> https://www.ietf.org/mail-archive/web/netmod/current/msg19753.html
> >>>>>>>
> >>>>>> Oh, I certainly would call you proposing that the schema for inline be
> >>>>>> part of the rest of the schema Mount module well before that. I'm sure
> >>>>>> I can dig up mail / slides it really necessary...
> >>>>> I don't think this has been proposed before.  All previous proposals
> >>>>> were basically variants on what is now "use-schema", which works fine
> >>>>> when all instances have the same schema.  This new proposal solves the
> >>>>> issue with different schemas in different instances.
> >>>>>
> >>>> I thought the previous proposals that as well, so don't see material
> >>>> difference - at least from the usage standpoint. I also don't see why
> >>>> the previous arguments that resulted in consensus for using Yang
> >>>> Library underneath the an in line Mount Point don't apply.
> >>> B/c it doesn't work well with the NMDA.  You can't mount yang library
> >>> in the configuration datastores; it has to be mounted in operational.
> >>> With meta-data, you can actually report the correct schema even in
> >>> running.  (This is actually true also for pre-NMDA systems).
> >>>
> >> Understood and agree there is nothing new here and the current version
> >> of SM (including inline) has the same limitation as rfc7895, and I'd
> >> expect it to behave the same once we have rfc7985bis -- in fact the
> >> inline case "just works" with YL-bis as defined today.
> Martin,
> 
> you didn't respond to this point.

I agree, it works for non-NMDA servers. But see below.

> >> The argument I recall being the key point on inline was handling the
> >> large variety of possible different implementation approaches for
> >> modules using inline.
> > I think these still are covered.
> >
> >> For example an LNE that is implemented using
> >> VMs which can be managed by the host at different times of the VMs
> >> operational life cycle based on customer/provider requirements.  I
> >> really don't see how YL-bis has any bearing on this point and
> > Using the new proposed meta data annotation together with the new YL
> > means that SM can support the use case above also in an NMDA server.
> > I think the new proposed solution covers more use cases than the
> > previous solution.
> 
> how so?  The inline mount point would contain YL-bis and have the same
> information there, just scoped for the mount point.  It's true a
> client would need to understand the mount point's schema only upon
> parsing the YL under the mount point and this schema could not be
> shared across inline mount points.  But this is as was discussed in
> the past and unchanged from YL.
> 
> > Do you think that there is any use case that the proposed solution
> > cannot handle, but the previous solution did?
> yes.  with VM/container technologies the YL / schema can change under
> the mount point from time to time during normal operation (i.e.,
> during runtime, no reboot) and, in some implementations, may require
> some level of rpc operation to access even the schema.  The new (and
> previously proposed approach) of having inline schema available from
> the top level greatly complicates these cases.  Also keep in mind that
> there will be cases where the ability to access information under an
> inline mount point will dynamically change in operation (and top level
> YL would need to remove schema information for the inline mount
> point.)  As before, from the usage standpoint, these changes don't
> provide a whole lot of value and seem to optimizing for something not
> needed in the inline case.

I think this is an implementation issue, rather than a problem with
the proposed mechanism, and it is present in the current solution as
well.  An implementation that can handle dynamically changing mounted
YLs in the current solution can do that in the new solution as well.

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

With the proposed solution, there can be different schema-ref pointers
in config and operational (if needed).


/martin