Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

NSD Requirements:

1,  VFC project requirement

  • VFC project implement ETSI NFVO, which needs to consume the NSD. 
    Image Added
  • VFC needs to expose NFVO northbound SOL005 interfaces to SO or OSS/BSS/3GPP Management System
    JIRA : VFC-635/VFC-648

                    Image Added                    

                  Image Added


2,  NSD vs ServiceD differences:

             Service Descriptor in SDC R3:    Service composites many resources in the SDC, including SDC AID resources(vf, extVL, AllottedResource) and R2+ resources.

             NSD in VFC:   NSD composites VNFD, PNFD, and NSVirtualLink, nested NSD, etc,  ETSI NFV resources.

             NSD requires to do some limitation in NFV resources composition, not all the SDC resources and substitution_mappings to NS TOSCA node


NSD related work pages:

     R3 NetworkServiceModel

     ONAP R2+ Design-Time Service DM Input.

     PNF resource IM proposal

     Network Service Descriptor Model - Based on R2


Panel
borderStylesolid
titleNode Type
Code Block
firstline1
titletosca.nodes.nfv.NS
linenumberstrue
collapsetrue
   tosca.nodes.nfv.NS:
      derived_from: tosca.nodes.Root
      properties: 
        ns_id: #nsd_identifier:
          type: string
        description  required: Identifiertrue
 of this NSD information element. It Globally uniquelydesigner:
 identifies an instance of the NSD.
    type: string
   required: true
      designerrequired: true
        typeversion:
 string
         descriptiontype: Designer ofstring
 the NSD.
        required: true
      version  name:
          type: string
        description: Version of this NSD
        required: true
       name: #nsdinvariant_nameid:
          type: string
        description: Provides the human readable name of the NSD.required: true
        requiredcapabilities:
 true
      invariant_id: #nsd#monitoring_invariant_idparameter:
        type: string
 # modelled as ad hoc capabilities in VNF description:node Identifiestemplate
 an NSD in a version independentrequirements:
 manner. This attribute is invariant across versions of NSD.- virtual_link:
        required: true
    requirementscapability:
      - virtualLink:
        capability: tosca.capabilities.nfv.VirtualLinkable
            relationship:
               tosca.relationships.nfv.VirtualLinksTo
      - wanLink:
     node: tosca.nodes.nfv.NsVirtualLink    capability:# tosca.capabilitiesnodes.wannfv.VirtualLinkableVL
        relationship: tosca.relationships.wan.VirtualLinksTo    occurrences: [ 0, UNBOUNDED ]
Code Block
firstline1
titletosca.nodes.nfv.VNF
linenumberstrue
collapsetrue
refer to https://wiki.onap.org/display/DW/Node+Type #tosca.nodes.nfv.VNF:
Code Block
firstline1
titletosca.nodes.nfv.VNFPNF
linenumberstrue
collapsetrue
  tosca.nodes.nfv.VNFPNF:
    derived_from: tosca.nodes.Root
    properties: 
      descriptor_id: #vnfd # instead of pnfd_id:
        type: string 
        descriptionrequired: Identifier of this VNFD information element. This attribute shall be globally unique.true
      provider:
        type: string
        required: true
      version: #vnfd_version:
        type: string
        required: true
        description: Identifies the version of the VNFD.
      provider: #vnf_provider:descriptor_invariant_id:
        type: string # GUID
        typerequired: stringtrue
      name:
  description: Provider of the VNF and of the VNFD.type: string
        required: true
      vnffunction_product_namedescription:
        type: string
        description: Name to identify the VNF Product. Invariant for the VNF Product lifetime. required: true
      #geographical_location_info:        
      #  type: TBD
      #  required: true
    requirements:
    vnf_software_version:
   - virtual_link:
           typecapability: string
tosca.capabilities.nfv.VirtualLinkable
           requiredrelationship: tosca.relationships.nfv.VirtualLinksTo
Code Block
firstline1
titletosca.nodes.nfv.NsVirtualLink
linenumberstrue
collapsetrue
  tosca.nodes.nfv.NsVirtualLink:
     derived_from:
   description:   > tosca.nodes.Root
       description: Softwarenode versiondefinition of the VNF. 
Virtual Links
     properties:
       provider:
   This is changed when there is anytype: changestring
 to the software that is included in the VNFrequired: Package.false
      vnfm_info version:
         type: string
         required: true
       vl_profile
 description: > 
      type: tosca.datatypes.nfv.VlProfile # only Identifies VNFM(s) compatible with the VNF described in this version of the VNFD. covers nin/max bitrate requirements
         required: true
       connectivity_type:
   valueRange: use the name of micro-service of the vnfm drive.       type: tosca.datatypes.nfv.ConnectivityType
         required: true
       qos:
   For     vendor specific VNFM, the value composes of "vendorname" and "vnfmdriver", e.g. "mycompanyvnfmdriver"; 
type: tosca.datatypes.nfv.Qos
         required: false
       service_availability:
    for generic VNFM, the value is "gvnfmdriver".
type: tosca.datatypes.nfv.ServiceAvailability
        requirements required: false
      - virtualLinkcapabilities:
        capabilityVirtualLinkable: tosca.capabilities.nfv.VirtualLinkable

          relationshiptype: tosca.relationshipscapabilities.nfv.VirtualLinksToVirtualLinkable
