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
