Re: [netmod] WG Last Call: draft-ietf-netmod-yang-module-versioning-05

Reshad Rahman <reshad@yahoo.com> Mon, 29 August 2022 19:53 UTC

Return-Path: <reshad@yahoo.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 00DE5C16A158 for <netmod@ietfa.amsl.com>; Mon, 29 Aug 2022 12:53:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yahoo.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id F_ontrI0FC8g for <netmod@ietfa.amsl.com>; Mon, 29 Aug 2022 12:53:19 -0700 (PDT)
Received: from sonic304-10.consmr.mail.bf2.yahoo.com (sonic304-10.consmr.mail.bf2.yahoo.com [74.6.128.33]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6BC60C15257B for <netmod@ietf.org>; Mon, 29 Aug 2022 12:53:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1661802798; bh=D5Xhtrf2vzOjEFdWo2RAbLoMMcU5z7rQDJz7LDIaVDw=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:From:Subject:Reply-To; b=PfU9NaOaGS5sa5+AS3spS7e7lyNoFQnsq3jExIF2CsCALXcSZhwSg/umxzjuinbcZxGPNWTpTZS6UXj3E94WVd3OfXIGx+r+5BQGYs+45B3cUalLdAc3rTn9OV3v7jDfSMhLPAhOIDbQJiCETZ04QM6W09Vte8+el0MZZfxFxicoszImb22GXQocaSgCHkVfu3F47IM0XOtTc8QV1MP/qZberCHgHraXKYX5O7DqgdWy+FZHdfGHueg/pqgFq3gtiorCpI28paH4K+nXhim+liJjZ02qeLYtznJq2VGtMvxvLSN1jo+oQE5bMkDN0FQrNxQJ9Vp7eoulR4TCvXaqHQ==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1661802798; bh=2QQhg1cPN//YBQvp3dw4TsKR5QRLQ8FHNN/r6QigIcd=; h=X-Sonic-MF:Date:From:To:Subject:From:Subject; b=SQAQm1x+xiCJX+D/tkTmrLMhXV2GdEBwoLoNxJwrK7RrtEhsHWrGPhD1zBmZwXzfNA06myl7qL3y99P58JKfDjJ/sxy+OzC0bTA/ig6XZbeZBpzhL1BA4V0Wz9EcAa1vBLTFjl4647uNoLA6bZKA0S0QetCYDgnaR8K0EE54RD+FELtGOsvYlBcsjJ0/EisNmO+tKOLcMUf8S4tDeE9Dry5C45W+chpj+NZJxOQ9FfE0NipV+vBSLCU3J23juW355IUZpSj1xbJm1gUu0VUdMvqAWoOyW7IkiPGTZC+q/t7H/xxw98D0AzBG7EGTvyrcVlVZvI4ZRngGWmhZ8xboLQ==
X-YMail-OSG: UTxBqnIVM1lzOW87eOtP9t9igAFJPF5McfTjpKIqTWqrCzVjYDABqglfkEQ3JUB 6lxnFIn1K0STFyVv68XsblUZZpzao.ABMkfllVNjYb4skHInJVpusgi2ZCHrkueneKuKITiam4BL VD_OBRFuAioht2CBnTNePHcqW9duC.I3X4AOpRPIZdwKHkBw8GPWZq1QG3benvjErUKNUMJECL24 fNueBOCuRODHHqry75T79SgBjaOTxFsWVHyIshaw7InUGfL4urr5eJraVk51HEW9GhzbdQbrdmMa eaxdp..tq2pHAdj6uAdPMkdQtvJAwDl2BSZWnhAEoI7fFuiPDDnQDLPzJC6ndPKBi0zrghnqSmdN .WGJqQqU0lrCxZzdEjsu.95I_Ig1N2._7bX6QYWQ5VF6NqTaAWcCPMLAVyKWcCBhkoV8jYkDKA9t W8JkgYDOvcUAzPVhyLV1kFUY1puGqtv36z1QanuA9SVFZwRJJUY5X6cjKgTu0LNqmEbio5_hzcQ0 6gb8HlnWdcLbtrrtFglqh9RiASdW_N8P_YG_j4Cgp3uxzgXkZzXyzVX7xH99q3LmuAkiYHucKItE IoVWw.72q7aWitj.OZKfdHk1TKW5hTK7etAO905..30Zcjgt5SBVb0rG2MMPn.Wsh_86eDXVQ6z6 S2MhKIXk4mZxDhE_qvncgBJwvQjwLAHzd67pwl7rHMqOwmv3zgtLVSyGIlDIRDvqcY07lswisFZF oShpgp91smsg_0HMQOq.g_cnli9OKlusY0KZfSlEgWubrvRYoBRt_Og_lD4rPI5PIlsoWpDv62xL 8mnTIPemK4yg5ICkY2agTwECv3EkX8rNCRbi.7NRgBhqwTSq0RUsSAUO5vZV6XVYdN4oa7F.PZ0x 3.WTFPz965ZBGh_zJxQMxC_5JN6jft2noPPCvw8IAaucBidP2jFhvN3HGWW2DTnud9Blx6pG9_is sAvSaBMxWx1Pv4DiWqRaklz72OzTDTYMWLRRn.cZJBLYfm9fa1B6GtjqV7lYm55R6CUx23wjwubf 3U.BfrKtZQr9XBzggeyfd0ovXtKPvQ3Q9iqHww1B_8.6UkVV0.ktwn12LafWegzgA8bBePFe0Xsw Q_AgAsW1hH_8kyOQiMKXoGeO3ojixa76WohGiwRbT_qmK_0_8BlSHh6FeeEsPWD5pmj9XCQ79m5k BhDBzVPFsFZYsac.0moizTENno4vRC7lhuRRK41TGdPo0BX47fUlvzBgO2AP.UxACYI8ntOYwpM7 U5ljlYB3GYqrt3mMhTD7tsG67JenmoAKy57JYwOgtypOnnZ.G5Z_hUzWXpD3VK_lwHaWEsXgV08t d2odcA7viKvQtEZVc3Co.vJ4r43W9MvoDW7nLTb9X79EOjLNlHZZ_L9WPzTgg2S9ufMKaEo1h967 efyLCY3HiKcny3_6S_aMNpGZfLQHWt.yPZS7X3laQtY9OsYnTH2PTWTTSH9LvHpjfRPqcVYhAnVm wwOJwwq5Dm85oO58SScCGsZaCsydRnW0gVrT88tRE27kJt3yrTA2x0aCEPOwd.5KEd5Uwm3xe2BZ alJteQQLb8mUIq4kswErn4Z8UuxVVKDsjWouZKKnLGGQq4CfcpamDMJ0E2Jxg248cRVoSL6x37px pJmMH2z9NZiZSyI7oat0mthTMHr62pdbHc6f24Vw.vUze_F4QapaoMLGwPM2MGhb5L0_K4.nOfZn pYhSTFV50fw.lxOI9ZbntySAvzRt.JKhOUENZKND7Pc6Us1B0imW4GnqRuI9DemycYYFTIOk8F_s WLolxcUsgVU2Qqgxw7bd1qA7Mt2rlX7Fd34yDPoi0bIUYJINHJY950lJpV8.3gKWLydfpdbtw_P3 FQGIwLsVEcQpPKJxJ11CmFNBngmcXNOputHOTNHstGwU7k4cMTFSdu8RnbqtbXlKFS8t7RrArLb9 ZckwhisD8PXSDl75zM8aTGij4yOOFdrK6FCba4StL3M_36B6vDjMmP46y7X32RS7ZLLlZKYW1Apg IqTMb6Rp1POBKWgYnV6zqvi2nkxIDuK_mZvW0rJWAu_MiwTZYOL6YLB9hjzOoADNGIw3dQoC.tTF SGpn71KfHFiBKOFtG_g3oORkc.5pJjFWuPJHnQ63Qe3XBPrNqdvFfr_yO9FCrLt4f70WQSdqYzxY wgVMXSH8b4P7crGbATU0rJ.8kV023FrzaoD2YkYE3cy5BDKoq0EE_bOaxxa.HMOaFt_E8vAcNphB q69qwbMz7BDAJr_wtf_N885MKS4RDC7FB7SOn9.C7zoQpv4w.b.EXj74Y.z62Q9kjAF7g5u1Q3Dx Rol.sC5ctucYjwlNtm29KqrXFEmmtSM4N2R3Ceb3r
X-Sonic-MF: <reshad@yahoo.com>
Received: from sonic.gate.mail.ne1.yahoo.com by sonic304.consmr.mail.bf2.yahoo.com with HTTP; Mon, 29 Aug 2022 19:53:18 +0000
Date: Mon, 29 Aug 2022 19:53:13 +0000
From: Reshad Rahman <reshad@yahoo.com>
Reply-To: Reshad Rahman <reshad@yahoo.com>
To: Lou Berger <lberger@labn.net>, Jürgen Schönwälder <j.schoenwaelder@jacobs-university.de>
Cc: NetMod WG Chairs <netmod-chairs@ietf.org>, NETMOD Group <netmod@ietf.org>
Message-ID: <1917627894.775333.1661802793369@mail.yahoo.com>
In-Reply-To: <20220306110716.y5het4vjj6y3dfg6@anna>
References: <51ecbad2-c13b-1f31-a17e-ea2f40eadd6c@labn.net> <20220306110716.y5het4vjj6y3dfg6@anna>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_Part_775332_307789989.1661802793360"
X-Mailer: WebService/1.1.20595 YMailNorrin
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/Cyqk6UxKOvURNPJl6QUNk-9kaho>
Subject: Re: [netmod] WG Last Call: draft-ietf-netmod-yang-module-versioning-05
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.39
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, 29 Aug 2022 19:53:24 -0000

 Thank you Jürgen for the detailed review. Apologies for the delayed response, some of the comments have led to substantial discussions in the weekly meetings.

    On Sunday, March 6, 2022, 06:08:04 AM EST, Jürgen Schönwälder <j.schoenwaelder@jacobs-university.de> wrote:  
 
 Hi,

below is my last call review.

Document: draft-ietf-netmod-yang-module-versioning-05
Date: 2022-03-06

* 1. Introduction

  Is it "module lifecyle problems" or "module versioning problems"?
  Can we perhaps be even more explicit? I also note that
  [I-D.ietf-netmod-yang-solutions] has seemingly expired, perhaps this
  document is not needed if we revise the introduction a bit and make
  it more descriptive. And why are SDOs, vendors and industry
  mentioned as explicit targets? Here is an attempt to make a
  constructive proposal:

  NEW

  The current YANG [RFC7950] module update rules require that updates
  of YANG modules preserve strict backwards compatibility. This has
  caused problems as described in [I-D.ietf-netmod-yang-versioning-reqs].
  This document recognizes the need to sometimes allow YANG modules
  to evolve with non-backwards-compatible changes, which can cause
  breakage to clients and importing YANG modules.  Accepting that
  non-backwards-compatible changes do sometimes occur, it is
  important to have mechanisms to report where these changes occur,
  and to manage their effect on clients and the broader YANG
  ecosystem.

  This document defines the foundation of a flexible versioning
  solution. A companion document [I-D.ietf-netmod-yang-semver]
  extends this work by introducing a semantic versioning scheme. In
  addition, [I-D.ietf-netmod-yang-ver-selection] provides a schema
  selection scheme that can be used by clients to choose which
  schemas to use when interacting with a server from the available
  schema that are supported and advertised by the server. This builds
  on [I-D.ietf-netmod-yang-packages], which provides a mechanism to
  group sets of related YANG modules revisions together into so
  called YANG packages. Finally,
  [I-D.ietf-netmod-yang-schema-comparison] specifies an algorithm
  that can be used to compare two revisions of a YANG schema.

<RR> We have updated text, captured in issues #145 and #146.
* 3.4.1. File names

  - This looks like a SHOULD/MAY clash, what do you really suggest
    here? Better don't use RFC 2119 language if the guideline is kind
    of contradictory. ;-)

      YANG module (or submodule) files MAY be identified using either
      revision-date or revision-label. Typically, only one file name
      SHOULD exist for the same module (or submodule) revision.  Two file
      names, one with the revision date and another with the revision
      label, MAY exist for the same module (or submodule) revision

    An implementation needs to be able to find the modules. If the
    revision date is the unique key used by imports, then probably the
    @ form needs to be there while the # form is nice to have? Well, I
    am not really sure what the text in the I-D suggests. Perhaps it
    says it SHMAY be implementation specific. ;-)

    If we want interoperability at the file name level, a clear and
    unambiguous baseline may be helpful. If we do not expect that,
    there is no need to write rules using RFC 2119 keywords.

