[Ivy] Re: YANG Doctors Early Review for "A YANG Module for Entitlement Inventory" - draft-ietf-ivy-inventory-entitlement-04

Marisol <marisol.ietf@gmail.com> Thu, 08 October 2026 11:44 UTC

Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com [IPv6:2607:f8b0:4864:20::102e]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx.ietf.org (Postfix) with ESMTPS id 746AF46 for <ivy@ietf.org>; Thu, 08 Oct 2026 11:44:24 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=pass header.d=gmail.com header.s=20251104 header.b=ZhCWEUqS; spf=pass (mx.ietf.org: domain of marisol.ietf@gmail.com designates 2607:f8b0:4864:20::102e as permitted sender) smtp.mailfrom=marisol.ietf@gmail.com; arc=pass ("google.com:s=arc-20260327:i=1"); dmarc=pass (policy=none) header.from=gmail.com
Received: by mail-pj1-x102e.google.com with SMTP id 98e67ed59e1d1-398a4dcf289so2055440a91.2 for <ivy@ietf.org>; Thu, 08 Oct 2026 04:44:24 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1791459857; cv=none; d=google.com; s=arc-20260327; b=bUbHx0H9t/ubazzkPsXkks12IINvitjeSy/SSJklRptSly5+K7eOdF3oFyFgJ3/jzo 6wiuX60SkBg6qTVrpX2+kHFgSEMguKBzMpYWWPQjrluu5n9IsHapGuYjQaiRY6zt6hTp 1FSQOuQKArAEik5hci7g03K36HzJGux3zDBy29ai5qHt0XMLWVe49+GmZ2VaDX1PVsGR BI4dxmDSorPCpKTGYd5Bz4hew0K/kz8BIPPuEb6v4uS3ZFeRdqwtCjZoQ3qwMhRQqLOZ nc8XufoXTuuRFFuA6iy3r05jWrG/Hs8sNT9mptpD+YJkqf5wlwJgaCSXtznOwOAvZRZP qlzQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=oEjSH6Xy4kzvLeRpNcXp/t6WonXtb9U8AurF7AOHda8=; fh=eM4aGfgO4grpIZBGjf1mXOS5L/4BOfPdj/MH87/NtCU=; b=VcqW8pIPmN4fl9IaXTAZKsbHVecoEAcOgDE470BC8YOQQ6u+vmobm0DdlJI7AYmTxM WTOnPWjPEcgu/8NPypRgCc3tjA6+xoJQJEHFKSCltZAD3LaZKRtxfJutpfVEsW9LVw/d ozWzSrRKDrz8b91ZUdrbTAf2gPYHELedOG2wslRQCizrxIY9ETQAJCJfbdVHVU2kATSY Dsnv+P+WGFASAdalwJIbRKm6SPVh32i/0teiV4FdRG0jfCFudQ5KxB+ktB9N2uUcT6zK EV7DtEJoAWfykDkXG5/avIYmjsAAPW3vg5zFLpk2OR414cCTZoHauEpsSrnMgNQ4Z61p 0wpg==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1791459857; x=1792064657; darn=ietf.org; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=oEjSH6Xy4kzvLeRpNcXp/t6WonXtb9U8AurF7AOHda8=; b=ZhCWEUqSRzK3qu4poOJm5jPu60j1gKy8jyj25efQA9NgOS3KrhR2I40aQ3XjGNRCL5 OsHFg8iK8f1uo01L7AKSii2n3A+FiUdqPy5oX8+YU+8Puq+OFbsaq0mYh/fQNJ6jWV7e rUTIKOnb5A5FQk59t9QkXIZeeXOD4PqZcRUwFBouhnCW405WxXijOCHILEwNpV/bM8i7 6yW3W7JPecAjQVosquh07L6+/O1D/bH0ocryxemLe2q7jY9MtUcFijIDLGOl2yOa8lZ+ DNHpz3HVeN4rAHB4W7/NLoMPyK/1ZJthmvcQSxOpzm31b6PA9YyyB1qZduOkoEg34siT eRBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1791459857; x=1792064657; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=oEjSH6Xy4kzvLeRpNcXp/t6WonXtb9U8AurF7AOHda8=; b=iXjQ464h2xo416Yj1awaZMYstlYwWdxT0lS/miAC5DghCUUnjfg0/N89fDkbuBHWCA fy5lcc+5mAo0xgG2xlBaBDbD8To412I9MqtD1l3lr6qsZIW1hZUoRFwQbvNchV0atgEp qV6hrvNjnwY+/RKKmyG/Bp0KM3N2Qg7Qz2KZv+ccpnombR942wJcE4t2QQBhJYz2+oeH tvWTCi3/QTdme734t6pg4qMJwUKa/bnfJsIszZCi4LhFHBD/IdMA25T+Lrp5E7vVeBJF FMXGrwlygJg9HgVyDUEejxOsyncV/Dh2+BW7KKlCjyddbRZCeMKyuDmfyBUpXNiAM6Yk 66yg==
X-Forwarded-Encrypted: i=1; AKwUvBxuCB9jejUmn0BF1mq0ysklmebc+6c4ZLa65s3lrvQIhO9pFY6V4G5RJgan+9AiKLfDucw=@ietf.org
X-Gm-Message-State: AFq9FYKWQifpBJCv1b2lX0ocY55ImWNPu/Aq1GmS84B2MxtfPGKAC3NW NkJcji0qjTSs7Pf10BwqbtEAid+1icM94mXAqjj7DTISQsXKDPiZnkwqTYhfV4+RXsDLxcJmUiV pI/XghYJtemf+kJSldkg/mQ5xTU7GHco=
X-Gm-Gg: AYBFou0rrFCR+PxR2baaQYQgcpfM102GVr4xfr6Yzfc5b6U45RVU027cXQbz/mi4ZRl 7IYESL5UYyVwo5Z9t6a6iDsZlKsRkp3n1N4dzXarUVLG3QuubIlNR5Sitrfoo/rkPMetK8xM4/4 pD9HdB2gfr8oMtvmcJDUb7+Vh4akLr/+S4jtTeAbC8XIl7oBWq83iJsjY3BBsHkyYtI6B/EX0A6 S7DZfewtkbvIQsuWxfxj4WeWMZyIM+Krl08l7w8ypFb2rlktbcPDaJG5ur7FJ3q93sKczN7qkkL XpN4LaEPr37c2KSaXoEU7uAIwNJcHyzaHhPlUH2INDpBKolcJAo=
X-Received: by 2002:a17:90b:3909:b0:3a4:e934:e85c with SMTP id 98e67ed59e1d1-3a8a0e10db5mr4521272a91.41.1791459857044; Thu, 08 Oct 2026 04:44:17 -0700 (PDT)
MIME-Version: 1.0
References: <3B421669-2E05-44A3-85A2-7DE36EFB182F@gmail.com> <0136207cf2914f6a8bd8b003d3c241f8@huawei.com> <04151775-4ABB-446E-8F3C-0C0AAE1A0F0A@gmail.com>
In-Reply-To: <04151775-4ABB-446E-8F3C-0C0AAE1A0F0A@gmail.com>
From: Marisol <marisol.ietf@gmail.com>
Date: Thu, 08 Oct 2026 13:44:04 +0200
X-Gm-Features: AclHuK_67nvklnMZZTGCA8_jtLFGBaNO72kjy0GPYK-G--HH7CHsSokKjvZYBxw
Message-ID: <CAO+xsenQ7UQp+Xs2qGf=-jWS=hpkn2xHgt8OLE6+mauY0rsjiQ@mail.gmail.com>
To: Acee Lindem <acee.ietf@gmail.com>, ops-dir@ietf.org
Content-Type: multipart/alternative; boundary="000000000000689a54065d52c0b9"
X-Spamd-Bar: ---------------------
Message-ID-Hash: DAD7KHZF2IQWQMHZE4ORBAVTOC5NUG75
X-Message-ID-Hash: DAD7KHZF2IQWQMHZE4ORBAVTOC5NUG75
X-MailFrom: marisol.ietf@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Italo Busi <Italo.Busi@huawei.com>, "draft-ietf-ivy-entitlement-inventory@ietf.org" <draft-ietf-ivy-entitlement-inventory@ietf.org>, Camilo Cardona <camilo@gin.ntt.net>, "Diego R. Lopez" <diego.r.lopez@telefonica.com>, ivy@ietf.org
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [Ivy] Re: YANG Doctors Early Review for "A YANG Module for Entitlement Inventory" - draft-ietf-ivy-inventory-entitlement-04
List-Id: Network Inventory YANG Working Group <ivy.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/ivy/lfhzb7tyMLFIxnYOMQXGC8Cw_r8>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ivy>
List-Help: <mailto:ivy-request@ietf.org?subject=help>
List-Owner: <mailto:ivy-owner@ietf.org>
List-Post: <mailto:ivy@ietf.org>
List-Subscribe: <mailto:ivy-join@ietf.org>
List-Unsubscribe: <mailto:ivy-leave@ietf.org>

