Re: [netmod] [Netconf] Decision on the Intended Status of the Revised DS Draft WAS:RE: :candidate, :writable-running and RESTCONF edits

Kent Watsen <kwatsen@juniper.net> Tue, 10 January 2017 21:20 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 BCA37129DA9; Tue, 10 Jan 2017 13:20:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.058
X-Spam-Level:
X-Spam-Status: No, score=-3.058 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-1.156, 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 ZzU0e_aCgFvg; Tue, 10 Jan 2017 13:20:07 -0800 (PST)
Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0120.outbound.protection.outlook.com [104.47.33.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D80531295B0; Tue, 10 Jan 2017 13:20:06 -0800 (PST)
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=nllfPif2a7IGl8DlSH0J5MKQOvukznkh6VwbUBCkZN8=; b=ZidRpmzqwaLLCVHlVSxlAVWT08qnapvLnK9wksIWxd5nr6MrN3aZkTiRibQDME93LGBZSsgBw+qMU8G3GNQuMUsG5APb6Kiu6kw3mAlRN5kEbJcSsdJxYB8eo1TbY1ufwke123HlmGWmSPh0I1PHgEMfZ8FkcRcQ1nKBcZXA6v0=
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com (10.160.117.151) by BN3PR0501MB1441.namprd05.prod.outlook.com (10.160.117.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.845.3; Tue, 10 Jan 2017 21:20:04 +0000
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) by BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) with mapi id 15.01.0829.017; Tue, 10 Jan 2017 21:20:04 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: Andy Bierman <andy@yumaworks.com>
Thread-Topic: [netmod] [Netconf] Decision on the Intended Status of the Revised DS Draft WAS:RE: :candidate, :writable-running and RESTCONF edits
Thread-Index: AQHSa2aD89RzNHtVJkqt3M8SCXRmh6EyBQSAgAADy4D//7aBAIAAYlIA///CXIA=
Date: Tue, 10 Jan 2017 21:20:04 +0000
Message-ID: <6425C57C-C3DF-4099-AE77-4521B58B8D69@juniper.net>
References: <CABCOCHQv=LD34uDtj4MEQxswoEkrSFVgVMLyqvbAMwgDYzvGCw@mail.gmail.com> <5ECFBE11-58AF-4447-BFF2-72105067A8FF@nic.cz> <159833c6738.2818.9b4188e636579690ba6c69f2c8a0f1fd@labn.net> <4C501719-B84F-41E4-9064-1E9BFE82A9E0@nic.cz> <CABCOCHSh8G9zsAum2itBTzQpWrfA2UeaOAHvOFoi+nFs7jhvaA@mail.gmail.com> <D73CF359-4E81-4D23-A2AF-0EC308CE53D1@nic.cz> <20170109205109.GA15144@elstar.local> <CABCOCHQKboaqKjZA3qf0S4SMbwkTEqFYEOk_1BXmMADmeQSNqA@mail.gmail.com> <20170110072103.GA16120@elstar.local> <CABCOCHTKK3XSWNOPbTKO3OhTdxMbsx8rkgqab7uxC4j4rjP9qQ@mail.gmail.com> <20170110161643.GE17035@elstar.local> <8f0b1abe-b00e-95d1-f62f-7bc99d414bc6@cisco.com> <CABCOCHTRTY9bxMkujGuTru9OvyFmT31-QYpsiRSEo3y-L+2uiw@mail.gmail.com> <0f607346-cb4e-1e10-9956-956cb24dc49e@cisco.com> <CABCOCHQN87EiwwpODRq7cqD8gTn2cTungO+MWFu=u=Go16b6JA@mail.gmail.com> <0A89256A-35FA-4FC3-95FF-0C88A9B5F4EC@juniper.net> <CABCOCHS8NPZB7AsEcNNWQR7NkWPQ5Qpt=Ev6gaBD8CHbH4rupQ@mail.gmail.com>
In-Reply-To: <CABCOCHS8NPZB7AsEcNNWQR7NkWPQ5Qpt=Ev6gaBD8CHbH4rupQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/f.1d.0.161209
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: 71b1e4a4-b19d-4973-e01e-08d4399e71c6
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BN3PR0501MB1441;
x-microsoft-exchange-diagnostics: 1; BN3PR0501MB1441; 7:7nAWm9zTBjpqTZfudvM8iCGyQtkuS1E6+AuNGow4bcybmNy8OqzRjPlM3tToqYXld9ArAjAVrcx3wy15Orjb7+NqmJ3/dSakTkQrO16sBrn1GzLVShz/G9XHm2hCzLeoi2zqOqWHWO8mnpkdVFKjS6RThFZWCmpE/1eRVTY8Mn49dcll77QR3vsD/5cOLi67Lg1KBielUfU6eUTD1Avit0CdKfkOJCQjqTrlyHLfvb+JJCPUid99oLShk/duH97UFyQxKMOny1aZC/5GtScBwBziIxcUBo6roB9Dr/QPas5XJ11VFVVXCpIRpDRXHhlLt/B/X5XGdxer45GwTzmnlzsBj3dC0AHyGTckmKraWcW8w+mCa2D2xqVQp04/rRx6eT75gPzwB6JK3zULsf66okUeIcxUj7MDPQw2d5tYulFQJLScJwzls3F8VK9TRjbVXKV7wdVMWMqw/OE9ct5N/A==
x-microsoft-antispam-prvs: <BN3PR0501MB144127203BFF63C30AC97C7BA5670@BN3PR0501MB1441.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(150554046322364);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6041248)(20161123562025)(20161123555025)(20161123564025)(20161123560025)(6072148); SRVR:BN3PR0501MB1441; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0501MB1441;
x-forefront-prvs: 01834E39B7
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(7916002)(39850400002)(39410400002)(39860400002)(39840400002)(39450400003)(199003)(189002)(2950100002)(305945005)(7736002)(110136003)(106356001)(106116001)(54906002)(105586002)(76176999)(50986999)(54356999)(6916009)(101416001)(68736007)(6116002)(33656002)(5660300001)(8936002)(81166006)(81156014)(3846002)(66066001)(93886004)(102836003)(36756003)(8676002)(99286003)(2900100001)(6512007)(4001350100001)(189998001)(77096006)(6506006)(122556002)(6486002)(6436002)(229853002)(86362001)(38730400001)(3280700002)(82746002)(3660700001)(92566002)(83506001)(97736004)(25786008)(83716003)(4326007)(2906002)(104396002); DIR:OUT; SFP:1102; SCL:1; SRVR:BN3PR0501MB1441; H:BN3PR0501MB1442.namprd05.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en;
received-spf: None (protection.outlook.com: juniper.net does not designate permitted sender hosts)
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-ID: <AE5F148A95E43641AAE954CB454C6DAC@namprd05.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Jan 2017 21:20:04.1196 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0501MB1441
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/dzc25y_pu_l2X-5ZMaOYP2nk2Hg>
Cc: Netconf <netconf@ietf.org>, NetMod WG <netmod@ietf.org>
Subject: Re: [netmod] [Netconf] Decision on the Intended Status of the Revised DS Draft WAS:RE: :candidate, :writable-running and RESTCONF edits
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, 10 Jan 2017 21:20:09 -0000

