Re: [NGO] external module properties

Martin Bjorklund <mbj@tail-f.com> Sat, 03 May 2008 20:52 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 6017A3A6BB1; Sat, 3 May 2008 13:52:42 -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 A306F3A6A47 for <ngo@core3.amsl.com>; Sat, 3 May 2008 13:52:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.451
X-Spam-Level:
X-Spam-Status: No, score=-0.451 tagged_above=-999 required=5 tests=[AWL=0.044, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, RDNS_NONE=0.1]
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 Tg07ltymD36n for <ngo@core3.amsl.com>; Sat, 3 May 2008 13:52:39 -0700 (PDT)
Received: from mail.tail-f.com (unknown [213.180.94.162]) by core3.amsl.com (Postfix) with ESMTP id C1F8E3A6814 for <ngo@ietf.org>; Sat, 3 May 2008 13:52:39 -0700 (PDT)
Received: from localhost (c213-100-166-13.swipnet.se [213.100.166.13]) by mail.tail-f.com (Postfix) with ESMTP id 4054C1B80C7; Sat, 3 May 2008 22:52:34 +0200 (CEST)
Date: Sat, 03 May 2008 22:52:27 +0200
Message-Id: <20080503.225227.76853664.mbj@tail-f.com>
To: phil@juniper.net
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <200805020236.m422aij6012087@idle.juniper.net>
References: <20080501.232635.78733212.mbj@tail-f.com> <200805020236.m422aij6012087@idle.juniper.net>
X-Mailer: Mew version 5.2.52 on Emacs 22.1 / Mule 5.0 (SAKAKI)
Mime-Version: 1.0
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

Hi,

Phil Shafer <phil@juniper.net> wrote:
> 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.

Yes, except for augment.  What does it mean if B augments version 1 of
A, and a device implements B and version 2 of A?  IMO it is ok, since
the rules for upgrading a module ensures that no nodes are removed and
so on.

So a versioned import is strict for compile time properties like types
and grouping, but for runtime properties the upgrade rules make sure
that a later version of the module can be used.

This means that in runtime, the device implements one specific version
of a module.

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

Right.


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