Hi Balazs,

Regarding identifying the instance data using a YANG package.

If the YANG packages work is liked by the WG and progresses, then it seems plausible that a YANG package could become a better way of identifying the set of modules rather than using YANG library for a couple of reasons:  1) It will allow modules to be identified via semantic version rather than just revision date.  This will likely be more meaningful to readers.  2) It allows for a much more concise definition.  Rather than having to try and infer what schema a particular set of YANG modules related to from the list of modules, it can instead refer to a single package definition and version number.  3) YANG library (certainly RFC7895bis) defines the schema in terms of the datastore, so if this version of YANG library is being used then it is a bit more confusing as to which datastore is being referred to.  I appreciate that there is a datastore leaf in the instance data that can help mitigate this.

I also note that the draft currently binds that the only allowed inline schema is YANG library, but that seems somewhat overly restrictive, and perhaps this could be loosened to a leaf-list of inline module@revision definitions?

I also appreciate that you don't want to delay the instance data draft for YANG packages, bit I wonder whether the draft can easily facilitate using a YANG package definition in future if required.

Hence, rather than using a union for the "target pointer", I wonder whether it wouldn't be better to use a choice statement instead.

E.g. the choice statement could be something like this:

 choice "schema"
   leaf-list inline {
     type string {
       pattern '\w+@\d{4}-\d{2}-\d{2}\.yang';
     }
   }
   leaf yang-library-ref { type uri } // Points to a instance data document YANG library content.
 }

In future, the package draft could then augment (or update the revision) with something like this :

   container package-ref {
     leaf "name" { type string; }
     leaf "version" { type yang-semver; }
     leaf-list "url" { type uri; }// Points to a instance data document containing YANG package content.
   }

Thanks,
Rob

On 06/12/2018 10:15, Balázs Lengyel wrote:

Hello,

We uploaded a new version of the instance data draft. We tried to address all comments and also to rework the format chapter to make it easier to read. We omitted 2 comments:

Rob commented that YANG packages could be used for defining the target modules for instance data: I would like to avoid that because:

  * Packages are not defined for YANG. Currently they are not part of
    the versioning solution even though they were discussed and are
    generally a good idea.
  * IMHO as deviations/features are set on module level, just
    specifying packages would not be enough. If we start using
    package+module level deviations/features we may end up with a more
    complicated hybrid solution.
  * Module level YANG target definitions as described in the draft are
    simple and need no new design

Jürgen stated that it would be better to use the YANG XML/JSON encoding as a format instead of referencing the get operation/request. I might even agree with him, but for 2 reasons I did not follow his idea:

  * Currently there is no RFC I could reference either for XML or
    JSON. AFAIK even RFC7951 does not define how multiple modules
    should be encoded side by side.
  * It is not the job of the instance data draft to dictate how to
    encode YANG data generally e.g. on the wire.
  * The contents of the get operation/request are well defined

regards Balazs



-------- Forwarded Message --------
Subject: New Version Notification for draft-ietf-netmod-yang-instance-file-format-01.txt
Date:   Thu, 6 Dec 2018 02:12:12 -0800
From:   internet-dra...@ietf.org
To: Benoit Claise <bcla...@cisco.com>, Balazs Lengyel <balazs.leng...@ericsson.com>




A new version of I-D, draft-ietf-netmod-yang-instance-file-format-01.txt
has been successfully submitted by Balazs Lengyel and posted to the
IETF repository.

Name: draft-ietf-netmod-yang-instance-file-format
Revision: 01
Title: YANG Instance Data File Format
Document date: 2018-12-06
Group: netmod
Pages: 21
URL: https://www.ietf.org/internet-drafts/draft-ietf-netmod-yang-instance-file-format-01.txt Status: https://datatracker.ietf.org/doc/draft-ietf-netmod-yang-instance-file-format/ Htmlized: https://tools.ietf.org/html/draft-ietf-netmod-yang-instance-file-format-01 Htmlized: https://datatracker.ietf.org/doc/html/draft-ietf-netmod-yang-instance-file-format Diff: https://www.ietf.org/rfcdiff?url2=draft-ietf-netmod-yang-instance-file-format-01

Abstract:
There is a need to document data defined in YANG models when a live
YANG server is not available. Data is often needed already in design
time or needed by groups that do not have a live running YANG server
available. This document specifies a standard file format for YANG
instance data, which follows the syntax and semantic from existing
YANG models, re-using existing formats from <get> operation/request
and decorates them with metadata.



Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org.

The IETF Secretariat

--
Balazs Lengyel                       Ericsson Hungary Ltd.
Senior Specialist
Mobile: +36-70-330-7909 email:balazs.leng...@ericsson.com
_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod
_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to