<RR> Yes we should remove the RFC 2119 language. We would like to keep the option of having the # form since having the revision in the name is convenient. Issue #148.
* 3.5. Examples for updating the YANG module revision history

  Assuming the 2.x line is backwards compatible but the 3.x line is
  not. How do I figure this out from the linear revision history
  sorted by dates? Is the idea that I always only have a single branch
  in the revision history in a module? Or can there be multiple
  branches documented? Can branches merge again? If I can include the
  history of multiple branches, is the idea that tools have to
  understand the semantics of the revision labels to reconstruct the
  revision history graph in order to make sense of the
  rev:non-backwards-compatible markers?  The linear order could easily
  lead to misinterpretations, revision 2019-04-01 is BC but it would
  appear in chronological order after 2019-03-01, to which it is NBC.
<RR> We can only have 1 branch in the revision history of a specific module revision. If we apply changes in 1 branch to another branch (e.g. the changes in 2.x branch applied into the 3.x branch), it would be 1 update in the 3.x branch with new date and revision. We would not be getting any of the history from the 2.x branch. <RR> The rev:non-backwards-compatible marker is specific to a particular revision in that branch. e.g if it's used with version 3.0, that means 3.0 is NBC with the previous revision, e.g. 2.5.3, in the linear history of 3.0.  It does not convey any information wrt 3.0's compatibility with other branches.Issue #147 for text clarification.
* 4. Import by derived revision

  I agree that import by revision or derived is better than import by
  revision and it would work great with the existing YANG module
  update rules. That said, I do not see how it will work great with
  update rules that allow BC and NBC updates. If we support richer
  update semantics, we will need richer mechanisms to express
  compatibility and it seems wrong to put that information into the
  YANG import statement. To me, it seems much more reasonable to
  maintain the compatibility contraints outside the module such that
  updates on the compatibility rules can be made without having to
  touch the YANG modules.

  To fully automate things, it might be desirable to actually tag the
  specific definitions that changed. When module A imports from B, it
  matters what A is using from B. Perhaps the idea is that algorithms
  compute this on the fly. I fear not all changes may be decidable to
  be either BC or NBC. Has it been considered to have markup at the
  statement level that provides details such as when something was
  added, when something had an NBC change etc? Once you have markup at
  that level, tools can decide whether an importing module is affected
  by changes in an imported module or not.

  It seems we are doing things backwards, we mark modules as having
  NBC changes and then tooling may try to figure out what the causes
  are. Would it not be easier to tag what has changed and then tooling
  can calculate the rest?

