Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 48 Current »

NSD Requirements:

1,  VFC project requirement

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

                                        

                  


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.


NSD related work pages:

     NetworkService

     ONAP R2+ Design-Time Service DM Input.

     PNF resource IM proposal

     Proposed Network Service Descriptor Model


Node Type
tosca.nodes.nfv.NS
  tosca.nodes.nfv.NS:
      derived_from: tosca.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:
        - virtual_link:
            capability:
               tosca.capabilities.nfv.VirtualLinkable
            relationship:
               tosca.relationships.nfv.VirtualLinksTo
            node: tosca.nodes.nfv.NsVirtualLink    # tosca.nodes.nfv.VL
            occurrences: [ 0, UNBOUNDED ]
tosca.nodes.nfv.VNF
refer to https://wiki.onap.org/display/DW/Node+Type #tosca.nodes.nfv.VNF:
tosca.nodes.nfv.PNF
tosca.nodes.nfv.PNF:
    derived_from: tosca.nodes.Root
    properties: 
      descriptor_id: # instead of pnfd_id
        type: string 
        required: true
      provider:
        type: string
        required: true
      version:
        type: string
        required: true
      descriptor_invariant_id:
        type: string # GUID
        required: true
      name:
        type: string
        required: true
      function_description:
        type: string
        required: true
      #geographical_location_info:        
      #  type: TBD
      #  required: true
    requirements:
       - virtual_link:
           capability: tosca.capabilities.nfv.VirtualLinkable
           relationship: tosca.relationships.nfv.VirtualLinksTo
tosca.nodes.nfv.NsVirtualLink
  tosca.nodes.nfv.NsVirtualLink:
     derived_from:
       tosca.nodes.Root
       description: node definition of Virtual Links
     properties:
       provider:
         type: string
         required: false
       version:
         type: string
         required: true
       vl_profile
         type: tosca.datatypes.nfv.VlProfile # only covers nin/max bitrate requirements
         required: true
       connectivity_type:
         type: tosca.datatypes.nfv.ConnectivityType
         required: true
       qos:
         type: tosca.datatypes.nfv.Qos
         required: false
       service_availability:
         type: tosca.datatypes.nfv.ServiceAvailability
         required: false
      capabilities:
        VirtualLinkable:
          type: tosca.capabilities.nfv.VirtualLinkable
Data Type:
tosca.datatypes.nfv.ConnectivityType
tosca.datatypes.nfv.ConnectivityType:
  derived_from: tosca.datatypes.Root
  properties: 
    layer_protocol:
      type: string
      required: true
      constraints:
        - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]  
    flow_pattern:
      type: string
      required: false
      constraints:
        - valid_values: [Line, Tree, Mesh]  
tosca.datatypes.nfv.ServiceAvailability
tosca.datatypes.nfv.ServiceAvailability:
   derived_from: tosca.datatypes.Root
   description: service availability 
   properties:
     Level:
       type: string
       description: service availability levels
       required: true
       constraints:
          - valid_values: [ Level1, Level2,Level3 ]   


 

Capability
tosca.capabilities.nfv.VirtualLinkable
tosca.capabilities.nfv.VirtualLinkable:
    derived_from: tosca.capabilities.network.Linkable
Relationship
tosca.relationships.nfv.VirtualLinksTo
tosca.relationships.nfv.VirtualLinksTo:
    derived_from: tosca.relationships.DependsOn
    valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ]
NS Example
NS Example
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:
      type: tosca.nodes.nfv.VNF.VNF1
      properties: ...
      requirements:
        - virtualLink1: NsVL2
    VNF2:
      type: tosca.nodes.nfv.VNF.VNF2
      properties: ...
      requirements:
        - virtualLink1: NsVL1    
    VNF3:
      type: tosca.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
  • No labels