[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [NGO] external module properties



Hi -

> From: "Martin Bjorklund" <mbj at tail-f.com>
> To: <phil at juniper.net>
> Cc: <randy_presuhn at mindspring.com>; <ngo at 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 at ietf.org
https://www.ietf.org/mailman/listinfo/ngo