Re: [netmod] OpsState Direction Impact on Recommended IETF YANG Model Structure

Balazs Lengyel <balazs.lengyel@ericsson.com> Tue, 02 August 2016 16:29 UTC

Return-Path: <balazs.lengyel@ericsson.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 B456812D7EE for <netmod@ietfa.amsl.com>; Tue, 2 Aug 2016 09:29:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.497
X-Spam-Level:
X-Spam-Status: No, score=-3.497 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, MIME_HTML_ONLY=0.723, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] 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 hh4kejKh5uht for <netmod@ietfa.amsl.com>; Tue, 2 Aug 2016 09:29:50 -0700 (PDT)
Received: from sesbmg22.ericsson.net (sesbmg22.ericsson.net [193.180.251.48]) (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 0C30912D7B5 for <netmod@ietf.org>; Tue, 2 Aug 2016 09:29:49 -0700 (PDT)
X-AuditID: c1b4fb30-ad3ff700000009f9-ee-57a0ca7bcf01
Received: from ESESSHC019.ericsson.se (Unknown_Domain [153.88.183.75]) by (Symantec Mail Security) with SMTP id 05.8B.02553.B7AC0A75; Tue, 2 Aug 2016 18:29:48 +0200 (CEST)
Received: from [159.107.198.46] (153.88.183.153) by smtp.internal.ericsson.com (153.88.183.77) with Microsoft SMTP Server id 14.3.301.0; Tue, 2 Aug 2016 18:29:46 +0200
To: Robert Wilton <rwilton@cisco.com>, Andy Bierman <andy@yumaworks.com>, Ladislav Lhotka <lhotka@nic.cz>, netmod WG <netmod@ietf.org>
References: <bed9398c-0e6a-450e-d2ac-b381b6bebf87@cisco.com> <5296754B-8178-4B1B-B4A6-FE228ABB8E7F@juniper.net> <9367f4b1-7814-e175-32e8-d518438b841d@cisco.com> <m24m79c1ja.fsf@birdie.labs.nic.cz> <D3BF8708.72620%acee@cisco.com> <552008CB-F216-4578-A709-AE0613C2EFB9@nic.cz> <12ed1a4d-44c5-9a51-b6d4-95e1620a24ee@cisco.com> <m260roedim.fsf@birdie.labs.nic.cz> <CABCOCHRF98sTa=MA1VTkZovOufL-=yQr9Gzy+ojnncjSfK1y0Q@mail.gmail.com> <e307c2fc-e621-b5c6-4fcc-67bbcdcb87b9@cisco.com> <20160729163220.GA3579@elstar.local>
From: Balazs Lengyel <balazs.lengyel@ericsson.com>
Message-ID: <154e783b-9817-9d74-4af6-23f403db3fb2@ericsson.com>
Date: Tue, 02 Aug 2016 18:29:46 +0200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0
MIME-Version: 1.0
In-Reply-To: <20160729163220.GA3579@elstar.local>
Content-Type: text/html; charset="windows-1252"
Content-Transfer-Encoding: 8bit
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrHLMWRmVeSWpSXmKPExsUyM2K7t27NqQXhBnNuc1s8ODKL3eLCqrls FvMvNrJanDjXx+zA4jHl90ZWjyVLfjJ5bLp8h9Gjpf8iSwBLFJdNSmpOZllqkb5dAlfG+78n WQrWyVXMuXePvYHxo1gXIyeHhICJxOO+faxdjFwcQgLrGSXevVvHAuGsZpS43TePBaRKWCBK 4tq1V8wgCRGBDkaJQz+2MUNUTWGRWPp2OxNIFZuAkcTU/vNgHbwC9hJfn18Bs1kEVCSuTjjB 1sXIwSEqECOxvi8BokRQ4uTMJ2AlnAKGEnu73jCC2MwC+hLX79xnhbDlJZq3zmYGsYUENCQe XvjLOoGRfxaS9llIWmYhaVnAyLyKUbQ4tTgpN93ISC+1KDO5uDg/Ty8vtWQTIzBUD275bbCD 8eVzx0OMAhyMSjy8Cn3zw4VYE8uKK3MPMUpwMCuJ8EbtXRAuxJuSWFmVWpQfX1Sak1p8iFGa g0VJnNf/pWK4kEB6YklqdmpqQWoRTJaJg1OqgbFPR+oS+xutWXztl6oWv2pPO/jwgY+CzF2r vqQtWr/OFEVdCy67e/Omor9MstvFmOeah6Lva4gen9dxMfL5Vubo8Ms7l80VPit4Ru5ByQWH 7Wt0VzQXzRWLuec/mckgv40p99kv/pr5W6I+LGBvNO9O6pnuwcDGNMWyb+O/3NnKXPO7Xq28 1aDEUpyRaKjFXFScCABSsbHcUQIAAA==
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/lqVnYpjpuuRbVDFQAceeIyHhwFE>
Subject: Re: [netmod] OpsState Direction Impact on Recommended IETF YANG Model Structure
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.17
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, 02 Aug 2016 16:29:52 -0000

Hello,

Later I will try to provide a text proposal as well, but some points:

  • I prefer a tight definition so even if we allow both 1) and 2)  we should state that other combinations e.g. trees spliting close to the leaves or a mix of 1) and 2) in the same module are not allowed (VERYYYY STRONGLY discouraged).
  • In one of the earlier mails there was a a statement: if we have foo and foo-state trees, the containers/list/key-leafs SHOULD be the same in the two. The structures of the two trees SHOULD not just be si,i;ar, they should be the same.

This way you could look at the root objects of the module and immediately know what is the situation.

regards Balazs



On 2016-07-29 18:32, Juergen Schoenwaelder wrote:
On Fri, Jul 29, 2016 at 04:35:05PM +0100, Robert Wilton wrote:
 
I would like to know what should the common approach for IETF standard
models be?  E.g. is it one of the following:

1) All config false leaves for foo must go under /foo-state.
I think if you have /foo-state, then this is a logical consequence. Do
we have any data models that have a /foo-state tree and config false
nodes under the /foo tree?

2) All config false leaves for foo must go under /foo
This apparently does not make sense in certain circumstances until we
have a revised datastore solution defined and implemented that may
allow this to work in all situations.

3) All config false leaves go under /foo where possible, or /foo-state
otherwise (e.g. for restconf-monitoring).
I think it should be fairly easy for a tool to figure out whether a
/foo tree is a pure config true tree or whether there are any config
false leafs as well and /foo is a mixed tree. Things are fairly easy
as long as people split at the root if they split.

4) Config false leaves go wherever the model writer decides is appropriate.
I think we will have to live for a while with both the (i) /foo (pure
config true tree) and /foo-state (pure config false tree) split at the
root approach and the (ii) /foo (mixed config true and false tree)
approach. We need to document the trade-offs between the two so that
module writers can make an informed decision. Whether a module uses
(i) or (ii) should be possible to determine by inspecting the
properties of the schema tree, in particular if module writers follow
the guideline to use consistent names and structure in the /foo and
/foo-state approach wherever possible.

I think we also wanted to strongly discourage models where (iii) the
trees split at the leaves or very close to the leaves.

/js


-- 
Balazs Lengyel                       Ericsson Hungary Ltd.
Senior Specialist
Mobile: +36-70-330-7909              email: Balazs.Lengyel@ericsson.com