> I think it is better to have a human decide what is in the module
> instead of relying on a pyang plugin to generate some additional module
> that follows some simplistic pattern.

It may be simple, but I’m thinking that’s only because it’s not tricky  ;)


> Of course this solution only works if the value-set of operational data
> is exactly the same as the configurable value-set (which is sometimes
> not the case at all).

The value-set of the operational data would be the combination of both the config true and config false nodes.   [Did you see this in my last response? I received an offline message indicating that my previous response was somewhat malformed, so you might’ve missed it...].   The config false nodes are obviously part of the operational data.  For the config true nodes, I’ve been swayed to believe that every config true node can also have an operational value.  I didn’t think so at first, using ‘hostname’ as an example to make my point, but it was pointed out that the admin might circumvent the YANG-driven config engine completely and set the hostname via the UNIX command line instead.  In this case, the intended hostname value might differ from the operational hostname value.  Even for nodes where we’re convinced there can never be an operational value that differs from the intended value, there still might be a propagation delay that causes a difference to be perceived in time.  All this points to a rather conservative and thankfully simple solution that the value-set of opstate is the combination of *all* the config true and config false nodes.



> What is an "opstate-aware tree".

I should’ve written “opstate-aware data model”.   

To be clear, by “opstate-aware tree”, I meant the YANG module would only have a top-level /foo tree that has both config true and config false nodes, with the expectation that the solution provided by draft-ietf-netmod-revised-datastores enables 1) opstate for both system-generated objects as well as for config true nodes and 2) opstate for all config true nodes also (note: this doesn’t remove the need for explicit config false nodes for negotiated values like MTU).

Similarly, by “opstate-unaware tree”, I meant the YANG module would have both top-level /foo and /foo-state trees.  Essentially, what we have today, which we’re trying to get away from.


> The point of this work is that the opstate tree goes away and is replaced by
> a protocol operation instead.

Correct, the hope is that the top-level /foo-state tree no longer needs to be defined in YANG modules.  This is the goal as we believe it will make YANG modules easier to read and write.


> In fact, there are no new datastores needed whatsoever to
> add the RPC <resource-ready>, or even <get-operational>.

I’m not sure what you mean by RPC <resource-ready>.  True, a <get-operational> RPC could be defined now, but we’d still want the YANG modules to be a certain way and we’d still want to define a conceptual operational-state datastore so that we could describe it unambiguously.


Kent // as a contributor