Re: [netmod] Y34

"Acee Lindem (acee)" <acee@cisco.com> Sun, 26 July 2015 17:49 UTC

Return-Path: <acee@cisco.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D8FAC1ACCE1 for <netmod@ietfa.amsl.com>; Sun, 26 Jul 2015 10:49:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -13.911
X-Spam-Level:
X-Spam-Status: No, score=-13.911 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, J_CHICKENPOX_210=0.6, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
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 RfokXOqALcZ3 for <netmod@ietfa.amsl.com>; Sun, 26 Jul 2015 10:49:20 -0700 (PDT)
Received: from alln-iport-1.cisco.com (alln-iport-1.cisco.com [173.37.142.88]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 38BD61ACCDF for <netmod@ietf.org>; Sun, 26 Jul 2015 10:49:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=13500; q=dns/txt; s=iport; t=1437932960; x=1439142560; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=/Mj+LnDdVfcr5oKhPBNVbJKOuPdezxWqKA/7fXN0r3o=; b=DJhV0kZM7fItSTlrrAAK04RbF/LXT3m6OUG30osBDRt9Ht9o0qYu41Gb yF4Y2Jgm/yCU7V+lo4aau0Hc3IH8fOIx3SecuRwaURsIZ0bfoGK/Xu1t3 RQ1C5evw1RS+CDSYenRVYmVtoGri9Pe1HoXFkvRxwvUvfGDn9JgUnP9h8 Y=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0A7BQAgHbVV/4wNJK1YA4MVVGkGgx24boFtCoUvSgIcgRA6EgEBAQEBAQGBCoQkAQEEAQEBIBE6Cw4CAgEIDgIIAgImAgICGQwLFRACBAENBRuIEw25RpVNAQEBAQEBAQEBAQEBAQEBAQEBAQEBFwSBHooshDwYGAsQBxKCV4FDBYcXhS6IJAGMQIFFhB2PYoNiJoIOHIFTb4FIgQQBAQE
X-IronPort-AV: E=Sophos;i="5.15,547,1432598400"; d="scan'208";a="172661753"
Received: from alln-core-7.cisco.com ([173.36.13.140]) by alln-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 26 Jul 2015 17:49:18 +0000
Received: from xhc-aln-x03.cisco.com (xhc-aln-x03.cisco.com [173.36.12.77]) by alln-core-7.cisco.com (8.14.5/8.14.5) with ESMTP id t6QHnI6Y010543 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Sun, 26 Jul 2015 17:49:18 GMT
Received: from xmb-aln-x06.cisco.com ([169.254.1.37]) by xhc-aln-x03.cisco.com ([173.36.12.77]) with mapi id 14.03.0195.001; Sun, 26 Jul 2015 12:49:18 -0500
From: "Acee Lindem (acee)" <acee@cisco.com>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Ladislav Lhotka <lhotka@nic.cz>
Thread-Topic: [netmod] Y34
Thread-Index: AQHQwun4N/mOpIK+o0+8Bax//aiDw53koqAAgAAB9wCAAAOxAIAAH1sAgAAl1QCAAAOsgIAAA9aAgAA3SgCABy78gA==
Date: Sun, 26 Jul 2015 17:49:17 +0000
Message-ID: <D1D917F8.29821%acee@cisco.com>
References: <m2d1zn0zhm.fsf@dhcp-hotel-wired-13-fe.meeting.ietf.org> <D0153452-D5F5-4E3C-B3D7-7003ACC405EA@nic.cz> <CABCOCHSqbZfKRqGjT1rsphRnw0tYdR3uT=mFvTvJYXMwL3N2uw@mail.gmail.com> <5497CE3E-19A7-4AAC-AE32-AFC9BC2451F1@nic.cz> <CABCOCHRoA9-BP7=OvUGdvXNuowPUty4xy6iai6Q6dVOjD5iGbQ@mail.gmail.com> <06C8EE42-B70D-40A7-8B16-053D37378043@nic.cz> <CABCOCHRS-JF8UK+9fQ=yvZy9ttcj3j6oJn0n3Co6f7kB0tpFgA@mail.gmail.com> <F990644A-4CBE-43D5-AB2B-A20E54A91A65@nic.cz> <20150720210041.GA17614@elstar.local>
In-Reply-To: <20150720210041.GA17614@elstar.local>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.116.152.203]
Content-Type: text/plain; charset="utf-8"
Content-ID: <3C4986505CF9CA47A07A05E9350F7956@emea.cisco.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/netmod/z6T4hVJh0Oj6WKR3WMRIUk25Efs>
Cc: NETMOD Working Group <netmod@ietf.org>
Subject: Re: [netmod] Y34
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.15
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: Sun, 26 Jul 2015 17:49:23 -0000

I think being able to place a given model anywhere in the device tree
would be useful and this would allow a model to be rooted in different
locations on different devices. Similarly, we’d need the ability to prefix
XPATH references to data nodes in the model with the root.
Thanks,
Acee 

On 7/20/15, 11:00 PM, "netmod on behalf of Juergen Schoenwaelder"
<netmod-bounces@ietf.org on behalf of
j.schoenwaelder@jacobs-university.de> wrote:

