Commit cbe5b31e authored by Balazs Lengyel's avatar Balazs Lengyel

YAMs according to 28623-g31-0401-balazscorrection.doc and 28541-g40-0331.docx...

YAMs according to 28623-g31-0401-balazscorrection.doc and 28541-g40-0331.docx - Balazs correction is removing a superfouous quote+semicolon in subnetwork
parent 5fd5233a
Pipeline #3186 passed with stage
in 0 seconds
...@@ -3,6 +3,7 @@ module _3gpp-5g-common-yang-types { ...@@ -3,6 +3,7 @@ module _3gpp-5g-common-yang-types {
namespace "urn:3gpp:sa5:_3gpp-5g-common-yang-types"; namespace "urn:3gpp:sa5:_3gpp-5g-common-yang-types";
prefix "types5g3gpp"; prefix "types5g3gpp";
import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-types { prefix types3gpp; }
organization "3GPP SA5"; organization "3GPP SA5";
...@@ -50,7 +51,8 @@ module _3gpp-5g-common-yang-types { ...@@ -50,7 +51,8 @@ module _3gpp-5g-common-yang-types {
type CommModelType; type CommModelType;
} }
leaf-list targetNFServiceList { leaf-list targetNFServiceList {
type types3gpp:DistinguishedName;
type types3gpp:DistinguishedName;
} }
leaf commModelConfiguration { leaf commModelConfiguration {
type string; type string;
......
...@@ -43,7 +43,7 @@ module _3gpp-5gc-nrm-amffunction { ...@@ -43,7 +43,7 @@ module _3gpp-5gc-nrm-amffunction {
type inet:domain-name; type inet:domain-name;
} }
leaf-list NSSAIList { leaf-list sNSSAIList {
min-elements 0; // conditionally mandatory if network slicing feature is supported min-elements 0; // conditionally mandatory if network slicing feature is supported
description "List of S-NSSAIs the managed object is capable of supporting. description "List of S-NSSAIs the managed object is capable of supporting.
(Single Network Slice Selection Assistance Information) (Single Network Slice Selection Assistance Information)
......
...@@ -7,8 +7,8 @@ module _3gpp-5gc-nrm-ausffunction { ...@@ -7,8 +7,8 @@ module _3gpp-5gc-nrm-ausffunction {
import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-function { prefix mf3gpp; }
import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-managed-element { prefix me3gpp; }
import ietf-inet-types { prefix inet; } import ietf-inet-types { prefix inet; }
import _3gpp-common-yang-types { prefix types3gpp; }
import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; }
import _3gpp-common-yang-types { prefix types3gpp; }
import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-top { prefix top3gpp; }
organization "3gpp SA5"; organization "3gpp SA5";
...@@ -55,6 +55,7 @@ module _3gpp-5gc-nrm-ausffunction { ...@@ -55,6 +55,7 @@ module _3gpp-5gc-nrm-ausffunction {
min-elements 1; min-elements 1;
uses types3gpp:ManagedNFProfile; uses types3gpp:ManagedNFProfile;
} }
list commModelList { list commModelList {
min-elements 1; min-elements 1;
......
...@@ -480,8 +480,8 @@ module _3gpp-5gc-nrm-ep { ...@@ -480,8 +480,8 @@ module _3gpp-5gc-nrm-ep {
uses EP_N32Grp; uses EP_N32Grp;
} }
} }
}
}
augment "/me3gpp:ManagedElement/smsf3gpp:SMSFFunction" { augment "/me3gpp:ManagedElement/smsf3gpp:SMSFFunction" {
list EP_N20 { list EP_N20 {
description "Represents the EP_20 IOC."; description "Represents the EP_20 IOC.";
......
...@@ -18,6 +18,7 @@ module _3gpp-5gc-nrm-smsffunction { ...@@ -18,6 +18,7 @@ module _3gpp-5gc-nrm-smsffunction {
revision 2019-05-15 { revision 2019-05-15 {
description "initial revision"; description "initial revision";
} }
grouping SMSFFunctionGrp { grouping SMSFFunctionGrp {
......
...@@ -18,6 +18,7 @@ module _3gpp-5gc-nrm-udsffunction { ...@@ -18,6 +18,7 @@ module _3gpp-5gc-nrm-udsffunction {
revision 2019-05-22 { revision 2019-05-22 {
description "initial revision"; description "initial revision";
} }
grouping UDSFFuntionGrp { grouping UDSFFuntionGrp {
......
...@@ -54,7 +54,7 @@ module _3gpp-5gc-nrm-upffunction { ...@@ -54,7 +54,7 @@ module _3gpp-5gc-nrm-upffunction {
min-elements 1; min-elements 1;
uses types3gpp:ManagedNFProfile; uses types3gpp:ManagedNFProfile;
} }
list commModelList { list commModelList {
min-elements 1; min-elements 1;
key "groupId"; key "groupId";
......
module _3gpp-common-fm {
yang-version 1.1;
namespace "urn:3gpp:sa5:_3gpp-common-fm";
prefix "fm3gpp";
import ietf-yang-types { prefix yang; }
import _3gpp-common-top { prefix top3gpp; }
import _3gpp-common-yang-types { prefix types3gpp; }
organization "3GPP SA5";
description "Defines a Fault Management model";
reference "3GPP TS 28.623
Generic Network Resource Model (NRM)
Integration Reference Point (IRP);
Solution Set (SS) definitions
3GPP TS 28.622
Generic Network Resource Model (NRM)
Integration Reference Point (IRP);
Information Service (IS)";
revision 2020-02-24 {
reference "S5-201365";
}
typedef eventType {
type enumeration {
enum COMMUNICATIONS_ALARM {
value 2;
}
enum QUALITY_OF_SERVICE_ALARM {
value 3;
}
enum PROCESSING_ERROR_ALARM {
value 4;
}
enum EQUIPMENT_ALARM {
value 5;
}
enum ENVIRONMENTAL_ALARM {
value 6;
}
enum INTEGRITY_VIOLATION {
value 7;
}
enum OPERATIONAL_VIOLATION {
value 8;
}
enum PHYSICAL_VIOLATIONu {
value 9;
}
enum SECURITY_SERVICE_OR_MECHANISM_VIOLATION {
value 10;
}
enum TIME_DOMAIN_VIOLATION {
value 11;
}
}
description "General category for the alarm.";
}
typedef severity-level {
type enumeration {
enum CRITICAL { value 3; }
enum MAJOR { value 4; }
enum MINOR { value 5; }
enum WARNING { value 6; }
enum INDETERMINATE { value 7; }
enum CLEARED { value 8; }
}
description "The possible alarm serverities.
Aligned with ERICSSON-ALARM-MIB.";
}
grouping AlarmRecordGrp {
description "Contains alarm information of an alarmed entity of a
name-tree whose top is FMControlAttachment.
One MonitoredEntity2 has at most one AlarmList. The producer assigns an
identifier, called alarmId, to each AlarmRecord in the AlarmList. An
alarmId unambiguously identifies one alarm record in the AlarmList.
The producer maintains one AlarmList containing currently active
alarms i.e.:
a) Alarm record(s) whose perceivedSeverity is not CLEARED and;
b) Alarm record(s) whose perceivedSeverity is CLEARED and its ackState
is not ACKNOWLEDGED.
The producer may remove alarm records that are not active alarms.
The availability and accuracy of time carried by the
time parameters in individual entries of the list shall be
'best effort'.
Reason: A Management System is not required to persistently store
these times or other alarm information (as in case of synchronization
information may be provided by the NE), while also some NE's do not
keep these times (and a later attempt to retrieve the alarm data
from the NEs will not deliver these time data).";
leaf alarmType {
config false ;
type eventType;
description "General category for the alarm.";
}
leaf objectClass_objectInstance {
type string;
config false ;
description "";
}
leaf alarmId {
type string;
description "Identifies the alarmRecord";
}
leaf alarmRaisedTime {
type yang:date-and-time ;
config false ;
}
leaf alarmChangedTime {
type yang:date-and-time ;
config false ;
description "not applicable if related alarm has not changed";
}
leaf alarmClearedTime {
type yang:date-and-time ;
config false ;
description "not applicable if related alarm was not cleared";
}
leaf probableCause {
type string;
// the valuespace may be restricted later
config false ;
}
leaf perceivedSeverity {
type severity-level;
description "This is Writable only if producer supports consumer
to set perceivedSeverity to CLEARED";
}
leaf rootCauseIndicator {
type string;
// the valuespace may be restricted later
config false ;
description "";
}
leaf specificProblem {
type string;
// the valuespace may be restricted later
config false ;
description "";
}
leaf backedUpStatus {
type string;
// the valuespace may be restricted later
config false ;
description "not applicable if related alarm is a security alarm";
}
leaf trendIndication {
type string;
// the valuespace may be restricted later
config false ;
description "not applicable if related alarm is a security alarm";
}
leaf thresholdInfo {
type string;
// the valuespace may be restricted later
config false ;
description "not applicable if related alarm is a security alarm";
}
leaf stateChangeDefinition {
type string;
// the valuespace may be restricted later
config false ;
description "not applicable if related alarm is a security alarm";
}
leaf monitoredAttributes {
type string;
// the valuespace may be restricted later
config false ;
description "not applicable if related alarm is a security alarm";
}
leaf proposedRepairActions {
type string;
config false ;
description "not applicable if related alarm is a security alarm";
}
leaf additionalText {
type string;
config false ;
description "";
}
leaf additionalInformation {
type string;
config false ;
description "";
}
leaf ackTime {
type yang:date-and-time ;
config false ;
description "The time the alarm was acknowledged
not applicable if related alarm was not acknowledged
nor unacknowledged";
}
leaf ackUserId {
type string;
config false ;
description "not applicable if related alarm was not acknowledged
nor unacknowledged";
}
leaf ackSystemId {
type string;
// the valuespace may be restricted later
config false ;
description "not applicable if related alarm was not acknowledged
nor unacknowledged";
}
leaf ackState {
type string;
// the valuespace may be restricted later
description "not applicable if related alarm was not acknowledged
nor unacknowledged";
}
leaf clearUserId {
type string;
// the valuespace may be restricted later
config false ;
description "not applicable if related alarm was not cleared";
}
leaf clearSystemId {
type string;
// the valuespace may be restricted later
config false ;
description "not applicable if related alarm was not cleared";
}
leaf serviceUser {
type string;
// the valuespace may be restricted later
config false ;
description "not applicable if related alarm is not a security alarm";
}
leaf serviceProvider {
type string;
// the valuespace may be restricted later
config false ;
description "not applicable if related alarm is not a security alarm";
}
leaf securityAlarmDetector {
type string;
// the valuespace may be restricted later
config false ;
description "not applicable if related alarm is not a security alarm";
}
}
grouping FMControlGrp {
description "Represents a capability to manage alarm records and alarm
notifications.";
leaf administrativeState {
type types3gpp:AdministrativeState ;
default LOCKED;
description "The consumer sets this attribute to UNLOCKED instructing
the producer to report and record alarm information.
The consumer sets the attribute to LOCKED instructing detection,
reporting and recording of alarm information are no longer needed.";
}
leaf operationalState {
type types3gpp:OperationalState ;
default DISABLED;
config false;
description "The producer sets this attribute to ENABLED, indicating
that it has the resource and ability to record alarm in AlarmList
and sending alarm notification to faultReportTarget (an attribute
of NtfSubscriptionControl IOC);
else, it sets the attribute to DISABLED.";
}
}
grouping AlarmListGrp {
description "Represents the list of alarm records.";
leaf numOfAlarmRecords {
type uint32 ;
config false;
description "The number of alarm records in the AlarmList";
}
leaf lastModification {
type yang:date-and-time ;
config false;
description "The last time when an alarm record is modified";
}
list alarmRecordList {
key alarmId;
description "List of alarmRecords";
uses AlarmRecordGrp;
}
}
grouping FmSubtree {
description "Contains FM related classes.
Should be used in all classes (or classes inheriting from)
- SubNnetwork
- ManagedElement
If some YAM wants to augment these classes/list/groupings they must
augment all user classes!";
list FMControl {
key id;
max-elements 1;
description "Represents a capability to manage alarm records and alarm
notifications. The alarm records and notifications managed are related to
managed entities of the naming-tree whose top instance is one
name-containing this FMControl.
The FMControl MnS producer, upon detection of an abnormal behaviour of
its managed entities, would create or update an alarm record of the
AlarmList. Consumer who has a subscription with NtfSubscriptionControl
MnS would receive alarm notifications.";
uses top3gpp:Top_Grp ;
container attributes {
uses FMControlGrp ;
}
}
list AlarmList {
key id;
max-elements 1;
description "Represents the list of alarm records. The alarm records are
related to managed entities of the naming-tree whose top instance is one
name-containing this AlarmList.
The producer would create this AlarmList instance.
Over time, the producer may produce, say n notifications, for a
particular alarmed object instance. The number of records in the
AlarmList may not be n.
AlarmList shall hold, for the same alarmed object instance, only one
record if and only if, the notifications carry identical values for
eventType, probableCause and specificProblem. See the
Matching-Criteria-Attributes definition
in 3GPP TS 28.532.";
uses top3gpp:Top_Grp ;
container attributes {
uses AlarmListGrp ;
}
}
}
}
\ No newline at end of file
...@@ -6,18 +6,27 @@ module _3gpp-common-managed-element { ...@@ -6,18 +6,27 @@ module _3gpp-common-managed-element {
import _3gpp-common-yang-types { prefix types3gpp ; } import _3gpp-common-yang-types { prefix types3gpp ; }
import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-top { prefix top3gpp; }
import _3gpp-common-measurements { prefix meas3gpp; } import _3gpp-common-measurements { prefix meas3gpp; }
import _3gpp-common-fm { prefix fm3gpp; }
organization "3GPP SA5"; organization "3GPP SA5";
description "Defines ManagedElement which will be augmented description "Defines ManagedElement which will be augmented
by other IOCs"; by other IOCs";
reference "3GPP TS 28.622 reference "3GPP TS 28.623
Generic Network Resource Model (NRM)
Integration Reference Point (IRP);
Solution Set (SS) definitions
3GPP TS 28.622
Generic Network Resource Model (NRM) Generic Network Resource Model (NRM)
Integration Reference Point (IRP); Integration Reference Point (IRP);
Information Service (IS) Information Service (IS)
3GPP TS 28.620 3GPP TS 28.620
Umbrella Information Model (UIM)"; Umbrella Information Model (UIM)";
revision 2020-02-24 {
reference "S5-201365";
}
revision 2019-06-17 { revision 2019-06-17 {
description "Initial revision"; description "Initial revision";
} }
...@@ -26,6 +35,10 @@ module _3gpp-common-managed-element { ...@@ -26,6 +35,10 @@ module _3gpp-common-managed-element {
description "The MeasurementSubtree shall be contained under ManageElement"; description "The MeasurementSubtree shall be contained under ManageElement";
} }
feature FmUnderManagedElement {
description "The FmSubtree shall be contained under ManageElement";
}
grouping ManagedElement_Grp { grouping ManagedElement_Grp {
description "Abstract class representing telecommunications resources. description "Abstract class representing telecommunications resources.
An ME communicates with a manager (directly or indirectly) for the An ME communicates with a manager (directly or indirectly) for the
...@@ -152,5 +165,9 @@ module _3gpp-common-managed-element { ...@@ -152,5 +165,9 @@ module _3gpp-common-managed-element {
uses meas3gpp:MeasurementSubtree { uses meas3gpp:MeasurementSubtree {
if-feature MeasurementsUnderManagedElement ; if-feature MeasurementsUnderManagedElement ;
} }
uses fm3gpp:FmSubtree {
if-feature FmUnderManagedElement ;
}
} }
} }
\ No newline at end of file
...@@ -8,26 +8,28 @@ module _3gpp-common-measurements { ...@@ -8,26 +8,28 @@ module _3gpp-common-measurements {
organization "3GPP SA5"; organization "3GPP SA5";
description "Defines Measurement related groupings description "Defines Measurement and KPI related groupings
Any list/class intending to use this should include 2 uses statements Any list/class intending to use this should include 2 or 3 uses statements
controlled by a feature: controlled by a feature:
A) A)
+++ feature MeasurementsUnderMyClass { +++ feature MeasurementsUnderMyClass {
+++ description 'Indicates whether measurements are supported for this class.'; +++ description 'Indicates whether measurements and/or KPIs are supported
+++ for this class.';
+++ } +++ }
B) include the attribute supportedMeasurementsGPs indicating the B) include the attribute measurementsList and/or kPIsList indicating the
supported measurmentTypes and GPs. Note that for classes inheriting from supported measurment and KPI types and GPs. Note that for classes
ManagedFunction, EP_RP or SubNetwork this attribute is already inherited, inheriting from ManagedFunction, EP_RP or SubNetwork these attributes are
so there is no need to include it once more.E.g. already inherited, so there is no need to include them once more. E.g.
grouping MyClassGrp { +++ grouping MyClassGrp {
+++ uses meas3gpp:Measurements; +++ uses meas3gpp:Measurements;
} +++ uses meas3gpp:KPIs;
+++ }
C) include the classes MeasurementControl & MeasuremntReader to C) include the classes MeasurementControl & MeasurementReader to
control the measurements. E.g. control the measurements/KPIs. E.g.
list MyClass { list MyClass {
container attributes { container attributes {
...@@ -40,13 +42,20 @@ module _3gpp-common-measurements { ...@@ -40,13 +42,20 @@ module _3gpp-common-measurements {
Measurements can be contained under ManagedElement, SubNetwork, or Measurements can be contained under ManagedElement, SubNetwork, or
any list representing a class inheriting from EP_RP, Subnetwork or any list representing a class inheriting from EP_RP, Subnetwork or
ManagedFunction."; ManagedFunction. Note: KPIs will only be supported under SubNetwork";
reference "3GPP TS 28.622 reference "3GPP TS 28.623
Generic Network Resource Model (NRM)
Integration Reference Point (IRP);
Solution Set (SS) definitions
3GPP TS 28.622
Generic Network Resource Model (NRM) Generic Network Resource Model (NRM)
Integration Reference Point (IRP); Integration Reference Point (IRP);
Information Service (IS)"; Information Service (IS)";
revision 2020-03-11 { reference "S5-201581, SP-200229"; }
revision 2019-11-21 { revision 2019-11-21 {
reference "S5-197275, S5-197735"; reference "S5-197275, S5-197735";
} }
...@@ -62,9 +71,43 @@ module _3gpp-common-measurements { ...@@ -62,9 +71,43 @@ module _3gpp-common-measurements {
description "The delivery of measurement data using streaming is supported."; description "The delivery of measurement data using streaming is supported.";
} }
grouping KPIs {
description "Identifies the supported KPI names and their
supported GPs.
KPIs can be used by SubNetwork, or any list representing a class
inheriting from Subnetwork.";
list kPIsList {
key idx;
config false;
description "List of supported KPI names and their
supported GPs for the parent function/class";
leaf idx { type uint32 ; }
leaf-list kPINames {
type string;
min-elements 1;
description "The KPI names can be those specified
in TS 28.554 and can be those specified by
other SDOs or can be vendor-specific.";
}
leaf-list gPs {
type uint32 ;
units second;
min-elements 1;
description "Identifies supported GPs.
GP (granularity period) is the time between the initiation
of two successive gatherings of performance data.";
}
}
}
grouping Measurements { grouping Measurements {
description "Identifies the supported Measurement types and their description "Identifies the supported Measurement types and their
supported GPs."; supported GPs. Measurements can be used by SubNetwork, MnagedElement,
ManagedFunction or any list representing a class inheriting from them.";
list measurementsList { list measurementsList {
key idx; key idx;
...@@ -106,8 +149,8 @@ module _3gpp-common-measurements { ...@@ -106,8 +149,8 @@ module _3gpp-common-measurements {
using the capability of MeasurementControl, imposed through the consumer using the capability of MeasurementControl, imposed through the consumer
of OAM services produced by MeasurementControl, of OAM services produced by MeasurementControl,
The measurement report production would begin when pMadministrativeState The measurement or KPI report production would begin when
is UNLOCKED and pMoperationalState is ENABLED."; pMadministrativeState is UNLOCKED and pMoperationalState is ENABLED.";
} }
leaf pMOperationalState { leaf pMOperationalState {
...@@ -197,22 +240,29 @@ module _3gpp-common-measurements { ...@@ -197,22 +240,29 @@ module _3gpp-common-measurements {
leaf-list measurementTypes { leaf-list measurementTypes {
type string ; type string ;
description "The Measurement type to be reported. It must be one of the description "If the MeasurementControl contaning this attribute is used
measurmentTypes supported by the containing function/class. for measurement collecting purpose, it identifies one or more
The Measurement type can be those specified in TS 28.552, Measurement types. The Measurement type can be those specified in
TS 32.404 and can be those specified by other SDOs or can be TS 28.552, TS 32.404 and can be those specified by other SDOs or
vendor-specific."; can be vendor-specific.
If the MeasurementControl is used for KPIs reporting purpose, it
identifies one or more KPI names. The KPI name can be those specified
in TS 28.554 and can be those specified by other SDOs or can be
vendor-specific.
KPI names can only be specified if this MeasurementReader is
contained under a SubNetwork or derived IOC.";
} }
leaf-list managedObjectDNsBasic { leaf-list managedObjectDNsBasic {
type types3gpp:DistinguishedName ;