On Tue, Jul 12, 2016 at 12:07 PM, Juergen Schoenwaelder <
j.schoenwael...@jacobs-university.de> wrote:

> On Tue, Jul 12, 2016 at 11:36:03AM -0700, Andy Bierman wrote:
> > Yes there is value in modeling conventions in general.
> > I am trying to understand the value of this specific convention.
> >
> > If I have an RPC that asks for applied state, then it doesn't really
> matter
> > how the config and state is organized.  There is only overlap in the
> objects
> > if the data model is designed that way.
> >
> > Whether or not an edit is applied yet is a property of the
> implementation,
> > not the data model.
>
> The current /foo and /foo-state approach requires some amount of
> duplication. If the trees contain some nested lists of lists, you have
> to at least replicate all the key leafs in the schema definition. For
> a small model, this is not a bit deal; for more complex models, this
> becomes complex and there are possible sources of errors. If it is
> possible to simply data models, this may be a long-term win.
>
>

It only requires duplication if you insist on modeling opstate objects.
IMO an RPC + notification approach is far superior.
In this approach I only need to identify the intended config object
and retrieve (or be notified) of the applied-state transition.



> The reason why we have the /foo and /foo-state convention is, I
> believe, the design of the NETCONF <get/> operation, which assumes
> state and config can be represented together in a single tree. And we
> have carried this further into YANG (e.g., the way contexts are
> constructed for xpath expressions). In hindsight, I am not sure the
> consequences of the <get/> design were that well thought through - but
> I am not complaining, at that time we did not have YANG nor did we
> have experience with bigger data models written in YANG. Is it worth
> fixing it? This is a tough question and I understand that people have
> different opinions and also different views on where we are on the
> lifecycle of this technology. The challenge, as always, is to evolve a
> technology along with its usage and upcoming new requirements. If the
> evolution is too fast, you risk fragmentation since people will then
> run many different versions. If evolution is too slow or stops
> entirely, you pave the way for complete replacements of the
> technology.
>
> I think it is worth to step back for a moment and to think about where
> we like to be in 5 or 10 years from now when we discuss architectural
> questions.
>


We have read-only foo-state because we have only been standardizing
monitoring data for the last 30 years.  I completely agree that if the
state depends
on the config in order for an instance to exist, then co-locate the config
and
state and share the node naming.


But modeling admin-state and oper-state with the same object is not a
requirement.
Being able to determine if the intended config is applied yet is a
requirement.
This can be done with protocol operations so it is 100% data model neutral.




>
> /js
>

Andy


>
> --
> 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
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to