Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Changed R3 to TIDM - Target Internal Data Model

Description

Nodes of this type represent a connection point of a resource. This can be an L2 network interface, a port, a VLAN subinterface, etc.

The Linkable-type requirement of the CP nodes are more important for modeling than the node type itself. When a the Linkable-type requirement of a CP is not used for an internal link and exposed through a substitution mapping of a model, this CP is external.

Capabilities


NameRequiredTypeConstraintsDescription
















Requirements


NameRequiredTypeDescription
binding0..1onap.capabilities.BindableThe binding with a Network Function Component
link0..1onap.capabilities.LinkableThe link to a network. When left dangling, the CP is external.


TOSCA Definition

Code Block
linenumberstrue
node_types:
  onap.nodes.CP:
    derived_from: onaptosca.nodes.ResourceRoot    
    description: a connection point
    properties:
      catalog_info:
        type: onap.datatypes.CatalogInfo
        description:
        required: true
        # generated by Design Time Catalog once, then never changed
      role:
        type: string
        description: the role a template plays in a topology
        required: false
    attributes:
      instance_name: 
        type: string
        description: the name of the run-time instance of in the deployment  
    requirements:
      - binding:
        description: binding with a VFCNetworkFunctionComponent
        capability: onap.capabilities.Bindable
        occurrences: [1, 1] # exactly one occurrence
        relationships: onap.relationships.BindsTo
      - link:
        description: link to a network.  If left dangling, it is external.
        capability: onap.capabilities.Linkable
        occurrences: [1, 1]
            # Exactly one occurrence;
            # either spend it with an internal VL (and this is how this CP becomes internal)
            # or leave it unsatisfied (and thus make the CP external)
        relationships: onap.relationships.LinksTo
            # without a relationship, a TOSCA requirement cannot have properties :(


Example 1: Two resources communicating through an internal network


Example 2: A topology with an external CP


Code Block
titleExternal CP
linenumberstrue
node_templates:
  # Other nodes, omitted
  #...

  ext_cp_123:
    type: onap.nodes.CP
    requirements:
      - bind: # bound to a component node in this topology
          node: vnfc_01
          capability: bind
      - link: 
          node_filter:
              capabilities: 
                - onap.capabilities.Linkable
                    properties:
                      protocols:
                        - contains_all: [IPv4, TCP] # WARNING: 'contains_all' is not a standard TOSCA constraint !
                      roles:
                        - contains_any: [peer]      # WARNING: 'contains_any' is not a standard TOSCA constraint !
                      bitrate:
                        - greater_or_equal: 1000