Re: [NGO] external module properties

"Randy Presuhn" <randy_presuhn@mindspring.com> Thu, 01 May 2008 22:20 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 E79CB3A69D4; Thu, 1 May 2008 15:20:52 -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 B5DB53A69D4 for <ngo@core3.amsl.com>; Thu, 1 May 2008 15:20:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.475
X-Spam-Level:
X-Spam-Status: No, score=-2.475 tagged_above=-999 required=5 tests=[AWL=0.124, 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 5w8O5+9O82IU for <ngo@core3.amsl.com>; Thu, 1 May 2008 15:20:50 -0700 (PDT)
Received: from elasmtp-masked.atl.sa.earthlink.net (elasmtp-masked.atl.sa.earthlink.net [209.86.89.68]) by core3.amsl.com (Postfix) with ESMTP id C39F33A68E7 for <ngo@ietf.org>; Thu, 1 May 2008 15:20:50 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=dk20050327; d=mindspring.com; b=qUdkw5CE4YVZWBp3LdQ7Lw55MTeZSaWWT6z9afEAFR6ihBF+0jyxhNor+2kk2j09; h=Received:Message-ID:From:To:References:Subject:Date:MIME-Version:Content-Type:Content-Transfer-Encoding:X-Priority:X-MSMail-Priority:X-Mailer:X-MimeOLE:X-ELNK-Trace:X-Originating-IP;
Received: from [64.105.137.170] (helo=oemcomputer) by elasmtp-masked.atl.sa.earthlink.net with esmtpa (Exim 4.67) (envelope-from <randy_presuhn@mindspring.com>) id 1Jrh92-0006LA-HR for ngo@ietf.org; Thu, 01 May 2008 18:20:53 -0400
Message-ID: <002101c8abd1$493e66c0$6801a8c0@oemcomputer>
From: Randy Presuhn <randy_presuhn@mindspring.com>
To: ngo@ietf.org
References: <20080501.223155.101151882.mbj@tail-f.com><200805012045.m41KjmAp009395@idle.juniper.net> <20080501.232635.78733212.mbj@tail-f.com>
Date: Thu, 01 May 2008 15:21:13 -0600
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1478
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1478
X-ELNK-Trace: 4488c18417c9426da92b9037bc8bcf44d4c20f6b8d69d8885d2a9c731cc891176a60d45b296ea5b9987af376b7c571d7350badd9bab72f9c350badd9bab72f9c
X-Originating-IP: 64.105.137.170
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 -

> From: "Martin Bjorklund" <mbj@tail-f.com>
> To: <phil@juniper.net>
> Cc: <randy_presuhn@mindspring.com>; <ngo@ietf.org>
> Sent: Thursday, May 01, 2008 3:26 PM
> Subject: Re: [NGO] external module properties 
...
> A YANG module defines types, groupings, data, rpc, and notifications.
> All of these can be referenced by an importing modules (types and
> groupings are obvious; data can be referenced through keyrefs,
> augments, and must expressions; and rpc/notifs can be augmented).  I
> agree that supporting multiple versions of a module in order to handle
> types and grouping should be fairly straight-forward.  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.
...

This is an excellent example of the consequences of choosing (perhaps
unconsiously) a particular meta-model.  Consider, for example, what
happens if RPCs and notifications are associated not with "the device",
but with a particular object class.  (One possible object class is a stand-in
for "the device" which would be appropriate for those few things like
"reboot" which really do apply to the entire device.)
If the module defining a particular class imports a pre-defined notification
or RPC, versioning would work just like for anything else.  Consequently,
a "device" would no longer be limited to implementing just one version
of an RPC.

Ancient use case:  consider a "Rewind" RPC.  System has several tape drives
from various vendors, possibly from different technology generations.  Someone
updates "Rewind" to include a "energy conservation" option.  When a new drive
supporting that option in its Rewind RPC is installed, it should not require changing
the software for all the other drives.

Randy

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