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

Robert Wilton <rwilton@cisco.com> Tue, 26 June 2018 14:07 UTC

Return-Path: <rwilton@cisco.com>
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 8180C130DE4 for <netmod@ietfa.amsl.com>; Tue, 26 Jun 2018 07:07:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.511
X-Spam-Level:
X-Spam-Status: No, score=-14.511 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
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 R8vM-5cUsIHF for <netmod@ietfa.amsl.com>; Tue, 26 Jun 2018 07:07:19 -0700 (PDT)
Received: from aer-iport-3.cisco.com (aer-iport-3.cisco.com [173.38.203.53]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A20D4130DE0 for <netmod@ietf.org>; Tue, 26 Jun 2018 07:07:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=5477; q=dns/txt; s=iport; t=1530022038; x=1531231638; h=subject:to:references:from:message-id:date:mime-version: in-reply-to:content-transfer-encoding; bh=UYFPHKBRmZ4JxqeF8GMmjSZGFetItGi9qef27K2XEgI=; b=X/pu9HEV6SSgsHhOmbAjTRJCERBk4SMVKc5nTylpw4e+sFQCy3ZZgg/k Ps0ATOiW+m+V3sB6LX1Kp+jmBU40NezxqS+Oh3HJg3Z9Nqe8NzeRxiSow mGVrhibVhVB/7xbJBw2ONBqnA7Ujyt2qAbsiXuWI8reIOnAx7Mwq/V5rk g=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0B7AQAtRzJb/xbLJq1cGQEBAQEBAQEBAQEBAQcBAQEBAYMfCwEBAQGBcBKEIYhkjUEqlSmBZguEbAKDNDcVAQIBAQEBAQECbSiFNgEBAQMBHQYPAQUvEBILGAICJgICVwYBDAgBAYMhgXgIrH+CHIRbg2uBGoELiTg/gQ8ngmiEYgKDF4JVAoxHjGoJiGWGKQaIDYU9jCWFTIFXIoFSMxoIGxU7gmqCSmkBCI0VPpAxAQE
X-IronPort-AV: E=Sophos;i="5.51,274,1526342400"; d="scan'208";a="4730414"
Received: from aer-iport-nat.cisco.com (HELO aer-core-2.cisco.com) ([173.38.203.22]) by aer-iport-3.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Jun 2018 14:07:16 +0000
Received: from [10.63.23.83] (dhcp-ensft1-uk-vla370-10-63-23-83.cisco.com [10.63.23.83]) by aer-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id w5QE7G34008498; Tue, 26 Jun 2018 14:07:16 GMT
To: 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> <20180626135232.cdlrbbideyackdfe@anna.jacobs.jacobs-university.de>
From: Robert Wilton <rwilton@cisco.com>
Message-ID: <e5877095-d5ee-d1e3-a144-a2e2a20062dc@cisco.com>
Date: Tue, 26 Jun 2018 15:07:16 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0
MIME-Version: 1.0
In-Reply-To: <20180626135232.cdlrbbideyackdfe@anna.jacobs.jacobs-university.de>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/hC6lMDj8P1wJ2tls_bAkhhOiw8s>
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 14:07:26 -0000


On 26/06/2018 14:52, Juergen Schoenwaelder wrote:
> 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.
OK, so I wasn't assuming that instance data necessarily corresponds to 
instance data coming from a datastore (or an entire datastore). I was 
thinking that it can be any data that has a well defined YANG schema 
associated with it.  E.g. perhaps it could use to represent the YANG 
data sent or received in a YANG encoded RPC.


>
>>     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.
Yes, I agree with the need for the latter, that may entail listing the 
versions of the modules in the meta-data.

But what I was actually referring to was the former, and thinking more 
of it is just being a string field in the meta-data with a well defined 
name, that is optional to populate.  Actually, I see the current 
definition already has a revision with a date and description string.  
This is roughly along the lines of what I was thinking of for versioning 
(although I'm not sure why this should be a list rather than just a pair 
of leaves).

Thanks,
Rob

>
> /js
>