On Wed, Jul 7, 2021 at 1:01 AM Balázs Lengyel <[email protected]>
wrote:

> Hello Andy,
>
> There are many different use-cases for instance-data-files, each with
> slightly different requirements.
>
>
>

I don't agree that the solution requires 3 ways to do the same thing.
Well, 4 if you count External which means Proprietary and Not Standard At
All.

Inline method is needed, if you want to indicate that the file was
> generated by someone who uses some YANG modules with deviations and some
> features are not-supported. There is no way to indicate feature-support and
> deviations with the simplified-inline method.
>
>
>

The Inline anydata solution is very heavyweight.
Before the YANG library there was a simple URI that is easier to use
and takes up much less storage.



> The URL method was requested for the use-case when you generate
> instance-data-sets repeatedly e.g. every minute with the same schema. You
> don’t want to include the content-schema in every file, so you just include
> a single URL reference. (Note the content schema may be a longer piece of
> text, not just a single YANG module+revision)
>

The solution is very complex and it will not get implemented correctly, or
at all.
IMO this damages interoperability and prevents some companies from using
the solution
at all, because a reader tool has so much complexity to implement.  The
real-world result
will be tools that can only read the files they wrote (not written by
another tool).


Regards Balazs
>
>
>

Andy


> *From:* Andy Bierman <[email protected]>
> *Sent:* 2021. július 6., kedd 21:28
> *To:* Juergen Schoenwaelder <[email protected]>; Andy
> Bierman <[email protected]>; Rob Wilton (rwilton) <[email protected]>;
> Balázs Lengyel <[email protected]>; [email protected]; Benoit
> Claise <[email protected]>
> *Subject:* Re: AD review of draft-ietf-netmod-yang-instance-file-format
>
>
>
>
>
>
>
> On Tue, Jul 6, 2021 at 11:19 AM Juergen Schoenwaelder <
> [email protected]> wrote:
>
> On Tue, Jul 06, 2021 at 10:56:48AM -0700, Andy Bierman wrote:
> > On Tue, Jul 6, 2021 at 10:42 AM Juergen Schoenwaelder <
> > [email protected]> wrote:
> >
> > > On Tue, Jul 06, 2021 at 09:42:39AM -0700, Andy Bierman wrote:
> > > >
> > > > IMO the 4 separate ways to identify the schema are 3 too many, but
> that
> > > > is what the WG wants.  It seems obvious that any reader of the file
> > > > has to implement all 4 methods and any writer of the file is free to
> pick
> > > > just one.
> > > > So the feature does not really help.
> > > >
> > >
> > > The feature statements declare that implementation won't work
> > > together. Back in a day, the IETF was all about interoperability (and
> > > implementation costs). Nowadays we seem to be fine if implementations
> > > declare that they won't work together. Well, still slightly better
> > > than having implementations fail arbitrarity.
> > >
> > >
> >
> > This is a text file stored on a USB stick.
> > There is no client or server. Just readers and writers.
> > So how does a YANG feature work here?
> > The reader is supposed to know how to find out if this feature is set
> > before opening the file?
> >
> > I don't see how server capabilities discovery is relevant to a
> > YANG instance file.
> > The reader code will simply attempt to read the file and fail if it
> > encounters
> > a format that is not implemented.
>
> I assumed that the features are carried in the instance file, i.e.,
> the file declares that it uses way X to announce the schema and then
> the parser can fail with a suitable error message. If the features are
> not carried in the file, then they indeed seem to be useless.
>
> Perhaps there are Y different ways to announce the features of the
> instance file as well, I did not check. ;-)
>
>
>
> Now you made re-read the entire draft :-(
>
> I cannot find any text how the reader knows if this feature is set before
> reading the
>
> file and finding out.
>
>
>
> I do not see any significant use-case for the Inline method and none for
> the Uri method.
>
> Nor do I see any reason why the Simplified-Inline method should not be
> mandatory
>
> to use and always present.
>
>
>
> If the use-case is offline server validation then the YANG library details
> need to be known.
>
> The entire YANG library for the server (or relevant parts) are recorded in
> the Inline method.
>
> Except it is complicated to store the info about how to interpret YANG
> schema by
>
> reading instance files and guessing what the "anydata" contains.
>
>
>
> I actually prefer a simple string based on RFC 6020 URI method, since it
> can
>
> be easily integrated into the Simplified Inline form and can be parsed
> without guessing
>
> anything about the contents of anydata.
>
>
>
> https://datatracker.ietf.org/doc/html/rfc6020#section-5.6.4
>
>
>
> e,g,
>
>
>
> OLD:
>
>          case simplified-inline {
>                leaf-list module {
>                   type module-with-revision-date;
>
>                   ...
>
>                 }
>
>           }
>
>
>
> NEW:
>
>
>
>          case simplified-inline {
>                leaf-list module {
>                   type union {
>
>                        type module-with-revision-date;
>
>                        type string;
>
>                    }
>
>                    ...
>
>                 }
>
>           }
>
>
>
> Example module leaf-list entry:
>
>
>
>
>  
> ietf-interfaces?revision=2018-02-20&features=if-mib,arbitrary-names&deviations=acme-deviations
>
>
>
>
>
> IMO Simplified Inline SHOULD be the only format, and the other methods can
> be removed.
>
>
>
>
>
> /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/
> <https://protect2.fireeye.com/v1/url?k=1b82dc7c-4419e639-1b829ce7-867b36d1634c-3d395fcf11781013&q=1&e=ce6dbbb8-8693-4ac8-abbf-4a2014b77b32&u=https%3A%2F%2Fwww.jacobs-university.de%2F>
> >
>
>
_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to