Re: [mpls] [Teas] [netmod] Use of schema mounts for common model

"Xufeng Liu" <xufeng.liu.ietf@gmail.com> Fri, 29 April 2016 20:55 UTC

Return-Path: <xufeng.liu.ietf@gmail.com>
X-Original-To: mpls@ietfa.amsl.com
Delivered-To: mpls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F0B8412D641; Fri, 29 Apr 2016 13:55:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 jSLMbzhwXJbw; Fri, 29 Apr 2016 13:55:24 -0700 (PDT)
Received: from mail-lf0-x22b.google.com (mail-lf0-x22b.google.com [IPv6:2a00:1450:4010:c07::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 676C812D111; Fri, 29 Apr 2016 13:55:24 -0700 (PDT)
Received: by mail-lf0-x22b.google.com with SMTP id u64so131348083lff.3; Fri, 29 Apr 2016 13:55:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:references:in-reply-to:subject:date:message-id :mime-version:content-transfer-encoding:thread-index :content-language; bh=D+B60/l0XDvP2psF5UjcpH/C9sEXnKLumgVNbGJUCYY=; b=VT0jvFRNSClUTgwavrJtjlcMiE6hL98YSpgVv53DYXB4Yweei9sDAalzUGfsqcuzWw Ap7vYJgrXHjuJmb80qwNUS9PTCU1XL72C5gicktpJrFRgxR7MMRSKOUzmZ8OJGUcIJtN x0vZviVEJUlRjKk+2wKzPsSyMNY5nv9Rwkew43KLNKqgayBJrUTVLSz3n9y+CA/R3BY3 MdxxkiE8i6f9iJZElc99kurIJ0IF0kzppUu5A6Kw7LyMosFh+meiQ5/B0sWcd6gP9L4l WkF6vTNLKCIXIOxdXOuo+yT9FTcJGwvrgtna7K9yzMrljfO5IQyDiVVVUArR4HZM7FNq LiNw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:references:in-reply-to:subject:date :message-id:mime-version:content-transfer-encoding:thread-index :content-language; bh=D+B60/l0XDvP2psF5UjcpH/C9sEXnKLumgVNbGJUCYY=; b=OdS6ozzuvCzVfMU/jWPIbGxXtTEI0BftGYgaHnG5EfjIoFTPxjDKQzetR0dQk1f75Y RdaeHiYmUUF+g0OASadbKIeOmsCs7xJo4aLAC7fOIJ7E7hRMCTFqJPrx148BJD8PGpbI Q9lOj8DG4QQXNtif1uB+3grOpJucxDyGtWvC7Xvp6zY56qis0nolOzx8Emcg/AEGbnZT XAheppD8jHRL9mEmZRX7PMHNfqv6v8N9ZreG5AvAXj65THFbrzZVTjeNXBAGR7FVSDLR BpLeCQ3r3ICLxXUr3rIMIOwCTEo9yHUhQt5V42w+SVh8QX8Yf8o3ouXcvEPngp+ihCSw TvXw==
X-Gm-Message-State: AOPr4FWDZjTHu+LW7jbfZ3JoKsGli250VTzPPFmPl1olrKXO6a8+u0jI+bJVxeVcP/u0TA==
X-Received: by 10.25.18.215 with SMTP id 84mr9656770lfs.154.1461963322598; Fri, 29 Apr 2016 13:55:22 -0700 (PDT)
Received: from xliuus (wsip-98-191-72-170.dc.dc.cox.net. [98.191.72.170]) by smtp.gmail.com with ESMTPSA id s4sm2581040lbr.34.2016.04.29.13.55.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 29 Apr 2016 13:55:21 -0700 (PDT)
From: Xufeng Liu <xufeng.liu.ietf@gmail.com>
To: "'Joel M. Halpern'" <jmh@joelhalpern.com>, "'Tarek Saad (tsaad)'" <tsaad@cisco.com>, 'Martin Bjorklund' <mbj@tail-f.com>
References: <4A05DD10-0885-435C-9D13-9634388B9F4B@cisco.com> <20160429.122943.1926404425708749601.mbj@tail-f.com> <50BEAA4E-C645-4DCE-A992-44B14B4EFC43@cisco.com> <dbb1a964-084a-ca29-440d-6cdc9a4bdb64@joelhalpern.com>
In-Reply-To: <dbb1a964-084a-ca29-440d-6cdc9a4bdb64@joelhalpern.com>
Date: Fri, 29 Apr 2016 16:55:18 -0400
Message-ID: <01fc01d1a259$71cfae00$556f0a00$@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQHWgJx6jSrWpXJ0ftSLGH1x1joEWQIIa3FCAl1chQsCIJL6KJ9jcbMA
Content-Language: en-us
Archived-At: <http://mailarchive.ietf.org/arch/msg/mpls/OsU5BFPwQkY1-BnccrYrJY8xjkc>
Cc: draft-ietf-teas-yang-te@ietf.org, mpls@ietf.org, netmod@ietf.org, teas@ietf.org, draft-ietf-netmod-schema-mount@ietf.org
Subject: Re: [mpls] [Teas] [netmod] Use of schema mounts for common model
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mpls>, <mailto:mpls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mpls/>
List-Post: <mailto:mpls@ietf.org>
List-Help: <mailto:mpls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 29 Apr 2016 20:55:27 -0000

We still hope that schema mount can handle cross-referencing across mounted
modules. It is also needed when ietf-interfaces model is mounted to
logical-network-element  and network-instance models.

More comments for this case below in-line.

Thanks,

- Xufeng

> -----Original Message-----
> From: Teas [mailto:teas-bounces@ietf.org] On Behalf Of Joel M. Halpern
> Sent: Friday, April 29, 2016 1:05 PM
> To: Tarek Saad (tsaad) <tsaad@cisco.com>; Martin Bjorklund
<mbj@tail-f.com>
> Cc: draft-ietf-teas-yang-te@ietf.org; mpls@ietf.org; teas@ietf.org;
> netmod@ietf.org; draft-ietf-netmod-schema-mount@ietf.org
> Subject: Re: [Teas] [netmod] Use of schema mounts for common model
> 
> With regard to leafrefs trying to point into groupings, would
instance-identifiers
> work for your use case?
> 

In this case, it would be hard to specify the must conditions for these
instance-identifiers to make them always applicable when the groupings are
used in various situations. If we are willing to re-structure everything,
the method used in draft-halpern-supa-generic-policy-data-model could be an
option to explore. 

> Yours,
> Joel
> 
> On 4/29/16 12:17 PM, Tarek Saad (tsaad) wrote:
> > Thanks Martin, please see inline..
> >
> >
> > On 2016-04-29, 6:29 AM, "Martin Bjorklund" <mbj@tail-f.com
> > <mailto:mbj@tail-f.com>> wrote:
> >
> >     "Tarek Saad (tsaad)" <tsaad@cisco.com <mailto:tsaad@cisco.com>>
wrote:
> >
> >         Hi authors/WG,
> >         In draft-ietf-teas-yang-te, we are driving the definition for a
> >         generic TE YANG model that can/may be used (and extended when
> >         necessary) for different data plane technologies (e.g. MPLS,
> >         OTN, WDM,
> >         etc.).
> >         Reviewing the schema mount idea presented in
> >         draft-ietf-netmod-schema-mount, we are thinking this proposal is
> >         useful and can facilitate the reuse of the our model in multiple
> >         places in the YANG tree (once per each technology), e.g.:
> >         ./mpls/mount-points/mount-point/module=ietf-te.yang
> >         ./otn/mount-points/mount-point/module=ietf-te.yang
> >
> >
> >     Schema mount is probably not the right solution to your problem.  I
> >     think a better solution in your case is to define groupings.
> >     Groupings are designed to be re-used at different places in the
> >     hierarchy.
> >
> >
> > We thought of this earlier, and found groupings pose their own set of
> > challenges too.. Specifically:
> > - a groupings with leafrefs could not reference data nodes that reside
> > in another grouping
> > - a grouping with leafrefs of relative path were challenge when the
> > relative path references data nodes outside the grouping
> > - the augmentation of the grouping by other modules is not as
> > straightforward
> >
> > That said, the grouping proposal seems to
> >
> > one could also think that with groupings one could address reuse of
> > the a model (e.g. Ietf-interfaces) for logical devices or VM (see
> > below). In fact, in your draft (section 2) you explicitly discourage
> > this approach as not scalable solution
> >
> >
> >    With the "uses" approach, ietf-interfaces would have to define a
> >    grouping with all its nodes, and the new model for logical devices
> >    would have to use this grouping.  This is a not a scalable solution,
> >    since every time there is a new model defined, we would have to
> >    update our model for logical devices to use a grouping from the new
> >    model.  Another problem is that this approach cannot handle vendor-
> >
> >
> >
> >         We have a comment/concern/suggestion and we value your feedback.
> >         The generic TE model currently references data nodes in the
global
> >         tree (e.g. from the ietf-interfaces model to define additional
TE
> >         properties associated with a specific device interface). Our
> >         understanding after reading section 3.1 of your draft is the
mounted
> >         model can *not* reference any data nodes outside the scope of
the
> >         mount-point (e.g. global data nodes in the yang tree). This
poses a
> >         limitation for us, do you have a suggestion for this problem?
> >         One possible solution we thought of was to replace the leaf-refs
> >         pointing to the global data nodes (e.g. Ietf-interfaces) with
> >         context
> >         names (e.g. the interface name).. This decouples the data-nodes
> >         defined in the TE generic model from those in the global tree
> >         (e.g. the actual interface ietf-interfaces model). Any feedback
on
> >         this or better suggestions?
> >
In this case, there are multiple augmentations to ietf-te.yang, such as
ietf-rsvp-te and ietf-sr-te. If ietf-te is a grouping, we cannot do the
augmentations before ietf-te is used. Using the grouping would be very
awkward when ietf-te is used. We would have to make the same many
augmentations at that time. Even worse, there could be future augmentations,
we cannot specify these augmentations now because they are not defined yet.

> >
> >     If you use groupings instead, you can still use proper leafrefs.
> >
> >
> > Not in all cases - as described above.
> >
> > Regards,
> > Tarek
> >
> >
> >
> >     /martin
> >
> >
> >
> >         Regards,
> >         Tarek
> >         Excerpt from draft-ietf-netmod-schema-mount
> >         3.1<https://tools.ietf.org/html/draft-ietf-netmod-schema-mount-
> 01#section-3.1>.
> >         Augment and Validation in Mounted Data
> >             All paths (in leafrefs, instance-identifiers, XPath
> >         expressions, and
> >             target nodes of augments) in the data models mounted at a
> >         mount point
> >             are interpreted with the mount point as the root node, and
the
> >             mounted data nodes as its children.  This means that data
> >         within a
> >             mounted subtree can never refer to data outside of this
subtree.
> >
> >
> >
> >
> > _______________________________________________
> > netmod mailing list
> > netmod@ietf.org
> > https://www.ietf.org/mailman/listinfo/netmod
> >
> 
> _______________________________________________
> Teas mailing list
> Teas@ietf.org
> https://www.ietf.org/mailman/listinfo/teas