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

"Acee Lindem (acee)" <acee@cisco.com> Tue, 26 July 2016 21:37 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 2B6B712D9B6 for <netmod@ietfa.amsl.com>; Tue, 26 Jul 2016 14:37:50 -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 XFiQxUotMVCr for <netmod@ietfa.amsl.com>; Tue, 26 Jul 2016 14:37:48 -0700 (PDT)
Received: from rcdn-iport-1.cisco.com (rcdn-iport-1.cisco.com [173.37.86.72]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 09FB912D9B2 for <netmod@ietf.org>; Tue, 26 Jul 2016 14:37:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=16681; q=dns/txt; s=iport; t=1469569066; x=1470778666; h=from:to:subject:date:message-id:references:in-reply-to: mime-version; bh=/WniecGXKJK3mYaLTsj06F4BSTuA5pnM7oTk3Hx5PKE=; b=fXoZGMxTp8msEjSWGhI1RL2ba5qN3l1/CkGEVctm6jAYGOHlCw511ILp KdsL0/qJS7JIiZ/xMfwo2eON8VBR1pidAWmB+AeVDlrfXkuQqS9wlv8Z7 PsDLpz/617rYF07burYBiwY3HuX3pTYaYopKntSkltkG9uRyYdvsDDBj5 I=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0CwAgDm1pdX/5NdJa1egnFOVnwGs3aCdoIPgX2GHQIcgR44FAEBAQEBAQFdJ4RcAQEFI2YCAQgOAwMBAigDAgICMBQJCAIEARKIMaxPjWEBAQEBAQEBAQEBAQEBAQEBAQEBAQEcineEHA42gmGCWgWZMQGOeo8/jC2DdwEeNoN4bocSRX8BAQE
X-IronPort-AV: E=Sophos;i="5.28,426,1464652800"; d="scan'208,217";a="133927764"
Received: from rcdn-core-11.cisco.com ([173.37.93.147]) by rcdn-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Jul 2016 21:37:45 +0000
Received: from XCH-RTP-007.cisco.com (xch-rtp-007.cisco.com [64.101.220.147]) by rcdn-core-11.cisco.com (8.14.5/8.14.5) with ESMTP id u6QLbjIe016213 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 26 Jul 2016 21:37:45 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, 26 Jul 2016 17:37:45 -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, 26 Jul 2016 17:37:45 -0400
From: "Acee Lindem (acee)" <acee@cisco.com>
To: Kent Watsen <kwatsen@juniper.net>, "Robert Wilton -X (rwilton - ENSOFT LIMITED at Cisco)" <rwilton@cisco.com>, netmod WG <netmod@ietf.org>
Thread-Topic: [netmod] OpsState Direction Impact on Recommended IETF YANG Model Structure
Thread-Index: AQHR25JaeXwJZYUBL0Wtuo0RKdx74KAjJxmAgADv8QCABT5TAIABj1SAgAAMLoCAAGPYAA==
Date: Tue, 26 Jul 2016 21:37:45 +0000
Message-ID: <D3BD4DBB.70D87%acee@cisco.com>
References: <D3A935F0.6A4DC%acee@cisco.com> <eb15fd23-2c0a-50c4-1ebc-7c0e4867dfd8@cisco.com> <20160721174033.GB54646@elstar.local> <d18f5dd0-64d0-e223-88a9-faa4df4b7866@cisco.com> <DCB3EBBF-5EB1-4C8E-AA55-F59C4B5A8E4D@juniper.net> <bed9398c-0e6a-450e-d2ac-b381b6bebf87@cisco.com> <5296754B-8178-4B1B-B4A6-FE228ABB8E7F@juniper.net>
In-Reply-To: <5296754B-8178-4B1B-B4A6-FE228ABB8E7F@juniper.net>
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.197]
Content-Type: multipart/alternative; boundary="_000_D3BD4DBB70D87aceeciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/nWope9W4mUKnJ1CB4Yina1CdAi8>
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, 26 Jul 2016 21:37:50 -0000


From: netmod <netmod-bounces@ietf.org<mailto:netmod-bounces@ietf.org>> on behalf of Kent Watsen <kwatsen@juniper.net<mailto:kwatsen@juniper.net>>
Date: Tuesday, July 26, 2016 at 10:36 PM
To: "Robert Wilton -X (rwilton - ENSOFT LIMITED at Cisco)" <rwilton@cisco.com<mailto:rwilton@cisco.com>>, netmod WG <netmod@ietf.org<mailto:netmod@ietf.org>>
Subject: Re: [netmod] OpsState Direction Impact on Recommended IETF YANG Model Structure


<Rob Wilton writes>

So my thinking is that if we can't merge "foo-state" into "foo" then instead we should have consistent rules that explicitly state that for all IETF models "foo" and "foo-state" are separate trees with a consistent naming convention and structure.  That should hopefully allow tooling to programmatically relate the two separate trees together.  It may give a path to allow "foo-state" to be merged into "foo" in future, but once IETF has standardized 600+ models with separate sub-trees, I cannot see that they would get merged back together again.

What other alternatives are available?  As a WG we need to tell the other WGs how the IETF YANG models should be structured.

In short, unfortunately I think that we have probably already missed the opportunity to merge "foo" and "foo-state" subtrees together ...

</Rob Wilton>


Firstly, I’m trying to get a sense of how big a problem this foo/foo-state thing is.  [Note: by foo-state, I’m only referring to counters, not opstate].   I know about RFC 7223, which was done out of consideration for system-generated interfaces, but how many other such models are there envisioned to be?  Is this issue currently blocking models from progressing, or are we getting ourselves wrapped around a hypothetical?  If RFC 7223 is an outlier, then we can address it as a special case (perhaps via the related-state/related-config YANG annotations).  What do you think?

Next, regarding paths forward (assuming 7223 is not an outlier), I’m thinking the opposite.  I’m quite sure that we would never merge the 600+ models with separate subtrees back together again.  So I’m thinking we immediately merge foo and foo-state in all active YANG models (so that the YANG “conceptual” models are stable and good) *and* then we use your idea to programmatically generate the “foo-state” tree, presumably only when needed.  This foo-state tree could be generated offline by tools and provided as a second YANG module in drafts.  In this way, servers (opstate aware or not) can advertise if clients can access the foo-state tree (an opstate-aware server may still advertise it for business reasons, and it can ‘deprecate’ the tree when no longer needed).   We could do the same without tools today by just using a feature statement on, for instance, the interfaces-state container, but I like pushing for tooling upfront so that we’re guaranteed mergeability later.  Thoughts?

There are a number of issues here. The first is that you are now depending on the separate applied state data store being implemented on every network device if you are going to eliminate the duplication of actual values in the OpState. The second is that OpsState is MUCH more than just counters. For example, for routing protocols will many times include a local RIB. The third is that it is a big change for these draft models and, if you have been following the discussion on the list, you should know that this option is not universally accepted (reference the E-mail thread I started with options before IETF 96).

Acee







Kent // as a contributor