<RR> This has already been discussed in another thread. Issue #156.
  I am not sure of this:

      The argument to the "revision-or-derived" extension statement is a
      revision date or a revision label.

  Why is it useful that the value can be a revision date or a revision
  label? I assume you also expect there to be a partial order on the
  labels, no?<RR> If the imported module has a revision label then the revision label should be used in the import. If not, we can use the date: this allows use of revision-or-derived even when the imported module does not have a revision label.<RR> There is no partial order on the labels, i.e just looking at a label is not enough, you need to look at the revision history.
      A particular revision of an imported module satisfies an import's
      "revision-or-derived" extension statement if the imported module's
      revision history contains a revision statement with a matching
      revision date or revision label.

  I am not sure, perhaps because I am not sure whether the revision
  history can reflect branches. If I say revision-or-derived 2.1.0,
  can I then get 3.0.0 (which is in a different branch)?
<RR> No you can't.
  Yes, revision-or-derived is what we should have had in YANG. I fail
  to see how it is useful in a versioning scheme that supports NBC
  changes and some level of branching.

      The "revision-or-derived" extension statement does not guarantee
      that all module revisions that satisfy an import statement are
      necessarily compatible; it only gives an indication that the
      revisions are more likely to be compatible.

  So how is this useful? The name "revision-or-derived" may be a
  misnomer, it seems you really have "none-before". The name
  "revision-or-derived" suggests a promise that is not really there.
