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

"Acee Lindem (acee)" <acee@cisco.com> Tue, 12 July 2016 17:44 UTC

Return-Path: <acee@cisco.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 59C1F12D59B for <netmod@ietfa.amsl.com>; Tue, 12 Jul 2016 10:44:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -15.807
X-Spam-Level:
X-Spam-Status: No, score=-15.807 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.287, 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 5y4eG0ZzhM56 for <netmod@ietfa.amsl.com>; Tue, 12 Jul 2016 10:43:58 -0700 (PDT)
Received: from alln-iport-4.cisco.com (alln-iport-4.cisco.com [173.37.142.91]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1FA1512D586 for <netmod@ietf.org>; Tue, 12 Jul 2016 10:43:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=21895; q=dns/txt; s=iport; t=1468345438; x=1469555038; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=MwfBOgySglqWNqQ022AkolLZQXrhuCIOHFovrsa8d0w=; b=c6j+BupOopgO1AVy5aymakm0+03dKTkknSGNYSbbof3uhq9Bf9vy/ass 8NyqXEKF2a0eU6zTpj8SbpTAkIFvdlFZOI5sG/7Ah3PfcqGkZJWwlebrV U2s9WN8irduO//S9x4SA+IFXMZuP7rQXniPthQaa4qAufKHj+3mWz8sxe A=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0A8AgAOK4VX/4cNJK1cgnBOVnwGs3+FBIF5IoUsSgIcgRk4FAEBAQEBAQFlJ4RcAQEFAQEhSwEKEAIBCBEDAQIoAwICAiULFAkIAgQOBQkSiBUOsQ+PDAEBAQEBAQEBAQEBAQEBAQEBAQEBARyKd4I1gWgOLQmCKTiCWgWOB4VWhT4BjlOBaogHhT2QEwEeNoNxbgGHYEV/AQEB
X-IronPort-AV: E=Sophos;i="5.28,352,1464652800"; d="scan'208,217";a="296098810"
Received: from alln-core-2.cisco.com ([173.36.13.135]) by alln-iport-4.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 12 Jul 2016 17:43:57 +0000
Received: from XCH-RTP-007.cisco.com (xch-rtp-007.cisco.com [64.101.220.147]) by alln-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id u6CHhuKx014758 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 12 Jul 2016 17:43:57 GMT
Received: from xch-rtp-015.cisco.com (64.101.220.155) by XCH-RTP-007.cisco.com (64.101.220.147) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Tue, 12 Jul 2016 13:43:56 -0400
Received: from xch-rtp-015.cisco.com ([64.101.220.155]) by XCH-RTP-015.cisco.com ([64.101.220.155]) with mapi id 15.00.1210.000; Tue, 12 Jul 2016 13:43:56 -0400
From: "Acee Lindem (acee)" <acee@cisco.com>
To: Andy Bierman <andy@yumaworks.com>, "Robert Wilton -X (rwilton - ENSOFT LIMITED at Cisco)" <rwilton@cisco.com>
Thread-Topic: [netmod] OpsState Direction Impact on Recommended IETF YANG Model Structure
Thread-Index: AQHR25JaeXwJZYUBL0Wtuo0RKdx74KAVLrsAgAAPDwCAAAuSgIAAAacAgAAE1YCAAAFZgP//wZIA
Date: Tue, 12 Jul 2016 17:43:55 +0000
Message-ID: <D3AAA2CF.6B279%acee@cisco.com>
References: <D3A935F0.6A4DC%acee@cisco.com> <02b5661f-22e0-6ccc-89d2-ef0370c4e87c@labn.net> <CABCOCHSH5wC3-VbAF6tXOc+3tSxpC3a0MA23YEkUFEBojoo25w@mail.gmail.com> <2b35a279-3c13-8b39-6e93-6c5e9d3ba2c2@cisco.com> <CABCOCHTOEY4dZM+bduWZ5N-k8dB_uO8=mdqtYQV0ktC6-TPyBw@mail.gmail.com> <3deb9416-e012-e8e3-43e2-be0d090a707a@cisco.com> <CABCOCHSnWaiUPqtpQpND0m3WYy6aYOTJJfJNEe5295bttuy_zw@mail.gmail.com>
In-Reply-To: <CABCOCHSnWaiUPqtpQpND0m3WYy6aYOTJJfJNEe5295bttuy_zw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.116.152.196]
Content-Type: multipart/alternative; boundary="_000_D3AAA2CF6B279aceeciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/zY6jbKcCpmG_Bm7BX3xIr5NKXz0>
Cc: netmod WG <netmod@ietf.org>
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, 12 Jul 2016 17:44:00 -0000


