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

Andy Bierman <andy@yumaworks.com> Tue, 10 January 2017 22:23 UTC

Return-Path: <andy@yumaworks.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 5E0BF1294BC for <netmod@ietfa.amsl.com>; Tue, 10 Jan 2017 14:23:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 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_LOW=-0.7, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.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 vEk2HNgHOIvu for <netmod@ietfa.amsl.com>; Tue, 10 Jan 2017 14:23:24 -0800 (PST)
Received: from mail-qk0-x231.google.com (mail-qk0-x231.google.com [IPv6:2607:f8b0:400d:c09::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BB79A129585 for <netmod@ietf.org>; Tue, 10 Jan 2017 14:23:24 -0800 (PST)
Received: by mail-qk0-x231.google.com with SMTP id 11so91841345qkl.3 for <netmod@ietf.org>; Tue, 10 Jan 2017 14:23:24 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=88qnGhPZ24csPvO5kEq28rtGhI0d12GPmRXonJYMwj0=; b=q1LyuQgyzAXdK04YCw9N3PaMWKzPhRIrucMCXeWlXvffAvxjbkDJLDSKqYAvLXHL8A mLe77Gkqh64KNX+ljn7St8yFih6u4eGtskl4BBMD9h1/UfM6tIIRzTeq0JmHIwFQ/ieA hCalsj7Rjpch4K5bJ82sYyg95iemHKMUdX6Jkgem1RS+M27rZ4fuqSpWrDyyKE4MxwLM 1PgXMGEf+9Z5rWWtWbO5VkPNlQfS7FzFIQ2k+wINtcGBAApI0NRClWaVP2rBRpDL6vri DjChFI7C1VPh40s/c8t3EOuas06vzKNXql1+kapHVt82C4I4Ki8l3oNbWern1bu48dn9 nHKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=88qnGhPZ24csPvO5kEq28rtGhI0d12GPmRXonJYMwj0=; b=cGSQTPpiq/HQ816NqkBsWCmOAxwDqxtr569ol000T4h56zNvB0iaCYRMx3HfcA9F9d Ns/9d7NyJpsNQsMOYP8ciLDxI3UT40vBHXxhCnSPAf6SIA09QbSbeE3r7bnMhq+rsWj2 tStfI74/pdRYZAh61dad4cnJH5tQ8gkR2FF3nqRtgZy79zKZ9VaHB5u8IFsNSSnf1AwO 1M2Pk0JFJA1KM8UEy8i2rlYaN/WoeA9EJBIJMENvY0XxMkR5AWmbPNwZvp+gdn6Yt78g +VkmOQsO9YY1+BUrVMw8LJbHwOkEUMaNMDy5PVBRl4PsU7l08eYzWQzNSuA68hxjjs/Q C58Q==
X-Gm-Message-State: AIkVDXLbkrxkOYmLGaQL09gnkTbLfMvbdnc11EACaUlvUd0HL17tWw1I8QovpOlt743uCMEHhPMiMm41rPMFJQ==
X-Received: by 10.55.152.4 with SMTP id a4mr4980500qke.69.1484087003896; Tue, 10 Jan 2017 14:23:23 -0800 (PST)
MIME-Version: 1.0
Received: by 10.12.142.5 with HTTP; Tue, 10 Jan 2017 14:23:23 -0800 (PST)
In-Reply-To: <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> <6425C57C-C3DF-4099-AE77-4521B58B8D69@juniper.net>
From: Andy Bierman <andy@yumaworks.com>
Date: Tue, 10 Jan 2017 14:23:23 -0800
Message-ID: <CABCOCHTY8PH1ysVgn7AJqiooC7NzVSyyNX1icfDbpYdmKEKWaQ@mail.gmail.com>
To: Kent Watsen <kwatsen@juniper.net>
Content-Type: multipart/alternative; boundary="94eb2c07ecfaaef0ab0545c4ee9d"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/aIoq2hUS5BqsxLQ1NEJp2swkxro>
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 22:23:27 -0000

On Tue, Jan 10, 2017 at 1:20 PM, Kent Watsen <kwatsen@juniper.net> wrote:

>
> > 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  ;)
>
>
The client and server developers still need to know about this
auto-generated module
and implement it.  Operators might have to know about it to use it.


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

But the foo-state node is being omitted from the module.
How does the pyang plugin know how to produce the extra values so the
auto-generated foo-state node has all the combined values?




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

I could have an RPC that tested a config subtree.
It would return 'true' if intended=applied for that subtree.



I agree it is good to have clear definitions that are widely understood.
It would be nice to have any clear definition of config=false YANG nodes,
whether datastores are used or not.  (e.g., does operational state
include counters?)



> Kent // as a contributor
>
>
>

Andy