Re: [netmod] Deviations and augmentations

Robert Wilton <rwilton@cisco.com> Tue, 13 November 2018 17:54 UTC

Return-Path: <rwilton@cisco.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AE39F1294D0 for <netmod@ietfa.amsl.com>; Tue, 13 Nov 2018 09:54:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.971
X-Spam-Level:
X-Spam-Status: No, score=-14.971 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.47, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eMoWm7uOotce for <netmod@ietfa.amsl.com>; Tue, 13 Nov 2018 09:54:31 -0800 (PST)
Received: from aer-iport-2.cisco.com (aer-iport-2.cisco.com [173.38.203.52]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5A956128B14 for <netmod@ietf.org>; Tue, 13 Nov 2018 09:54:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=2690; q=dns/txt; s=iport; t=1542131671; x=1543341271; h=subject:to:references:from:message-id:date:mime-version: in-reply-to:content-transfer-encoding; bh=Gl0ylIVLDleS+RVo0owjGfmGbBtBs7PAfjIhenD1phc=; b=SgTAAEdoExE4jZ1vIHHZh8msWZHH+VblPXh8G84+Q0akYnushthimYzd gZQachB/Ujom+hAaStvsoG975mQZcRXHfTTUmltkjJxETx5N1k8kjiOmU SZC+fwaCWjib93+wTFFOjz8RkXevdDqgRWcm5lU4jaG7C7Otq1820fF28 g=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AOAABjDutb/xbLJq1jGQEBAQEBAQEBAQEBAQcBAQEBAQGBVAEBAQEBAQsBgzghEoQfiHeNBiWXSYFmDYRsAoNeNwoNAQMBAQIBAQJtKIU7AQUjDwEFUQsYAgIRFQICVwYBDAgBAReDBoICqEWBL4VAhGOBC4sOgUA/gTgMgl+EOS1XgkWCVwKJQJYWCZEcBhiJWIcbkSSGWYFZIoFVMxoIGxWDKJBZPwOOUQEB
X-IronPort-AV: E=Sophos;i="5.56,228,1539648000"; d="scan'208";a="8020042"
Received: from aer-iport-nat.cisco.com (HELO aer-core-3.cisco.com) ([173.38.203.22]) by aer-iport-2.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Nov 2018 17:54:29 +0000
Received: from [10.63.23.62] (dhcp-ensft1-uk-vla370-10-63-23-62.cisco.com [10.63.23.62]) by aer-core-3.cisco.com (8.15.2/8.15.2) with ESMTP id wADHsRL0029817; Tue, 13 Nov 2018 17:54:27 GMT
To: Andy Bierman <andy@yumaworks.com>, "netmod@ietf.org" <netmod@ietf.org>
References: <a8c912c8-a7a5-1852-d053-10f0f11076e8@cisco.com> <20181112.173351.1984161388756642220.mbj@tail-f.com> <cbe0103b-112e-4687-e119-0698ea6cb9f4@cisco.com> <77b69d64-2ce2-29d9-77a9-04a7159003a9@ericsson.com> <CABCOCHQmA1PaVTu7oLiECXLrCULqW1KJddDRvYaDmE4xWu5AmA@mail.gmail.com> <98d6293c-d762-4d21-a9e2-c9cb20f74135@cisco.com> <CABCOCHR-vygv+Fq8JWGMm59-V6CB4PkqfSA_5mR8xBUqwi6xDw@mail.gmail.com> <453368b2-aa52-f09a-ea0b-960255bce46b@cisco.com> <20181113170652.intfq37w6rxyw4rq@anna.jacobs.jacobs-university.de>
From: Robert Wilton <rwilton@cisco.com>
Message-ID: <c6de1ed9-7dfb-fff1-0069-fa22dc2e3303@cisco.com>
Date: Tue, 13 Nov 2018 17:54:27 +0000
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.3.0
MIME-Version: 1.0
In-Reply-To: <20181113170652.intfq37w6rxyw4rq@anna.jacobs.jacobs-university.de>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-US
X-Outbound-SMTP-Client: 10.63.23.62, dhcp-ensft1-uk-vla370-10-63-23-62.cisco.com
X-Outbound-Node: aer-core-3.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/SJaKKMlUSVRqaCANsx2cw_CD2YQ>
Subject: Re: [netmod] Deviations and augmentations
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Nov 2018 17:54:34 -0000

On 13/11/2018 17:06, Juergen Schoenwaelder wrote:
> On Tue, Nov 13, 2018 at 03:54:11PM +0000, Robert Wilton wrote:
>
>> Today, just using the status element alone to mark removed nodes means that
>> a client would have to check for all changes in the module between two
>> revisions to determine whether or not the new module revision is backwards
>> compatible with the old one.
> A client needs to know whether it is _affected_ by changes. This
> requires to match what is used by a client against what has been
> changed (including any changed deviations). A three digit number
> simply does not tell you that.
>
> <soap>
> Corner cases:
>
> - An implementation claims to support the latest semver but then
>    deviates things back to an earlier version.
>
> - An implementation claims to support an earlier semver but then
>    deviates things forward to a more recent version.
>
> Of course, nobody would do that...
> </soap>
>
> My point is that semver is _at best_ a hint whether there is a version
> mismatch potentially affecting a client. It is not sufficient to
> determine whether there is indeed a problem.
>
> In other words, robust automation requires to match what is used by a
> client against what has been updated (taking deviations into account
> during the comparison).

I don't disagree with any of this, I'm also a proponent of a schema 
comparison tool.

I think that my main point regarding version numbers is:

  - If we are going to use semver then we should define and follow the 
rules strictly.  I.e. assuming that the semver has been populated 
correctly then it should be possible to determine whether the change is 
a nbc, bc, or editorial change.  I think that a solution where semver is 
done in a half-hearted way is entirely useless (e.g. if clients cannot 
trust the version number).  I think that there is a pretty clear 
requirement to support NBC changes to older revisions (i.e. I really 
mean bug fixes but a looser interpretation than your definition), and 
hence I don't think that vanilla semver is sufficient.

- An alternative is to not use a semver version number at all, instead 
we define a non semantic 3 digit version number that is something like:

  major = significant changes to the module have been made
  minor = smaller changes/feature enhancements to the module have been made
  patch = a bug fix to the module has been made.

Clients, module readers, etc, and then required to use a schema 
comparison tool to determine what the actual changes between two 
revisions are and whether or not they will be broken by those changes.

Thanks,
Rob


>
> /js
>