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: onaptosca.nodes.ServiceComponentRoot
      requirementsproperties: 
       - wanLink:ns_id: 
         # totype: supportstring
 VoLTE case based on the R1 WAN link node
 required: true
        capability: tosca.capabilities.network.Linkabledesigner:
          relationshiptype: tosca.relationships.network.LinksTostring
          noderequired: org.openecomp.resource.vl.overlaytunnel
true
        version:
    occurrences: [ 0, UNBOUNDED ]  type: #string
 same with the anatoly comments on the VNF.

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.NsVirtualLink
linenumberstrue
collapsetrue
  tosca.nodes.nfv.NsVirtualLinkrequired: true
        name:
    derived_from: tosca.nodes.Root
      descriptiontype: Externalstring
 virtual link used in network service.
    propertiesrequired: true
       id: #virtual_link_desc invariant_id:
          type: string
          required: true
      capabilities:
     description: Identifier of the NsVirtualLinkDesc information element. It uniquely identifies a VLD.   #monitoring_parameter:
          # modelled as ad hoc capabilities in VNF node template
      provider: #vitual_link_desc_providerrequirements:
        - virtual_link:
        type: string
   capability:
     required: false
        description: Defines the organization generating the VLD.
 tosca.capabilities.nfv.VirtualLinkable
           version: #virtual_link_desc_version relationship:
        type: string
      tosca.relationships.nfv.VirtualLinksTo
  required:  true
        descriptionnode: Specifies the version of the VLD.tosca.nodes.nfv.NsVirtualLink    # tosca.nodes.nfv.VL
      connectivity_type:
      occurrences:  type: tosca.datatypes.nfv.ConnectivityType
        required: true
        description: Specifies the protocol exposed by a VL and the[ 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.PNF
linenumberstrue
collapsetrue
tosca.nodes.nfv.PNF:
    derived_from: tosca.nodes.Root
    properties: 
      descriptor_id: # instead of pnfd_id
        type: string 
        required: true flow pattern supported by the VL.
      test_accessprovider:
        type: liststring
        entry_schemarequired: true
      version:
        type: string
        required: falsetrue
      descriptor_invariant_id:
     description:  > 
type: string # GUID
       Specifies testrequired: accesstrue
 facilities expected on the VL name:
          (e.g. none, passive monitoring, or active (intrusive) loopbacks at endpoints).type: string
        required: true
      function_description:
        type: string
        required: falsetrue
      #geographical_location_info:  description: >
     
   Provides human-readable information on# the purpose of the virtual link (e.g. VL for control plane traffic). type: TBD
      #  required: true
    capabilitiesrequirements:
       - virtual_linkablelink:
          type capability: tosca.capabilities.nfv.VirtualLinkable
           relationship: tosca.relationships.nfv.VirtualLinksTo
Code Block
firstline1
titletosca.nodes.nfv.OpenstackNetworkNsVirtualLink
linenumberstrue
collapsetrue
  tosca.nodes.nfv.OpenstackNetworkNsVirtualLink:
     derived_from:
       tosca.nodes.nfv.NsVirtualLink
Root
       description: Implementnode thedefinition openstackof network L2/L3 model
Virtual Links
     properties:
       cidrprovider:
         type: string
         required: false
      start_ip version:
         type: string
         required:false true
      end vl_ip:profile
         type: string tosca.datatypes.nfv.VlProfile # only covers nin/max bitrate requirements
         required:false true
       gatewayconnectivity_iptype:
         type: stringtosca.datatypes.nfv.ConnectivityType
         required: falsetrue
      dhcpEnabled qos: 
         type: Booleantosca.datatypes.nfv.Qos
         required: false
      network service_nameavailability:
         type: string
tosca.datatypes.nfv.ServiceAvailability
         required: false
      network_idcapabilities:
        typeVirtualLinkable:
  string
        required: false
      segmentation_id:
        type: string
        required: false type: tosca.capabilities.nfv.VirtualLinkable
Data Type:
Panel
borderStylesolid
titleData Type:
Code Block
firstline1
titletosca.datatypes.nfv.ConnectivityType
linenumberstrue
collapsetrue
tosca.datatypes.nfv.ConnectivityType:
  derived_from: tosca.datatypes.Root
  properties: 
    layer_protocol:
      network_type: string
        typerequired: stringtrue
        constraints:
           - valid_values: [VLANethernet, VXLAN]
        required: falsempls, odu2, ipv4, ipv6, pseudo_wire ]  
      physicalflow_networkpattern:
        type: string
        required: false
      vlanTransparentconstraints:  
        - typevalid_values: Boolean
         required: false
Panel
borderStylesolid
title
[Line, Tree, Mesh]  
Code Block
firstline1
titletosca.datatypes.nfv.ConnectivityTypeServiceAvailability
linenumberstrue
collapsetrue
tosca.datatypes.nfv.ConnectivityTypeServiceAvailability:
   derived_from: tosca.datatypes.Root
  properties: 
    layer_protocol:
      type: string description: service availability 
      required: trueproperties:
      constraintsLevel:
        - valid_valuestype: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]  
    flow_pattern:
      type: string
string
       description: service availability levels
       required: falsetrue
       constraints:
          - valid_values: [Line Level1, TreeLevel2,Level3 Mesh]   


 

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
    requirements:
      - virtualLink: [VNF1, virtualLink2]
node_templates:
    NsVL1:
      type: tosca.nodes.nfv.OpenstackNetworkNsVirtualLink
      properties:     ...
    NsVL2:
      type: tosca.nodes.nfv.OpenstackNetworkNsVirtualLink
      properties:     ...
    VNF1:
      type: tosca.nodes.nfv.VNF.VNF1
      properties: ...
      requirements:
        - virtualLink1: NsVL2
    VNF2:
      type: onaptosca.nodes.nfv.VNF.VNF2
      properties: ...
      requirements:
        - virtualLink1: NsVL1    
    VNF3:
      type: onaptosca.nodes.nfv.VNF.VNF3
      properties: ...
      requirements:
        - virtualLink1: NsVL1
        - virtualLink2: NsVL2
    PNF1:
      type:tosca.nodes.nfv.PNF.PNF1
      properties: ...
      requirements:
        - virtualLink1: NsVL1

###################VNF1 Template ##################
   .....
  substitution_mappings: 
    requirements: 
      virtualLink1: 
      - ext_port_1
      - virtual_link
    node_type: tosca.nodes.nfv.VNF.VNF1


###################VNF2 Template ##################
   .....
  substitution_mappings: 
    requirements: 
      virtualLink1: 
      - ext_port_1
      - virtual_link
    node_type: tosca.nodes.nfv.VNF.VNF2


###################VNF3 Template ##################
   .....
  substitution_mappings: 
    requirements: 
      virtualLink1: 
      - ext_port_1
      - virtual_link
      virtualLink2: 
      - ext_port_2
      - virtual_link
    node_type: tosca.nodes.nfv.VNF.VNF3


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