Liaison statement
LS on need for modeling isInvariant and SystemCreated in YANG
Additional information about IETF liaison relationships is available on the
IETF webpage
and the
Internet Architecture Board liaison webpage.
State | Posted |
---|---|
Submitted Date | 2023-03-09 |
From Group | 3GPP-TSG-SA-WG5 |
From Contact | Susanna Kooistra |
To Group | netmod |
To Contacts | Kent Watsen <kent+ietf@watsen.net> Lou Berger <lberger@labn.net> |
Cc | Robert Wilton <rwilton@cisco.com> Network Modeling Discussion List <netmod@ietf.org> Kent Watsen <kent+ietf@watsen.net> Lou Berger <lberger@labn.net> Warren Kumari <warren@kumari.net> |
Response Contact | 3GPPLiaison@etsi.org |
Purpose | For information |
Attachments | S5-232770 LSout on need for modeling isInvariant and SystemCreated in YANG |
Body |
1.1 3GPP SA5 Introduction The 3rd Generation Partnership Project (3GPP) unites seven telecommunications standard development organizations (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). Its work includes development and maintenance of standards for GSM and related 2G and 2.5G standards, including GPRS and EDGE UMTS and related 3G standards, including HSPA and HSPA+ LTE and related 4G standards, including LTE Advanced and LTE Advanced Pro 5G NR and related 5G standards, including 5G-Advanced An evolved IP Multimedia Subsystem (IMS) developed in an access independent manner 3GPP SA5 workgroup specifies Management, Orchestration and Charging requirements, solutions, and protocol specific definitions. The solutions include architecture, service definitions and data definitions. 3GPP SA5 defines OAM information and data models. Stage 2 information models are defined based on a UML subset as defined in 3GPP TS 32.156[3]. The base concepts used are classes/objects arranged in a tree shaped containment hierarchy and attributes that are contained in these classes/objects. 1.2 3GPP SA5 using YANG for 5G – a major YANG community 3GPP introduced YANG as one of the stage3 data models for 5G. Stage 3 data models (Solution Sets) are defined in YANG and in JsonSchema/OpenApi for 5G NR and related 5G standards, including 5G-Advanced. This document considers the YANG models but does not handle the OpenApi models. According to 3GPP rules and processes Stage 3 data models should be a direct mapping of the stage 2 information models. Stage 3 should not add or remove data or data handling concepts to stage 2 definitions. While mapping 3GPP Stage 2 models to any solution set is necessarily imperfect, the goal is to follow stage 2 concepts as closely as possible. 3GPP TS 32.160[4] clause 6.2 defines how to map stage 2 information models to YANG. Classes are mapped to YANG lists. Attributes are mapped to YANG leaves, leaf-lists and lists contained under the list of the class. The most important 3GPP Stage 2 and Stage 3 models are currently defined in 3GPP TS 28.622[5], 28.623[6] and 28.541[7]. 3GPP Stage 2 models include modeling concepts (including isInvariant and SystemCreated Classes) that currently cannot be mapped to IETF defined YANG statements. So a solution to represent the isInvariant and SystemCreated properties in IETF defined YANG statements is needed to support 3GPP stage3 YANG data model. 1.2.1 isInvariant We propose to formally document as a YANG extension a model handling behavior (inVariant) that is allowed today in YANG and which has been used in 3GPP for a long time. 3GPP TS 32.156[3] clause 5.2.1.1 defines the isInvariant property for attributes. An attribute with the isInvariant=True property may be assigned a value when the containing Object is created, but the value of the attribute cannot be modified later. The only way to modify the attribute value is to delete the containing object and re-create it with the same attribute having a different value. However, such a delete/recreate sequence may often have undesirable side-effects e.g., traffic disturbance. RFC 7950 either allows a data node to be written or not (config true/false) but does not differentiate between the initial creation of a data node or a later modification. YANG allows the server to refuse any modification for any reason even if a data node is config=true, so YANG allows behavior according to the 3GPP isInvariant=True property. It is needed to formally document this behavior (which is known already at design/implementation time) in the YANG models so that model driven tools/SW can understand it. 1.2.2 SystemCreated Classes We propose to formally document as a YANG extension a model handling behavior (SystemCreated) that is allowed today in YANG and which has been used in 3GPP for a long time. In TS 28.622[5] and TS 28.541[7] several Classes are defined as created and deleted by the system (MnS Provider in 3GPP terms that is the server in YANG terminology). Managed Object Instances of SystemCreated classes cannot be created or deleted by the client (MnS_Consumer). SystemCreated classes in many cases contain writable attributes. SystemCreated classes include ThresholdMonitor, HeartbeatControl, NtfSubscriptionControl, AlarmList, TraceJob, PerfMetricJob, Files, File, Dynamic5QISet. All 3GPP classes are mapped to YANG lists. Attributes are mapped to YANG leaves, leaf-lists and lists contained under the list of the class. According to RFC 7950 the only way to declare that entries in a list (representing a SystemCreated object) cannot be added or deleted is to mark the list as config=false. However, a config=false list cannot contain writable (config=true) data nodes. YANG allows marking the list of the class as config=true and defining writable (config=true) data nodes (attributes) below it. YANG also allows the server to refuse any modification for any reason even if a data node is config=true, so YANG allows the server to reject the creation/deletion of config=true list entries. YANG allows behavior according to the 3GPP SystemCreated concept. It is needed to formally document this behavior (which is known already at design/implementation time) in the YANG models so that model driven tools/SW can understand it. 1.3 ITU-T usage of the immutable concept ITU-T uses similar concepts with an imperfect YANG mapping. The modeling concepts of isInvariant (a Boolean property that indicates whether an attribute value can be changed after it has been created) and writeAllowed (an Enumeration that indicates various restrictions on creating and setting a value) cannot be modeled in YANG today. The concepts would be supported if the concept of immutable was added to YANG. See G.8052.1[9], G.8152.2, and G.874.1 for examples of specification of a model using isInvariant and writeAllowed but including an incomplete mapping in the accompanying YANG. The properties are only visible in the UML model as YANG support is missing. See also [10]. 1.4 IETF Solution preferred While we raise the issue, in order to document 3GPP concepts, we seek an IETF ratified solution because • IETF ratified solutions are more likely to be implemented by YANG/Netconf SW tools. • 3GPP represents a significant standard, vendor, and user community for YANG. • The invariant and SystemCreated concepts are not unique to 3GPP. They are used by other standard organizations and vendors. • Participants in IETF itself have identified several similar use-cases independent of 3GPP. See [2]. • To avoid using vendor or standard specific solutions for a common problem: o 3GPP uses both above concepts and has already defined a YANG extension for inVariant. o ITU-T uses the invariant concept o Ericsson has a similar extension defined o YumaPro has a similar extension defined yuma-ncx:user-write. o Nokia has a similar extension defined sros-ext: immutable o Huawei also has the very similar extension defined as ext: operation-exclude (see https://github.com/Huawei/yang/blob/master/network-router/8.22.0/ne8000-x/huawei-extension.yang) o Cisco has isInvariant=true data nodes in some of it’s YANG models o Junos OS provides a hidden and immutable configuration group called junos-defaults that is automatically applied to the configuration of your device. 3GPP SA5 sees draft-ma-netmod-immutable-flag [2] as a potential solution. 2 References [1] IETF RFC 7950 he YANG 1.1 Data Modeling Language [2] draft-ma-netmod-immutable-flag YANG Extension and Metadata Annotation for Immutable Flag [3] 3GPP TS 32.156 Telecommunication management; Fixed Mobile Convergence (FMC) Model repertoire [4] 3GPP TS 32.160 Management and orchestration; Management service template [5] 3GPP TS 28.622 Telecommunication management; Generic Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS) [6] 3GPP TS 28.623 Telecommunication management; Generic Network Resource Model (NRM) Integration Reference Point (IRP); Solution Set (SS) definitions [7] 3GPP TS 28.541 Management and orchestration; 5G Network Resource Model (NRM); Stage 2 and stage 3 [8] 3GPP YANG module _3gpp-common-yang-extensions.yang [9] ITU-T G.8052.1/Y.1346.1 Operation, administration, maintenance (OAM) management information and data models for the Ethernet-transport network element [10] ONF TR-531 v1.1.03 February 3, 2023, UML to YANG Mapping Guidelines 3 Actions To IETF Netmod WG ACTION: 3GPP SA5 respectfully asks NETMOD WG to consider 3GPP SA5 workgroup’s strong requirement for a solution to represent the isInvariant and SystemCreated properties in an IETF ratified manner. 3 Dates of next TSG SA WG 5 meetings SA5#147 27 February - 3rd March 2023 Athens, GR SA5#148-e 17th – 21st April 2023 Online |