Re: [netmod] Fwd: New Version Notification for draft-lengyel-netmod-yang-instance-data-01.txt

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Tue, 26 June 2018 13:52 UTC

Return-Path: <j.schoenwaelder@jacobs-university.de>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 219CF13102E for <netmod@ietfa.amsl.com>; Tue, 26 Jun 2018 06:52:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pzNTvAenUzfn for <netmod@ietfa.amsl.com>; Tue, 26 Jun 2018 06:52:34 -0700 (PDT)
Received: from anna.localdomain (firewallix.jacobs-university.de [212.201.44.247]) by ietfa.amsl.com (Postfix) with ESMTP id E3512131023 for <netmod@ietf.org>; Tue, 26 Jun 2018 06:52:33 -0700 (PDT)
Received: by anna.localdomain (Postfix, from userid 501) id E573922B3E70; Tue, 26 Jun 2018 15:52:32 +0200 (CEST)
Date: Tue, 26 Jun 2018 15:52:32 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Robert Wilton <rwilton=40cisco.com@dmarc.ietf.org>
Cc: Balazs Lengyel <balazs.lengyel@ericsson.com>, "netmod@ietf.org" <netmod@ietf.org>
Message-ID: <20180626135232.cdlrbbideyackdfe@anna.jacobs.jacobs-university.de>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: Robert Wilton <rwilton=40cisco.com@dmarc.ietf.org>, Balazs Lengyel <balazs.lengyel@ericsson.com>, "netmod@ietf.org" <netmod@ietf.org>
References: <152889763632.15168.12247537431295038165.idtracker@ietfa.amsl.com> <75383a97-d08b-b202-70a6-eab064963af8@ericsson.com> <b58d21a9-d27e-c8b3-e8e3-483dd6942c9e@cisco.com> <f946ca96-1cb2-e032-9adc-7df00702e216@ericsson.com> <20180626121156.fq5ioq2gh5sy3v7n@anna.jacobs.jacobs-university.de> <e50fdff6-caa2-aada-011e-534b14ffdcf1@cisco.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <e50fdff6-caa2-aada-011e-534b14ffdcf1@cisco.com>
User-Agent: NeoMutt/20180622
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/8r6gKzqHZof84nO4deQa-p9AJL0>
Subject: Re: [netmod] Fwd: New Version Notification for draft-lengyel-netmod-yang-instance-data-01.txt
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 26 Jun 2018 13:52:36 -0000

On Tue, Jun 26, 2018 at 02:37:21PM +0100, Robert Wilton wrote:
> 
> 
> On 26/06/2018 13:11, Juergen Schoenwaelder wrote:
> > On Tue, Jun 26, 2018 at 01:58:44PM +0200, Balazs Lengyel wrote:
> > >     Thanks for the comments and support. See answers below.
> > >     Balazs
> > > 
> > >     On 6/13/2018 4:40 PM, Robert Wilton wrote:
> > > 
> > >       Hi,
> > > 
> > >       I would support this draft (if/when a call for adoption is made).
> > > 
> > >       A few comments from a quick review :
> > > 
> > >       1) I think that it would be useful to allow a file to contain multiple
> > >       "instance data sets".  I could easily imagine that multiple different
> > >       blocks of instance data may need to be provided and allowing these to be
> > >       carried within a single file seems helpful.
> > > 
> > >     BALAZS: We allow multiple YANG modules in a file, but I have never seen it
> > >     used. Actually my model/tool designers asked me to prohibit multiple YANG
> > >     modules (YAMs) in one file at least within Ericsson. So if the group
> > >     decides so it can be allowed, however I think it is not a good idea.
> > What exactly is "multiple YANG modules in a file"? I am confused and
> > you may be talking past each other.
> An example could be wanting to provide a single file that holds the
> capabilities for all different linecard types for a particular type of
> device, rather than providing them as a set of files.
> 
> Of course, this could also be achieved using a meta YANG module (e.g. the
> top level module could have a list of linecard types, which each linecard
> type contains the capabilities for that linecard).  Whether this make sense
> probably depends on the underlying YANG modules and how they are
> constructed.
> 
> Of just using separate files, in which case the meta information can just be
> managed into the file name, and the file can be provided as a zip.
>

I am left puzzled. There is instance data (in a datastore) and you
serialize (perhaps filtered) the instance data into a file. Instance
data in general has data that conforms to multiple YANG modules, in
particular also due to augments. I think we need to solve the general
problem, not an isolated linecard problem.

>    Instance data MUST follow the XML and JSON encoding rules defined in
>    RFC7950 and 7951.  Data MUST be present in canonical form or where that is
>    not defined in lexical representation.  Whitespace must also be handled as
>    defined by the encoding rules.

I thought the 2nd and 3rd sentence would be not needed but checking
RFC 7951 I see no mentioning that values must be in canonical format.
I guess this is an omission of RFC 7951 - perhaps I should open an
errata. RFC 7950 says this clearly in section 9.1:

   When a server sends XML-encoded data, it MUST use the canonical form
   defined in this section.

Looks like an omission in RFC 7951.

> > >       7) It might want to include a semantic version number for an
> > >       instance-data-set, depending on whether the YANG versioning discussions
> > >       ends up.
> > > 
> > >     BALAZS: Yes I would like to. However I am not exactly clear on what does
> > >     backwards compatibility mean for instance data.
> > >     Data MAY NOT be removed or changed only added.  ???
> > >     Who would use the semver numbers ???
> > What does the version number mean? Every change of instance data in an
> > instacne-data-set leads to a new version number? What is a bug fix in
> > this sense? What is a non-backwards compatible change of instance data?
> > I am left a bit puzzled.
> Probably I don't mean semantic version.  But often files have versioning, or
> revision, information associated with them.  This can be muxed into the file
> name/path, but it also seems like potentially useful metadata, and being
> able to handle this generically in a consistent way might be beneficial.
> 
> As an example, perhaps the capability information related to S/W release
> 1.2.4, etc.

We need to separate a version number of the instance data from the a
version number (or version context) that may be needed in order to
understand what a YANG (module, path) tuple means if we move to a
different YANG versioning scheme. The later I agree would be needed,
the former I am less sure of - at least if we talk semantic version
numbers.

/js

-- 
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/>