1.1.1 NetworkServiceDescriptorModel
1.2 Classes
1.2.1 NetworkServiceDescriptor
The NSD class is a deployment template whose instances are used by the NFVO for the lifecycle management of NSs. For all attributes in this class, the Producer is SDC and the Consumer is SDC/UUI/VFC
Applied stereotypes:
- Preliminary
- OpenModelClass
- support: MANDATORY
Attribute Name | Type | Mult. | Stereotypes | Description |
nsdIdentifier | Identifier | 1 | OpenModelAttribute
Preliminary | Identifier of this NSD class. It globally uniquely identifies an instance of the NSD
|
designer | String | 1 | OpenModelAttribute
Preliminary | Identifies the designer of the NSD.
|
version | Version | 1 | OpenModelAttribute
Preliminary | Identifies the version of the NSD.
|
nsdName | String | 1 | OpenModelAttribute
Preliminary | Provides the human readable name of the NSD.
|
nsdInvariantId | Identifier | 1 | OpenModelAttribute
Preliminary | Identifies an NSD in a version independent manner. This attribute is invariant across versions of NSD.
|
autoScalingRule | Rule | 0..* | OpenModelAttribute
Preliminary | Specifies a rule to trigger a scaling action on a NS instantiated according to the NSD. NOTE 1: The rule is based on a combination of assertions on the values of virtualised resource-related performance metrics and VNF Indicators identified by the monitoredInfo attribute. NOTE 2: There may be multiple data sources (each identified as monitoredInfo) per rule
|
monitoredInfo | MonitoredData | 0..* | OpenModelAttribute
Preliminary | Identifies either a virtualised resource-related performance metric or a VNF Indicator.
|
lifeCycleManagementScript | NsLifeCycleManagementScript | 0..* | OpenModelAttribute
Preliminary | Provides a life cycle management script written in a Domain Specific Language (DSL).
|
_virtualLinkDesc | NsVirtualLinkDesc | 0..* | OpenModelAttribute
Preliminary | Provides the constituent VLDs. Cardinality of 0 means that the NS is a NF set with unspecified connectivity.
|
_vnfdId | Vnfd | 0..* | OpenModelAttribute
Preliminary PassedByReference | References the VNFD of a constituent VNF.
|
_pnfdId | Pnfd | 0..* | OpenModelAttribute
Experimental PassedByReference | References the PNFD of a constituent PNF.
|
1.2.2 NsVirtualLinkDesc
The NsVirtualLinkDesc class provides general information enabling the instantiation of virtual links. For all attributes in this class the Producer is SDC and the Consumer is SDC/UUI/VFC.
Parent class: VirtualLinkDesc
Applied stereotypes:
- Preliminary
- OpenModelClass
- support: MANDATORY
Attribute Name | Type | Mult. | Stereotypes | Description |
vitualLinkDescProvider | String | 0..1 | OpenModelAttribute
Preliminary | Defines the organization generating the VLD.
|
virtuaLinkDescVersion | Version | 1 | OpenModelAttribute
Preliminary | Specifies the version of the VLD.
|
virtualLinkDf | VirtualLinkDf | 1 | OpenModelAttribute
Preliminary | Specifies properties for instantiating a VL according to a specific flavour.
|
virtualLinkDescId | Identifier | 1 | OpenModelAttribute
Preliminary | Uniquely identifies a VLD in the parent descriptor. For VnfVirtualLinkDesc, the parent descriptor is the VNFD. For NsVirtualLinkDesc, the parent descriptor is the NSD. Note: the description of this class are different in ETSI GS NFV IFA 011 and ETSI GS NFV IFA 014. The present definition merges the 2 definitions.
|
connectivityType | ConnectivityType | 1 | OpenModelAttribute
Preliminary | Specifies the protocol exposed by a VL and the flow pattern supported by the VL.
|
description | String | 0..1 | OpenModelAttribute
Preliminary | Provides human-readable information on the purpose of the VL (e.g. control plane traffic).
|
1.2.3 Vnfd
The Vnfd class is a deployment template enabling on-boarding VNFs and referencing them from an NSD. It focuses on connectivity aspects only.
1.2.4 Pnfd
The Pnfd class is a deployment template enabling on-boarding PNFs and referencing them from an NSD. It focuses on connectivity aspects only.
1.3 Data Types
1.3.1 ConnectivityType
The ConnectivityType datatype specifies the protocol exposed by a VL and the flow pattern supported by the VL.
Attribute Name | Type | Mult. | Access | Stereotypes | Description |
layerProtocol | LayerProtocol | 1 | RW | Preliminary OpenModelAttribute
| Identifies the protocol this VL gives access to (Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire).
|
flowPattern | String | 0..1 | RW | Preliminary OpenModelAttribute
| Identifies the flow pattern of the connectivity (Line, Tree, Mesh).
|
1.3.2 VirtualLinkDf
The VirtualLinkDf datatype specifies properties for instantiating a VL according to a specific flavour.
Attribute Name | Type | Mult. | Access | Stereotypes | Description |
flavourId | Identifier | 1 | RW | OpenModelAttribute
Preliminary | Identifies this VirtualLinkDF datatype within a VLD.
|
qos | NsQoS | 0..1 | RW | OpenModelAttribute
Preliminary | Specifies quality of service parameters applicable to a VL.
|
serviceAvaibilityLevel | ServiceAvailabilityLevel | 0..1 | RW | OpenModelAttribute
Preliminary | Specifies one of the three levels defined in ETSI GS NFV-REL 001: ? Level 1 ? Level 2 ? Level 3
|
1.3.3 MonitoredData(TBD)
The MonitoredData datatype identifies information to be monitored during the lifetime of a network service instance.
1.3.4 NsLifeCycleManagementScript
The LifeCycleManagementScript information element specifies a script for the NS.
Attribute Name | Type | Mult. | Access | Stereotypes | Description |
event | String | 1..* | RW | OpenModelAttribute
| Describes NS lifecycle event(s) or an external stimulus detected on an NFVO reference point. NOTE 1: A minimum set of NS lifecycle events triggered internally by the NFVO includes: start instantiation, end instantiation, start scaling, end scaling, start healing, end healing, start termination, end termination, start update, end update. NOTE 2: A minimum set of external stimulus includes: the receipt of request message of instantiation, scaling, healing, termination, update of NS.
|
script | String | 1 | RW | OpenModelAttribute
| Includes an NS LCM script (e.g., written in a DSL) triggered to react to one of the events listed in the event attribute.
|
1.3.5 NsQoS
The NsQoS datatype specifies quality of service parameters applicable to a NS VL.
Attribute Name | Type | Mult. | Access | Stereotypes | Description |
priority | Integer | 0..1 | RW | OpenModelAttribute
Preliminary | Specifies the priority level in case of congestion on the underlying physical links.
|
latency | Number | 1 | RW | OpenModelAttribute
Preliminary | Maximum latency in ms.
|
packetDelayVariation | Number | 1 | RW | OpenModelAttribute
Preliminary | Maximum jitter in ms.
|
packetLossRatio | Number | 0..1 | RW | OpenModelAttribute
Preliminary | Maximum packet loss ratio. Cardinality is 0 if no packetLossRatio requirement exists.
|
1.4 Enumerations
1.4.1 ServiceAvailabilityLevel
Specifies one of the three levels defined in ETSI GS NFV-REL 001: ? Level 1 ? Level 2 ? Level 3
Contains Enumeration Literals:
- LEVEL_1:
- LEVEL_2:
- LEVEL_3:
5 Comments
Thinh Nguyenphu
Hello,
After reviewing https://wiki.onap.org/display/DW/NetworkService (this wiki page), I still have many issues with network service IM model. The following are my comments:
Figure ONAP R2 (Simplification for implication)
[Thinh] Some of key network service class such as VlProfile, SAP (nsVirtualLink, VnfExtCp), Pnf descriptor, NsInstantiantionLevel, NsVirtualLinkConnectivity are missing in the above figure.
Example:
[Thinh] SAP and PNF are missing in the above figure.
Class:NSD
pnfdId
M
0..N
String
References the PNFD of a constituent PNF.
SDC
SDC/UUI/VFC
pnfdId
R3+
[Thinh] pnfdId should be part of R2
sapd
M
0..N
Sapd
Provides the descriptor of a service access point of the network service.
SDC
SDC/UUI/VFC
sapd
R3+
[Thinh] Sapd should be part of R2
lifeCycleManagementScript
M
0..N
LifeCycleManagementScript
Provides a life cycle management script written in a Domain Specific Language (DSL).
SDC
SDC/UUI/VFC
lifeCycleManagementScript
[Thinh] Should it be for further study (FFS) or what is blank means on the last column?
nsDf
M
1..N
NsDf
Identifies a DF within the scope of an NSD.
SDC
SDC/UUI/VFC
nsDf
R3+
[Thinh] R2 supports single network service deployment. NsDF includes many sub-class that is required for single deployment such as NsInstantiantionLevel, PnfProfile, VnfProfile,AffinityorAntiAffinityGroup, etc. Thus, at least minimum, NsInstantiantionLevel should be supported in R2.
Class:NsVirtualLink
vitualLinkDescProvider
String
0..1
Defines the organization generating the VLD.
support:
Option
SDC
SDC/UUI/VFC
vitualLinkDescProvider
R3+
[Thinh] vitualLinkDescProvider should be part of R2
virtualLinkDf
VirtualLinkDf
1..N
The VirtualLinkDf information element specifies properties for instantiating a VL according to a specific flavour.
support: MANDATORY
SDC
SDC/UUI/VFC
virtualLinkDf
R3+
[Thinh] virtualLinkDf should be part of R2
Class: ConnectivityType, Class: VirtualLinkDf, Class: QoS
[Thinh] Why Class: ConnectivityType, Class: VirtualLinkDf, and Class: QoS are listed on this wiki page where the table was marked as R3+ ? Also, these classes are incomplete.
Class:OpenstackNetwork
[Thinh Class:OpenstackNetwork: What is the use case and purpose of having specific Class:OpenstackNetwork? This is implementation specific and tie up to specific target model. There should a flexible model support different uses cases, such as two networks or multiple data center connectivities, see https://wiki.onap.org/display/DW/Network+Service+Virtual+Link
Thinh
maopeng zhang
Thanks for your feeds back.
The NS model will be target for R3+. I remove the version column to avoid misunderstanding.
NSD includes many classes. This last call will move the listed to stable.
Also PNF,... you listed are also important. After we finished the work, we do it in the next step if them are used in R3+ usecases.
ConnectivityType,VirtualLinkDf,QoS in the wiki with IFA verson V2.04.01 are updated
About the openstack network, link you provided is a data model, not IM.
Jessie S Jewitt
We already have the NSD model in Papyrus. Perhaps you could start working with this. The associated GenDoc output contains all the associated classes that you could directly post in the wiki without having to re-create the tables yourself.
GenDoc output of Service Model as currently in Papyrus:
maopeng zhang
Excellent job. I will download and check it.
maopeng zhang
Should the NSD model be moved to the resource model in Papyrus?