[netmod] comments on YANG versioning

Andy Bierman <andy@yumaworks.com> Thu, 08 November 2018 22:52 UTC

Return-Path: <andy@yumaworks.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id 7B79A123FFD for <netmod@ietfa.amsl.com>; Thu, 8 Nov 2018 14:52:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id opu6d3Sosaw2 for <netmod@ietfa.amsl.com>; Thu, 8 Nov 2018 14:52:54 -0800 (PST)
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com [IPv6:2a00:1450:4864:20::12e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 05058128C65 for <netmod@ietf.org>; Thu, 8 Nov 2018 14:52:53 -0800 (PST)
Received: by mail-lf1-x12e.google.com with SMTP id f23so10880677lfc.13 for <netmod@ietf.org>; Thu, 08 Nov 2018 14:52:53 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=ux0IM/CcxwiVVEajMZWM4Eh941BPcSXnL+maQ+3axwc=; b=EMjnwFtrVNTz7/yBbLxJzOGp20kwAKGqZ4EuN8wG3941qs8Ys2Jm5vWdftdoaGQsP4 9KAzbjrCGsMJyGp2fuEDOFZd5MBtstt6bD3MzfNn0FjgS9Rk5MlJ9dL/8+sy+6dKIgnJ IPhSVFcTrVkXuGd8WfcYH4rincGKVEF369/x5J1ArsfomlgS6cRGNC9dyo+peTyIz3fy TtzoiU8BKqs7im+rJn/sLxXv+dwFc+oX9mna6tCIewGvPI0lFSXD2QTubwPb9aAO/A2J 3XQ4yq3Bj9P+YO2ZEJcCGmy/SAfmA171wcM15OQhHG3sx5czgMStXKKdGdSoRFjxjSL8 WkVA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=ux0IM/CcxwiVVEajMZWM4Eh941BPcSXnL+maQ+3axwc=; b=D1JR5R4Y9D3begnO+1PCZYIi3q0NQmMtyn4k2xT33bPZkSVlssfBxJ48k0PbfDoEr1 CQjzIO2FE7C/LIviphM/FQrZG7USDBcu5ZxTp+/Pb+EAXBM8+M0O3c8MX0WhHBQqf5iE sQ6H5SxlCAgn+pFBdunn26Mfhv9SjQdYCjmr+BaMvbwWRpY/guNQ42eJpDJWQ0oL0UcB rlHiPIhgHfBXIXcCGQCSP1Qqt6RMwbgnjX9fYkTUsct3iEbT0eGiWTuqpQUjkZH87WRm KervbFi1RsXIQUaaSljeoXtdNN7v/6LSttPtsObrqvK/r/+9I40KRbSIvfav09pJQACF nwVA==
X-Gm-Message-State: AGRZ1gKn+uD/777SgCiZ0mUTonGkApHb+k3ipqz2M0BGK4xkmx6AfL6F prMZuJdzkdk+oJhHQ89WqevaqjM56R+3BESgkBMSL9xG
X-Google-Smtp-Source: AJdET5e1bLRKKqF3Gf32mvkEZ5K4Q2KVjmtsrmp3VIpoYRYFiqJWp+p633t7L3V38G0qq5FLBSA+vpT/qLgYpOB32DU=
X-Received: by 2002:a19:ca51:: with SMTP id h17mr3661523lfj.126.1541717571352; Thu, 08 Nov 2018 14:52:51 -0800 (PST)
MIME-Version: 1.0
Received: by 2002:a19:1f87:0:0:0:0:0 with HTTP; Thu, 8 Nov 2018 14:52:50 -0800 (PST)
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 8 Nov 2018 14:52:50 -0800
Message-ID: <CABCOCHTr92=wFcXg0NnPouft3Zkk-XnUzp-FZbRykumvZfMHUg@mail.gmail.com>
To: NetMod WG <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000002f5747057a2f18f6"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/gLU9B-h7BAYKNk8StcURh7X5Q2c>
Subject: [netmod] comments on YANG versioning
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: Thu, 08 Nov 2018 22:52:56 -0000


A few comments on the netmod meeting yesterday

1) what is a bugfix?
It is not encouraging that the DT cannot agree on the scope of a bugfix.
But not sure it matters if NBC updates can occur for any reason.
IMO it is easy to define a bugfix in the IETF -- it is called an Errata.
If an Errata is approved for a YANG module in an RFC then it is a bugfix.

2) SEMVER to the rescue?
If every module release can be its own feature release train then the value
ascending numeric identifiers is greatly diminished. The (m) and (M) tags
do not really help.  I strongly agree with the comment that cherry-picking
features can (and should) be done with deviations.  Updates of old
revisions needs to be for bugfixes only.

I prefer the OpenConfig "SEMVER Classic" rather than introducing a new
incompatible complex numbering scheme to support something that
should not be done anyway.

3) Bundles and compatibility modules
I strongly agree this solution approach is far better than treating every
as a separate feature release train.  I don't see how I am going to
track the major.minor.patch for 100 different modules.  SEMVER is not
very useful for telling if module A works with B, C, and D. Import by SEMVER
will probably be OK at first, but become too error-prone after awhile.

4) Automation tools
Ad-hoc WEB pages from IANA do not cut it anymore.
We need a way to get patch versions of modules published and usable
by automation tools (without an RFC) with just the Errata report as a patch.
SEMVER requires that a module be released with the change but this is not
that practical.
Think how yocto works, using a base source version of a package + patches.
(IMO we need YANG Packages, which would serve as recipes
for a set of modules, features, annotations, patches and deviations, that
have been
tested to work together.)

5) YANG 1.2 vs Extensions
IMO a new YANG version would be better than extensions, especially to
fix status-stmt, import-by-revision, deviations, and add annotation,
patch, and many other new mechanisms to help backward compatibility.