Panel
borderStylesolid
titleData Type:
Code Block
firstline1
titletosca.nodesdatatypes.nfv.NsVirtualLinkDescConnectivityType
linenumberstrue
collapsetrue
  tosca.nodesdatatypes.nfv.NsVirtualLinkDescConnectivityType:
    derived_from: tosca.nodesdatatypes.Root
  properties:  description: External virtual link used in network service.

    layer_protocol:
      type: string
      propertiesrequired: true
      idconstraints: #virtual_link_desc_id
        - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]  
    flow_pattern:
        type: string
        required: truefalse
      constraints:
   description: Identifier of the NsVirtualLinkDesc information element. It uniquely identifies a VLD.- valid_values: [Line, Tree, Mesh]  
Code Block
firstline1
titletosca.datatypes.nfv.ServiceAvailability
linenumberstrue
collapsetrue
tosca.datatypes.nfv.ServiceAvailability:
   derived_from: tosca.datatypes.Root
  provider: #vitual_link_desc_provider description: service availability 
   properties:
     Level:
       type: string
       description: service availability levels
       required: false true
       constraints:
        description  - valid_values: [ Level1, Level2,Level3 ]   


 

Panel
borderStylesolid
titleCapability
Code Block
firstline1
titletosca.capabilities.nfv.VirtualLinkable
linenumberstrue
collapsetrue
tosca.capabilities.nfv.VirtualLinkable:
    derived_from: tosca.capabilities.network.Linkable
Panel
borderStylesolid
titleRelationship
Code Block
firstline1
titletosca.relationships.nfv.VirtualLinksTo
linenumberstrue
collapsetrue
tosca.relationships.nfv.VirtualLinksTo:
    derived_from: tosca.relationships.DependsOn
    valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ]
Panel
borderStylesolid
titleNS Example
Code Block
firstline1
titleNS Example
linenumberstrue
collapsetrue
tosca_definitions_version:
tosca_simple_yaml_1_1
metadata:
  ...
imports:
- nodes:
    file: nodes.yml
- datatypes:
    file: data.yml
- capabilities:
    file: capabilities.yml
-relationships:
    file: relationships.yml


topology_template:
  inputs:
    # omitted here for brivity
  substitution_mappings:
    node_type: tosca.nodes.nfv.NS.example
node_templates:
    NsVL1:
      type: tosca.nodes.nfv.NsVirtualLinkDefines the organization generating the VLD.
      version: #virtual_link_desc_version:
        type: string
        required: true
        description: Specifies the version of the VLD.
      connectivity_type:
        type: tosca.datatypes.nfv.ConnectivityType
      properties:  required: true   ...
    NsVL2:
      descriptiontype: Specifies the protocol exposed by a VL and the flow pattern supported by the VL.tosca.nodes.nfv.NsVirtualLink
      properties:     ...
    VNF1:
      test_access:
  type: tosca.nodes.nfv.VNF.VNF1
      properties: ...
      typerequirements:
 list
       - entry_schemavirtualLink1: NsVL2
    VNF2:
      type: stringtosca.nodes.nfv.VNF.VNF2
        requiredproperties: false...
      requirements:
  description: > 
    - virtualLink1: NsVL1    Specifies
 test access facilities expectedVNF3:
 on the VL 
  type: tosca.nodes.nfv.VNF.VNF3
      properties: (e..g.
 none, passive monitoring, or active (intrusive) loopbacks at endpoints).
 requirements:
        - descriptionvirtualLink1: NsVL1
        type- virtualLink2: stringNsVL2
    PNF1:
    required: false  type:tosca.nodes.nfv.PNF.PNF1
      properties: ...
  description: >
   requirements:
     Provides human-readable information on- the purpose of the virtual link (e.g. VL for control plane traffic). 
virtualLink1: NsVL1

###################VNF1 Template ##################
   .....
  substitution_mappings: 
    requirements: 
      capabilitiesvirtualLink1: 
      virtual_linkable:- ext_port_1
      - virtual_link
    node_type: tosca.capabilitiesnodes.nfv.VirtualLinkable
Panel
borderStylesolid
titleData Type:
Code Block
firstline1
titletosca.datatypes.nfv.ConnectivityType
linenumberstrue
collapsetrue
tosca.datatypes.nfv.ConnectivityType:
  derived_from: tosca.datatypes.Root
  propertiesVNF.VNF1


###################VNF2 Template ##################
   .....
  substitution_mappings: 
    requirements: 
    layer_protocol:  virtualLink1: 
      type: string- ext_port_1
      required: true- virtual_link
    node_type:  constraints:
     tosca.nodes.nfv.VNF.VNF2


###################VNF3 Template ##################
   .....
  substitution_mappings: 
   - valid_valuesrequirements: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]  

      virtualLink1: 
      flow_pattern:- ext_port_1
      type: string- virtual_link
      requiredvirtualLink2: false
      constraints:- ext_port_2
      - virtual_link
   - validnode_valuestype: [Line, Tree, Mesh]
Panel
borderStylesolid
titleCapability
capabilitiesVirtualLinkable
Code Block
Code Block
firstline1
titletosca.relationships.nfv.VirtualLinksTo
linenumberstrue
collapsetrue
firstline1
title
tosca.
nodes.nfv.
linenumberstrue
collapsetrue
tosca.capabilities.nfv.VirtualLinkable:
    derived_from: tosca.capabilities.network.Linkable
Panel
borderStylesolid
titleRelationship
tosca.relationships.nfv.VirtualLinksTo:
    derived_from: tosca.relationships.DependsOn
    valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ]VNF.VNF3


###################PNF1 Template ##################
   .....
  substitution_mappings: 
    requirements: 
      virtualLink1: 
      - ext_port_1
      - virtual_link
    node_type: tosca.nodes.nfv.PNF.PNF1