Hi YANG doctors

Thank you Samier and Acee for your reviews. We have uploaded version -05
<https://datatracker.ietf.org/doc/draft-ietf-ivy-entitlement-inventory/> to
datatracker, which addresses them. Our responses are below, marked with ##!.

*Samier Barguil's OpsDir review*
Review:
https://datatracker.ietf.org/doc/review-ietf-ivy-entitlement-inventory-04-opsdir-early-barguil-2026-08-02/
<https://datatracker.ietf.org/doc/review-ietf-ivy-entitlement-inventory-04-opsdir-early-barguil-2026-08-02/00/>

*Nits: spacing errors ("Internet- Drafts", "as- a-service", etc.)*
##! These are line-wrapping artifacts of the text rendering, not of the XML
source, and they no longer appear in the -05 text version.

*Examples: JSON interrupted by page breaks, incomplete fragments,
whitespace*
##! Some of these are artifacts of the text format, which we don't control,
since we upload the XML. We agree that extracting models and examples from
the text is awkward. We provide them directly in the draft's repository,
which is part of the draft's metadata.

*Spelling: "modelled" vs "modeled"*
##! Fixed.

*Acee Lindem's YANG Doctors early review*

*Formatting*

   1. *YANG trees exceed the page width.*
   ##! Fixed. Trees now use --tree-line-length 69, with remaining long
   lines folded, as agreed with Acee in this thread.
   2. *JSON example lines exceed 69 characters.*
   ##! Fixed, as above.
   3. *Unprintable characters.*
   ##! Acknowledged. We applied most of your changes and checked for other
   non-ASCII characters.

