[netmod] YANG Semantic Versioning for Modules: draft-verdt-netmod-yang-semver-00.txt

"Rob Wilton (rwilton)" <rwilton@cisco.com> Mon, 11 March 2019 17:04 UTC

Return-Path: <rwilton@cisco.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 5B52A1311DA for <netmod@ietfa.amsl.com>; Mon, 11 Mar 2019 10:04:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.49
X-Spam-Status: No, score=-14.49 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=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 ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id UERtSEe4E4Y0 for <netmod@ietfa.amsl.com>; Mon, 11 Mar 2019 10:04:43 -0700 (PDT)
Received: from rcdn-iport-3.cisco.com (rcdn-iport-3.cisco.com []) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CF5DE1311AA for <netmod@ietf.org>; Mon, 11 Mar 2019 10:04:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=27930; q=dns/txt; s=iport; t=1552323877; x=1553533477; h=from:to:subject:date:message-id:mime-version; bh=XL93Olnw7SA8qpMqByInu8lryZFqvl3lLAzy8h/DvR0=; b=b5omxSreohCQ8WSiHW78CIknV9hA4jF+BZEjWecKXeodwjz0c1tAmpDb OTlvGPlk+fMexsJPZlqox/SaWG+RHKr489QhiN+Xp+6Q5uYPpi5MukZEF NOJN1b2XGY5OmIkHOYZij7iF8dSfp+AMuVJuC8TriuDiiRQOBZc+AIt3M 4=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AFAACTlIZc/5JdJa1kGgEBAQEBAgE?= =?us-ascii?q?BAQEHAgEBAQGBUQUBAQEBCwGBDYECaIEDJwqDf4gaizOCDZgmgXsLAQElhEc?= =?us-ascii?q?CF4QjIjQJDQEBAwEBBwEDAm0cAQuFSgEBKApYBgEZBAEBIQoCBDAdCQEEEwg?= =?us-ascii?q?TgwiBEWQPsBSBL4Q0Ag5BhSmBLwGLLBeBQD+HQQEBAgEBgTYRgyCCVwOKFy+?= =?us-ascii?q?CBIQIHocMjCUJAodPizMhgXlYhQ6LW4p4gRKEU4xiAhEVgSgfOCiBLnAVGoM?= =?us-ascii?q?NCYVvhRSFP0ExAY1ygS6BHwEB?=
X-IronPort-AV: E=Sophos;i="5.58,468,1544486400"; d="scan'208,217";a="523392506"
Received: from rcdn-core-10.cisco.com ([]) by rcdn-iport-3.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Mar 2019 17:04:11 +0000
Received: from XCH-ALN-010.cisco.com (xch-aln-010.cisco.com []) by rcdn-core-10.cisco.com (8.15.2/8.15.2) with ESMTPS id x2BH4AS0023683 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL) for <netmod@ietf.org>; Mon, 11 Mar 2019 17:04:11 GMT
Received: from xch-rcd-007.cisco.com ( by XCH-ALN-010.cisco.com ( with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 11 Mar 2019 12:04:10 -0500
Received: from xch-rcd-007.cisco.com ([]) by XCH-RCD-007.cisco.com ([]) with mapi id 15.00.1473.003; Mon, 11 Mar 2019 12:04:10 -0500
From: "Rob Wilton (rwilton)" <rwilton@cisco.com>
To: "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: YANG Semantic Versioning for Modules: draft-verdt-netmod-yang-semver-00.txt
Thread-Index: AdTYLG//RyaQ5EdBSGq1wBR3Yth+4Q==
Date: Mon, 11 Mar 2019 17:04:10 +0000
Message-ID: <3100c80d4d59419e9e115903298661a1@XCH-RCD-007.cisco.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_3100c80d4d59419e9e115903298661a1XCHRCD007ciscocom_"
MIME-Version: 1.0
X-Outbound-SMTP-Client:, xch-aln-010.cisco.com
X-Outbound-Node: rcdn-core-10.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/bAqAghQmhbgjC6X9VpseJV5j1Us>
Subject: [netmod] YANG Semantic Versioning for Modules: draft-verdt-netmod-yang-semver-00.txt
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: Mon, 11 Mar 2019 17:04:51 -0000


This draft represents the YANG versioning design team's proposed solution for using semantic version numbers for modules.  It is derived from draft-clacla-netmod-yang-model-update-05 (sorry - I need to update the draft meta-data to reflect this).

I’ve include the abstract, and start of the introduction for convenience.

We hope to present on this topic in Prague, but obviously welcome feedback on the WG alias as well.


   This document specifies a new YANG module update procedure using

   semantic version numbers, to allow for limited non-backwards-

   compatible changes, as an alternative proposal to module update rules

   in the YANG 1.1 specifications.  This document updates RFC 7950, RFC

   8407 and RFC 8525.

1.  Introduction

   This document defines a solution to the YANG module lifecycle

   problems described in [I-D.verdt-netmod-yang-versioning-reqs],

   covering all of the specified requirements except for requirements:

   2.2, 3.1, and 3.2.

   Specifically, this document recognises a need to sometimes allow YANG

   modules to evolve with non-backwards-compatible changes, which might

   end up breaking clients.  The solution makes use of semantic version

   numbers to help manage the lifecycle of YANG modules.

   The solution is comprised of the following seven parts:

      A definition for the YANG semantic versioning scheme for modules,

      and an explanation of how the semver extension can be used to

      annotate modules with their semantic version number.

      A YANG extension to allow YANG module imports to be restricted to

      modules with particular semantic versions, allowing inter-module

      version dependencies to be captured within YANG module


      Updates to the YANG 1.1 module update rules to accommodate the

      semantic versioning scheme.

      Updates and augmentations to ietf-yang-library to include the YANG

      semantic version number in the module descriptions, to report how

      'deprecated' and 'obsolete' nodes are handled by a server, and to

      clarify how module imports are resolved when multiple versions

      could otherwise be chosen.

      A YANG extension to add a 'description' statement to the YANG

      'status' statement to allow additional documentation as to why a

      node is being deprecated, and what alternatives may be available.

      A description of how YANG semantic versioning applies to YANG

      instance data.

      Guidelines to YANG module authors on how the YANG semantic

      versioning rules should be used, along with examples.

   Open issues are listed at Appendix A.1, and tracked at



-----Original Message-----
From: internet-drafts@ietf.org <internet-drafts@ietf.org>
Sent: 11 March 2019 16:50
To: Jason Sterne <jason.sterne@nokia.com>; Reshad Rahman (rrahman) <rrahman@cisco.com>; Rob Wilton (rwilton) <rwilton@cisco.com>; Balazs Lengyel <balazs.lengyel@ericsson.com>; Kevin D'Souza <kd6913@att.com>; Benoit Claise (bclaise) <bclaise@cisco.com>; Joe Clarke (jclarke) <jclarke@cisco.com>
Subject: New Version Notification for draft-verdt-netmod-yang-semver-00.txt

A new version of I-D, draft-verdt-netmod-yang-semver-00.txt

has been successfully submitted by Robert Wilton and posted to the IETF repository.

Name:                  draft-verdt-netmod-yang-semver

Revision:              00

Title:                     YANG Semantic Versioning for Modules

Document date:               2019-03-11

Group:                  Individual Submission

Pages:                  37

URL:            https://www.ietf.org/internet-drafts/draft-verdt-netmod-yang-semver-00.txt

Status:         https://datatracker.ietf.org/doc/draft-verdt-netmod-yang-semver/

Htmlized:       https://tools.ietf.org/html/draft-verdt-netmod-yang-semver-00

Htmlized:       https://datatracker.ietf.org/doc/html/draft-verdt-netmod-yang-semver


   This document specifies a new YANG module update procedure using

   semantic version numbers, to allow for limited non-backwards-

   compatible changes, as an alternative proposal to module update rules

   in the YANG 1.1 specifications.  This document updates RFC 7950, RFC

   8407 and RFC 8525.

Please note that it may take a couple of minutes from the time of submission until the htmlized version and diff are available at tools.ietf.org.

The IETF Secretariat