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

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

Preliminary

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

 

 

designer

String

1

OpenModelAttribute

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

Preliminary

Identifies the designer of the NSD.

 

 

version

Version

1

OpenModelAttribute

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

Preliminary

Identifies the version of the NSD.

 

 

nsdName

String

1

OpenModelAttribute

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

Preliminary

Provides the human readable name of the   NSD.

 

 

nsdInvariantId

Identifier

1

OpenModelAttribute

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

Preliminary

Identifies an NSD in a version independent   manner. This attribute is invariant across versions of NSD.

 

 

autoScalingRule

Rule

0..*

OpenModelAttribute

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

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

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

Preliminary

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

 

 

lifeCycleManagementScript

NsLifeCycleManagementScript

0..*

OpenModelAttribute

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

Preliminary

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

 

 

_virtualLinkDesc

NsVirtualLinkDesc

0..*

OpenModelAttribute

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

Preliminary

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

 

 

_vnfdId

Vnfd

0..*

OpenModelAttribute

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

Preliminary

PassedByReference

References the VNFD of a constituent VNF.

 

 

_pnfdId

Pnfd

0..*

OpenModelAttribute

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

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

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

Preliminary

Defines the organization generating the   VLD.

 

 

virtuaLinkDescVersion

Version

1

OpenModelAttribute

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

Preliminary

Specifies the version of the VLD.

 

 

virtualLinkDf

VirtualLinkDf

1

OpenModelAttribute

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

Preliminary

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

 

 

virtualLinkDescId

Identifier

1

OpenModelAttribute

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

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

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

Preliminary

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

 

 

description

String

0..1

OpenModelAttribute

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

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

  • 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

Preliminary

OpenModelAttribute

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

 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

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

Preliminary

 Identifies this VirtualLinkDF datatype within a VLD.

 

 

qos

NsQoS

0..1

RW

OpenModelAttribute

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

Preliminary

 Specifies quality of service parameters applicable to a VL.

 

 

serviceAvaibilityLevel

ServiceAvailabilityLevel

0..1

RW

OpenModelAttribute

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

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

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

 

 

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

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

Preliminary

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

 

 

latency

Number

1

RW

OpenModelAttribute

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

Preliminary

 Maximum latency in ms.

 

 

packetDelayVariation

Number

1

RW

OpenModelAttribute

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

Preliminary

 Maximum jitter in ms.

 

 

packetLossRatio

Number

0..1

RW

OpenModelAttribute

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

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:


  • No labels

5 Comments

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

    1. Thanks for your feeds back.

      1. The NS model will be target for R3+. I remove the version column to avoid misunderstanding.

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

      3.  ConnectivityType,VirtualLinkDf,QoS  in  the wiki with IFA verson V2.04.01 are updated


      4. About the openstack network,  link you provided is a data model, not IM.   

  2. 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: 

      

    1. Excellent job. I will download and check it.

      1.  Should the NSD model be moved to the resource model in Papyrus?