Re: [NGO] external module properties

Phil Shafer <phil@juniper.net> Fri, 02 May 2008 02:40 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 13C263A67AC; Thu, 1 May 2008 19:40:32 -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 B69273A6783 for <ngo@core3.amsl.com>; Thu, 1 May 2008 19:40:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.559
X-Spam-Level:
X-Spam-Status: No, score=-6.559 tagged_above=-999 required=5 tests=[AWL=0.040, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 TEw0ogLb5Hc5 for <ngo@core3.amsl.com>; Thu, 1 May 2008 19:40:29 -0700 (PDT)
Received: from exprod7og105.obsmtp.com (exprod7og105.obsmtp.com [64.18.2.163]) by core3.amsl.com (Postfix) with ESMTP id 70D4B3A69CA for <ngo@ietf.org>; Thu, 1 May 2008 19:38:57 -0700 (PDT)
Received: from source ([66.129.224.36]) by exprod7ob105.postini.com ([64.18.6.12]) with SMTP; Thu, 01 May 2008 19:38:59 PDT
Received: from magenta.juniper.net ([172.17.27.123]) by emailsmtp55.jnpr.net with Microsoft SMTPSVC(6.0.3790.1830); Thu, 1 May 2008 19:38:25 -0700
Received: from idle.juniper.net (idleski.juniper.net [172.25.4.26]) by magenta.juniper.net (8.11.3/8.11.3) with ESMTP id m422cOx03034; Thu, 1 May 2008 19:38:24 -0700 (PDT) (envelope-from phil@juniper.net)
Received: from idle.juniper.net (localhost [127.0.0.1]) by idle.juniper.net (8.13.8/8.13.8) with ESMTP id m422aij6012087; Fri, 2 May 2008 02:36:45 GMT (envelope-from phil@idle.juniper.net)
Message-Id: <200805020236.m422aij6012087@idle.juniper.net>
To: Martin Bjorklund <mbj@tail-f.com>
In-reply-to: <20080501.232635.78733212.mbj@tail-f.com>
Date: Thu, 01 May 2008 22:36:44 -0400
From: Phil Shafer <phil@juniper.net>
X-OriginalArrivalTime: 02 May 2008 02:38:25.0086 (UTC) FILETIME=[985545E0:01C8ABFD]
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>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: ngo-bounces@ietf.org
Errors-To: ngo-bounces@ietf.org

Martin Bjorklund writes:
>But when it
>comes to data/rpc/notifs the device must choose one version to
>implement.  It would have to be a version no earlier than the latest
>version referenced by any other module implemented on the device.

Right, and it may be "none".  Consider that I may implement
modules that import a module that I simply don't implement.
The data/rpc/notifs in the module are not present in my implementation.

A module imports another module for four reasons:
- to reuse types
- to reuse groupings
- to augment content
- um...  er....  wait, I know there was another one

In all these cases, I want to reuse/augment a specific revision
of the module.  I may even implement both a module that imports
an older revision of the module and the most modern revision of
the module.  But the imported revision will make clear what content
I'm bringing in.

>Maybe it's not a problem...  but the schema discovery mechanism will
>have to support these cases.  There would be two separate lists of
>schemas; one list with the data/rpc/notifs that the device implements,
>and an extended list which includes older versions and
>type/grouping-only modules.

Exactly.  And if module B only used groupings/types/etc from A,
I could implement B without implementing A at all.

>Yes.  A couple of solutions have been mentioned already, and another
>alternative is to keep this limitation, and force people to define new
>groupings in this case; essentially putting the version into the name:

This becomes an impediment to readability, and readers are our
highest priority.

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