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

From: "Rob Wilton (rwilton)" <[email-masked]>
Date: Mon, 11 Mar 2019 17:04:10 +0000

Hi,

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.

Abstract

   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

      definitions.

      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

   <https://github.com/netmod-wg/yang-ver-dt/issues>.

Regards,
Rob

-----Original Message-----
From: [email-masked] <[email-masked]>
Sent: 11 March 2019 16:50
To: Jason Sterne <[email-masked]>; Reshad Rahman (rrahman) <[email-masked]>; Rob Wilton (rwilton) <[email-masked]>; Balazs Lengyel <[email-masked]>; Kevin D'Souza <[email-masked]>; Benoit Claise (bclaise) <[email-masked]>; Joe Clarke (jclarke) <[email-masked]>
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

Abstract:

   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

---

From: Kent Watsen <[email-masked]>
Date: Wed, 13 Mar 2019 19:09:35 +0000

> It is derived from draft-clacla-netmod-yang-model-update-05 (sorry - I need to update the draft meta-data to reflect this). 

I'm not able to set this metadata now, as neither the "Replaces" or "Replaced-by" options are available.  This may be due to one draft being an I-D and the other draft expired.  I'll ask the IETF Secretariat.

Kent

---

From: Kent Watsen <[email-masked]>
Date: Wed, 13 Mar 2019 19:43:16 +0000

> I'm not able to set this metadata now, as neither the "Replaces" or "Replaced-by" options are available.  This may be due to one draft being an I-D and the other draft expired.  I'll ask the IETF S…

Set now.

Kent