*RFC 9907 issues*

   1. *Missing references for imported modules.* ##! Added.
   2. *YANG reference statements for imported modules.* ##! Added.
   3. *Description and revision statements.* ##! Fixed.
   4. *[BaseInventory] should be normative.* ##! Fixed.
   5. *Missing <CODE BEGINS> / <CODE ENDS>.* ##! Fixed. It was a typo in
   the markdown.
   6. *Security Considerations template and data paths.* ##! Fixed.
   7. *Drop "-t" from "entitlement-state-t".* ##! Fixed.

*YANG module*
1–2. *Consider require-instance false for the entitlement and asset
leafrefs.*
##! We evaluated doing the previous two points, but we think
implementations can still fullfill this requirements without setting
require-instance = false.

We evaluated this and kept require-instance true, [reason, for example: to
preserve referential integrity between entitlements and the network
inventory]. We believe implementations can still meet the requirement as
specified.

3. *uint32 vs uint64.* ##! Agreed and fixed. max-value and current-value
are now uint64.
4. *Notifications mentioned but not defined.* ##! Fixed by rephrasing.
5. *Rename "parent-entitlement-uid".* ##! Fixed, including the JSON example.
6. *"basic-capability-description" naming.* ##! Renamed to [new name]. We
kept the identity structure so that capabilities can be extended per class,
as the example shows.
7. *Containers for holder leaf-lists.* ##! Moved to leaf-lists as suggested
([new names]).
8. *Semantics of universal-access.* ##! Yes. When universal-access is true,
holders and assets cannot be specified. We added a must constraint and
updated the description.

