This model is based on the ETSI model defined in IFA014/IFA015 v2.4.4

Class Diagram

Classes

NSD - Network Service Descriptor

The NSD class is a deployment template whose instances are used by the NFVO for the lifecycle management of NSs.

Applied stereotypes:

  • OpenModelClass
    • support: MANDATORY
  • Preliminary

Attribute Name

Type

Mult.

Stereotypes

Description

nsdIdentifier

Identifier

1

Preliminary

OpenModelAttribute

  • isInvariant: true
  • valueRange:  no range constraint
  • support:  MANDATORY

Identifier of this NSD class. It globally uniquely identifies an instance of the NSD



autoScalingRule

Rule

0..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

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..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

Identifies either a virtualised resource-related performance metric or a VNF Indicator.



lifeCycleManagementScript

NsLifeCycleManagementScript

0..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

Provides a life cycle management script written in a Domain Specific Language (DSL).



security

SecurityParameters

1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

Provides a signature to prevent tampering.



_nsdf

NsDf

1..*

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

Identifies a DF within the scope of an NSD.



_sapd

Sapd

0..*

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

Provides the descriptor of a SAP of the NS.



_vnffgd

Vnffgd

0..*

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

Provides the descriptors of the applicable forwarding graphs. Cardinality of 0 means that the NS is a NF set with unspecified connectivity.



_virtualLinkdesc

NsVirtualLinkDesc

0..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

Provides the constituent VLDs. Cardinality of 0 means that the NS is a NF set with unspecified connectivity.



_vnfdId

Vnfd

0..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

PassedByReference

References the VNFD of a constituent VNF.



_pnfdId

Pnfd

0..*

Experimental

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

PassedByReference

References the PNFD of a constituent PNF.



_nestedNsdId

NetworkServiceDescriptor

0..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

References the NSD of a constituent nested NS.



NSVirtualLinkDesc - Network Service Virtual Link Descriptor

The NsVirtualLinkDesc class provides general information enabling the instantiation of virtual links.

Parent class: VirtualLinkDesc

Applied stereotypes:

  • OpenModelClass
    • support: MANDATORY
  • Preliminary

Attribute Name

Type

Mult.

Stereotypes

Description

vitualLinkDescProvider

String

0..1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

Defines the organization generating the VLD.



virtuaLinkDescVersion

Version

1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

Specifies the version of the VLD.



virtualLinkDf

VirtualLinkDf

1..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

Specifies properties for instantiating a VL according to a specific flavour.



security

SecurityParameters

0..1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

Provides a signature to prevent tampering.



virtualLinkDescId

Identifier

1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

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

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

Specifies the protocol exposed by a VL and the flow pattern supported by the VL.



testAccess

String

0..*

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

