Alternative VDU design from TOSCA

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