tosca.nodes.nfv.VNF
tosca.nodes.nfv.VNF:
    derived_from: tosca.nodes.Root
    description: The generic abstract type from which all VNF specific abstract node types shall be derived to form, together with other node types, the TOSCA service template(s) representing the VNFD
    properties:
      descriptor_id: # instead of vnfd_id
        type: string # GUID
        description: Globally unique identifier of the VNFD
        required: true
      descriptor_version: # instead of vnfd_version
        type: string
        description: Identifies the version of the VNFD
        required: true
      provider: # instead of vnf_provider
        type: string
        description: Provider of the VNF and of the VNFD
        required: true
      product_name: # instead of vnf_product_name
        type: string
        description: Human readable name for the VNF Product
        required: true
      software_version: # instead of vnf_software_version
        type: string
        description: Software version of the VNF
        required: true
      product_info_name: # instead of vnf_product_info_name
        type: string
        description: Human readable name for the VNF Product
        required: false
      product_info_description: # instead of vnf_product_info_description
        type: string
        description: Human readable description of the VNF Product
        required: false
      vnfm_info:
        type: list
        required: true
        description: Identifies VNFM(s) compatible with the VNF
        entry_schema:
          type: string
      localization_languages:
        type: list
        description: Information about localization languages of the VNF
        required: false
        entry_schema:
          type: string #IETF RFC 5646 string
      default_localization_language:
        type: string #IETF RFC 5646 string
        description: Default localization language that is instantiated if no information about selected localization language is available
        required: false
      #configurable_properties:
        #type: tosca.datatypes.nfv.VnfConfigurableProperties
        #description: Describes the configurable properties of the VNF
        #required: false
        # derived types are expected to introduce configurable_properties 
        # with its type derived from 
        # tosca.datatypes.nfv.VnfConfigurableProperties
      #modifiable_attributes:
        #type: tosca.datatypes.nfv.VnfInfoModifiableAttributes
        #description: Describes the modifiable attributes of the VNF
        #required: false 
        # derived types are expected to introduce modifiable_attributes
        # with its type derived from
        # tosca.datatypes.nfv.VnfInfoModifiableAttributes
      lcm_operations_configuration:
        type: tosca.datatypes.nfv.VnfLcmOperationsConfiguration
        description: Describes the configuration parameters for the VNF LCM operations
        required: false
      monitoring_parameters:
        type: list
        entry_schema:
          type: tosca.datatypes.nfv.VnfMonitoringParameter
        description: Describes monitoring parameters applicable to the VNF.
        required: false
      flavour_id:
        type: string
        description: Identifier of the Deployment Flavour within the VNFD
        required: true
      flavour_description:
        type: string
        description: Human readable description of the DF
        required: true
      #vnf_profile:
      #  type: tosca.datatypes.nfv.VnfProfile
      #  description: Describes a profile for instantiating VNFs of a particular NS DF according to a specific VNFD and VNF DF
      #  required: false
    requirements:
      - virtual_link:
          capability: tosca.capabilities.nfv.VirtualLinkable
          relationship: tosca.relationships.nfv.VirtualLinksTo
          occurrences: [ 0, 1 ]
  # Additional requirements shall be defined in the VNF specific node type (deriving from tosca.nodes.nfv.VNF) corresponding to NS virtual links that need to connect to VnfExtCps
    interfaces:
      Vnflcm:
        type: tosca.interfaces.nfv.Vnflcm
tosca.nodes.nfv.VnfExtCp
 tosca.nodes.nfv.VnfExtCp:
    derived_from: tosca.nodes.nfv.Cp
    description: Describes a logical external connection point, exposed by the VNF enabling connection with an external Virtual Link 
    properties:
      virtual_network_interface_requirements:
        type: list
        description: The actual virtual NIC requirements that is been assigned when instantiating the connection point 
        required: false
        entry_schema:
          type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
    requirements:
      - external_virtual_link:
          capability: tosca.capabilities.nfv.VirtualLinkable
          relationship: tosca.relationships.nfv.VirtualLinksTo
      - internal_virtual_link: #name in ETSI NFV IFA011 v0.7.3: intVirtualLinkDesc
          capability: tosca.capabilities.nfv.VirtualLinkable
          relationship: tosca.relationships.nfv.VirtualLinksTo
