Re: [netmod] Proposed YANG semver revision-label guidelines (draft-ietf-netmod-yang-semver)

"Reshad Rahman (rrahman)" <rrahman@cisco.com> Wed, 13 May 2020 15:04 UTC

Return-Path: <rrahman@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 D09DA3A0D88 for <netmod@ietfa.amsl.com>; Wed, 13 May 2020 08:04:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.598
X-Spam-Level:
X-Spam-Status: No, score=-9.598 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=Xcoh5f9w; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=OC7vXgFc
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 MM254AK28Cdi for <netmod@ietfa.amsl.com>; Wed, 13 May 2020 08:04:13 -0700 (PDT)
Received: from alln-iport-4.cisco.com (alln-iport-4.cisco.com [173.37.142.91]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E87433A0D6D for <netmod@ietf.org>; Wed, 13 May 2020 08:04:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=7674; q=dns/txt; s=iport; t=1589382251; x=1590591851; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=Y6ND5MySB+8TeKvYiqqGCW1r9b4IJAgwYRW0926dYo4=; b=Xcoh5f9wUk9qMUu93Jxmv27qZkdb8itSxqXR3ZJfZbg0S/EH5Tia42wO SPPvXzPCDfDVDdg7uaAcqc9NhiJRCbvCTw9K7w5EgKmvXTQHtSkBR+vb6 2e3DBaVQo63zanui8fJ9H7mGmd9s3KoOIu+BuBFFnCEBHhr+Gx00k/JWA A=;
IronPort-PHdr: 9a23:7jJcbR32nLUUZdwHsmDT+zVfbzU7u7jyIg8e44YmjLQLaKm44pD+JxWFuadhiVbTVsPa5u5Kze3MvPOoVW8B5MOHt3YPONxJWgQegMob1wonHIaeCEL9IfKrCk5yHMlLWFJ/uX3uN09TFZXyYlTIqTuz4CIcXBLlOlk9KuH8AIWHicOx2qi78IHSZAMdgj27bPtyIRy6oB+XuNMRhN5pK706zV3CpX4bdg==
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0CvAAC9C7xe/4cNJK1mGgEBAQEBAQEBAQEDAQEBARIBAQEBAgIBAQEBQIFHgVRRB29YLywKhBuDRgONOYEBlzaCUgNUCwEBAQwBARgLCgIEAQGDf0UCF4F3JDgTAgMBAQsBAQUBAQECAQUEbYVWDIVxAQEBAQIBAQEQEREMAQEsCwEPAgEIGAICJgICAiULFRACBAENBSKDBAGCSwMOIAEOpioCgTmIURB2gTKDAQEBBYU4GIIOAwaBDiqCY4lfGoFBP4ERJxyCGDU+gmcBAQKBYxeCfTOCLY5Mgw6gKn0KgkuYMhYHnUiQKJ00AgQCBAUCDgEBBYFpIoFWcBU7KgGCPlAYDZBADBcVgzqFFIVCdAI1AgYBBwEBAwl8jTgBgQ8BAQ
X-IronPort-AV: E=Sophos;i="5.73,388,1583193600"; d="scan'208";a="477989349"
Received: from alln-core-2.cisco.com ([173.36.13.135]) by alln-iport-4.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 13 May 2020 15:04:10 +0000
Received: from XCH-RCD-005.cisco.com (xch-rcd-005.cisco.com [173.37.102.15]) by alln-core-2.cisco.com (8.15.2/8.15.2) with ESMTPS id 04DF49d7029756 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Wed, 13 May 2020 15:04:10 GMT
Received: from xhs-rcd-002.cisco.com (173.37.227.247) by XCH-RCD-005.cisco.com (173.37.102.15) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 13 May 2020 10:04:09 -0500
Received: from xhs-aln-001.cisco.com (173.37.135.118) by xhs-rcd-002.cisco.com (173.37.227.247) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 13 May 2020 10:04:09 -0500
Received: from NAM04-BN3-obe.outbound.protection.outlook.com (173.37.151.57) by xhs-aln-001.cisco.com (173.37.135.118) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Wed, 13 May 2020 10:04:09 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kKnNc+rkT9I0mpkhq4bEFsBoLQFf5hdc7gysOfqIccSI1hZrPoZZiPd15qsswdSfAcy2QQaxxnh6mJQdh+XoErptQ5+ZRMXDXDt0PWRBtsjGv4gfWJZRg8U7tC+C7/csi2O4jF7Ahu4WzDHBiPYZdDYCcQ3OiA79qu5DvQWa8h6H5CmR4tDsWDYv5WBYLaV/Go6js0nTvhZSobzA1St05Ke4uQ06HDxYcgCTsjMjFAqF4TZvJ07smjfA8pl8NwbMz+fBY4lA4T76QlJ82laRUfNv5K8j1IhPalVbQNGsM8k9QYWl3EAq3Ta+2n5AUYa0wa2qCXB6gppXMr7zaAzZ2Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Y6ND5MySB+8TeKvYiqqGCW1r9b4IJAgwYRW0926dYo4=; b=VNNvOx4SIGN9K8LVC4J/4k1i8a3iGea0Nlifhtl8wrSB3QbvHoBU7UsdosO2rd34LVo+/i9TsAfRnZ2X1EAEcX7xWs2Pb0rsblCqDa0n9nUPCi6SVPMhBh0/xF1uRxTXF1/rw8itEGEhf38G5Mpe4tVIBAfsV992xvaWtCsE1wXjUSr0CZRrNxzXcJLk/k8JOLVGRbzx1HSeJscTx4yx3jeUEupiBmi3Fnl4qnGSkatzVfEInGaAGRJdYX9niysrMRYsPuUZ9XBUDp9Y0J/+24p+dNWdZ1fdc/rz+/hlofFoezI1R3nsqMcavA9tLFcu2zo9yyB5qjPiEPI0038AiA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Y6ND5MySB+8TeKvYiqqGCW1r9b4IJAgwYRW0926dYo4=; b=OC7vXgFcRPQd6SYdAc9s8tMFMGReOxO/t3NLqkxa3PoF06XBKD0qdeR54sNj+AC06M7Qh5U23sDicybap/GAM099fAI7jazM6sv8zSa58Nr8JbRx/guWf++YX0YsyLDFo3/HNOTA+6xyHR3oTI75mSQeeI7BaXBI7cPWzA/DjbM=
Received: from BN6PR11MB3875.namprd11.prod.outlook.com (2603:10b6:405:80::37) by BN6PR11MB1937.namprd11.prod.outlook.com (2603:10b6:404:106::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.34; Wed, 13 May 2020 15:04:08 +0000
Received: from BN6PR11MB3875.namprd11.prod.outlook.com ([fe80::89ae:b7c9:b936:b2bd]) by BN6PR11MB3875.namprd11.prod.outlook.com ([fe80::89ae:b7c9:b936:b2bd%3]) with mapi id 15.20.2979.033; Wed, 13 May 2020 15:04:08 +0000
From: "Reshad Rahman (rrahman)" <rrahman@cisco.com>
To: "Joe Clarke (jclarke)" <jclarke=40cisco.com@dmarc.ietf.org>, Jan Lindblad <janl@tail-f.com>
CC: NetMod WG <netmod@ietf.org>
Thread-Topic: [netmod] Proposed YANG semver revision-label guidelines (draft-ietf-netmod-yang-semver)
Thread-Index: AQHWKJdanyxzP1SiSUC7uMyEfHb236imDaMAgAALYYD//8I6AA==
Date: Wed, 13 May 2020 15:04:07 +0000
Message-ID: <E317372B-35D6-4EEB-AECD-11CE2578D176@cisco.com>
References: <76EECA9D-D0D7-4F7A-A536-97135B76A326@cisco.com> <DA523C09-F025-4F8E-85C8-9185FE17BAB5@tail-f.com> <C52CB4EB-1B9D-4CF1-AD44-4802E4EB8DCC@cisco.com>
In-Reply-To: <C52CB4EB-1B9D-4CF1-AD44-4802E4EB8DCC@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/10.21.0.200113
authentication-results: dmarc.ietf.org; dkim=none (message not signed) header.d=none;dmarc.ietf.org; dmarc=none action=none header.from=cisco.com;
x-originating-ip: [70.31.50.95]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: ef7545ad-b4f1-475b-bf28-08d7f74ee2ca
x-ms-traffictypediagnostic: BN6PR11MB1937:
x-microsoft-antispam-prvs: <BN6PR11MB193726703207E2F259466E3CABBF0@BN6PR11MB1937.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0402872DA1
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: Q1lE3GpQLlcUupGO2N57jN+RZAenBpQuUXUkBIcEWvwk0M4TO8OMwt1+eAsuDE4GBtPMbZCKtz4cQk7+j6XB0aqgydeST9JFMBIhmYFXZdSZb+asR3GST7flLMvoRcLxuIGFRzwsDnSAcFAlbiAi5BeM6HLODg293gr8SPCuF7+muwwOeCQZG3JIbea2rFNi8jGZ1IbDe5pqKdrl+Jwtq3TNIpNpcVz6rh2sRPfgpzFME0/jxZg3IH77lAjm3Vw3Oej/O4bKKkZMAb5SjfaHx5ORM/xwsiTxsGj37IIgrrJYpzXtU7YNXqm65qHqet6i33jXJNweimmgOJJOoxgNPVe6aKESslhBPXgNq3j9NCJpkKgHtoASJcEoPaPTbsAgISSUAh4PSxoRRpkN/OxOmyUCT52GlwngK4j0lf8/vv4pVj3u92c1Nq2Q306/O3H4+z4qytQPBwpHtHQdK5lUD3D3svR9hHgtGNuWDSiSJka6W/V78Mg1/gF8CgLOOyhzPPw9ifqEGyRpBrGxQqO7PhKigRjcnhRE7Nb8gfh9zLjfx2pMC5f1ty3tVNGvc6BKzr99sFJxn4Yb+pYCCGkkXXmU/6CWiFARoTH52lsIKM8=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN6PR11MB3875.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(376002)(39860400002)(346002)(366004)(396003)(136003)(33430700001)(8936002)(5660300002)(53546011)(76116006)(64756008)(36756003)(66476007)(8676002)(66946007)(66446008)(66556008)(91956017)(478600001)(6486002)(33440700001)(966005)(186003)(33656002)(2906002)(110136005)(71200400001)(6506007)(316002)(4326008)(6512007)(2616005)(26005)(86362001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: N9QoS/x1UcAqSAiVyd+lMnfFbu5jRmWEfW0IdpwdJvfmD56NRI6qPdVDZB17EmqrnEsWAvqUPuNLkcdWq8kI2yuTVrVR5/C5dQuDHC7yB/OG5qUuaukWIu/LFV7p7XNUUvJNi438TQwwwsW+IxiftHF1h7jh1UIcNt+M4LoJn5NUtr2tSZVjvMqzFhnQA3UY1yCgjBQD+nkFLx8hJsxwp/zBdo1zuW/Q+pkuikxrZPtKD9bOxpjWV8EZbXKbivRYiLXVArv8/VbthhS2E8xO2wWjTPGiE1O2jFSXJxGqRVCxCtT9ObeaQGUjKJga17/85HtrKvyRJGNCrBxM9ttzXjpvvaap7eEFRR3vJBMutousi+w8icHSIn7+V/HSwiiROmaujkPhrPpzxA8xUKT+IKg1SgttVjx0yySKDrvvbrYY8MowQhCNXrkzbvAuXAiIluIbG3ND8B/itQxYAogQuMiBRa3eutEaWQN6ccQJxt8=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-ID: <8076C44BDBEE484EB7357450DE2F5F34@namprd11.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: ef7545ad-b4f1-475b-bf28-08d7f74ee2ca
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 May 2020 15:04:07.8313 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: dxQebtUaQuH8u+0lY7XuoMS5LS94KSkk1rYq1QlGKGAdPbn1pXSJmmo8UvKLA21eg+cgu1ZaG4tdLQdqfRFUdQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1937
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.37.102.15, xch-rcd-005.cisco.com
X-Outbound-Node: alln-core-2.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/B5b0SbA7uH5WmHXYrQjTBPEKfzU>
Subject: Re: [netmod] Proposed YANG semver revision-label guidelines (draft-ietf-netmod-yang-semver)
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: Wed, 13 May 2020 15:04:18 -0000

Jan, do you have an issue with the choice of the letter or its semantics? It has been mentioned that it's confusing to have 'm' and 'M'.

Regards,
Reshad.


On 2020-05-13, 10:45 AM, "netmod on behalf of Joe Clarke (jclarke)" <netmod-bounces@ietf.org on behalf of jclarke=40cisco.com@dmarc.ietf.org> wrote:

    
    
    > On May 13, 2020, at 10:04, Jan Lindblad <janl@tail-f.com> wrote:
    > 
    > Joe,
    > 
    > Thanks for sending this out to a wider audience. Sorry I missed the meeting yesterday. That particular time of week is very popular.
    > 
    > I think the text you propose below is good; I have no issues. For the record, I do have some issue relating to other pieces, especially around the use of the letter 'm'.
    
    Thanks, Jan.  I missed the call yesterday, too, but I understand m|M is still being debated and there isn’t strong support of those letters specifically.
    
    Joe
    
    > 
    > /jan
    > 
    > 
    > 
    >> On 12 May 2020, at 21:55, Joe Clarke (jclarke) <jclarke=40cisco.com@dmarc.ietf.org> wrote:
    >> 
    >> There has been recent discussion about how to handle applying versions to new modules, modules in development, and revisions to modules that previously did not have a revision-label.  Below is proposed text to offer both general and IETF-specific guidelines for this.  The intent is to place this text in draft-ietf-netmod-yang-semver either as a new section 5 or a sub-section under section 3.  Before folding it in to the document, I wanted to get more WG eyes on this.
    >> 
    >> ===
    >> 
    >> X. Guidelines for Module Development
    >> 
    >> When developing a brand new module using YANG semver as its revision-label scheme SHOULD begin using a 0 for the MAJOR version component.  This allows the module to disregard strict semver rules with respect to non-backwards-compatible changes during its initial development.  However, module developers MAY choose to use the semver pre-release syntax instead with a 1 for the MAJOR version component.  For example, an initial module revision-label might be 1.0.0-dev1.  If the authors choose to use the 0 MAJOR version component scheme, they MAY switch to the pre-release scheme with a MAJOR version component of 1 when the module is nearing initial release (e.g., a module's revision label may transition from 0.3.0 to 1.0.0-beta1 to indicate it is more mature and ready for testing).
    >> 
    >> When developing a new revision of an existing module using the YANG semver revision-label scheme, the intended target semver version MUST be used along with pre-release notation.  For example, if a released module which has a current revision-label of 1.0.0 is being modified and the intent is to make non-backwards-compatible changes, the first development MAJOR version component must be 2 with some pre-release notation such as -dev1, making the version 2.0.0-dev1.  That said, every publicly available release of a module MUST have a unique YANG semver revision-label.  Therefore, it may be prudent to include the year or year and month development began (e.g., 2.0.0-201907-dev1).  As a module undegoes development, it is possible that the original intent changes.  For example, a 1.0.0 version of a module that was destined to become 2.0.0 after a development cycle may have had a scope change such that the final version has no non-backwards-compatible changes and becomes 1.1.0 instead.  Th
    >> is change is acceptable to make during the development phase so long as pre-release notation is present in both versions (e.g., 2.0.0-dev3 becomes 1.1.0-alpha1).  However, on the next development cycle, if again the new target release is 2.0.0, new pre-release components must be used such that every revision-label for a given module MUST be unique throughout its entire lifecycle (e.g., the first pre-release version might be 2.0.0-202005-dev1 if keeping the same year and month notation mentioned above).
    >> 
    >> When an existing IETF module is being revised, it MUST use the target version for the revision-label with a pre-release string that includes the current RFC number plus the string "bis".  For example, if the module defined in RFCXXXX at version 1.0.0 is being revised to include non-backwards-compatible changes, its development revision-labels MUST include 2.0.0-XXXXbis.  Since they MUST also be unique, additional alphanumeric identifiers MUST be used (e.g., 2.0.0-XXXXbis-dev1).  Since each new bis will work off a new RFC number, this nomenclature ensures uniqueness for the module throughout its lifecycle.
    >> 
    >> If a module is being revised and the original module never had a revision-label (i.e., you wish to start using YANG semver in future module revisions), choose a semver value that makes the most sense based on the module's history.  For example, if a module started out in the pre-NMDA world and then had NMDA support added without removing any legacy "state" branches, and you are looking to add additional new features, a sensible choice for the target YANG semver would be 1.2.0 (since 1.0.0 would have been the initial, pre-NMDA release, and 1.1.0 would have been the NMDA revision).  
    >> 
    >> ===
    >> 
    >> Joe
    >> _______________________________________________
    >> netmod mailing list
    >> netmod@ietf.org
    >> https://www.ietf.org/mailman/listinfo/netmod
    >> 
    > 
    
    _______________________________________________
    netmod mailing list
    netmod@ietf.org
    https://www.ietf.org/mailman/listinfo/netmod