>Lada,
>
>Y34 is closed and I have not seen any new argument here that indicates
>we made a major mistake with the resolution of Y34. As such, Y34
>remains closed.
>
>If you want to discuss new ideas to relocate or "symlink" data models,
>please do so in a separate thread. (And no, we do not accept new
>issues for YANG 1.1 either at this point in time.)
>
>/js
>
>On Mon, Jul 20, 2015 at 07:42:49PM +0200, Ladislav Lhotka wrote:
>> 
>> > On 20 Jul 2015, at 19:29, Andy Bierman <andy@yumaworks.com> wrote:
>> > 
>> > 
>> > 
>> > On Mon, Jul 20, 2015 at 10:15 AM, Ladislav Lhotka <lhotka@nic.cz>
>>wrote:
>> > 
>> > > On 20 Jul 2015, at 17:00, Andy Bierman <andy@yumaworks.com> wrote:
>> > >
>> > >
>> > >
>> > > On Mon, Jul 20, 2015 at 6:08 AM, Ladislav Lhotka <lhotka@nic.cz>
>>wrote:
>> > >
>> > > > On 20 Jul 2015, at 14:55, Andy Bierman <andy@yumaworks.com> wrote:
>> > > >
>> > > > Hi,
>> > > >
>> > > > Can you explain why we need 2 broken anyxmls?
>> > > > (The original and a synonym?)  The whole point of
>> > > > anydata is that it does not have XML cruft in it.
>> > >
>> > > Yes, I understand this was your main priority. For implementors
>>using off-the-shelf XML parsers and tools the XML cruft is not an issue
>>at all.
>> > >
>> > >
>> > > yes it is an issue.
>> > > We need something to model a container full of arbitrary YANG data
>>nodes.
>> > > This is something that can be applied to the contents of a
>>datastore.
>> > 
>> > anyxml can do that, too.
>> > 
>> > 
>> > the WG already decided it can't.
>> > The extra XML PIs, etc. are not accepted by all servers, remember?
>> > There is no use for the extra stuff in the datastore.
>> >  I don't see why we need 2 anyxml constructs that are not
>> > supported by the industry.  One is already too many.
>> 
>> I agree, but this is what we are going to have. My proposal was to have
>>just one with two different names.
>> 
>> > 
>> > 
>> > >
>> > >
>> > > Anyway, I believe there are use cases for arbitrary XML/JSON/CBOR/…
>>with no (YANG) schema available. My only complaint to “anyxml” has
>>always been that it is a misnomer for encodings other than XML.
>> > >
>> > > The message encoding on the wire is not the same issue
>> > > as the contents of a datastore.  Our server stores its own
>> > > internal data structures.  XML, JSON, CBOR are just message
>> > > encoding formats between client and server.  The datastore
>> > > is not encoded in any of these formats.
>> > 
>> > The payload of anyxml needn’t directly map to a data subtree in the
>>usual sense.
>> > 
>> > that's precisely the difference between anyxml and anydata.
>> > The anydata node MUST map directly into data subtrees.
>> 
>> If the server doesn’t know the YANG data model at run time (which is
>>possible) then it cannot do it - for instance, it cannot properly map
>>module names to namespace URI or handle lists.
>> 
>> > 
>> >  
>> > 
>> > >
>> > >
>> > >
>> > >
>> > >
>> > > >
>> > > > I also don't get the value of a single top-level node called
>>'device'
>> > > > that every YANG model on the planet is supposed to augment.
>> > > > Can you explain why a protocol operation to retrieve the
>> > > > document root (/) is not sufficient for the top-level node?
>> > >
>> > > I don’t intend to defend their model, the more serious problem IMO
>>is that a model for a single device/function may be needed in another
>>device that hosts many virtualised devices/functions of the former type.
>>We don’t have a good solution for this rather typical situation.
>> > >
>> > > But a single container called "whatever" provides no such
>>aggregation.
>> > > You would need a list for that. And the NMS might have multiple
>> > > layers of hierarchy to represent various aggregations.  The NP
>> > > container called "device" is not helpful for aggregation.
>> > 
>> > The parent node can be a list as well. The “root” node would be like
>>a mount point in a Unix filesystem.
>> > 
>> > 
>> > Are you saying all data on a device needs to be in a top-level list
>>called 'device'
>> > because an NMS might exist that  wants to have the datastores from
>>lots of devices?
>> > As Martin pointed out several times, the NMS can make its own
>>container or
>> > lists.  It does not need the device to mirror its own structure.
>> 
>> As I said, I don’t care that much about the “device” container. What
>>would be really useful is to have the possibility to do e.g. this:
>> 
>> virtual-node* [name]
>>     name
>>     if:interfaces
>>         ...
>> 
>> to support the use case where all virtual nodes are managed by the same
>>NETCONF/RESTCONF server.
>> 
>> Lada
>> 
>> >  
>> > 
>> > 
>> > Lada
>> > 
>> > Andy
>> >  
>> > 
>> > >
>> > >
>> > >
>> > > Lada
>> > >
>> > >
>> > > Andy
>> > >
>> > >
>> > > >
>> > > > Andy
>> > > >
>> > > >
>> > > >
>> > > > On Mon, Jul 20, 2015 at 5:48 AM, Ladislav Lhotka <lhotka@nic.cz>
>>wrote:
>> > > >
>> > > > > On 20 Jul 2015, at 14:45, Ladislav Lhotka <lhotka@nic.cz> wrote:
>> > > > >
>> > > > > Hi,
>> > > > >
>> > > > > after listening to the presentation of
>> > > > > draft-rtgyangdt-rtgwg-device-model-00 at RTGWG session, I am
>>wondering
>> > > > > whether the solution chosen for Y34 is really useful.
>> > > > >
>> > > > > The draft states they want to reuse ietf-interfaces but their
>>tree in
>> > > > > fact is
>> > > > >
>> > > > >   +--rw device
>> > > > >          +--rw info
>> > > > >          |  +--rw device-type?   enumeration
>> > > > >          +--rw hardware
>> > > > >          +--rw interfaces
>> > > > >          |  +--rw interface* [name]
>> > > > >          |     ...
>> > > > >          +--rw qos
>> > > > >
>> > > > > So the "interfaces" container is no more a top-level node.
>>There are
>> > > > > three possible options:
>> > > > >
>> > > > > 1. Change the ietf-interfaces module.
>> > > > > 2. Replicate its contents in another module.
>> > > > > 3. Extend YANG so that a *specific* schema tree can be grafted
>>at a
>> > > > >   given data node.
>> > > > >
>> > > > > IMO #1 & #2 are really bad. I thought Y34-04 was essentially #3
>>but it
>> > > > > seems it is not so because it doesn't specify a concrete data
>>model
>> > > > > that's allowed at a given location.
>> > > > >
>> > > > > On the other hand, the only real contribution of "anydata" over
>>"anyxml"
>> > > > > is that is doesn't permit mixed content in XML, which is IMO
>>not much.
>> > > > >
>> > > > > I know Y34 was already closed but I think it is more important
>>to do
>> > > > > things right before YANG 1.1 becomes an RFC.
>> > > > >
>> > > > > What I want to propose is this:
>> > > > >
>> > > > > - Rename "anydata" as a synonym to "anyxml", and deprecate
>>"anyxml" (but
>> > > > >  keep it for backward compatibility).
>> > > >
>> > > > s/Rename/Introduce/
>> > > >
>> > > > >
>> > > > > - Introduce a new statement and data node type, e.g. "root",
>>that will
>> > > > >  extend the schema tree starting from that data node with a
>>precisely
>> > > > >  specified data model. The specification can be same or similar
>>as
>> > > > >  in yang-library.
>> > > > >
>> > > > > I believe there are other use cases in the existing modules. For
>> > > > > example, the ietf-routing module could simply define the data
>>model for
>> > > > > a single routing instance (i.e. without "routing-instance" list
>>at the
>> > > > > top), and it can be then used without changes on simple
>>devices, and
>> > > > > more complex router implementations can graft it as a subtree
>>under
>> > > > > "routing-instance", "networking-instance" or whatever.
>> > > > >
>> > > > > Lada
>> > > > >
>> > > > > --
>> > > > > Ladislav Lhotka, CZ.NIC Labs
>> > > > > PGP Key ID: E74E8C0C
>> > > > >
>> > > > > _______________________________________________
>> > > > > netmod mailing list
>> > > > > netmod@ietf.org
>> > > > > https://www.ietf.org/mailman/listinfo/netmod
>> > > >
>> > > > --
>> > > > Ladislav Lhotka, CZ.NIC Labs
>> > > > PGP Key ID: E74E8C0C
>> > > >
>> > > >
>> > > >
>> > > >
>> > > > _______________________________________________
>> > > > netmod mailing list
>> > > > netmod@ietf.org
>> > > > https://www.ietf.org/mailman/listinfo/netmod
>> > > >
>> > >
>> > > --
>> > > Ladislav Lhotka, CZ.NIC Labs
>> > > PGP Key ID: E74E8C0C
>> > >
>> > >
>> > >
>> > >
>> > >
>> > 
>> > --
>> > Ladislav Lhotka, CZ.NIC Labs
>> > PGP Key ID: E74E8C0C
>> > 
>> > 
>> > 
>> > 
>> > _______________________________________________
>> > netmod mailing list
>> > netmod@ietf.org
>> > https://www.ietf.org/mailman/listinfo/netmod
>> 
>> --
>> Ladislav Lhotka, CZ.NIC Labs
>> PGP Key ID: E74E8C0C
>> 
>> 
>> 
>> 
>> _______________________________________________
>> netmod mailing list
>> netmod@ietf.org
>> https://www.ietf.org/mailman/listinfo/netmod
>
>-- 
>Juergen Schoenwaelder           Jacobs University Bremen gGmbH
>Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
>Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>
>
>_______________________________________________
>netmod mailing list
>netmod@ietf.org
>https://www.ietf.org/mailman/listinfo/netmod