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: Identifier of this NSD information element. It Globally uniquely identifies an instance of the NSD.true
        designer:
          type: string
          required: true
      designer  version:
          type: string
        description: Designer of the NSD.
  required: true
        name:
         required type: truestring
        version  required: true
        typeinvariant_id:
  string
        descriptiontype: Versionstring
 of this NSD
        required: true
      name: #nsd_namecapabilities:
        type#monitoring_parameter:
 string
        description: Provides# themodelled humanas readablead namehoc ofcapabilities thein NSD.
VNF node template
      requiredrequirements:
  true
      invariant_id: #nsd_invariant_id- virtual_link:
        type: string
    capability:
           description: Identifies an NSD in a version independent manner. This attribute is invariant across versions of NSD.
 tosca.capabilities.nfv.VirtualLinkable
            relationship:
          required: true
    requirements:tosca.relationships.nfv.VirtualLinksTo
      - virtualLink:
     node: tosca.nodes.nfv.NsVirtualLink   capability: # tosca.capabilitiesnodes.nfv.VirtualLinkableVL
        relationship: tosca.relationships.nfv.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:
         type  capability: stringtosca.capabilities.nfv.VirtualLinkable
        required: true   relationship: 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_infoversion:
         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
         requirementsrequired: 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
    properties  required: true
      id: #virtual_link_desc_id:
 constraints:
        - 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_providerdescription: service availability 
   properties:
     Level:
       type: string
       description: service availability levels
       required: false true
       constraints:
        description: Defines the organization generating the   - valid_values: [ Level1, Level2,Level3 ]   


 

Panel
borderStylesolid
titleCapability
Code Block
firstline1
titletosca.capabilities.nfv.VirtualLinkable
linenumberstrue
collapsetrue
tosca.capabilities.nfv.VirtualLinkable:VLD.
    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.NsVirtualLink
      properties:     ...
    NsVL2:
      type: tosca.nodes.nfv.NsVirtualLink
      properties:     ...
    VNF1: version: #virtual_link_desc_version:
        type: string
        required: true
        description: Specifies the version of the VLD.
      connectivity_type:
        type: tosca.datatypes.nfv.ConnectivityType
        required: true
        description: Specifies the protocol exposed by a VL and the flow pattern supported by the VL.
      test_access:
  type: tosca.nodes.nfv.VNF.VNF1
      properties: ...
      typerequirements: list
        entry_schema:- virtualLink1: 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