Re: [netmod] Action and RPC statements

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Tue, 31 October 2017 16:51 UTC

Return-Path: <j.schoenwaelder@jacobs-university.de>
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 6859313F9B0 for <netmod@ietfa.amsl.com>; Tue, 31 Oct 2017 09:51:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=ham autolearn_force=no
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 iEEmIdxkWNGM for <netmod@ietfa.amsl.com>; Tue, 31 Oct 2017 09:51:26 -0700 (PDT)
Received: from atlas5.jacobs-university.de (atlas5.jacobs-university.de [212.201.44.20]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 44C4913F989 for <netmod@ietf.org>; Tue, 31 Oct 2017 09:51:26 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas5.jacobs-university.de (Postfix) with ESMTP id D6215F6B; Tue, 31 Oct 2017 17:51:24 +0100 (CET)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas5.jacobs-university.de ([10.70.0.217]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10032) with ESMTP id k8_lVaU-YIGt; Tue, 31 Oct 2017 17:51:21 +0100 (CET)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "Jacobs University CA - G01" (verified OK)) by atlas5.jacobs-university.de (Postfix) with ESMTPS; Tue, 31 Oct 2017 17:51:24 +0100 (CET)
Received: from localhost (demetrius2.jacobs-university.de [212.201.44.47]) by hermes.jacobs-university.de (Postfix) with ESMTP id A080420111; Tue, 31 Oct 2017 17:51:24 +0100 (CET)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius2.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id 8k71_DQEnx00; Tue, 31 Oct 2017 17:51:24 +0100 (CET)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id BEA3720110; Tue, 31 Oct 2017 17:51:23 +0100 (CET)
Received: by elstar.local (Postfix, from userid 501) id A28B14145C38; Tue, 31 Oct 2017 17:49:56 +0100 (CET)
Date: Tue, 31 Oct 2017 17:49:56 +0100
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Kent Watsen <kwatsen@juniper.net>
Cc: Robert Wilton <rwilton@cisco.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>
Message-ID: <20171031164956.6arcgbefiwj7dhyt@elstar.local>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: Kent Watsen <kwatsen@juniper.net>, Robert Wilton <rwilton@cisco.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>
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> <BA876AD7-A506-4D11-8F41-72D362BDB033@juniper.net>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
X-Clacks-Overhead: GNU Terry Pratchett
Content-Transfer-Encoding: 8bit
In-Reply-To: <BA876AD7-A506-4D11-8F41-72D362BDB033@juniper.net>
User-Agent: NeoMutt/20170714 (1.8.3)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/RGcxZMSaZ5-hVzmobKAVfWM6xBg>
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: Tue, 31 Oct 2017 16:51:28 -0000

On Tue, Oct 31, 2017 at 03:35:38PM +0000, Kent Watsen wrote:
> 
> Hi Robert,
> 
> > 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. 
> 
> s/MAY/may/? - is this draft providing for this, or should it come from
> e.g., RFC 7950?
> 
> 
> > 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. 
> 
> I reordered first sentence, and added a comma to the second:
> 
> RPCs modify the general operational state of the server, unless
> explicitly defined to affect other datastores. 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. 

- s/the general operational state/the operational state/
- I also do not think that RPC generally modify state.

Or simply:

  References to data nodes in RPC description statements etc. are
  interpreted as references to data nodes in <operational> unless
  specified otherwise.
 
> > 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. 
> 
> okay
> 
> > 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. 
> 
> fixed plurality issue in first sentence, and removed wishy-washy 
> language from the rest:
> 
> Actions are always invoked on a data node instance that exists in the 
> <operational> data tree.  Action statements affect the operational
> state of the server.

OR:

  References to data nodes in action description statements etc. are
  interpreted as references to data nodes in <operational> unless
  specified otherwise.

I think that the data node an action is bound to must exist in
operational state - this is consistent with the xpath context. But
what the other parameters mean is a matter of the action/RPC
semantics, as defined in the description statement. Or is there a
_technical_ reason to restrict this?

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>