Re: [NGO] external module properties

Andy Bierman <ietf@andybierman.com> Tue, 29 April 2008 15:42 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 36D8728C235; Tue, 29 Apr 2008 08:42:51 -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 AF73C28C1A9 for <ngo@core3.amsl.com>; Tue, 29 Apr 2008 08:42:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.136
X-Spam-Level:
X-Spam-Status: No, score=-2.136 tagged_above=-999 required=5 tests=[AWL=0.129, BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334]
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 hc0iSkR2+T60 for <ngo@core3.amsl.com>; Tue, 29 Apr 2008 08:42:48 -0700 (PDT)
Received: from smtp121.sbc.mail.sp1.yahoo.com (smtp121.sbc.mail.sp1.yahoo.com [69.147.64.94]) by core3.amsl.com (Postfix) with SMTP id 872B13A6D8F for <ngo@ietf.org>; Tue, 29 Apr 2008 08:42:48 -0700 (PDT)
Received: (qmail 48446 invoked from network); 29 Apr 2008 15:42:51 -0000
Received: from unknown (HELO ?127.0.0.1?) (andybierman@att.net@67.126.241.42 with plain) by smtp121.sbc.mail.sp1.yahoo.com with SMTP; 29 Apr 2008 15:42:50 -0000
X-YMail-OSG: h4wOlFQVM1mpn4q00mbCAUFMFnszLzfanOFNsE8iTqJh_MqBeM2BzBI1F8LtgDI3DySq8FuqxaXFSL4bEc3Da7ZQUlRRbaZ.a837g0X05XyVrketg3e0Y3IpB07y4XfN9wUuDWUZko0tLlQm0Wo2vhMg
X-Yahoo-Newman-Property: ymail-3
Message-ID: <481741F8.3030607@andybierman.com>
Date: Tue, 29 Apr 2008 08:42:48 -0700
From: Andy Bierman <ietf@andybierman.com>
User-Agent: Thunderbird 2.0.0.12 (Windows/20080213)
MIME-Version: 1.0
To: David Harrington <ietfdbh@comcast.net>
References: <48137444.6070802@andybierman.com><sdr6cq83d2.fsf@wes.hardakers.net> <4815EA5E.60607@andybierman.com> <sdprs8vh0f.fsf@wes.hardakers.net> <008801c8aa0d$f6e3f350$0600a8c0@china.huawei.com>
In-Reply-To: <008801c8aa0d$f6e3f350$0600a8c0@china.huawei.com>
Cc: 'NETCONF Goes On' <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

David Harrington wrote:
> Hi,
> 
> So there are two questions to answer that might require different
> solutions.
> 1) are these two versions the same or different?

this is the minimum standard functionality

> 2) which is newer?

this is a harder problem.
YANG solves it by not allowing the vendor to have
any sort of version string within the language.
You get one release per day per module. Period.

This is good enough for standard documents, but
I suspect vendors will need additional flexibility,
in both the number of releases per day, and adding
extra content besides the date.  Unix SW versions
are often strings like '1.3.0' or '1.4.0alpha2', '1.2.1-precommit', etc.
There is no standard structured version string that works
for every situation.

IMO, a standard version MUST be the revision date,
and a vendor version SHOULD be the revision date,
and that's all that is standardized.


> 
> The first is simply a "do the verson identifier match?" 
> The second requires a standard progression mechanism, such as rev1.2
> vs. rev2.1 or a standardized format for the revision date. And if you
> are going to compare strings, then we need to pay attention to
> character sets, etc.
> 
> Which use cases are we trying to address?
> 
> dbh


Andy


> 
>> -----Original Message-----
>> From: ngo-bounces@ietf.org [mailto:ngo-bounces@ietf.org] On 
>> Behalf Of Wes Hardaker
>> Sent: Tuesday, April 29, 2008 11:05 AM
>> To: Andy Bierman
>> Cc: NETCONF Goes On
>> Subject: Re: [NGO] external module properties
>>
>>>>>>> On Mon, 28 Apr 2008 08:16:46 -0700, Andy Bierman 
>> <ietf@andybierman.com> said:
>>
>> AB> I believe 2 independent YANG implementations are deriving 
>> the version
>> AB> from the most recent revision date.  In my code, the current
> date
>> AB> will be used (for the internal version) if no revision clauses
> are
>> AB> provided.
>>
>> A numerical date meets my needs too...
>>
>> I'd be tempted not to even define the required formatting of 
>> the version
>> number.  Simply say it must be sortable using a standard comparison
>> function (strcmp or >).
>>
>> DNS does this with the SOA serial number.  The format is up to the
>> network operator.  Some use date/time based serial numbers.  Some
>> (especially those with > 256 pushes a day) use an incrementing
> number
>> approach.  In the end, all the software that needs to look at 
>> the serial
>> number is never confused: it just does a comparison to decide if
> their
>> local copy is newer or older than the currently published zone file.
>>
>> AB> The first order problem I want to solve is a standard mechanism
>> AB> for distinguishing between multiple versions of the same module.
>>
>> Do you mean multiple vendors publishing a single yang module?  How
> is
>> that even possible (namespace definitions alone should take care of
>> those conflicts think).
>>
>>>> 2) How about we do the inverse of normal SMIv2 modules and 
>> optimize for
>>>> the reader...  Most of this type of meta information, which I do
>>>> agree is critical, isn't of huge interest to the average
> technical
>>>> reader (which 99% of the time are trying to get to the technical
>>>> cruft).  How about we put it at the bottom (or anywhere after the
>>>> real data definitions)?
>>>>
>> AB> I suppose a long list of revision statements gets in the way,
>> AB> but not 1 or 2.  I would like to reserve the 'bottom' for 
>> the granular
>> AB> conformance specification that is missing from YANG.
>>
>> I don't really care how the bottom stuff is organized.  We likely
> have
>> multiple sets of information that need to go into a YANG module.
> Lets
>> say that boils down to: technical stuff, an ever growing list of
>> meta-data, conformance statements.  I don't care about the 
>> order beyond
>> the fact I want the technical stuff to go first.  Because that's
> what
>> 99% of the population cares the most about getting to.  Anything
> else
>> gets in their way.
>>
>> Now...  don't read into this that I'm proposing a CLR sorting 
>> rule.  I'm
>> not.  I actually think the file should be more flexible in 
>> it's required
>> ordering.  But IETF documents and the resulting YANGnits tool should
>> suggest that non-technical sort of stuff needs to be lower in the
>> document.  Which makes it a CLS (suggestion).
>> -- 
>> Wes Hardaker
>> Sparta, Inc.
>> _______________________________________________
>> NGO mailing list
>> NGO@ietf.org
>> https://www.ietf.org/mailman/listinfo/ngo
>>
> 
> 
> 
> 


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