On Tue, Jan 10, 2017 at 07:30:51AM -0800, Andy Bierman wrote: > On Mon, Jan 9, 2017 at 11:21 PM, Juergen Schoenwaelder < > [email protected]> wrote: > > > On Mon, Jan 09, 2017 at 01:17:09PM -0800, Andy Bierman wrote: > > > > > > I think itt is not realistic to say that datastores are optional. > > > > > > e.g. <enabled> leaf: If there is a standard way to enable/disable config > > > then individual "enabled" leafs are redundant. However XPath (must/when) > > > has no way to describe if the subtree is enabled (which is a > > show-stopper) > > > > I may not understand what you are saying. From what I know, there are > > implementations that allow to 'comment out' nodes and subtrees and > > that work with clients in a backwards compatible way. > > > > > <foo-config> vs <foo-oper>. If the applied or operational datastore is > > > assumed, > > > then there is no need to model the redundant config-as-operstate. > > > If this is left out of the model, then the datastore becomes mandatory. > > > If it is left in the model, the datasore becomes redundant. > > > > > > The basic premise that these datastores are optional is flawed. > > > One cannot design a YANG module assuming the datastores are present > > > if they are in fact optional. > > > > The claim that all datastores are mandatory is equally flawed. > > > > > correct -- nobody is saying that.
Well, I originally commented on the statement that intened would be required and adding complexity - it does not. > The reason this is different is that the YANG objects are impacted. > Candidate vs. running has no impact whatsoever on the set of > YANG modules. The protocol is not self-selecting some objects > and making other objects invisible. Yes. And the same is true for intended as long as an implementation does not support templates or inactive configuration objects. > But if I want to model <foo-state>, I will soon have to decide > to use <foo-state> and allow all protocols to read it or > model get-state(foo) and require a different module for each > protocol. If you do /foo and /foo-state, things will just work with or without an operational state datastore. If you have only /foo, then an operational state datastore may come in handy if you have to support config and state with different lifetimes. /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/> _______________________________________________ netmod mailing list [email protected] https://www.ietf.org/mailman/listinfo/netmod
