On Fri, May 3, 2019 at 2:20 AM Juergen Schoenwaelder < [email protected]> wrote:
> On Fri, May 03, 2019 at 01:10:58AM -0700, Andy Bierman wrote: > > On Thu, May 2, 2019 at 10:57 PM Juergen Schoenwaelder < > > [email protected]> wrote: > > > > > On Thu, May 02, 2019 at 04:15:28PM -0700, Andy Bierman wrote: > > > > Hi, > > > > > > > > The text about invoking actions in RFC 7950, sec. 7.15 is not clear > > > > about whether the ancestor data nodes have to exist. > > > > > > > > sec 7.15.2, para 2: > > > > > > > > The <action> element contains a hierarchy of nodes that identifies > > > > the node in the datastore. > > > > > > > > > > > > The RFC does not say anything about if the data node is required to > > > > exist or not. There is no distinction between NP-container, > P-container, > > > > or list which are ancestors of the action node. It does not specify > > > > which datastore, and that is not supplied in the <action> RPC. > > > > The text specifies what must be in the <rpc> request, not in any > > > datastore > > > > or state data. > > > > > > > > It seems like the intent is that no instance test is specified at > all and > > > > the corresponding ancestor nodes to the action node do not have to > > > > exist for the action to be invoked. (The action may succeed or fail). > > > > The issue is whether there is an existence-test before invoking the > > > action. > > > > > > We discussed actions during the work on NMDA. RFC 8342 has this text > > > in section 6, in particular 6.1 says: > > > > > > Actions are always invoked in the context of the operational state > > > datastore. The node for which the action is invoked MUST exist in > > > the operational state datastore. > > > > > > > > This only applies to a server implementing NMDA. > > There is no requirement for a server implementing RFC 7950 to make this > > test. > > > > Yes, the behavior is unspecified in RFC 7950. However, note that RFC > 8342 formally updates RFC 7950 and the Introduction section says: > > This document updates RFC 7950 by refining the definition of the > accessible tree for some XML Path Language (XPath) context (see > Section 6.1) and the invocation context of operations (see > Section 6.2). > > This update may not affect your implementation but since you asked > whether there is an existence-test before invoking the action, I > thought a pointer to RFC 8342 is perhaps relevant. > > OK, but the update wrt/ action invocation is irrelevant unless the server implements the <operational> datastore. This NMDA requirement means that a server MUST implement the operational values of config=true ancestor data nodes in order to implement an action nested within configuration. If the server does not implement these operational values, and follows YANG library guidelines by omitting these ancestor schema nodes from the schema for <operational>, then the YANG action is not accessible on the server. I don't think the YANG Library RFC makes it clear that an action must exist in the schema for <operational> in order for it to be accessible. This should be confirmed and an errata posted if needed. This also means that any mechanism which disables configuration and therefore removes the corresponding data nodes from <operational>, also disables any actions within that configuration. The keystore thread has already discussed the rather awkward procedures for waiting and confirming that <operational> has synched with <running> before being able to invoke an action. Maybe YANG 1.2 can fix this mess, or maybe new protocol operations are needed. /js > > Andy > -- > Juergen Schoenwaelder Jacobs University Bremen gGmbH > Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | Germany > Fax: +49 421 200 3103 <https://www.jacobs-university.de/> >
_______________________________________________ netmod mailing list [email protected] https://www.ietf.org/mailman/listinfo/netmod
