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

Reply via email to