tosca.nodes.nfv.Vdu.Compute
tosca.nodes.nfv.Vdu.Compute:
    derived_from: tosca.nodes.Root
    description:  Describes the virtual compute part of a VDU which is a construct   supporting the description of the deployment and operational behavior of a VNFC 
    properties:
      name:
        type: string
        description: Human readable name of the VDU 
        required: true
      description:
        type: string
        description: Human readable description of the VDU 
        required: true
      boot_order:
        type: list # explicit index (boot index) not necessary, contrary to IFA011
        description: References a node template name from which a valid boot device is created 
        required: false
        entry_schema:
          type: string
      nfvi_constraints:
        type: list
        description: Describes constraints on the NFVI for the VNFC instance(s) created from this VDU 
        required: false
        entry_schema:
          type: string
      monitoring_parameters:
        type: list
        description: Describes monitoring parameters applicable to a VNFC instantiated from this VDU
        required: false
        entry_schema: 
          type: tosca.datatypes.nfv.VnfcMonitoringParameter
      #configurable_properties:
         #type: tosca.datatypes.nfv.VnfcConfigurableProperties
         #required: false 
         # derived types are expected to introduce
         # configurable_properties with its type derived from
         # tosca.datatypes.nfv.VnfcConfigurableProperties
      vdu_profile:
        type: tosca.datatypes.nfv.VduProfile
        description: Defines additional instantiation data for the VDU.Compute node 
        required: true
      sw_image_data:
        type: tosca.datatypes.nfv.SwImageData
        description: Defines information related to a SwImage artifact used by this Vdu.Compute node 
        required: false # property is required when the node template has an associated artifact of type tosca.artifacts.nfv.SwImage and not required otherwise
      boot_data:
        type: string
        description: Contains a string or a URL to a file contained in the VNF package used to customize a virtualised compute resource at boot time. The bootData may contain variable parts that are replaced by deployment specific values before being sent to the VIM.
        required: false
      #inject_files: #Introduced from Beijing release, used for vCPE usecase, outside the scope of SOL001 v2.5.1      
      #  type: tosca.datatypes.nfv.injectFile       
      #  required: false  #Aligned with ONAP R2 IM. it should be false.   
      #meta_data: #Introduced from Beijing release, used for metadata attached to the VM or container, outside the scope of SOL001 v2.5.1    
      #  type: map
      #  entry_schema:
      #    type: string
      #  required: false
    capabilities:
      virtual_compute:
        type: tosca.capabilities.nfv.VirtualCompute
        occurrences: [ 1, 1 ]
      virtual_binding:
        type: tosca.capabilities.nfv.VirtualBindable
        occurrences: [ 1, UNBOUNDED ]
    requirements:
      - virtual_storage:
          capability: tosca.capabilities.nfv.VirtualStorage
          relationship: tosca.relationships.nfv.AttachesTo
          occurrences: [ 0, UNBOUNDED ]
tosca.nodes.nfv.Vdu.VirtualBlockStorage
tosca.nodes.nfv.Vdu.VirtualBlockStorage:
    derived_from: tosca.nodes.Root
    description: This node type describes the specifications of requirements related to virtual block storage resources
    properties:
      virtual_block_storage_data:
        type: tosca.datatypes.nfv.VirtualBlockStorageData
        description: Describes the block storage characteristics. 
        required: true
      sw_image_data:
        type: tosca.datatypes.nfv.SwImageData
        description: Defines information related to a SwImage artifact used by this Vdu.Compute node. 
        required: false # property is required when the node template has an associated artifact of type tosca.artifacts.nfv.SwImage and not required otherwise
    capabilities:
      virtual_storage:
        type: tosca.capabilities.nfv.VirtualStorage
        description: Defines the capabilities of virtual_storage.
tosca.nodes.nfv.Vdu.VirtualObjectStorage
 tosca.nodes.nfv.Vdu.VirtualObjectStorage: 
    derived_from: tosca.nodes.Root
    description: This node type describes the specifications of requirements related to virtual object storage resources
    properties:
      virtual_object_storage_data:
        type: tosca.datatypes.nfv.VirtualObjectStorageData
        description: Describes the object  storage characteristics.
        required: true
    capabilities:
      virtual_storage:
        type: tosca.capabilities.nfv.VirtualStorage
        description: Defines the capabilities of virtual_storage.
tosca.nodes.nfv.Vdu.VirtualFileStorage
 tosca.nodes.nfv.Vdu.VirtualFileStorage: 
    derived_from: tosca.nodes.Root
    description: This node type describes the specifications of requirements related to virtual file storage resources
    properties:
      virtual_file_storage_data:
        type: tosca.datatypes.nfv.VirtualFileStorageData
        description: Describes the file  storage characteristics.
        required: true
    capabilities:
      virtual_storage:
        type: tosca.capabilities.nfv.VirtualStorage
        description: Defines the capabilities of virtual_storage.
    requirements:
     - virtual_link:
         capability: tosca.capabilities.nfv.VirtualLinkable
         relationship: tosca.relationships.nfv.VirtualLinksTo
         #description: Describes the requirements for linking to virtual link
