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

       1.1 VFC consume NSD         1.2 VFC workflow related to NSD                           

                  Image RemovedImage Added


2,  NSD vs ServiceD differences:

       2.1 Service Descriptor & NSD scope              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.       2.2  NSD  Resource Composition Limitation and future functions

             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:

     NetworkServiceR3 NetworkServiceModel

     ONAP R2+ Design-Time Service DM Input.

     PNF resource IM proposal

     Proposed 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: 
          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 ]
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
      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
Code Block
firstline1
titletosca.nodes.nfv.NsVirtualLink
linenumberstrue
collapsetrue
  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
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:
      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]  
Code Block
firstline1
titletosca.datatypes.nfv.ServiceAvailability
linenumberstrue
collapsetrue
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 ]   


 

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.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