Re: [netmod] schema mount and YANG library

Lou Berger <lberger@labn.net> Wed, 17 January 2018 15:43 UTC

Return-Path: <lberger@labn.net>
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 76504129C5D for <netmod@ietfa.amsl.com>; Wed, 17 Jan 2018 07:43:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (768-bit key) header.d=labn.net
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 eNt0i1ZsSPCX for <netmod@ietfa.amsl.com>; Wed, 17 Jan 2018 07:43:41 -0800 (PST)
Received: from gproxy2-pub.mail.unifiedlayer.com (gproxy2-pub.mail.unifiedlayer.com [69.89.18.3]) (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 C1620131483 for <netmod@ietf.org>; Wed, 17 Jan 2018 07:43:37 -0800 (PST)
Received: from cmgw3 (unknown [10.0.90.84]) by gproxy2.mail.unifiedlayer.com (Postfix) with ESMTP id 8A2AD1E0972 for <netmod@ietf.org>; Wed, 17 Jan 2018 08:43:33 -0700 (MST)
Received: from box313.bluehost.com ([69.89.31.113]) by cmgw3 with id zTjW1w0092SSUrH01TjZWf; Wed, 17 Jan 2018 08:43:33 -0700
X-Authority-Analysis: v=2.2 cv=XM9AcUpE c=1 sm=1 tr=0 a=h1BC+oY+fLhyFmnTBx92Jg==:117 a=h1BC+oY+fLhyFmnTBx92Jg==:17 a=IkcTkHD0fZMA:10 a=xqWC_Br6kY4A:10 a=RgaUWeydRksA:10 a=u07AKapRAAAA:8 a=wU2YTnxGAAAA:8 a=48vgC7mUAAAA:8 a=yy8xooHgIfOp-6ErD7oA:9 a=QEXdDO2ut3YA:10 a=ZVvG44Nqbz4A:10 a=aztA8ZntzogA:10 a=SkebfZ6J2Mmvk2rLHZle:22 a=Yz9wTY_ffGCQnEDHKrcv:22 a=w1C3t2QeGrPiZgrLijVG:22
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=labn.net; s=default; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Subject: References:In-Reply-To:Message-ID:Date:CC:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=sMWsj9xLSo/TIfcKNRdXANDzRDFPtXrEo357BGHbQuk=; b=LWrL3DutX/Rb9C1ldZfrQnsr67 x+L9MWolXqlLrr+2rm3SRTpVUOI1a+MPvJBUe8C/3oFVCIOI4g+/J38cvdH+j47G/K4nr9z+i5XIn xEH0ZzaOr38sfpISXTSlS9z1Z;
Received: from [172.58.185.95] (port=31266 helo=[IPV6:2607:fb90:6505:8e19:0:4e:ebc5:4d01]) by box313.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.89) (envelope-from <lberger@labn.net>) id 1ebps9-0032d8-O6; Wed, 17 Jan 2018 08:43:30 -0700
From: Lou Berger <lberger@labn.net>
To: Martin Bjorklund <mbj@tail-f.com>
CC: rwilton@cisco.com, netmod@ietf.org
Date: Wed, 17 Jan 2018 10:43:25 -0500
Message-ID: <16104ca0948.27d3.9b4188e636579690ba6c69f2c8a0f1fd@labn.net>
In-Reply-To: <20180117.154205.449528767667713089.mbj@tail-f.com>
References: <754a4ce8-a3de-ad0b-03a4-0edc500f9cf3@labn.net> <20180117.092002.464472752076487902.mbj@tail-f.com> <e3d5c195-a737-057a-5911-daa50a06c4bd@labn.net> <20180117.154205.449528767667713089.mbj@tail-f.com>
User-Agent: AquaMail/1.13.2-730 (build: 101300200)
MIME-Version: 1.0
Content-Type: text/plain; format="flowed"; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - box313.bluehost.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - labn.net
X-BWhitelist: no
X-Source-IP: 172.58.185.95
X-Exim-ID: 1ebps9-0032d8-O6
X-Source:
X-Source-Args:
X-Source-Dir:
X-Source-Sender: ([IPV6:2607:fb90:6505:8e19:0:4e:ebc5:4d01]) [172.58.185.95]:31266
X-Source-Auth: lberger@labn.net
X-Email-Count: 1
X-Source-Cap: bGFibm1vYmk7bGFibm1vYmk7Ym94MzEzLmJsdWVob3N0LmNvbQ==
X-Local-Domain: yes
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/DuLWats2zqGtIDaxkogWcFgPnHU>
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 15:43:45 -0000