tosca.nodes.nfv.Cp
 tosca.nodes.nfv.Cp:
    derived_from: tosca.nodes.Root
    description:  Provides information regarding the purpose of the connection point 
    properties:
      layer_protocols:
        type: list
        description: Identifies which protocol the connection point uses for connectivity purposes 
        required: true
        entry_schema:
          type: string
          constraints:
            - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
      role: #Name in ETSI NFV IFA011 v0.7.3: cpRole
        type: string
        description: Identifies the role of the port in the context of the traffic flow patterns in the VNF or parent NS 
        required: false
        constraints:
          - valid_values: [ root, leaf ]
      description:
        type: string
        description: Provides human-readable information on the purpose of the connection point 
        required: false
      protocol:
        type: list
        description: Provides information on the addresses to be assigned to the connection point(s) instantiated from this Connection Point Descriptor 
        required: false
        entry_schema:
          type: tosca.datatypes.nfv.CpProtocolData
      trunk_mode:
        type: boolean
        description: Provides information about whether the CP instantiated from this Cp is in Trunk mode (802.1Q or other), When operating in "trunk mode", the Cp is capable of carrying traffic for several VLANs. Absence of this property implies that trunkMode is not configured for the Cp i.e. It is equivalent to boolean value "false".
        required: false
      #allowed_address_data: # #Introduced from Beijing release, align with resource IM, outside the scope of SOL001 v2.5.1                             #  type: tosca.datatypes.nfv.AddressData   # In the IM, it is a array, but here it is not a array. TBD.      
      #  required: false
tosca.nodes.nfv.VduCp
  tosca.nodes.nfv.VduCp:
    derived_from: tosca.nodes.nfv.Cp
    description: describes network connectivity between a VNFC instance based on this VDU and an internal VL 
    properties:
      bitrate_requirement:
        type: integer   # in bits per second
        description: Bitrate requirement in bit per second on this connection point 
        required: false
        constraints: 
          - greater_or_equal: 0
      virtual_network_interface_requirements:
        type: list
        description: Specifies requirements on a virtual network interface realising the CPs instantiated from this CPD 
        required: false
        entry_schema:
          type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
      order:
        type: integer
        description: The order of the NIC on the compute instance (e.g.eth2)
        required: false
        constraints:
          - greater_or_equal: 0
      vnic_type: 
        type: string
        description: Describes the type of the virtual network interface realizing the CPs instantiated from this CPD
        required: false
        constraints:
        - valid_values: [ normal, virtio, direct-physical ]
      #vnic_name: # Introduced from Beijing release, aligned with ONAP resource IM, outside the scope of SOL001 v2.5.1   
      #  type: string        
      #  required:false   
    requirements:
      - virtual_link:
          capability: tosca.capabilities.nfv.VirtualLinkable
          relationship: tosca.relationships.nfv.VirtualLinksTo
      - virtual_binding:
          capability: tosca.capabilities.nfv.VirtualBindable
          relationship: tosca.relationships.nfv.VirtualBindsTo
          node: tosca.nodes.nfv.Vdu.Compute
tosca.nodes.nfv.VnfVirtualLink
 tosca.nodes.nfv.VnfVirtualLink:
    derived_from: tosca.nodes.Root
    description: Describes the information about an internal VNF VL 
    properties:
      connectivity_type:
        type: tosca.datatypes.nfv.ConnectivityType
        description: Specifies the protocol exposed by the VL and the flow pattern supported by the VL 
        required: true
      description:
        type: string
        description: Provides human-readable information on the purpose of the VL 
        required: false
      test_access:
        type: list
        description: Test access facilities available on the VL 
        required: false
        entry_schema:
          type: string
          constraints:
            - valid_values: [ passive_monitoring, active_loopback ]
      vl_profile:
        type: tosca.datatypes.nfv.VlProfile
        description: Defines additional data for the VL 
        required: true
      monitoring_parameters:
        type: list
        description: Describes monitoring parameters applicable to the VL
        required: false
        entry_schema:
          type: tosca.datatypes.nfv.VirtualLinkMonitoringParameter
    capabilities:
      virtual_linkable:
        type: tosca.capabilities.nfv.VirtualLinkable




  • No labels

6 Comments

  1. To be aligned with the resource IM model and R3 DM, I mode some changes on top of SOL001 definitions, the main changes are:

    • in VDU.Compute: adds a new property, inject_file,
    • in CP: adds a new property, allowed_address_data
    • in VduCp: adds a new property, vnic_name

    please send me your comments if you have different ideas of adding those requirements.

    1. Those properties introduced by ONAP have been commented out at this moment. An extension method following the ETSI NFV rule will be provided later by Thinh Nguyenphu

    2. shitao li in VDU.Compute, it seems you missed one property 'meta_data'. I added above.

  2. shitao li The following properties or classes are used by vCPE use case:

    tosca.nodes.nfv.Vdu.Compute: inject_file, meta_data (I assume we can use the new boot_data to replace the existing ONAP user_data property, right?)

    1. yes, the new property boot_data can be used.

  3. Thinh Nguyenphu what's the extension method? Do we know if those properties which is extended by the ETSI NFV rule is accepted by the onboarding DM in SDC?