Specifies test access facilities expected on the VL (e.g. none, passive monitoring, or active (intrusive) loopbacks at endpoints.



description

String

0..1

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

Provides human-readable information on the purpose of the VL (e.g. control plane traffic).




Sapd - Service Access Point Descriptor

The SAPD class specifies the information used to instantiate the service access points of an NS. A Sapd inherits from the Cpd class. All attributes of the Cpd are also attributes of the Sapd.

Parent class: Cpd 

Applied stereotypes:

  • OpenModelClass
    • support: MANDATORY
  • Experimental

NsDf - Network Service Deployment Flavor

The NsDf class specifies the properties of a variant of an NS. NOTE: Every VNF, VL and nested NS whose descriptor is referenced by the NS DF shall be involved in an NS instantiation level of the parent NS. If no instances of a given VNF/nested NS have to be deployed at NS instantiation time, the numberOfInstances attribute in the corresponding VnfToLevelMapping/NsToLevelMapping datatype shall be set to 0.

Applied stereotypes:

  • OpenModelClass
    • support: MANDATORY
  • Experimental

Vnffgd - VNF Forwarding Graph Descriptor

The Vnffgd class specifies a topology of connectivity of a NS and optionally forwarding rules applicable to the traffic conveyed over this topology.

Applied stereotypes:

  • OpenModelClass
    • support: MANDATORY
    • Experimental

Pnfd - PNF Descriptor

The Pnfd class is a deployment template enabling on-boarding PNFs and referencing them from an NSD. It focuses on connectivity aspects only.

Applied stereotypes:

  • OpenModelClass
    • support: MANDATORY
  • Experimental

Vnfd - VNF Descriptor

See VNFD Model

VnfExtCpd - VNF External CP Descriptor

See VNFD Model

Datatypes

MonitoredData

The MonitoredData datatype identifies information to be monitored during the lifetime of a network service instance.

Attribute Name

Type

Mult.

Access

Stereotypes

Description

vnfIndicatorInfo

VnfIndicatorData

0..1

RW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

 Uniquely identifies the VNF Indicator class. One and only one of the attributes shall be included (i.e. there is a XOR relationship between the attributes).



monitoringParameter


0..1

RW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

 Specifies the virtualised resource related performance metric to be monitored on an NS level or VNF level. One and only one of the attributes shall be included (i.e. there is a XOR relationship between the attributes).



NsLifeCycleManagementScript

The LifeCycleManagementScript information element specifies a script for the NS.

Attribute Name

Type

Mult.

Access

Stereotypes

Description

event

String

1..*

RW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

 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

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

 Includes an NS LCM script (e.g., written in a DSL) triggered to react to one of the events listed in the event attribute.



VirtualLinkDf

The VirtualLinkDf datatype specifies properties for instantiating a VL according to a specific flavour.

Attribute Name

Type

Mult.

Access

Stereotypes

Description

flavourId


1

RW

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

 Identifies this VirtualLinkDF datatype within a VLD.



qos

NsQoS

0..1

RW

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

 Specifies quality of service parameters applicable to a VL.



serviceAvaibilityLevel

ServiceAvailabilityLevel

0..1

RW

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

 Specifies one of the three levels defined in ETSI GS NFV-REL 001: • Level 1 • Level 2 • Level 3



ConnectivityType

Attribute Name

Type

Mult.

Access

Stereotypes

Description

layerProtocol

LayerProtocol

1

RW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

 Identifies the protocol this VL gives access to (Ethernet, MPLS, ODU2, IPV4, IPV6, Pseudo-Wire).



flowPattern

String

0..1

RW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

 Identifies the flow pattern of the connectivity (Line, Tree, Mesh).



SecurityParameters

The SecurityParameters contains the signature of a NSD, VLD, PNFD or VNFFGD instance together with information required to validate the signature.

Attribute Name

Type

Mult.

Access

Stereotypes

Description

signature

String

1

RW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

 Provides the signature of the signed part of the descriptor.



algorithm

String

1

RW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

 Identifies the algorithm used to compute the signature.



certificate


0..1

RW

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

 Provides a certificate or a reference to a certificate to validate the signature. NOTE: Cardinality of 0 corresponds to the case where the certificate is provided by means outside the NSD



NsQos

The NsQoS datatype specifies quality of service parameters applicable to a NS VL.

 Parent Datatype: QoS

Attribute Name

Type

Mult.

Access

Stereotypes

Description

priority

Integer

0..1

RW

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

 Specifies the priority level in case of congestion on the underlying physical links.



latency

Number

1

RW

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

 Maximum latency in ms.



packetDelayVariation

Number

1

RW

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

 Maximum jitter in ms.



packetLossRatio

Number

0..1

RW

Preliminary

OpenModelAttribute

  • isInvariant: false
  • valueRange:  no range constraint
  • support:  MANDATORY

 Maximum packet loss ratio. Cardinality is 0 if no packetLossRatio requirement exists.




Enumerations

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:

Primitives

Number

This primitive type is a superset of the standard UML numbering primitives, e.g. Integer and Real.

Version

This primitive type defines the version of an element.



  • No labels

5 Comments

  1. HI Jessie,

    Some comments:

    1) can you clarify the list of classes intended to be reviewed/approved by 08/13 ?

    For instance PNFD is not defined here and a number of Datatypes/Classes used in these classes are not defined here too (i.e. NsLevel, AffinityOrAntiAffinityGroup, xProfile, ...). DO you expect to add them and review all of them as part of a second review/approval session ?

    2) Can you kindly remind me the meaning of the OnapModelLifecycle (state: INPUT) stereotype ?

    3) To speed up the review, it could be very kind if we could find a way to identify class/attribute/relation alignemnt with a specific standard.  I´m sure you have already studied and verified in details ETSI IFA14/15 considering that this proposal is based on. It could be a review semplification and in general an added value if we can introduce this info in the model. My first proposal is to add a new stereotype defining standard reference per each object.

    4) A minor comment, defaultNsInstantiationLevel instead of defaultNsInstantiationLevelId. Is it a typo or a choice ?


    1. Hi Michela-

           Sorry to get back to you late. I was looking for feedback in email and hadn't checked the wiki. Here are my responses based on your numbered questions above:

      1. The diagram is intended to show the relationship to PNFD, but it is my understanding that is being defined in a different proposal. Regarding the other references, I either need to add the referenced classes/datatypes, or we need to decide that we wouldn't be supporting them. What is your preference?
      2. We are going to be removing OnapModelLifecycle. It was intended to represent the different wiki criteria of input, discussion, clean, but we are finding it is too tedious to manage that.
      3. Interesting comment. We actually did that in MEF where we added a "Reference" stereotype down to the attribute level. Can we mark this as a future, as we have bigger fish to fry right now? I did verify the classes based on IFA014.
      4. A choice. The IFA documents represent references as "Identifier" and then put in quotes, for example "Reference to an NsInstantiationLevel." We capture this in the model as an association, and put a stereotype "PassedByReference". I'll check the example you mentioned to make sure it is correct.
  2. Hi Jessie

         Between the VNFD and VNFFGD? there is lack of a line.

    1. Hi Maopeng-

          If you mean "lack of a line" to be an association is missing in the diagram between Vnffgd and Vnfd, then you are absolutely correct. Good catch!

  3. Hi Jessi,

         may i get what are the new parameters and class types added in this as compared to R2.