From: netmod <netmod-bounces@ietf.org<mailto:netmod-bounces@ietf.org>> on behalf of Andy Bierman <andy@yumaworks.com<mailto:andy@yumaworks.com>>
Date: Tuesday, July 12, 2016 at 1:27 PM
To: "Robert Wilton -X (rwilton - ENSOFT LIMITED at Cisco)" <rwilton@cisco.com<mailto:rwilton@cisco.com>>
Cc: netmod WG <netmod@ietf.org<mailto:netmod@ietf.org>>
Subject: Re: [netmod] OpsState Direction Impact on Recommended IETF YANG Model Structure



On Tue, Jul 12, 2016 at 10:22 AM, Robert Wilton <rwilton@cisco.com<mailto:rwilton@cisco.com>> wrote:


On 12/07/2016 18:05, Andy Bierman wrote:


On Tue, Jul 12, 2016 at 9:59 AM, Robert Wilton <rwilton@cisco.com<mailto:rwilton@cisco.com>> wrote:

Hi Andy,

On 12/07/2016 17:17, Andy Bierman wrote:


On Tue, Jul 12, 2016 at 8:23 AM, Lou Berger <<mailto:lberger@labn.net>lberger@labn.net<mailto:lberger@labn.net>> wrote:
Acee,

    I personally was assuming we'd follow 3, but I'd like to understand
the implication of 2 as I'm not sure I really understand what you're
thinking here.  Can you elaborate what you're thinking here?

Thanks,

Lou
.....
>   3. #2 plus collapse the config (read-write) and  system-state
> (read-only) into common containers. No more branching of
> <model-name>-config and <model-name>-state at the top level of the model.
>.....


I would really like to understand what problem (3) is supposed to solve.
My personal view is that I think that it makes the models simpler, with less duplication.

E.g. I also see that it makes it easier for a client to fetch all of the information associated with a particular feature in a single sub tree rather that needing to merge data from two separate config & state sub trees.


This is your opinion.
I think separate makes it easier to read, especially if the monitoring data
is relevant regardless of how associated configuration was done.
This is easily achievable by filtering (e.g. only return config false leaves + config true structural nodes).



Filtering is not widely implemented or implemented correctly.

IMO it is up to the data model designers how they want to organize their data.
I have not heard any valid reasons why a generalized solution is even needed,
let alone why separate config and state needs to be avoided.

There is definitely value in having model conventions. One argument for collapsing the config and state is that once you have the implicit retrieval of the applied state, there is much less operational state that isn’t redundant.

There is also requirement #4 in https://www.ietf.org/id/draft-ietf-netmod-opstate-reqs-04.txt. However, I know you’ve never been a fan of this document.

Thanks,
Acee






Andy





Most of the foo-state variables are for monitoring.
This information is useful even if the server uses proprietary configuration mechanisms.
(e.g., the way the SNMP world has worked for 30 years)
I thought that it was config that was originally driving YANG because there is already a solution for state data (SNMP).  Hence, I would have thought that the most common case would be that YANG is used just for config, or config & state.  So, I think that it makes sense to optimize models for these scenarios.


This is marketing.
Do you have any technical arguments?
Yes, I gave them below: I don't see that merging config and state prevents entities from only monitoring state if they wish.

Thanks,
Rob





If you forbid separate monitoring subtrees and force the data to be co-located
with configuration, that means the standard monitoring will not be supported
unless the standard configuration is also supported.
Both datastore draft solutions allow for system created config entries.  So in both drafts the operational state datastore can instantiate whatever config nodes are necessary to parent config false state nodes.

I also don't think that separate monitoring subtrees are going to be banned, they should be used where appropriate.  It is just that it will be no longer be required to have separate state subtrees purely because of potential differences in the lifetime of config vs state objects (e.g. interfaces vs interfaces-state).

I would be very happy if "interfaces" and "interfaces-state" could be merged into "interfaces" as a new/updated interfaces YANG model that draft models could be updated to use.  I understand that would be a impactful change to make (but seemingly mostly on IETF models that haven't yet been standardized).  But I hope that we are going to have to live with the YANG model structure for a long time, and if we still have an opportunity to "fix" a fairly big wart then I think that it would be good to do so.


I can't say if the pre-provisioning model in ietf-interfaces should be generalized.
I have not seen any good general solutions for combining config and state.



Rob

Andy


  Why is that progress?


Andy






_______________________________________________
netmod mailing list
netmod@ietf.org<mailto:netmod@ietf.org>https://www.ietf.org/mailman/listinfo/netmod