On January 17, 2018 9:42:43 AM Martin Bjorklund <mbj@tail-f.com> wrote:

> Lou Berger <lberger@labn.net> wrote:
>>
>>
>> On 1/17/2018 3:20 AM, Martin Bjorklund wrote:
>> > Lou Berger <lberger@labn.net> wrote:
>> >>
>> >> On 1/16/2018 11:15 AM, Robert Wilton wrote:
>> >>> On 16/01/2018 15:50, Martin Bjorklund wrote:
>> >>>> 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.
>> >>> 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.
>> >> exactly my point.
>> > Yes, you're right.  But it requires the usage of YL-bis.
>> >
>> >>> 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>.
>> >> I've never heard anyone mention this issue/limitation.
>> > This has been dicussed, but this does not change with the introduction
>> > of the meta annotation; if the server has off-line knowledge of the
>> > instance's schema then it can populate an inline YL as well as the
>> > meta annotation and corresponding SM data.
>> >
>> >> My
>> >> understanding of the previously raised objections were (a) that the
>> >> full schema can't be obtained by just reading the top level YL and (b)
>> >> that when multiple inline mount points have the same schema the
>> >> information can't be combined using a shared schema approach as is
>> >> taken in base SM.
>> > Right.  Both these issues are addressed by using a meta annotation.
>>
>> But when we discussed this the last time having inline schema
>> available at the top level (in the SM module), the general consensus
>> was that having YL under inline was the preferred approach.
>
> What is new now is that we have an indirection; each instance has its
> own pointer to the schema at the top level.  In the previous
> discussion, having the schema at the top level implied that all
> instances shared the same schema, and *that* was rejected.
>

Indirection was possible at the previous time and is part of the current 
scheme Mount definition. Yes, you need to use different mount points to 
reference different schema, but take a look at the ni document that's 
exactly what we are doing there. So I don't believe this is the point that 
caused the previous proposal to be rejected.

>> Lada
>> stated that he didn't like the approach, but would go with the WG
>> decision.  Why are we reopening this closed discussion -- many months
>> after we closed the issue?  Most who contributed, notably users, have
>> moved from SM assuming it's a solved problem.
>>
>> At this point, I think the case needs to be made why the existing
>> mechanisms in the draft are broken vs how they might be improved. My
>> understanding is that there was one issue that could be clarified by
>> the proposed text I included when restarting this discussion.
>>
>> What else is *broken* in the current draft?
>
> My main concern is actually the YL version.  I strongly think SM need
> to use YL-bis rather that the old YL, so that it can support NMDA.
>

Right now to SM is independent of Yang Library version and can run with 
either. I certainly would expect use of Yang Library bis and nmda to have 
advantages.

> The implementation effort for supporting the new YL in clients and
> servers is minimal, esp. when compared to the efforts involved in
> supporting SM.
>
> Adding an indirection is (for me) less important, but it has the
> benefit of solving the two issues (a) and (b) above, and I haven't
> seen any technical problem with it.
>
(A) has implementation implications and those participating in the 
discussion at the time expressed as not being worth the cost.
I don't believe b was seen as a significant issue either.

> Do you have any technical concerns with using an annotation as an
> indirection?
>

The technicsl issue I have with the approaches the same one that was raised 
when debated previously, ie the implementation overhead of requiring inline 
schemas to be available at the top level.

>From a process perspective, I don't think it's fair to those who provided 
input or contributed in the past  in order to get scheme mount to satisfy 
their requirements to reopen something that is not broken. Particularly 
because a number of those contributors are implementers and users  who are 
now focused on other topics.

Lou

>
> /martin
>