Re: [netmod] Action and RPC statements
Robert Wilton <rwilton@cisco.com> Wed, 01 November 2017 11:42 UTC
Return-Path: <rwilton@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 AE25F13F706 for <netmod@ietfa.amsl.com>; Wed, 1 Nov 2017 04:42:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.489
X-Spam-Level:
X-Spam-Status: No, score=-14.489 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, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=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 cGpsgpiU7b4W for <netmod@ietfa.amsl.com>; Wed, 1 Nov 2017 04:42:47 -0700 (PDT)
Received: from aer-iport-2.cisco.com (aer-iport-2.cisco.com [173.38.203.52]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7DADF13F703 for <netmod@ietf.org>; Wed, 1 Nov 2017 04:42:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=29219; q=dns/txt; s=iport; t=1509536566; x=1510746166; h=subject:to:references:from:message-id:date:mime-version: in-reply-to; bh=9oLs9fH3m96fMAUwHqnrAh6PRofxF60xwxqOeTfJyjk=; b=OnLNIR4EAOSvIq3gmdJ45vKBITHYb2nvRJ+KGaplok77A9g8xLONrP28 h0OuMqgS8eXvT+5Bj+xdfuURCpxHzPvmYYzgP8jvie0FsVpsHlZ7YRoEb p3GnLnnB3RbSQQfYhts5vglvVLjowCe4DeBi9Dxy4Yt8BhVARzXqqkGCV I=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0COAADFsvlZ/xbLJq1cDgsBAQEBAQEBAQEBAQcBAQEBAYJvQoESbieDfYofdJAglkOCDgMKGAEKhElPAoU7GAECAQEBAQEBAWsohR0BAQEDAQEBIQpBEAsJAhEEAQEBDRMBBgMCAicfCQgGAQwGAgEBihcIEIpCnWeCJyaDbwGGeQEBAQEBAQEBAQEBAQEBAQEBAQEBARgFgy6DWoFpKYMBhHtMgl+CYQWZBIkGlHyLdoc6jieHbIE5HzhCgSo0IQgdFUmCZIQgBAE6QTaKKyyCFgEBAQ
X-IronPort-AV: E=Sophos;i="5.44,327,1505779200"; d="scan'208,217";a="655799679"
Received: from aer-iport-nat.cisco.com (HELO aer-core-3.cisco.com) ([173.38.203.22]) by aer-iport-2.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Nov 2017 11:42:44 +0000
Received: from [10.63.23.76] (dhcp-ensft1-uk-vla370-10-63-23-76.cisco.com [10.63.23.76]) by aer-core-3.cisco.com (8.14.5/8.14.5) with ESMTP id vA1BghUH007806; Wed, 1 Nov 2017 11:42:44 GMT
To: Alexander Clemm <alexander.clemm@huawei.com>, Martin Bjorklund <mbj@tail-f.com>, "andy@yumaworks.com" <andy@yumaworks.com>, "netmod@ietf.org" <netmod@ietf.org>, Randy Presuhn <randy_presuhn@alumni.stanford.edu>, Phil Shafer <phil@juniper.net>
References: <4d2030ca-3d75-72db-1afd-76a8597b615c@cisco.com> <c544a19e-2534-9355-002e-18affd12ea5a@alumni.stanford.edu> <CABCOCHQdmMYObMBCxP=qWuH3RdCRi9q7Y6G0VsSnDeyg2qLc4w@mail.gmail.com> <20171027.103341.1048835221774842137.mbj@tail-f.com> <9645422a-05a2-9d24-e50e-799d964f021f@cisco.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0EABACAD@sjceml521-mbx.china.huawei.com>
From: Robert Wilton <rwilton@cisco.com>
Message-ID: <4679d0f6-d884-e0a9-94de-0099735a1172@cisco.com>
Date: Wed, 01 Nov 2017 11:42:43 +0000
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0
MIME-Version: 1.0
In-Reply-To: <644DA50AFA8C314EA9BDDAC83BD38A2E0EABACAD@sjceml521-mbx.china.huawei.com>
Content-Type: multipart/alternative; boundary="------------FECE63FACC8B2118F3332CBB"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/dgmCNXr-VU0FgEh2lBgtEIqwOrA>
Subject: Re: [netmod] Action and RPC statements
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.22
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: Wed, 01 Nov 2017 11:42:49 -0000
Hi Alex, On 31/10/2017 17:36, Alexander Clemm wrote: > > Hi Rob, > > A few comments, inline > > --- Alex > > *From:*netmod [mailto:netmod-bounces@ietf.org] *On Behalf Of *Robert > Wilton > *Sent:* Tuesday, October 31, 2017 7:14 AM > *To:* Martin Bjorklund <mbj@tail-f.com>; andy@yumaworks.com; > netmod@ietf.org; Randy Presuhn <randy_presuhn@alumni.stanford.edu> > *Subject:* Re: [netmod] Action and RPC statements > > Hi, > > Here is another attempt for proposed text for Actions/RPC statements > in NMDA. > > <new> > > 6.2 Invocation of RPC Operations > > This section updates section 7.14 of RFC 7950. > > RPCs MAY be defined as affecting the contents of a specific datastore, > any configuration datastore (e.g., <edit-config>), or any datastore > (e.g., <get-data>). The RPC definition specifies how the RPC input > data is interpreted by the server. > > <ALEX> why “e.g., <get-data>”? Does <get-data> affect the contents of > the datastore – I thought it just gets data, hence this example is not > ideal. > > There is also no mention about the source of the “in” parameters. It > probably makes sense to mention that explicitly. > > Perhaps something along the lines of “RPCs MAY be defined as > _/relating/_ to the contents of a specific datastore…. Input data > resolves to <operational>, as does output data, as do RPC side > effects“. Then below > > “RPCs definitions that do not explicitly state an affected > datastore(s) _/refer_to/_ the general operational state of the server.” > Yes, that makes sense. > One other comment, it would be good to also indicate that when an RPC > leads to modification of data nodes, what the “origin” of those > modifications is. > That is an interesting question. To describe this as a concrete example, if you have a single config true YANG list for dynamic/configuration subscriptions then a subscription can be created either via configuration or as an RPC operation. I would probably classify this as "learned", and I think that we could extend the definition of the "learned" origin to cover this case. Thanks, Rob > </ALEX> > > > > RPCs definitions that do not explicitly state an affected > datastore(s) modify the general operational state of the server. > Hence, if any RPC input data relates to data node instances then > those would generally resolve to data node instances in the > <operational> data tree. > > > 6.3 Invocation of Actions > > This section updates section 7.15 of RFC 7950. > > In YANG data models, the "action" statement may appear under "config > true" and "config false" schema nodes. While instances of both > schema nodes may appear in <operational>, instances of "config true" > schema nodes may also appear in other datastores. > > Actions are always invoked on a data node instance that exist in the > <operational> data tree. The behavior defined by an action statement > is generally expected to affect the operational state of the server > rather than directly modifying the contents of any configuration > datastore. > > </new> > > > On a related note, I also want to confirm that it is right that RPC > input data is always checked against operational: > > Section 6.1. of the NMDA draft states: > > > o If the XPath expression is defined in a substatement to an "input" > statement in an "rpc" or "action" statement, the accessible tree > is the RPC or action operation instance and all operational state > in the server. The root node has top-level data nodes in all > modules as children. Additionally, for an RPC, the root node also > has the node representing the RPC operation being defined as a > child. The node representing the operation being defined has the > operation's input parameters as children. > > > > Is <operational> always the right datastore to evaluate RPC > input/output data relative to? For most RPCs this seems to be the > right choice by default but it also seems plausible that someone may > wish to define an RPC that wants to validate its input parameters > against the contents of another datastore. > > An example could be an "is-applied" RPC that takes a path to a subtree > in <running> or <intended> and checks whether the configuration for > that subtree is fully represented in <operational>. > > Thanks, > Rob > > On 27/10/2017 09:33, Martin Bjorklund wrote: > > Andy Bierman<andy@yumaworks.com> <mailto:andy@yumaworks.com> wrote: > > On Thu, Oct 26, 2017 at 11:22 AM, Randy Presuhn < > > randy_presuhn@alumni.stanford.edu > <mailto:randy_presuhn@alumni.stanford.edu>> wrote: > > Hi - > > On 10/26/2017 10:44 AM, Robert Wilton wrote: > > Hi , > > Separating out the issue regarding which datastore action and RPC apply > > to, we propose the following NEW text to the datastores draft: > > 6.2 Invocation of Actions and RPC Operations > > This section updates section 7.15. of RFC 7950. > > In YANG data models, the "action" statement may appear under "config > > true" and "config false" schema nodes. While instances of both > > schema nodes may appear in <operational>, instances of "config true" > > schema nodes may also appear in other datastores. > > An NMDA compliant server MUST execute all actions in the context of > > <operational>. Likewise, an NMDA compliant server MUST invoke all RPC > > operations in the context of <operational>, unless the RPC is > > explicitly > > defined as affecting other datastores (e.g., <edit-config>). > > OK? > > A question - I understand the motivation for the "unless" for RPC > > operations, but wonder why there is no similar "unless" for actions. > > The <rpc> is not really in a datastore at all. > > It may have input and output parameters with leafref and must/when > > statements. > > These are evaluated in the <operational> context. > > The <rpc> may in fact be something like <edit-config> > > which has parameters (like <config> to apply to > > a specific datastore. > > The action node is embedded within some data that has to be parsed > > in a specific datastore before the action is processed. > > This data is required to be in <operational>. > > It also has XPath and leafref that needs to be resolved (same as <rpc>). > > The side effects of the <rpc> or <action> can impact other datastores. > > This would be defined in the description-stmt and this is not a problem. > > This is exactly right. We need to capture this in the text. > > /martin > > _______________________________________________ > > netmod mailing list > > netmod@ietf.org <mailto:netmod@ietf.org> > > https://www.ietf.org/mailman/listinfo/netmod > > . >
- [netmod] augment YANG 1.0 with YANG 1.1 OK? Andy Bierman
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Martin Bjorklund
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Andy Bierman
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Juergen Schoenwaelder
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Andy Bierman
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Andy Bierman
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Juergen Schoenwaelder
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Juergen Schoenwaelder
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Andy Bierman
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Robert Wilton
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Andy Bierman
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Juergen Schoenwaelder
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Andy Bierman
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Juergen Schoenwaelder
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Andy Bierman
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Robert Wilton
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Martin Bjorklund
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Andy Bierman
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Andy Bierman
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Martin Bjorklund
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Andy Bierman
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Andy Bierman
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Martin Bjorklund
- [netmod] Action and RPC statements [was Re: augme… Robert Wilton
- Re: [netmod] augment YANG 1.0 with YANG 1.1 OK? Robert Wilton
- Re: [netmod] Action and RPC statements [was Re: a… Randy Presuhn
- Re: [netmod] Action and RPC statements [was Re: a… Andy Bierman
- Re: [netmod] Action and RPC statements [was Re: a… Randy Presuhn
- Re: [netmod] Action and RPC statements Martin Bjorklund
- Re: [netmod] Action and RPC statements Robert Wilton
- Re: [netmod] Action and RPC statements Juergen Schoenwaelder
- Re: [netmod] Action and RPC statements Kent Watsen
- Re: [netmod] Action and RPC statements Robert Wilton
- Re: [netmod] Action and RPC statements Juergen Schoenwaelder
- Re: [netmod] Action and RPC statements Robert Wilton
- Re: [netmod] Action and RPC statements Andy Bierman
- Re: [netmod] Action and RPC statements Randy Presuhn
- Re: [netmod] Action and RPC statements Andy Bierman
- Re: [netmod] Action and RPC statements Alexander Clemm
- Re: [netmod] Action and RPC statements Phil Shafer
- Re: [netmod] Action and RPC statements Robert Wilton
- Re: [netmod] Action and RPC statements Robert Wilton
- Re: [netmod] Action and RPC statements Juergen Schoenwaelder
- Re: [netmod] Action and RPC statements Andy Bierman
- Re: [netmod] Action and RPC statements Alexander Clemm
- Re: [netmod] Action and RPC statements Alexander Clemm
- Re: [netmod] Action and RPC statements Juergen Schoenwaelder
- Re: [netmod] Action and RPC statements Phil Shafer
- Re: [netmod] Action and RPC statements Andy Bierman
- Re: [netmod] Action and RPC statements Martin Bjorklund
- Re: [netmod] Action and RPC statements Lou Berger
- Re: [netmod] Action and RPC statements Juergen Schoenwaelder
- Re: [netmod] Action and RPC statements Martin Bjorklund
- Re: [netmod] Action and RPC statements Lou Berger
- Re: [netmod] Action and RPC statements Robert Wilton
- Re: [netmod] Action and RPC statements Lou Berger
- Re: [netmod] Action and RPC statements Robert Wilton
- Re: [netmod] Action and RPC statements Lou Berger
- Re: [netmod] Action and RPC statements Juergen Schoenwaelder
- [netmod] Reset tags RPC [was Re: Action and RPC s… Robert Wilton
- Re: [netmod] Action and RPC statements Lou Berger
- Re: [netmod] Action and RPC statements Andy Bierman
- Re: [netmod] Action and RPC statements Juergen Schoenwaelder
- Re: [netmod] Action and RPC statements Robert Wilton
- Re: [netmod] Action and RPC statements Lou Berger
- Re: [netmod] Action and RPC statements Robert Wilton
- Re: [netmod] Action and RPC statements Lou Berger
- Re: [netmod] Action and RPC statements t.petch