On Tue, Jan 10, 2017 at 3:54 PM, Juergen Schoenwaelder <
j.schoenwael...@jacobs-university.de> wrote:

> I believe that shortening tranistion pain is in the longer term better
> than prociding tools that at the end just extend the transition pain.
>
>

That is a good goal, but ending up with a stable and useful solution
is more important.

The WG decided that an RPC-based solution was preferrred under the
assumption
that the data model design would not be impacted and existing YANG modules
could
report intended vs. actual values without any changes.

I certainly agree with Kent that real systems can override config values in
ways
that were not anticipated at module design-time.   All the more reason for
an RPC-based solution.

I am willing to accept the design team output as the architectural model.
I liked Phil's approach -- identify all the state transitions and decide
which
ones need to be exposed in the standard. I don't see how tweaking this model
will have any impact on the transition pain of the solution path.

Until the basic show-stoppers are solved, the redundant opstate objects are
not important.
Removing the foo-state objects means they are now invisible wrt/ YANG
constraints
(must, when, leafref, min/max, etc).  IMO this is a show-shopper.  YANG can
only cross-reference
YANG statements.  Invisible opstate hiding behind a datastore label seems
elegant
wrt/ <get>, but it looks like a disaster wrt/ YANG.


/js
>


Andy


>
> On Tue, Jan 10, 2017 at 07:08:47PM +0000, Kent Watsen wrote:
> > I think that there may be a better way here:  The data modelers design
> the model on the assumption that an operational state datastore will be
> present.  We can then use a pyang plugin to generate an extra YANG model
> that contains the missing state leaves that would be required for the split
> config/state trees.  E.g. if it finds a config leaf in foo/speed it creates
> a module that contains foo-state/speed.  I've been playing around with
> pyang and I don't think that this would be too hard to do.
> >
> > I generally support this approach as stop-gap solution while the
> industry goes thru the transition.  However, I recommend a variant whereby
> the pyang plugin only migrates the config false values (not also the config
> true values).  The reason for this is as follows:
> >
> > Migrating only the config false values is sufficient for matching
> existing functionality (read: a must-have requirement); that is, currently
> top-level /foo-state is used to support conveying the opstate for
> system-generated objects, that have lifetimes independent of config.
> >
> > Migrating the config true nodes also is possible, but only needed if
> wanting to report the opstate value for config true nodes (e.g., hostname),
> but this would be above and beyond what is possible today (read: a
> nice-to-have requirement), and hence I’d rather steer folks towards the new
> approach rather than double-down on the approach we’re trying to get away
> from.
> >
> >
> >
> > > This is a real hack.
> > >
> > > I liked the if-feature approach much better
> > > e.g.
> > >
> > >   leaf oper-speed {
> > >       if-feature "not operational-datastore";
> > >       ...
> > >   }
> >
> > Is your proposal for the YANG modules to simultaneously define both
> opstate-aware and opstate-unaware trees?  Wouldn’t that make the modules
> less readable, largely redundant, and ripe for inconsistencies?
> >
> >
> >
> > Kent  // as a contributor
> >
> >
>
> > _______________________________________________
> > Netconf mailing list
> > netc...@ietf.org
> > https://www.ietf.org/mailman/listinfo/netconf
>
>
> --
> 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