Skip to main content

Early Review of draft-ietf-teas-ietf-network-slice-nbi-yang-03
review-ietf-teas-ietf-network-slice-nbi-yang-03-yangdoctors-early-lhotka-2023-02-24-00

Request Review of draft-ietf-teas-ietf-network-slice-nbi-yang-03
Requested revision 03 (document currently at 10)
Type Early Review
Team YANG Doctors (yangdoctors)
Deadline 2022-11-28
Requested 2022-11-06
Requested by Vishnu Pavan Beeram
Authors Bo Wu , Dhruv Dhody , Reza Rokui , Tarek Saad , John Mullooly
I-D last updated 2023-02-24
Completed reviews Yangdoctors Early review of -03 by Ladislav Lhotka (diff)
Assignment Reviewer Ladislav Lhotka
State Completed
Request Early review on draft-ietf-teas-ietf-network-slice-nbi-yang by YANG Doctors Assigned
Posted at https://mailarchive.ietf.org/arch/msg/yang-doctors/CQlInk7RKl0PM7onU_7kSx7IBaY
Reviewed revision 03 (document currently at 10)
Result Ready w/nits
Completed 2023-02-24
review-ietf-teas-ietf-network-slice-nbi-yang-03-yangdoctors-early-lhotka-2023-02-24-00
**** Summary

This document defines a YANG data model for the IETF Network Slice service. It
builds upon the suite of modules for network topology [RFC 8345] and traffic
engineering topology [RFC 8795].

**** General comments

- The data model resulting from the YANG module is impressively large, which
also makes it difficult to review it in its entirety. With this caveat, I think
the schema is well designed and best practices of YANG modelling. I haven't
found any serious issues, minor problems are mentioned below.

- Despite its size, the I-D is quite readable, also because it contains
numerous examples illustrating various use cases.

- Many names of data nodes contain their parent's (partial) name as prefix,
such as "template-description", "qos-policy-name" or "cc-id". This is
unnecessary in YANG and (if there is no special reason) should be avoided
because it just makes names and paths longer. See sec. 4.3.1 in RFC 8407.

- Observation: The module itself contains no "must" or "when" statements, which
is quite extraordinary for a module of this size. Does it mean there are no
(formally representable) semantic constraints, or that the data model is
deliberately lax?

**** Specific comments

***** Section 2

- "IETF network slice", "customer", and possibly also "customer higher-level
operation system" should be included in the list of terms defined in
draft-ietf-teas-ietf-network-slices.

- The reference to RFC 8340 would be better placed next to the tree diagram in
section 5.

***** Section 5

- The purpose of including a tree diagram in an I-D main text is to give a
high-level overview of the schema. The full ASCII tree of the
ietf-network-slice-service module is too long for this. Please adjust the
diagram using the recommendations of sections 2.4 and 3.3 in RFC 8340. If it is
useful to have the complete tree diagram in the I-D, it should go to an
appendix.

- sec. 5.2: the first sentence in the definition of "service-tags" (with the
quoted text "Customer higher level operation system") doesn't make sense.

***** Section 6 (the YANG module)

- If each slice requires at least 2 SDPs (sec. 5.2.1), why not have
"min-elements 2;" for list "sdp"?

- Various tags, attributes etc. have their value modelled as a leaf-list. I
haven't found any explanation why it is a sequence rather than a single value,
and the descriptions mostly indicate the opposite. For example:

    leaf-list value {
      type string;
      description
        "The tag value";
    }

    I suspect these values started as leaves and were later changed to
    leaf-lists because some of the example in appendix A.4 also doesn't use
    JSON lists for these values (see below).

***** Appendix A

- All examples, many places: Module prefix "ietf-nss" cannot be used in JSON
representation for identity values - full module name has to be used instead.
See sections 4 and 6 in RFC 7951.

- A.4: in four places, "value" should be a JSON list, because it is defined as
leaf-list.