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

Kent Watsen <kwatsen@juniper.net> Tue, 26 July 2016 20:36 UTC

Return-Path: <kwatsen@juniper.net>
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 0DC5B12D5DB for <netmod@ietfa.amsl.com>; Tue, 26 Jul 2016 13:36:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=junipernetworks.onmicrosoft.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 wNSOL_DLjefr for <netmod@ietfa.amsl.com>; Tue, 26 Jul 2016 13:36:36 -0700 (PDT)
Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0100.outbound.protection.outlook.com [104.47.32.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6A3C512D5BC for <netmod@ietf.org>; Tue, 26 Jul 2016 13:36:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=junipernetworks.onmicrosoft.com; s=selector1-juniper-net; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=kP+w66D53L7brFVLfKU8tFNJ+z3NtKXzPEwULEKdejc=; b=H895UydcPyahmifdABffzFvvRnMfMXJ4a+0rtdvYPlQ2ZYMQKMBAwVfIPwyPftxG1Ug9no+ITo04z1WNzqLCW2dHmjHoJuqnhWrWwp/UAMJekAJxRYHkUsHe5bqrsvu0No8CyCe1JEfPMgP9+AIX9sXbCopBFnuAl8D6i5r5roU=
Received: from CY1PR0501MB1450.namprd05.prod.outlook.com (10.160.149.11) by CY1PR0501MB1449.namprd05.prod.outlook.com (10.160.148.155) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.557.8; Tue, 26 Jul 2016 20:36:34 +0000
Received: from CY1PR0501MB1450.namprd05.prod.outlook.com ([10.160.149.11]) by CY1PR0501MB1450.namprd05.prod.outlook.com ([10.160.149.11]) with mapi id 15.01.0557.009; Tue, 26 Jul 2016 20:36:33 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: Robert Wilton <rwilton@cisco.com>, netmod WG <netmod@ietf.org>
Thread-Topic: [netmod] OpsState Direction Impact on Recommended IETF YANG Model Structure
Thread-Index: AQHR426Bbp8QhQYR/0+rHOW0oBTwuqAjJxmAgADv8QCABT5TAIABj1SAgAAMLoA=
Date: Tue, 26 Jul 2016 20:36:33 +0000
Message-ID: <5296754B-8178-4B1B-B4A6-FE228ABB8E7F@juniper.net>
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>
In-Reply-To: <bed9398c-0e6a-450e-d2ac-b381b6bebf87@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/f.18.0.160709
authentication-results: spf=none (sender IP is ) smtp.mailfrom=kwatsen@juniper.net;
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [66.129.241.10]
x-ms-office365-filtering-correlation-id: a071e3b0-dc96-470b-a4ce-08d3b5948876
x-microsoft-exchange-diagnostics: 1; CY1PR0501MB1449; 6:sguQAYsdStwWob6sJDiv9+/wNCBpp/nhI3vVSyCZkdGD8OO0BBbITd8DmzNZevkbGUJqv2gvQW5RJxX+Yh7WCbFzjyWaSXK/R0IOPbQeWFYcFDpnBQUG9sncpuwQyVdSR0Lf5YgZvhCvEItlUQU5kXPi1qb/VW+X9a1gEoe9f/J3dUIz8sQmaWg6PU9BhyYzBqdQfBdspFKwocLQKsFBMPi0sW1dmueMVrhogIJi2oi8bqpOSiVHfGgrUI+QjIx9DMalZXaD5lpo5VKLGGEZ974LXEQyd0iHHMRz0dLr20RKgEw7R1sE9NdxtUEgm5FfPyVLXPgikkHU+A7MSiqdWw==; 5:88TDx6YLWZ9hS44lL8pl2sZztPZcfaEi+nq7vVHaInEkoL5988SrCoVGCroUNEN9aCO2IAMQc3Pas/tTsfm9SSU8W8LoajkgJfLva2iPnUqe4+7DOcCr+IwI/EuTUTZgDzMtGkl3Whj4MZx0e4FE6w==; 24:Hl6k5pTdwk6HROxGq7CpPf1u0GmFEeyB636IXNhmyw1LwpS0AGxfAOZ+amX2Txdy9ysqAa+rMPGavBEMwYylJ6O3imGjiEbg/y7YqWWbF/o=; 7:EebtduKMz9jwk7CXcBnMg9voBu0R+UTZT2mPst2hL05elUW/uTxnQbHU+k1eKaCczpTafzeEsTG07bzFPCUcXkOSNoPcLrpJyc4Z/5YzjXLgB6ipH9zXZVMtpT8P5t9tWGL6zmaEfXmRcrpAVDDc5rSyQxco9jaDLsu4f4997UgTX2PEs+VgAgDfCsssWGfkMx/dAwwJGjOO7IpM06c2TE5PnldjIsw2iH/I5JRJ1OuvgIJlmONaF18yXJv7w1JJ
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0501MB1449;
x-microsoft-antispam-prvs: <CY1PR0501MB1449D4F52715C5B1AEF74214A50E0@CY1PR0501MB1449.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(158342451672863)(21748063052155);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026); SRVR:CY1PR0501MB1449; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0501MB1449;
x-forefront-prvs: 00159D1518
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(7916002)(76104003)(51444003)(189002)(199003)(5002640100001)(122556002)(66066001)(82746002)(3280700002)(83716003)(5001770100001)(97736004)(105586002)(3660700001)(83506001)(106356001)(15975445007)(10400500002)(36756003)(19580395003)(4001350100001)(93886004)(19300405004)(2900100001)(106116001)(92566002)(33656002)(50986999)(4326007)(77096005)(16236675004)(76176999)(7736002)(2906002)(586003)(102836003)(7846002)(6116002)(189998001)(101416001)(8936002)(87936001)(86362001)(81166006)(81156014)(8676002)(68736007)(19625215002)(54356999)(99286002)(3846002)(2950100001)(217873001)(104396002); DIR:OUT; SFP:1102; SCL:1; SRVR:CY1PR0501MB1449; H:CY1PR0501MB1450.namprd05.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en;
received-spf: None (protection.outlook.com: juniper.net does not designate permitted sender hosts)
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_5296754B81784B1BB4A6FE228ABB8E7Fjunipernet_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jul 2016 20:36:33.7475 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0501MB1449
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/1FrKtK8orSmkRc05KZq72GXfaF4>
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 20:36:39 -0000

<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?

Kent // as a contributor