Re: [Teas] Yangdoctors last call review of draft-ietf-teas-yang-te-topo-08

Benoit Claise <bclaise@cisco.com> Thu, 22 June 2017 10:11 UTC

Return-Path: <bclaise@cisco.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 870D51293F2; Thu, 22 Jun 2017 03:11:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.503
X-Spam-Level:
X-Spam-Status: No, score=-14.503 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, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 Ikab_ROoE8XI; Thu, 22 Jun 2017 03:11:50 -0700 (PDT)
Received: from aer-iport-1.cisco.com (aer-iport-1.cisco.com [173.38.203.51]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 96C80128D64; Thu, 22 Jun 2017 03:11:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=8754; q=dns/txt; s=iport; t=1498126310; x=1499335910; h=subject:to:cc:references:from:message-id:date: mime-version:in-reply-to:content-transfer-encoding; bh=3a4A7y3aty+5liNIrUNcCShb8lEaC6J8xFZ7QfRbv8M=; b=Jj7PugFFJiClfjB7I1NKfh1w0iGj1/A+KVYyAeIbZKXx7PXACemn2Lm7 Qwr0wPagZ7uI1YdTLAoZTNhSUsP/WsUOjk0/JcMFgpfPE7LJ30lgGCSQI wAZj/dml94B2FmaB60w/XhDs/rGk11FFL3jli+Okch5lya5L9zORoWZtR 4=;
X-IronPort-AV: E=Sophos;i="5.39,372,1493683200"; d="scan'208";a="695327914"
Received: from aer-iport-nat.cisco.com (HELO aer-core-2.cisco.com) ([173.38.203.22]) by aer-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Jun 2017 10:11:48 +0000
Received: from [10.55.221.38] (ams-bclaise-nitro5.cisco.com [10.55.221.38]) by aer-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id v5MABliK029933; Thu, 22 Jun 2017 10:11:47 GMT
Subject: Re: [Teas] Yangdoctors last call review of draft-ietf-teas-yang-te-topo-08
To: Robert Wilton <rwilton@cisco.com>, Xufeng Liu <Xufeng_Liu@jabil.com>, Mahesh Jethanandani <mjethanandani@gmail.com>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>
Cc: "ietf@ietf.org" <ietf@ietf.org>, "teas@ietf.org" <teas@ietf.org>, "draft-ietf-teas-yang-te-topo.all@ietf.org" <draft-ietf-teas-yang-te-topo.all@ietf.org>
References: <149564066257.28529.12761629961042171907@ietfa.amsl.com> <BN3PR0201MB08670E55FFB5470F338E998DF1CD0@BN3PR0201MB0867.namprd02.prod.outlook.com> <5d4541d3-9426-787d-e02b-9c2dbc3a5400@cisco.com> <BN3PR0201MB0867315F3E88577B9EEF6584F1DB0@BN3PR0201MB0867.namprd02.prod.outlook.com> <3a1c319f-0255-b8ee-ecbd-739568c1dc7f@cisco.com>
From: Benoit Claise <bclaise@cisco.com>
Message-ID: <1ab3a0d8-de3e-1d7c-2967-97b74b1c68a5@cisco.com>
Date: Thu, 22 Jun 2017 12:11:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0
MIME-Version: 1.0
In-Reply-To: <3a1c319f-0255-b8ee-ecbd-739568c1dc7f@cisco.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf/Tz4HhvH2xQAo5pLJypDyvdmOvAw>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Jun 2017 10:11:53 -0000

Dear draft-ietf-teas-yang-te-topo authors,
> Hi Xufeng,
>
> OK, by tooling, I don't mean the pyang plugins that I have been 
> working on to convert between different types of models.  As you 
> aware, the TE YANG models can easily be converted to NMDA style since 
> I have already done it 
> (https://github.com/rgwilton/ietf-models-to-combined).
>
> My comment actually relates to the fact the structure used by TE YANG 
> modules don't match any other YANG modules - they are using their own 
> unique style of structure.
This is an important issue to resolve.
>
> Today, there are three common styles of modules:
> (1) IETF style split config/state trees (e.g. ietf-interfaces).
> (2) IETF NMDA style combined config/state trees (i.e. where all IETF 
> modules are heading to).
> (3) OpenConfig style modules with the config/state containers 
> immediately above the config leaves.
>
> Tooling is likely to be optimized to work with these model structures, 
> but the TE modules do not fit into any of the three styles above.  
> They are a yet another OpenConfig-like style, but that is different 
> enough that tooling that is designed to work with OpenConfig style 
> YANG modules would likely not work with the TE YANG modules.
>
> Specifically, for clients that expecting to work with an OpenConfig 
> style YANG module, then if it knows the path to config leaf X, then 
> they would expect the applied config value to be available at the path 
> "../state/X".  But, this doesn't hold for the structure being used in 
> the TE YANG models.
>
> I believe strongly that the models being produced by organizations 
> should be structures in a consistent way, hence why I think that the 
> published standard version of the TE YANG modules should immediately 
> align to the NMDA style.
Agreed.
Here is the OPS and RTG AD message: 
https://www.ietf.org/mail-archive/web/netmod/current/msg18252.html

I understand that the I2RS topology YANG modules will be improved to the 
NMDA style.

Regards, Benoit
>
> Thanks,
> Rob
>
>
> On 22/06/2017 04:16, Xufeng Liu wrote:
>> Hi Rob,
>>
>> While the tooling is very nice to have, especially for writing new 
>> models or converting models, we do not have to use it for every 
>> model. It seems not necessary to use the tooling on this model for 
>> now. We already know that we can manually convert it to NMDA style if 
>> needed.
>>
>> Thanks,
>> - Xufeng
>>
>>> -----Original Message-----
>>> From: Robert Wilton [mailto:rwilton@cisco.com]
>>> Sent: Wednesday, June 21, 2017 5:34 AM
>>> To: Xufeng Liu <Xufeng_Liu@jabil.com>; Mahesh Jethanandani
>>> <mjethanandani@gmail.com>; yang-doctors@ietf.org
>>> Cc: ietf@ietf.org; teas@ietf.org; 
>>> draft-ietf-teas-yang-te-topo.all@ietf.org
>>> Subject: Re: [Teas] Yangdoctors last call review of 
>>> draft-ietf-teas-yang-te-topo-
>>> 08
>>>
>>> Hi Xufeng,
>>>
>>> On 12/06/2017 22:28, Xufeng Liu wrote:
>>>> Hi Mahesh,
>>>>
>>>> Thank you much for the review. We have submitted an updated draft
>>> (https://tools.ietf.org/html/draft-ietf-teas-yang-te-topo-09) to 
>>> address these
>>> issues. More detailed explanations are put below inline.
>>>> If the responses and updates are satisfactory, we are ready for the 
>>>> last call.
>>>>
>>>> Best regards,
>>>> - Xufeng
>>>>
>>>>> -----Original Message-----
>>>>> From: Mahesh Jethanandani [mailto:mjethanandani@gmail.com]
>>>>> Sent: Wednesday, May 24, 2017 11:44 AM
>>>>> To: yang-doctors@ietf.org
>>>>> Cc: ietf@ietf.org; teas@ietf.org;
>>>>> draft-ietf-teas-yang-te-topo.all@ietf.org
>>>>> Subject: Yangdoctors last call review of
>>>>> draft-ietf-teas-yang-te-topo-08
>>>>>
>>>>> Reviewer: Mahesh Jethanandani
>>>>> Review result: Ready with Issues
>>>>>
>>>>> Document reviewed: draft-ietf-teas-yang-te-topo-08
>>>>>
>>>>> Status: Ready with Issues
>>>>>
>>>>> I am not an expert in Traffic Engineering. This review is looking at
>>>>> the draft from a YANG perspective. With that said, I have marked 
>>>>> it as “Ready
>>> with Issues”
>>>>> because of some of the points discussed below.
>>>>>
>>>>> Summary:
>>>>>
>>>>> This document defines a YANG data model for representing, retrieving
>>>>> and manipulating TE Topologies. The model serves as a base model that
>>>>> other technology specific TE Topology models can augment.
>>>>>
>>>>> Comments:
>>>>>
>>>>> Almost all the containers in the model are presence containers. Is
>>>>> there a reason why they have to be presence containers? Note, that
>>>>> presence containers are containers whose existence itself represents
>>>>> configuration data. What particular configuration data is each 
>>>>> container
>>> representing in itself?
>>>> [Xufeng] Containers that use “presence” are:
>>>>     - Container “underlay”
>>>>       o  We have changed 13 occurrences of such containers to be not
>>> presence container.
>>>>     - Container “te” under augmentation
>>>>       o  To indicate that “TE” is enabled (configuration data)
>>>>       o  Also used to do augmentation. The “presence” statement can
>>> prevent the mandatory child from affecting augmented base model.
>>>>     - /nw:networks/nw:network/nw:network-types/te-topology!
>>>>       o  A mechanism required by I2RS topology model to specify the
>>> topology type.
>>>>> It is difficult to co-relate the diagram with the model itself
>>>>> because of different terms being used to define different parts of 
>>>>> the model.
>>>>> There is “TE Topology Model” and then there is “Generic TE Topology
>>> Model”.
>>>>> Are these one and the same models? If so, a common term for both of
>>>>> them would be helpful.
>>>> [Xufeng] Yes. These two terms are the same. Figure 12, Figure 13, 
>>>> and relevant
>>> descriptions have been updated to make the document consistent.
>>>>> There is extensive use of groupings in the document. However, not all
>>>>> instances of groupings are used multiple number of times. Where they
>>>>> are not being repeated, it would be better to move the grouping
>>>>> directly where the uses statement resides. Case in point the grouping
>>> connectivity-label-restriction-list.
>>>> [Xufeng] We have removed the following groupings
>>>>       te-link-augment
>>>>       te-node-augment
>>>>       te-termination-point-augment
>>>>       te-topologies-augment
>>>>       te-topology-augment
>>>>       te-link-state-underlay-attributes
>>>>       te-node-state-derived-notification
>>>>       te-topology-type
>>>>
>>>> The remaining groupings have been kept so that we can:
>>>>     - Share the groupings in this model
>>>>     - Prepare to be shared by a model augmenting this model
>>>>     - Prevent a grouping or configuration section from being too long
>>>>     - Improve readability
>>>>
>>>>> The split between config and state containers does not seem to follow
>>>>> any particular pattern.
>>>> [Xufeng] The pattern is clear:
>>>> For each manageable entity (object), there is a config container 
>>>> and state
>>> container. The configurable properties go into the config container 
>>> and state
>>> properties go into the state container. Such objects are identified 
>>> by a list item
>>> or a presence container so that the “create”, “delete”, and “modify” 
>>> operations
>>> can be performed on them. The non-presence containers do not represent
>>> configuration data so they do not introduce such objects.
>>>>> It is neither a top level split, as is the case with existing IETF
>>>>> models,
>>>> [Xufeng] We could not do top level split because the base I2RS network
>>> topology model 
>>> (https://tools.ietf.org/html/draft-ietf-i2rs-yang-network-topo-
>>> 12) that we augment does not have the top-level split (for its own 
>>> reasons).
>>>>> nor do they follow the OpenConfig style of splitting config and state
>>>>> under each relevant leaf,
>>>> [Xufeng] The pattern is consistent with this style in principle, 
>>>> with some
>>> adjustments to fit to our multiple levels of hierarchy.
>>> This is effectively a new forth style of YANG models that is not 
>>> consistent with
>>> any of the three existing styles, i.e.:
>>>    - Current IETF config/state split model style
>>>    - NMDA combined config/state tree
>>>    - OpenConfig split config/state containers immediately above the 
>>> config true
>>> leaves.
>>>
>>> Tooling that it designed to work with OpenConfig models will need
>>> customization to work with these TE models because the config/state
>>> containers will not be where the tooling expects them to be.
>>>
>>> Thanks,
>>> Rob
>
> .
>