Re: [NGO] external module properties

Andy Bierman <ietf@andybierman.com> Fri, 02 May 2008 02:57 UTC

Return-Path: <ngo-bounces@ietf.org>
X-Original-To: ngo-archive@optimus.ietf.org
Delivered-To: ietfarch-ngo-archive@core3.amsl.com
Received: from core3.amsl.com (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AF0B53A6B54; Thu, 1 May 2008 19:57:11 -0700 (PDT)
X-Original-To: ngo@core3.amsl.com
Delivered-To: ngo@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1C6A13A6B68 for <ngo@core3.amsl.com>; Thu, 1 May 2008 19:57:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.367
X-Spam-Level:
X-Spam-Status: No, score=-2.367 tagged_above=-999 required=5 tests=[AWL=0.232, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EecAtD+DnXqh for <ngo@core3.amsl.com>; Thu, 1 May 2008 19:57:09 -0700 (PDT)
Received: from smtp111.sbc.mail.mud.yahoo.com (smtp111.sbc.mail.mud.yahoo.com [68.142.198.210]) by core3.amsl.com (Postfix) with SMTP id 302313A6B45 for <ngo@ietf.org>; Thu, 1 May 2008 19:57:09 -0700 (PDT)
Received: (qmail 43287 invoked from network); 2 May 2008 02:57:10 -0000
Received: from unknown (HELO ?127.0.0.1?) (andybierman@att.net@67.126.241.42 with plain) by smtp111.sbc.mail.mud.yahoo.com with SMTP; 2 May 2008 02:57:09 -0000
X-YMail-OSG: DEK0TRkVM1lokphP3Oddu3ty2rOrWg3fEtVtbKBnfNF2uMPF7lVB7UfcDkPUIzNRXxVdaDfT5miU_i.FH0GU1qVwAFoKSq4vi4579hXn7ExH_iHuKQXB0XhztBG0A6LP06o-
X-Yahoo-Newman-Property: ymail-3
Message-ID: <481A8302.4050006@andybierman.com>
Date: Thu, 01 May 2008 19:57:06 -0700
From: Andy Bierman <ietf@andybierman.com>
User-Agent: Thunderbird 2.0.0.12 (Windows/20080213)
MIME-Version: 1.0
To: Phil Shafer <phil@juniper.net>
References: <200805020224.m422OBiX012038@idle.juniper.net> <481A810C.1080601@andybierman.com>
In-Reply-To: <481A810C.1080601@andybierman.com>
Cc: ngo@ietf.org
Subject: Re: [NGO] external module properties
X-BeenThere: ngo@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: NETCONF Goes On - discussions on future work and extensions to NETCONF <ngo.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/ngo>, <mailto:ngo-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/pipermail/ngo>
List-Post: <mailto:ngo@ietf.org>
List-Help: <mailto:ngo-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ngo>, <mailto:ngo-request@ietf.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: ngo-bounces@ietf.org
Errors-To: ngo-bounces@ietf.org

Andy Bierman wrote:
> Phil Shafer wrote:
>> Andy Bierman writes:
>>> I don't see how multiple sub-agents within a single agent can implement
>>> different versions of the same module, without using different
>>> namespace URIs for each variant.  (Maybe somebody can explain
>>> it to me;-)
>> module A {
>>     revision 2008-01-01 { ... }
>>     grouping one {
>>         leaf foo { ... }
>>         leaf goo { ... }
>>     }
>> }
>>
>> module A {
>>     revision 2008-04-01 { ... }
>>     grouping one {
>>         leaf foo { ... }
>>         leaf goo { ... }
>>         leaf super-cool { ... }
>>     }
>> }
>>
>> module B {
>>     import A {
>>         revision 2008-01-01;
>>     }
>>
>>     container zed {
>>         uses A:one;
>>     }
>> }
>>
>> module C {
>>     import A {
>>          revision 2008-04-01;
>>     }
>>     import B { ... }
>>
>>     container yancy {
>>         uses A:one;
>>     }
>> }
>>
>> The use of A's one is a compile time issue, and the revision
>> on the import makes is clear what contents B and C want.
>> yancy will contain super-cool, which zed will not.
>>
>> If there was no revision on import, would zed be forced to
>> contain super-cool as soon as the 2008-04-01 revision of
>> A is published?
>>
> 
> I don't really think this feature is worth the complexity.
> This seems like it would be better handled in a comprehensive
> module conformance section, like SMIv2.
> 
>> If you're claiming that this wasn't a problem for MIBs,
>> could you please point me at a couple of MIBs that were
>> rev'd and the history of how successful these were?
>>
> 
> IF-MIB, RMON-MIB, RMON2-MIB, ENTITY-MIB
> 
> This is easy in SMIv2 because the MODULE-CONFORMANCE section
> can be used to specify the exact leafs in container 'zed' or 'yancy'
> that are required, optional, deprecated, or obsolete.  The module
> with the uses-stmt needs to specify the conformance for all
> the grouping contents.  Nodes added later to grouping 'one'
> are not part of the conformance for the 'zed' module.
> 
> IMO, this is also the only way 'augment-a-grouping' is ever going to
> work in an inter-operable manner.
> 

Reason:  What if the new 2008-06-01 version of A has another super-cool feature
in the 'one' grouping (or anywhere else in the module) that module 'zed'
wants to use?

The 'import 2008-06-01' would break module zed because it would also pick
up the 'super-cool' leaf from version '2008-04-01', and any other
changes made in the interim.  Explicit module conformance, tied to
each module release, is the only way to maintain the flexibility
needed by agents and the accuracy needed by applications.

>> Thanks,
>>  Phil
>>
> 

Andy

_______________________________________________
NGO mailing list
NGO@ietf.org
https://www.ietf.org/mailman/listinfo/ngo