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: # 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: 
        type: string
        required: true
        description: Identifies the version of the VNFD.
      provider: descriptor_invariant_id:
        type: string # GUID
        typerequired: stringtrue
      name:
  description: Provider of the VNF and of the VNFD.type: string
        required: true
      productfunction_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:
      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
      product_info_name version:
         type: string
         required: true
       vl_profile
 description: > 
      type:  Human readable name for the VNF Product. Can change during the VNF Product lifetime.tosca.datatypes.nfv.VlProfile # only covers nin/max bitrate requirements
         required: true
      product_info_description connectivity_type:
         type: stringtosca.datatypes.nfv.ConnectivityType
         required: true
        descriptionqos: > 
        Human readable description of the VNF Product. Can change during the VNF Product lifetime.
type: tosca.datatypes.nfv.Qos
         required: false
       vnfmservice_infoavailability:
         type: string
tosca.datatypes.nfv.ServiceAvailability
         required: truefalse
        descriptioncapabilities:
 > 
      VirtualLinkable:
    Identifies VNFM(s) compatible with the VNF described in this version of the VNFD.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:
      valueRangetype: usestring
 the name of micro-service of the vnfm drive. required: true
      constraints:
    For vendor specific VNFM, the value composes of "vendorname" and "vnfmdriver", e.g. "mycompanyvnfmdriver";- valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]  
    flow_pattern:
      fortype: genericstring
 VNFM, the value is "gvnfmdriver".
    requirements:required: false
      - virtualLinkconstraints:
        - capability: tosca.capabilities.nfv.VirtualLinkable
        relationship: tosca.relationships.nfv.VirtualLinksTovalid_values: [Line, Tree, Mesh]  
Code Block
firstline1
titletosca.nodesdatatypes.nfv.NsVirtualLinkServiceAvailability
linenumberstrue
collapsetrue
  tosca.nodesdatatypes.nfv.NsVirtualLinkServiceAvailability:
    derived_from: tosca.nodesdatatypes.Root
    description: Externalservice virtualavailability link
 used in network service.
properties:
     propertiesLevel:
      id type: #virtual_link_desc_id:string
        type: stringdescription: service availability levels
        required: true
       constraints:
          - descriptionvalid_values: Identifier of the NsVirtualLinkDesc information element. It uniquely identifies a VLD.[ 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: provider: #vitual_link_desc_provider:
        type: string
        required: false
    file: relationships.yml


topology_template:
  inputs:
  description: Defines the# organizationomitted generatinghere thefor VLD.brivity
  substitution_mappings:
    versionnode_type: #virtual_link_desc_versiontosca.nodes.nfv.NS.example
node_templates:
    NsVL1:
      type: stringtosca.nodes.nfv.NsVirtualLink
        requiredproperties: true
    ...
    descriptionNsVL2:
 Specifies  the version of the VLD.type: tosca.nodes.nfv.NsVirtualLink
      connectivity_type:properties:     ...
    VNF1:
      type: tosca.datatypesnodes.nfv.VNF.ConnectivityTypeVNF1
      properties: ...
      requiredrequirements:
 true
       - descriptionvirtualLink1: Specifies the protocol exposed by a VL and the flow pattern supported by the VLNsVL2
    VNF2:
      type: tosca.nodes.nfv.VNF.VNF2
      properties: ...
      test_accessrequirements:
        type- virtualLink1: list
NsVL1    
    entry_schemaVNF3:
          type: stringtosca.nodes.nfv.VNF.VNF3
        requiredproperties: false...
        descriptionrequirements:
 > 
      - virtualLink1: NsVL1
  Specifies test access facilities expected on the- VLvirtualLink2: NsVL2
    PNF1:
      (e.g. none, passive monitoring, or active (intrusive) loopbacks at endpoints)type:tosca.nodes.nfv.PNF.PNF1
      properties: ...
      descriptionrequirements:
        - typevirtualLink1: stringNsVL1

###################VNF1 Template ##################
   .....
   requiredsubstitution_mappings: false
    requirements: 
      descriptionvirtualLink1: >
      -  Provides human-readable information on the purpose of the virtual link (e.g. VL for control plane traffic).ext_port_1
      - virtual_link
    node_type: tosca.nodes.nfv.VNF.VNF1


###################VNF2 Template ##################
   .....
  substitution_mappings: 
    requirements: 
    capabilities  virtualLink1: 
      - 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.VNF2


###################VNF3 Template ##################
   .....
  substitution_mappings: 
    requirements: 
    layer_protocol:  virtualLink1: 
      type: string- ext_port_1
      required: true- virtual_link
      constraintsvirtualLink2: 
        - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]  ext_port_2
      - virtual_link
    flownode_pattern:
      type: stringtype: tosca.nodes.nfv.VNF.VNF3


###################PNF1 Template ##################
   .....
  substitution_mappings: 
      requiredrequirements: false
      constraintsvirtualLink1: 
        - valid_values: [Line, Tree, Mesh]
Panel
borderStylesolid
titleCapability
Code Block
firstline1
titletosca.capabilities.nfv.VirtualLinkable
linenumberstrue
collapsetrue
tosca.capabilities.nfv.VirtualLinkable:ext_port_1
    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 - virtual_link
    validnode_target_typestype: [ tosca.capabilitiesnodes.nfv.VirtualLinkable ]PNF.PNF1