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: onap.nodes.ServiceComponenttosca.nodes.Root
      properties: 
        ns_id: 
          type: string
          required: true
        designer:
          type: string
          required: true
        version:
          type: string
          required: true
        name:
          type: string
          required: true
        invariant_id:
          type: string
          required: true
      capabilities:
        #monitoring_parameter:
          # modelled as ad hoc capabilities in VNF node template
      requirements:
        - virtualLinkvirtual_link:
            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.
descriptor_invariant_id:
        type: string provider: #vnf_provider:# GUID
        typerequired: stringtrue
      name:
  description: Provider of the VNF and of thetype: VNFD.string
        required: true
      vnffunction_product_namedescription:
        type: string
        required: true
      description: Name to identify the VNF Product. Invariant for the VNF Product lifetime. #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_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 type: use the name of micro-service of the vnfm drive. 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: 
    descriptionlayer_protocol:
 External virtual link used in networktype: service.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 - valid_values: [Line, Tree, Mesh]  
Code Block
firstline1
titletosca.datatypes.nfv.ServiceAvailability
linenumberstrue
collapsetrue
tosca.datatypes.nfv.ServiceAvailability:element. It uniquely identifies a VLD.
   derived_from: tosca.datatypes.Root
  provider description: #vitual_link_desc_provider service availability 
   properties:
     Level:
       type: string
       description: service availability levels
       required: false true
       constraints:
        description  - valid_values: Defines [ Level1, Level2,Level3 ]   


 

Panel
borderStylesolid
titleCapability
Code Block
firstline1
titletosca.capabilities.nfv.VirtualLinkable
linenumberstrue
collapsetrue
tosca.capabilities.nfv.VirtualLinkable:the organization generating the 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:
   version: #virtual_link_desc_version:
        type: string
        required: true
        description: Specifies the version of the VLD.
      connectivity_type:
        type: tosca.datatypesnodes.nfv.ConnectivityTypeNsVirtualLink
      properties:  required: true   ...
    NsVL2:
      description: Specifies the protocol exposed by a VL and the flow pattern supported by the VL.type: tosca.nodes.nfv.NsVirtualLink
      properties:     ...
    VNF1:
      test_access:type: tosca.nodes.nfv.VNF.VNF1
      properties:  type: list
...
      requirements:
        - 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_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]  
    flow_pattern:requirements: 
      virtualLink1: 
      - ext_port_1
      type: string- virtual_link
      requiredvirtualLink2: false
       constraints:- ext_port_2
      -  - valid_values: [Line, Tree, 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 ]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