The VDU design as decscribed in latest tosca-nfv-profile-wd05-rev03 follows the IM of VDU as defined from ETSI NFV.

The main design also follows the resource concept in ONAP. TOSCA composition feature has been used as the main design pattern.


Simple Resource

-A node without associated topology template (can’t be further decomposed)

-Simple resource used to compose a composite resource or a service

-Virtual Link, Connection Point, Virtual Storage, Virtual Compute, etc.

•Composite Resource

-A resource which is composed from other resources (simple, composite)

-A node which substituted by a topology template

-VDU, VNF, etc.


VDU model in tosca-nfv-profile

     

in which,  the tosca.nodes.nfv.VDU.Composition node type represents the VDU which is the collection of VDU.compute, VDU.storage and VduCpd.

The definition of tosca.nodes.nfv.VDU.Composition node type

Data type


tosca.nodes.nfv.VDU.Composition:


  derived_from: tosca.nodes.root


  properties:


    name:


      type: string


      required: true


    description:


      type: string


      required: true


    boot_order:


      type: list


      entry_schema:


        type: string


      required: false


    nfvi_constraints:


      type: list


      entry_schema:


        type: string


      required: false


    configurable_properties:


       type: map


       entry_schema:


          type: tosca.datatypes.nfv.VnfcConfigurableProperties


       required: true 


  capabilities:


    virtual_compute:


      type: tosca.capabilities.nfv.VirtualCompute


    virtual_storage:


      type: tosca.capabilities.nfv.VirtualStorage


occurrences: [0,UNBOUNDED][L1] 


  requirements:


    - virtual_link:


        capability: tosca.capabilities.nfv.VirtualLinkable


        relationship: tosca.relationships.nfv.VirtualLinksTo


        node: tosca.nodes.nfv.VnfVirtualLinkDesc    


       occurrences: [1,UNBOUNDED[L2] ]







An example of a VDU service template

VDU example

tosca_definitions _version:      tosca_simple_profile_1_1

 

description: service template of a VDU   # Human readable description of the Vdu.

               

topology_template:

   

inputs:

 

subsititution_mappings:

     node_type: tosca.nodes.nfv.VNF. VDUComposition.vduC 

     requirements:

        virtualLinkable: [interanlCpd_001, virtualLinkable]

     capabilities:

        virtual_compute: [vduC_compute, virtual_compute]

        virtual_storage: [vduC_storage, virtual_storage]    

  

node_templates:

vduC_compute:  

        type: tosca.nodes.nfv.VDU.Compute

        properties:

# omitted here for brevity

        capabilities:            

virtual_compute:         

        artifacts: 

- sw_image:

        requirements:

          - virtual_storage: virtualStorage_001     

        

      vduC_storage:  

type: tosca.nodes.nfv.VDU.VirtualStorage

        properties:

# omitted here for brevity

                  capabilities:

          virtual_storage:

 

      internalCpd:  #ID of this internalCpd

type: tosca.nodes.nfv.VduCpd

        properties: 

# omitted here for brevity       

        requirements:

          - VirtualLinkable:

          - VirtualBindable: vduC_compute       

   


                                



A VNFD example with 3VDUs

VNFD example


tosca_definitions_version: tosca_simple_profile_1_1


topology_template:


  description: Template of a VNFD example


  node_templates:


    VDU_A:


      type: tosca.nodes.nfv.VDUComposition.vduA


      properties:


# omitted here for brevity


      requirements:


        - virtual_link:VL_1


        - virtual_link:VL_2


 


    VDU_B:


      type: tosca.nodes.nfv.VDUComposition.vduB


      properties:


# omitted here for brevity


      requirements:


        - virtual_link:VL_2


 


    VDU_C:


      # it can be substituted with a topology provided by another template


# that exports a virtual_link type’s requirement.


 type: tosca.nodes.nfv.VDUComposition.vduC


      properties:


# omitted here for brevity


requirements:


        - virtual_link:VL_1


 


VL_1:


      type: tosca.nodes.nfv.VnfVirtualLinkDesc


      properties:


# omitted here for brevity


capabilities:


        - virtual_link


 


VL_2:


      type: tosca.nodes.nfv.VnfVirtualLinkDesc


      properties:


# omitted here for brevity


capabilities:


        - virtual_link


  • No labels

1 Comment

  1. Hi shitao, as we discussed in TOSCA NFV adhoc, 

    tosca.nodes.nfv.VDUComposition is an optional promotion.

    Because we have defined VDU.Compute, CP, and storage already, we could compose them at design time ourselves.

    I mean it's not necessary to define a new node type, VDUComposition, righ?