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
Name | Required | Type | Constraints | Description |
---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Requirements
Name | Required | Type | Description |
---|
binding | 0..1 | onap.capabilities.Bindable | The binding with a Network Function Component |
link | 0..1 | onap.capabilities.Linkable | The link to a network. When left dangling, the CP is external. |
TOSCA Definition
Code Block |
---|
|
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 |
---|
title | External CP |
---|
linenumbers | true |
---|
|
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
|