<RR> This was mentioned in IETF114 presentation. Please see slides 11 and 12 in https://datatracker.ietf.org/meeting/114/materials/slides-114-netmod-42-netmod-module-versioning-draft-update-01.pdf
  I believe compatibility constraints need maintenance and grow to get
  complex. Managing them inside of imports is in my view not a good
  and scalable idea.

<RR> This is not a compatibility constraint, as per the slides above, it's to improve the import functionality in RFC 7950.
      Adding, modifying or removing a "revision-or-derived" extension
      statement is considered to be a BC change.

  How can that be? Such changes fundamentally change how imports are
  resolved.<RR> We are currently discussing making revision-or-derived a "hint" rather than a hard rule. Issue #158.

  Example 2 finally tells me by way of example what derived means.  I
  suggest to define the notion of "derived" earlier. The example seems
  to suggest that derived is along the partial order induced by the
  version labeling scheme (and this means tools need to be able to
  reconstruct the versioning tree (can it be more than a strict
  tree?). If this document is expected to work with different
  versioning schemes, it seems this document needs to spell out which
  requirements a versioning scheme has to satisfy for this document to
  work properly (e.g., that there is a defined partial order on
  version labels).
<RR> We need to clarify the text. 
    If a module import statement could resolve to more than one module
    revision defined in the datastore schema, and none of those revisions
    are implemented, then the import MUST resolve to the module revision
    with the latest revision date.

  Why has the latest revision date been chosen here? Just asking...<RR> The goal is to have both the client and server to have the same (predictable) schema tree.
  And has this anything to do with the versioning work or was this
  just a convenient place to fix the ambiguity?

* 5.1. Updates to ietf-yang-library

  Is this section here because it is essential to fix this ambiguity
  for the versioning work or is this here just because it was a
  convenient moment to fix this ambiguity?

7.1. Guidelines for YANG module authors

    [...] If all dependencies have been updated to not import specific
    revisions of a module, then the corresponding revision statements can
    be removed from that module.

  This seems to be somewhat pointless for open standard YANG modules
  since there is no effective procedure I can imagine to determine
  whether all dependencies have been updated. (Well, not sure what
  dependencies means, I assume it means there are no modules anymore
  importing a given revision.)<RR> Correct, this applies for vendor models and we should clarify.
7.1.1. Making non-backwards-compatible changes to a YANG module

    o  NBC changes can be sometimes be done incrementally using the
        "deprecated" status to provide clients time to adapt to NBC
        changes.

  Not sure what this means. Also note the double 'be'.

    o  NBC changes are done at once, i.e. without using "status"
        statements.  Depending on the change, this may have a big impact
        on clients.

  Not sure either, likely because I did not understand the previous
  item. The third bullet also leaves me a bit puzzled. It seems as if
  there is a relationship between NBC changes and status changes.  If
  so, this may need to be spelled out more clearly.

  The detailed description of the "incremental" approach that follows
  is helpful. Perhaps the bullets can simply be removed and we keep
  the incremental approach as the suggested one?
<RR> Sounds good.
8. Module Versioning Extension YANG Modules

  - Replace '\d{4}-\d{2}-\d{2}' with the pattern used in RFC6991bis
    (the \d does some surprising things, so I dropped it everywhere).

  - RFC6991bis introduces the type revision-identifier but given this
    work is getting stable it seems more logical to call the type
    revision-date. This is also the term RFC 7950 uses. And I think
    revision-date should be defined in ietf-yang-revisions and not in
    RFC6991bis. (I guess we once called it revision-identifier
    because there was no clear understanding yet that we will have a
    revision-date and a revision-label.) Note that dropping the
    definition of revision-identifier from RFC6991bis and defining a
    revision-date type in ietf-yang-revisions also causes the
    dependency on ietf-yang-types to go away.
<RR> Sounds good to me. We still need to discuss this with the weekly meeting participants.
9. Contributors

  - Typo 'Discussons'

  - Perhaps just list the names of the contributors comma separated
    instead of making this a longish list.
<RR> Ack.
10. Security Considerations

  - I wonder whether confusion about versions can lead to exploitable
    vulnerabilities. If client and server disagree on the meaning of
    values, this may lead to exploitable situations. With the move to
    allow NBC changes, a server may implement different semantics for
    a given leaf and this probably deserves a warning. In a world
    where semantics of definitions can change, client and server need
    to be sure they work with compatible definitions.
<RR> Currently many vendors keep making NBC changes to YANG modules, even though it is prohibited by RFC 7950. We believe versioning improves the current situation since there shouldn't be any surprises anymore. Not sure what exploitable situations you have in mind. 
  - Another scenario to mention could be a system provisioning NACM
    rules. Such a system may fail generating proper access control
    rules if there is ambiguity about the version of a YANG module
    implemented by the server for which NACM rules are provisioned.
    In fact, a system provisioning NACM rules may need to provision
    rules that continue to work even if client and server negotiate a
    version for their interactions.
<RR> Wouldn't that just be a defective implementation, i.e. a bug?
A. Examples of changes that are NBC

  - I believe enlarging the value set of a data node is allowed, the
    wording 'any changes that change or reduce the allowed value set'
    seems to disallow this. Perhaps you wanted to say 'any changes
    that reduce the allowed value set' instead?
<RR> Yes although reducing/increasing could also be confusing, e.g. if we change 1..50 to 25..100, we are actually increasing the allowed value set but the change is NBC. What about "any changes that remove any previously allowed values from the allowed value set of the data node..."? 
* RFC 7950 compatibility

  An RFC 7950 compliant implementation will treat

    import example-module {
      rev:revision-or-derived 2.0.0;
    }

  as if    were

    import example-module;

  and hence it may import a revision that is not in the 2.0.0 branch.
  I believe this is a problem. An RFC 7950 implementation will also
  consider deprecate -> obsolete a legal BC change. I believe that
  changing the YANG RFC 7950 update rules fundamentally must be done
  in such a way that parsers not understanding the new rules fail
  instead of producing surprising results (e.g. by bumping the YANG
  version number.)

  Even if this document is implemented by a parser, the parser may get

    import example-module {
      rev:revision-or-derived omicron;
    }

  without knowing what the possible labels are and what the order
  relationship of them is. It seems that the revision-label-scheme
  statement has to be mandatory and a parser needs to stop if the
  announced revision-label-scheme is unknown to the parser.
<RR> Please see slide 13 @ https://datatracker.ietf.org/meeting/114/materials/slides-114-netmod-42-netmod-module-versioning-draft-update-01.pdf
Regards,Reshad (on behalf of authors + contributors).
On Mon, Feb 21, 2022 at 12:20:34PM -0500, Lou Berger wrote:
> 
> 
> All,
> 
> This starts working group last call on
> https://datatracker.ietf.org/doc/draft-ietf-netmod-yang-module-versioning/
> 
> The working group last call ends on March 7 th.
> Please send your comments to the working group mailing list.
> 
> Positive comments, e.g., "I've reviewed this document
> and believe it is ready for publication", are welcome!
> This is useful and important, even from authors.
> 
> Please note that once WG Last call is complete, this document will be held
> and submitted as a set with the other versioning documents (once they are
> ready) for publication request to the IESG.
> 
> Thank you,
> Lou (Co-Chair & doc Shepherd)
> 
> 
> 
> 
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod

-- 
Jürgen Schönwälder              Jacobs University Bremen gGmbH
Phone: +49 421 200 3587        Campus Ring 1 | 28759 Bremen | Germany
Fax:  +49 421 200 3103        <https://www.jacobs-university.de/>

_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod