Hello Jason,

I was the original advocate of actions.

At that point I had to fight to get actions into YANG at all. So I had to 
emphasize why they are different, why they are better. Replacing rpcs would 
have been a no go from the start.

Also some people might have an aversion towards having 2 ways to do the same 
thing.

In my world we avoid top level actions/rpcs altogether, so it was not important 
for me.

But truly, these are not really strong arguments against top level actions.

Regards Balazs

 

From: netmod <netmod-boun...@ietf.org> On Behalf Of Sterne, Jason (Nokia - 
CA/Ottawa)
Sent: 2020. április 30., csütörtök 17:51
To: Reshad Rahman (rrahman) <rrah...@cisco.com>; netmod@ietf.org
Subject: Re: [netmod] YANG action not allowed at root?

 

Yes - the intent was to address the limitation that an RPC can only be at root. 
Actions can be out in a tree & nicely associated with something (e.g. instead 
of having a pile of flat RPCs with long names that encode containers like 
reset-www-xxx-yyy-zzz-entity).

 

But I don't really understand why we limited actions from being at the root. It 
prevents a strategy of implementing all operations in a server (some of which 
may be desirable at root for various reasons, some of which may be desirable in 
the tree) as actions.

 

Why not allow this?

 

   module bar {

         action do-stuff {

           input {

             leaf iterations {

               type uint8;

              }

            }

         } 

       } 

   } 

 

Which could be called from NETCONF like this:

 

     <rpc message-id="101"

          xmlns="urn:ietf:params:xml:ns:netconf:base:1..0">

       <action xmlns="urn:ietf:params:xml:ns:yang:1">

         <do-stuff xmlns="urn:example:bar">

           <iterations>5</iterations>

         </do-stuff>

       </action>

     </rpc>

 

 

Jason

 

From: Reshad Rahman (rrahman) <rrah...@cisco.com <mailto:rrah...@cisco.com> > 
Sent: Thursday, April 30, 2020 11:31 AM
To: Sterne, Jason (Nokia - CA/Ottawa) <jason.ste...@nokia.com 
<mailto:jason.ste...@nokia.com> >; netmod@ietf.org <mailto:netmod@ietf.org> 
Subject: Re: [netmod] YANG action not allowed at root?

 

I don’t know the history on this but the intent is to have action tied to a 
data node.

 

https://tools.ietf.org/html/rfc7950#section-7.15

   The difference between an action and an rpc is that an action is tied

   to a node in the datastore, whereas an rpc is not.  When an action is

   invoked, the node in the datastore is specified along with the name

   of the action and the input parameters.

 

Regards,

Reshad.

 

From: netmod < <mailto:netmod-boun...@ietf.org> netmod-boun...@ietf.org> on 
behalf of "Sterne, Jason (Nokia - CA/Ottawa)" < <mailto:jason.ste...@nokia.com> 
jason.ste...@nokia.com>
Date: Thursday, April 30, 2020 at 11:08 AM
To: " <mailto:netmod@ietf.org> netmod@ietf.org" < <mailto:netmod@ietf.org> 
netmod@ietf.org>
Subject: [netmod] YANG action not allowed at root?

 

Hi all,

 

I was a bit surprised to find this in section 7.15 of 7950 recently:

 

   Since an action cannot be defined at the top level of a module or in

   a "case" statement, it is an error if a grouping that contains an

   action at the top of its node hierarchy is used at the top level of a

   module or in a case definition.

 

I realize that actions can be placed down in a schema tree (i.e. sit in the 
context of a container or list), but why is it phrased that they *must* be in a 
container?

 

RPCs are limited to being at the root. I would have thought actions could be 
anywhere (root or down in the tree).

 

Jason

 

 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to