describe the exchanged data format.
The module yes-o1-notify-pnf-registration is only required, if the
network function does not support NETCONF CALL HOME but RESTCONF
- asynchronous messages.
+ asynchronous messages
+
+ Due to the different hardware definitions by 3GPP and by IETF two
+ additional and complimentary yang models are available. It is recommended
+ that the NETCONF-Server offers an implementation at least of one of the
+ following additional yang modules:
+
+ - yes-o1-notify-pnf-registration-3gpp-hardware
+ - yes-o1-notify-pnf-registration-ietf-hardware
Copyright 2022 highstreet technologies GmbH and others.
See the License for the specific language governing permissions and
limitations under the License.";
- revision 2022-08-24 {
+ revision 2022-09-12 {
description
- "Initial version";
+ "Initial version;
+ including feedback from WG4 about the usage of RFC 8348.";
reference
"ONAP SDN-R: wiki.onap.org/display/DW/SDN-R
VES: wiki.opnfv.org/display/ves/VES+Home
docs.onap.org/en/frankfurt/submodules/dcaegen2.git/docs/sections/services/ves-http
YES: wiki.opnfv.org/display/ves/VES+goes+YES
O-RAN Operations and Maintenance Interface Specification (O-RAN.WG10.O1-Interface.0-v07.00)
- section 2.7.2.4 Operations and Notifications";
+ section 2.7.2.4 Operations and Notifications
+ RFC 8348: A YANG Data Model for Hardware Management";
}
/*
base yt:domain-id;
description
"Indicates, that the event body contains o1-notify-nf-registration
- asynchron message context.";
+ asynchronous message context.";
}
/*
*/
grouping o1-notify-pnf-registration-grp {
- // TODO align with ietf-hardware, ONAP AAI, ONF manufactured-thing
- // Parameter Name S Information Type Comment
- // objectClass M ManagedEntity.objectClass Class of the managed object, registering for service.
leaf object-class {
type string {
length "3..255";
"The name of the object class describing a PNF in the context of
PNF registration. ";
}
- // objectInstance M ManagedEntity.objectInstance
- // Instance of the managed object, registering for service.
leaf object-instance {
type yt:resource;
mandatory true;
description
"Reference to the object representing the PNF.";
}
- // notificationId M NotificationId Notification identifier as defined in ITU-T Rec. X. 733
leaf notification-identifier {
type uint64;
mandatory true;
reference
"ITU-T Rec. X.733 - section 8.1.2.8.";
}
- // notificationType M "o1notifyPnfRegistration"
leaf notification-type {
type yt:domain-id;
mandatory true;
description
"Only the domain identity 'o1-notify-pnf-registration' is allowed.";
}
- // eventTime M DateTime Time when the NF is sending the registration.
leaf event-time {
type yang:date-and-time;
mandatory true;
"The earliest time aka epoch time associated with the event from
any component.";
}
- // systemDN M SystemDN DN of the MnS provider of the notification
leaf system-distinguished-name {
type string;
mandatory true;
description
"Distinguished Name of the management service provider of the notification";
}
- // o1SpecVersion M number Version of the O1 Specification defining the format of this PNF registration notification
leaf o1-specification-version {
type string {
length "1..5";
description
"The version of the O1 Specification defining the format of this PNF registration notification";
}
- // serialNumber M string 3GPP TS 28.632 [43] serialNumber = serial number of the unit
- leaf serial-number {
- type string {
- length "3..255";
- }
- mandatory true;
- description
- "The serial number of the network function.";
- reference
- "3GPP TS 28.632 serialNumber";
- }
- // vendorName M string 3GPP TS 28.632 [43] vendorName = name of the NF vendor.
choice vendor {
case vendor-private-enterprise-number {
leaf vendor-pen {
"Network function vendor IANA private enterprise number.";
}
}
- case name {
- leaf vendor-name {
- type string;
- description
- "Network function vendor name according to IANA Private Enterprise Numbers";
- }
- }
description
"The network function vendor can be identified by its name or by its
IANA private enterprise number (PEN)";
reference
"IANA Private Enterprise Numbers
http://www.iana.org/assignments/enterprise-numbers/enterprise-numbers";
- // leaf vendor-name {
- // type string {
- // length "1..255";
- // }
- // mandatory true;
- // description
- // "The company name of manufacturer.";
- // reference
- // "3GPP TS 28.632 vendorName";
}
- // oamV4IpAddress CM string IPv4 m-plane IP address to be used by the manager to contact the NF.
- // oamV6IpAddress CM string IPv6 m-plane IP address to be used by the manager to contact the NF.
leaf oam-host {
type inet:host;
mandatory true;
description
"The port number the PNF listens for OAM commands..";
}
- // macAddress O string MAC address of the OAM of the unit
- leaf mac-address {
- type yang:mac-address;
- description
- "The MAC address of OAM interface of the network function.";
- }
- // unitFamily O string 3GPP TS 28.632 [43] vendorUnitFamilyType = general type of HW unit
leaf unit-family {
type string {
length "1..255";
reference
"3GPP TS 28.632 vendorUnitFamilyType";
}
- // unitType O string 3GPP TS 28.632 [43] vendorUnitTypeNumber = vendor name for the unit
leaf unit-type {
type string {
length "1..255";
reference
"3GPP TS 28.632 vendorUnitTypeNumber";
}
- // modelNumber O string 3GPP TS 28.632 [43] versionNumber = version of the unit from the vendor
- leaf model-number {
- type string {
- length "1..255";
- }
- description
- "Version of the network function from the vendor.";
- reference
- "3GPP TS 28.632 versionNumber";
- }
- // softwareVersion O string 3GPP TS 28.632 [43] swName = software release name. This is the software provided by the vendor at onboarding to be run on this version of the NF and can contain multiple underlying software images.
- leaf software-version {
- type string {
- length "1..255";
- }
- description
- "The active software version running on the network function.";
- reference
- "3GPP TS 28.632 swName";
- }
- // restartReason O string Reason the NF restarted, if known
leaf restart-reason {
type string {
length "1..255";
description
"The reason the network function restarted.";
}
- // manufactureDate O string 3GPP TS 28.632 [43] dateOfManufacture = manufacture date of the unit in ISO 8601 format; e.g.,2016-04-23
- leaf manufacture-date {
- type yang:date-and-time;
- description
- "Manufacture date of the network function.";
- }
- // lastServiceDate O string 3GPP TS 28.632 [43] dateOfLastService = date of last service in ISO 8601 format; e.g., 2017-02-15
- leaf last-service-date {
- type yang:date-and-time;
- description
- "Date when the field operation stuff way on-side.";
- }
- // additionalFields O hashMap Additional registration fields if needed, provided as key-value pairs.
description
"An object class containing o1-notify-pnf-registration specific parameters.";
}