*Other issues*

   1. *Section 3.5 "future instances".* ##! Fixed.
   2. *Section 2 TBU open issue.* ##! Fixed.
   3. *"MUST reflect" vs "should be false".* ##! Fixed, now uses SHOULD.
   4. *Tree diagrams missing the augment line.* ##! Fixed.

*Editorial suggestions*
##! Applied, with one exception. We kept "XPath 1.0" (not 1.1), since YANG
1.1 uses XPath 1.0 per RFC 7950. The other suggestions, including the
copyright year and the JSON description, were applied.

Best regards,
Marisol on behalf of the authors
On Wed, Aug 5, 2026 at 5:42 PM Acee Lindem <acee.ietf@gmail.com> wrote:

> Hi Italo,
>
> > On Aug 5, 2026, at 10:44 AM, Italo Busi <Italo.Busi@huawei.com> wrote:
> >
> > Hi Acee,
> >  I am fixing the YANG tree length issue and I am wondering whether there
> is any reason why you are suggesting “--tree-line-length 66” instead of
> “--tree-line-length 69”
> >  In other drafts I am using the “--tree-line-length 69” which does not
> always work so, as a second line of defence, I am also folding the output
>
> This would be fine as long as it fits. I have used 66 in past but 69 would
> probably work as well.
>
> Thanks,
> Acee
>
>
>
> >  Thanks, Italo
> >  From: Acee Lindem <acee.ietf@gmail.com>
> > Sent: lunedì 27 luglio 2026 19:56
> > To: draft-ietf-ivy-entitlement-inventory@ietf.org; ops-ads@ietf.org
> > Cc: ivy@ietf.org; YANG Doctors <yang-doctors@ietf.org>
> > Subject: [Ivy] YANG Doctors Early Review for "A YANG Module for
> Entitlement Inventory" - draft-ietf-ivy-inventory-entitlement-04
> >  Document: draft-ietf-ivy-inventory-entitlement
> > Reviewer: Acee Lindem
> > Review Date: 2026-07-27
> > IETF LC End Date: N/A (Early Review)
> > Intended Status: Proposed Standard.
> >
> > This is YANG doctor early review on the YANG data module
> > ietf-entitlement-inventory.yang. The YANG data module includes augments
> > to the network-inventroy.yang YANG module to expose the entitlements
> > for network elements in the network inventory. Additionally, the data
> > module includes the entitlement restrictions and relationships between
> > entitlements (i.e., the hierarchy).
> >
> > The draft also includes a description of the framework for entitlements.
> > Interestly, the provisioning of entitlements is outside the scope of the
> > draft and all the data nodes in the module are read-only. Finally, the
> > draft contains a large number of examples (8) for various entitlement
> > use cases.
> >
> > The ietf-network-entitlement.yang data module augments the
> > ietf-network-inventory.yang data module and is well-structured. As this
> > is an early review, there are a number of issues that need to be fixed
> > prior to WG last call. I've characterized these by the type of issue.
> >
> > Formating issues:
> >
> >  1. All the YANG trees are formatted without line constraints and
> >     exceed the supported RFC page length. Please reformat with
> >
> >         pyang -f tree --tree-line-length 66 ietf-network-inventory.yang
> >
> >  2. Many of the JSON example lines also exceed 69, the RFC maximum.
> >
> >  3. There are a number of unprintable characters in the draft. I've tried
> >     to removed these in the nits.
> >
> > RFC 9907 Issues:
> >
> >   1. Missing References for imported YANG data modules:
> >
> >      RFC 7950 — the module is yang-version 1.1. RFC 6020 is cited
> >                 correctly the registry.
> >      RFC 9911 — ietf-yang-types is imported for date-and-time.
> >      RFC 8340 — tree diagrams in sections 3.2, 3.3, 3.5, and 3.7.1.
> >      RFC 7951 — all of section 4 is JSON encoding.
> >      RFC 6241/8040/8446 for the security boilerplate.
> >
> >    2. Similiarly, the imported modules should contain YANG
> >       reference statements for the corresponding drafts for RFCs.
> >
> >    3. The YANG description statement and the YANG revision statement
> >       should reference the current version of the draft. Also, the
> >       revision statement should a YANG refernce statement. There are
> >       plenty of examples. Also, no need to have revision
> >       statements for revisions prior to publication - just update the
> >       single revision.
> >
> >    4. Reference to [BaseInventory] draft should be normative rather
> >       than informative.
> >
> >    5. Need <CODE BEGINS> / <CODE ENDS> for ietf-network-entitlements.yang
> >       source code.
> >
> >    6. The "Security Considerations" doesn't follow the template in
> >       RFC 9907. Also, the data paths of the sensitive leaves need
> >       to be listed.
> >
> >    7. Drop the "-t" on "entitlement-state-t". While this is sometimes
> >       done in C, it shouldn't be done in YANG for typedefs.
> >
> >
> > YANG Module Problems and Suggestions:
> >
> >    1. The installed-entitlements/entitlement/entitlement-id references a
> >
> >            type leafref {
> >                path "/inv:network-inventory/ei:entitlements"
> >                   + "/ei:entitlement/ei:entitlement-id";
> >             }
> >
> >       Since require-instance is true, an entitlement can't be returned
> >       unless the corresponding network-element exists. Consider
> >       "require-instance false;".
> >
> >
> >    2. Same probllem entitlement-attachment/assets/{elements,components}
> >       since the assets can't be returned unless both the network-element
> >       and the compoent exists. Consider "require-instance false;".
> >
> >            type leafref {
> >                        path "/inv:network-inventory"
> >                           + "/inv:network-elements"
> >                           + "/inv:network-element"
> >                           + "[inv:ne-id=current()/../network-element]"
> >                           + "/inv:components/"
> >                           + "inv:component/inv:component-id";
> >             }
> >
> >    3. Should "max-value" and "current-value" be uint64 rather than uint32
> >       for extendibility to restrictions with units that can exceed 4.2G?
> >
> >    4. Section 5.2 says:
> >
> >         Network elements SHOULD generate notifications when installed
> >         entitlements are approaching expiration.  The notification
> timing and
> >
> >       However, the YANG module doesn't include definitiions for
> notifications.
> >
> >    5. Rename "parent-entitlement-uid" to "parent-entitlement-id"
> consistent
> >       with the referenced leaf. Fix in json example as well.
> >
> >    6. The identity hierarchy of "basic-capability-class" and
> >       "basic-capability-description" is awkward. Why isn't it
> >       "basic-capability-list" rather than "basic-capability-description"?
> >
> >           *Basic capability class*: The module defines basic-capability-
> >       description as a simple capability class using only identifiers
> >       and descriptions.  This supports implementations that present
> >       capabilities as straightforward lists.
> >
> >    7. For the holder leaf lists, organization-names/organizations and
> >       user-names/users, do we really need an enclosing containter? I'm
> not
> >       sure what it buys you. If needed, maybe organizations/organization
> >       and users/user for the leaf lists.
> >
> >    8. If "universal-access" is true for entitlement attachments, does
> this
> >       mean that holders and assets cannot be specified? What are the
> intended
> >       semantics?
> >
> > Other Issues:
> >
> >    1. Section 3.5 says "This point requires further exploration in future
> >       instances of this document."
> >
> >    2. Section 2 includes:
> >
> >            *  ToBeUpdated(TBU) Open Issue for the IVY WG, to include:
> >
> >          <<Update Glossary under Network Inventory draft,
> [BaseInventory].  We
> >          need at least formal definitions of "capability" and
> "entitlement".>>
> >
> >        However, it seems these are already convered in the document.
> >
> >    3. In Section 3.6.4:
> >
> >        When a capability lists multiple supporting entitlements, the
> >        entitlement-state/allowed field MUST reflect the combined effect
> of
> >        all required entitlements.  If any required entitlement is
> missing,
> >        expired, or revoked, the allowed leaf should be false.
> >
> >      Since there is "MUST reflect", shouldn't it be "the allowed leaf
> SHOULD
> >      be false."? Uppercase "SHOULD"?
> >
> >    4. The tree disagrams in sections 3.2, 3.3, and 3.5 are snipped
> without
> >       including the  augment line from the full tree. It would be
> clearer to
> >       include the augment line.
> >
> > Editorial suggestions:
> >
> > 183c183
> > <    Network elements provide capabilities‚ i.e., functions related to
> > ---
> > >    Network elements provide capabilities, i.e., functions related to
> > 288c288
> > <    rights to use that capability—even if access to the device itself is
> > ---
> > >    rights to use that capability, even if access to the device itself
> is
> > 589c589
> > <    entitlement—whether active or not.
> > ---
> > >    entitlement, whether active or not.
> > 961c961
> > <    when necessary—specifically when each component has its own set of
> > ---
> > >    when necessary, specifically when each component has its own set of
> > 1052c1052
> > <    Other licenses should be openly constrained to a geographic
> location.
> > ---
> > >    Other licenses should be specifically constrained to a geographic
> location.
> > 1069c1069
> > <    Some entitlements are inherently associated with a holder, such as
> > ---
> > >    Some entitlements are inherently associated with a holder, such as
> an
> > 1074c1074
> > <    holders, such as people under a jurisdiction or a geographical area.
> > ---
> > >    holders, such as people under a jurisdiction or in a geographical
> area.
> > 1195c1195
> > <    expired, or revoked, allowed should be false.  The in-use field
> > ---
> > >    expired, or revoked, the allowed leaf should be false.  The in-use
> leaf
> > 1260c1260
> > <         Copyright (c) 2025 IETF Trust and the persons identified as
> > ---
> > >         Copyright (c) 2026 IETF Trust and the persons identified as
> > 1423c1423
> > <                 capabilities list exist and the information system
> > ---
> > >                 capabilities list entry exists and the information
> system
> > 1521c1521
> > <                   current allowed state. this container
> > ---
> > >                   current allowed state. This container
> > 1523c1523
> > <                   An empty list of supporting-entitlement means
> > ---
> > >                   An empty list of supporting-entitlements means
> > 1662,1664c1662,1664
> > <                "Stock Keeping Unit - vendor's catalog/ordering number
> > <                 for this entitlement. Used for procurement and asset
> > <                 management integration.";
> > ---
> > >                "Stock Keeping Unit (SKU) - vendor's catalog/ordering
> > >                 number for this entitlement. Used for procurement and
> > >                 asset management integration.";
> > 1756c1756
> > <                 statements due to XPath 1.0 limitations, management
> > ---
> > >                 statements due to XPath 1.1 limitations, management
> > 2429c2429
> > <                       "description": "Maximum OSPF neighbor
> adjacencies, just to give an example :)",
> > ---
> > >                       "description": "Maximum OSPF neighbor
> adjacencies",
> > 4443c4443
> > <    handling is implementation-specific but SHOULD provide sufficient
> > ---
> > >    handling are implementation-specific but SHOULD provide sufficient
> >
> > Thanks,
> > Acee
> >  _______________________________________________
> > Ivy mailing list -- ivy@ietf.org
> > To unsubscribe send an email to ivy-leave@ietf.org
>
>
>