Re: [netmod] RFC 7950 - Import without revision

Robert Wilton <rwilton@cisco.com> Wed, 08 March 2017 10:28 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 DCB0E1270B4 for <netmod@ietfa.amsl.com>; Wed, 8 Mar 2017 02:28:58 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.523
X-Spam-Level:
X-Spam-Status: No, score=-14.523 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, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, 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 Z5CRWsK8g6e5 for <netmod@ietfa.amsl.com>; Wed, 8 Mar 2017 02:28:57 -0800 (PST)
Received: from aer-iport-4.cisco.com (aer-iport-4.cisco.com [173.38.203.54]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 914E2127071 for <netmod@ietf.org>; Wed, 8 Mar 2017 02:28:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=2574; q=dns/txt; s=iport; t=1488968936; x=1490178536; h=subject:to:references:cc:from:message-id:date: mime-version:in-reply-to:content-transfer-encoding; bh=Q69NBlEjnDIk2qxPfCLMCSt9nWo54qy8djn7n/gWpPw=; b=gbiArozjedW79Sa4VdmyLp/SkL90suwUZ3d3LvAoM0n6+qf7KXijIhMt 5h/kvKVTIZcjODAELlRK9gvVPlAOqVhEYQDgwZ0SFxJI2PFEyCjQg32N1 GqzbRBTOO7r4DVKARE2bMsmhSIkxQkPl/TzSMIMk2SIoVT4QwPRZlcfA4 c=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0CgBABQ3L9Y/xbLJq1dGQEBAQEBAQEBAQEBBwEBAQEBhDIDJ2CNbHOQWJU4gg0mhXwCgnQYAQIBAQEBAQEBayiFFgEFOEEQCw4KLlcGDQYCAQGJew6yMYp+AQEBAQEBAQEBAQEBAQEBAQEBAQEZBYZOggWCaoE8gwKFewWcM4Z2i0KKToZRizKICx84gQMiFQgXFT+EYYFzQDWKEwEBAQ
X-IronPort-AV: E=Sophos;i="5.36,262,1486425600"; d="scan'208";a="653104183"
Received: from aer-iport-nat.cisco.com (HELO aer-core-3.cisco.com) ([173.38.203.22]) by aer-iport-4.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Mar 2017 10:28:54 +0000
Received: from [10.63.23.115] (dhcp-ensft1-uk-vla370-10-63-23-115.cisco.com [10.63.23.115]) by aer-core-3.cisco.com (8.14.5/8.14.5) with ESMTP id v28ASsPa029729; Wed, 8 Mar 2017 10:28:54 GMT
To: Martin Bjorklund <mbj@tail-f.com>
References: <c13a86d6-0389-843d-d5eb-fe56ec5486ef@cisco.com> <20170307.180333.800041089281624577.mbj@tail-f.com>
From: Robert Wilton <rwilton@cisco.com>
Message-ID: <78a2d806-d975-55aa-6c3e-48b29a3cdd3f@cisco.com>
Date: Wed, 08 Mar 2017 10:28:54 +0000
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1
MIME-Version: 1.0
In-Reply-To: <20170307.180333.800041089281624577.mbj@tail-f.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/XomBzSV2BmMpufun9_2Z1FkMAZ8>
Cc: netmod@ietf.org
Subject: Re: [netmod] RFC 7950 - Import without revision
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.17
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: Wed, 08 Mar 2017 10:28:59 -0000


On 07/03/2017 17:03, Martin Bjorklund wrote:
> Robert Wilton <rwilton@cisco.com> wrote:
>> in RFC 7950, The last paragraph, section 5.1.1 "Import and Include by
>> Revision" states:
>>
>> "If a module is not imported with a specific revision, it is undefined
>> which revision is used."
>>
>> But I was wondering if the above text is misleading, since section
>> 5.6.5: "Implementing a Module" has the following two paragraphs:
>>
>>     If a server implements a module A that imports a module C without
>>     specifying the revision date of module C and the server does not
>>     implement C (e.g., if C only defines some typedefs), the server MUST
>>     list module C in the "/modules-state/module" list from
>>     "ietf-yang-library" [RFC7895 <https://tools.ietf.org/html/rfc7895>],
>>     and it MUST set the leaf
>>     "conformance-type" to "import" for this module.
>>
>>     If a server lists a module C in the "/modules-state/module" list from
>>     "ietf-yang-library" and there are other modules Ms listed that import
>>     C without specifying the revision date of module C, the server MUST
>>     use the definitions from the most recent revision of C listed for
>>     modules Ms.
>>
>>     The reason for these rules is that clients need to be able to know
>>     the specific data model structure and types of all leafs and
>>     leaf-lists implemented in a server.
>>
>> This seems to imply that import without specifying the revision would
>> mean that the latest revision listed in ietf-yang-library must be the
>> one that is imported.  Is that correct, or am I misinterpreting the
>> text?
> This is correct.
>
>> Hence, should the last paragraph of section 5.1.1 be deleted?
> No I don't think it should.  From the perspective of a given module
> that imports another module w/o revision, it is undefined which
> revision is used - however in any given server the revision used is
> deterministic.
I'm not sure what it really means for a YANG module to import another 
module outside the context of a client/server, it seems somewhat abstract.

I still think that the text is misleading (similarly for 7.1.5).  I 
think that the draft would be clearer if these sentences were removed.  
I don't think that it helps to say that something is undefined when that 
is the implicit default of having no text there, and in all normal 
scenarios, the version that would be imported is actually well defined.  
So, I found the text to be misleading and unhelpful.

Rob


>
>
> /martin
> .
>