4.3.1. Node Types
1.1.1.1 Tosca Node Type Definitions
1.1.1.2 SDC Node Type Metadata
conformance level 2.0 | invariantUUID: | type: string description: Constant identifier of the resource model. Ex.: AA97B177-9383-4934-8543-0F91A7A02836 |
conformance level 2.0 | uuid: | type: string description: Versioned identifier of the resource model (this uuid is changed for every major version of the resource) Ex.: b8ff69ca-786d-479e-9f9c-217a90ee0ebc |
conformance level 2.0 | customizationUUID | Identifier of the resource instance (uuid of the specific use of the resource model in this service). This identifier is regenerated whenever a user makes a change on the resource instance. Ex.: 38e5fb81-5e8c-479b-9140-38786db19967 |
conformance level 2.0 conformance level 2.0 | version: | type: string description: The resource version in SDC catalog. Two digit blocks separated by a dot (“.”). Ex. : “2.0” |
conformance level 2.0 | name: | type: string description: The name of the resource. Ex. “vMME” |
conformance level 2.0 | description: | type: string description: Description of the resource |
conformance level 2.0 | type: | type: string description: The type of resource. Resource type can be either VF, VFC, VFCMT, CP or VL. Ex. “VF” |
conformance level 2.0 | category: | type: string description: Category of the resource. Ex. “Application L4+” |
conformance level 2.0 | subcategory: | type: string description: Sub-category of the resource. Ex. “Load Balancer” |
conformance level 3.0 | resourceVendor: | type: string description: String value that specifies the vendor providing this asset |
conformance level 3.0 | resourceVendorRelease: | type: string description: String value that specifies the release version given by the vendor (no exact correlation to the version of the asset in the SDC catalog) |
conformance level 4.0 relevant for VFs, VFCs, PNF | resourceVendorModelNumber: | type: string description: The value for this field is the part number defined by the vendor, e.g. “MX960” |
conformance level 4.0 relevant for Service | serviceType: | type: string optional string field defining a generic type (like category) of the service. E.g. this field can be used for defining the service as “TRANSPORT” |
conformance level 4.0 relevant for Service | serviceRole: | type: string optional string field for short code that defines the function that the service is providing. E.g. “MISVPN” or “AIM” |
conformance level 5.0 relevant for Service Proxy | sourceModelUuid: | type: string the UUID of the source service model |
conformance level 5.0 relevant for Service Proxy | sourceModelInvariant: | type: string the invariantUUID of the source service mode |
conformance level 5.0 relevant for Service Proxy | sourceModelName: | type: string the name of the source service model |
conformance level 5.0 relevant for Service | environmentContext: | type: string optional string field defining the environment context of the deployed model. Valid Values: |
conformance level 8.0 relevant for Service | instantiationType | type: string optional string field defining the instantiationType. Valid Values:
|
Note: Customization UUID.
Each node template in the SDC TOSCA represents an instance of resource in the container (VF / Service) represented in this TOSCA template.
In 1610, the metadata for the node template gave information about the resource and not about the instance of the resource. The differentiation between the resource instances of the same model (i.e. 2 instances of compute) was only by name of the instance (key of the node template). In 1702, we add customizationUUID for every node template.
This customizationUUID is unique per resource instance in the container.
The customizationUUID is re-generated as a result of any change in the resource instance (name change, resource version change, properties update, artifact uploaded to this resource instance)
1.1.1.3 SDC VL Node Type Definitions
Tosca Type | Conformance level | Status |
org.openecomp.resource.vl.extVL | 3.0 | 2.0 Defined 3.0 Updated – new properties |
1.1.1.3.1 org.openecomp.resource.vl.extVL
org.openecomp.resource.vl.extVL derived_from: tosca.nodes.Root description: VF Tenant oam protected network properties: |
network_type: | type: string required: true description: ONAP supported network types. |
network_role: | type: string required: true description: | Unique label that defines the role that this network performs. example: vce oam network, vnat sr-iov1 network |
network_scope: | type: string constraints: valid_values: - VF - SERVICE - GLOBAL description: | Uniquely identifies the network scope. Valid values for the network scope includes: VF - VF-level network. Intra-VF network which connects the VFCs (VMs) inside the VF. SERVICE - Service-level network. Intra-Service network which connects the VFs within the service GLOBAL - Global network which can be shared by multiple services |
network_technology: | type: string required: true description: ONAP supported network technology |
exVL_naming: | type: org.openecomp.datatypes.Naming required: true |
network_homing: | type: org.openecomp.datatypes.ONAPHoming required: true |
network_assignments: | type: org.openecomp.datatypes.network.NetworkAssignments required: true |
provider_network: | type: org.openecomp.datatypes.network.ProviderNetwork required: true |
network_flows: | type: org.openecomp.datatypes.network.NetworkFlows required: false |
1.1.1.4 SDC CP Node Type Definitions
Tosca Type | Conformance level | Status |
org.openecomp.resource.cp.extCP | 3.0 | Defined |
org.openecomp.resource.cp.v2.extCP | 5.0 | Defined |
org.openecomp.resource.cp.v2.extNeutronCP | 5.0 | 5.0 Defined 8.0 Updated (removed binding capability) |
org.openecomp.resource.cp.v2.extContrailCP | 5.0 | Defined |
org.openecomp.resource.cp.v2.extVirtualMachineInterfaceCP | 8.0 | 8.0 Defined 8.0 Updated (removed binding capability) |
org.openecomp.resource.cp.nodes.network.Port | 9.0 | 8.0 Updated 8.0 Updated – new binding capability 9.0 Updated |
org.openecomp.resource.cp.nodes.network.v2.SubInterface | 8.0 | 8.0 Defined 8.0 Updated (binding requirement with limitation to node and occurrences) |
org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface | 8.0 | 8.0 Defined 8.0 Updated (removed binding requirement) |
1.1.1.4.1 org.openecomp.resource.cp.extCP
org.openecomp.resource.cp.extCP: derived_from: tosca.nodes.Root description: The SDC Connection Point base type all other CP derive from properties: | ||
network_role: | type: string required: true description: identical to VL network_role | |
order: | type: integer required: true description: The order of the CP on the compute instance (e.g. eth2). | |
network_role_tag: | type: string required: true description: Must correlate to the set of defined “network-role” tag identifiers from the associated HEAT template | |
mac_requirements: | type: org.openecomp.datatypes.network.MacRequirements required: false description: identifies MAC address assignments to the CP | |
vlan_requirements: | type: list entry_schema: type: org.openecomp.datatypes.network.VlanRequirements required: false description: identifies vlan address assignments to the CP | |
ip_requirements: | type: list entry_schema: type: org.openecomp.datatypes.network.IpRequirements required: true description: identifies IP requirements to the CP | |
exCP_naming: | type: org.openecomp.datatypes.Naming | |
subnetpoolid: | type: string | |
requirements:
- virtualLink: capability: tosca.capabilities.network.Linkable relationship: tosca.relationships.network.LinksTo - virtualBinding: capability: tosca.capabilities.network.Bindable relationship: tosca.relationships.network.BindsTo - external_virtualLink: capability: tosca.capabilities.network.Linkable relationship: tosca.relationships.network.LinksTo node: org.openecomp.resource.vl.VL |
capabilities:
internal_connectionPoint: type: tosca.capabilities.Node valid_source_type: - tosca.nodes.network.Port |
1.1.1.4.2 org.openecomp.resource.cp.v2.extCP
This node type serves as a base of the hierarchy of external connection points. An external CP is a CP exposed by a VFC or a VNF for connectivity with other VNFs and VFCs in a higher-level aggregation.
org.openecomp.resource.cp.v2.extCP: derived_from: org.openecomp.resource.cp.nodes.network.Port description: The SDC External Connection Point base type capabilities: port_mirroring: type: org.openecomp.capabilities.PortMirroring |
The external CP hierarchy currently includes two “concrete” sub-types: org.openecomp.resource.cp.v2.extNeutronCP and org.openecomp.resource.cp.v2.extContrailCP.
These sub-types inherit the port_mirroring capability of type org.openecomp.capabilities.PortMirroring.
1.1.1.4.3 org.openecomp.resource.cp.v2.extNeutronCP
During onboarding of a HEAT template, a Contrail port resource that has not been linked to an internal network is translated into a TOSCA node of this type.
org.openecomp.resource.cp.v2.extNeutronCP: derived_from: org.openecomp.resource.cp.v2.extCP properties:
|
port_security_enabled: | type: boolean description: Flag to enable/disable port security on the network required: false status: SUPPORTED |
device_id: | type: string description: Device ID of this port required: false status: SUPPORTED |
qos_policy: | type: string description: The name or ID of QoS policy to attach to this network required: false status: SUPPORTED |
allowed_address_pairs: | type: list description: Additional MAC/IP address pairs allowed to pass through the port required: false status: SUPPORTED entry_schema: type: org.openecomp.datatypes.heat.network.AddressPair |
binding:vnic_type: | type: string description: The vnic type to be bound on the neutron port required: false status: SUPPORTED constraints: - valid_values: - macvtap - direct - normal |
value_specs: | type: map description: Extra parameters to include in the request required: false default: {} status: SUPPORTED entry_schema: type: string |
device_owner: | type: string description: Name of the network owning the port required: false status: SUPPORTED |
network: | type: string description: Network this port belongs to required: false status: SUPPORTED |
replacement_policy: | type: string description: Policy on how to respond to a stack-update for this resource required: false default: AUTO status: SUPPORTED constraints: - valid_values: - REPLACE_ALWAYS - AUTO |
security_groups: | type: list description: List of security group names or IDs required: false status: SUPPORTED entry_schema: type: string |
fixed_ips: | type: list description: Desired IPs for this port required: false status: SUPPORTED entry_schema: type: org.openecomp.datatypes.heat.neutron.port.FixedIps |
mac_address: | type: string description: MAC address to give to this port required: false status: SUPPORTED |
admin_state_up: | type: boolean description: A boolean value specifying the administrative status of the network required: false default: true status: SUPPORTED |
name: | type: string description: A symbolic name for this port required: false status: SUPPORTED |
attributes:
tenant_id: | type: string description: Tenant owning the port status: SUPPORTED |
network_id: | type: string description: Unique identifier for the network owning the port status: SUPPORTED |
qos_policy_id: | type: string description: The QoS policy ID attached to this network status: SUPPORTED |
show: | type: string description: Detailed information about resource status: SUPPORTED |
subnets: | type: list description: Subnets of this network status: SUPPORTED entry_schema: type: string |
status: | type: string description: The status of the network status: SUPPORTED |
capabilities:
attachment: type: tosca.capabilities.Attachment occurrences: - 1 - UNBOUNDED binding: type: tosca.capabilities.network.Bindable valid_source_types: - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface - org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface occurrences: - 0 - UNBOUNDED |
The numerous properties of this type are copied from the source HEAT Contrail port. It also inherits the port_mirroring capability of type org.openecomp.nodes.PortMirroringConfiguration.
1.1.1.4.4 org.openecomp.resource.cp.v2.extContrailCP
During onboarding of a HEAT template, a Neutron port resource that has not been linked to an internal network is translated into a TOSCA node of this type.
The numerous properties of this type are copied from the source HEAT Neutron port. It also inherits the port_mirroring capability of type org.openecomp.nodes.PortMirroringConfiguration.
org.openecomp.resource.cp.v2.extContrailCP: derived_from: org.openecomp.resource.cp.v2.extCP properties: |
static_routes: | type: list description: An ordered list of static routes to be added to this interface required: false status: SUPPORTED entry_schema: type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute |
virtual_network: | type: string description: Virtual Network for this interface required: true status: SUPPORTED |
static_route: | type: boolean description: Static route enabled required: false default: false status: SUPPORTED |
allowed_address_pairs: | type: list description: List of allowed address pair for this interface required: false status: SUPPORTED entry_schema: type: org.openecomp.datatypes.heat.network.contrail.AddressPair |
shared_ip: | type: boolean description: Shared ip enabled required: false default: false status: SUPPORTED |
ip_address: | type: string description: IP for this interface required: false status: SUPPORTED |
interface_type: | type: string description: Interface type required: true status: SUPPORTED constraints: - valid_values: - management - left - right - other |
attributes:
fq_name: | type: string description: fq_name status: SUPPORTED |
1.1.1.4.5 org.openecomp.resource.cp.v2.extVirtualMachineInterfaceCP
node_types: org.openecomp.resource.cp.v2.extVirtualMachineInterfaceCP derived_from: org.openecomp.resource.cp.v2.extCP |
1.1.1.4.6 org.openecomp.resource.cp.nodes.network.Port
org.openecomp.resource.cp.nodes.network.Port: derived_from: tosca.nodes.network.Port properties: | ||
network_role: | type: string required: true description: identical to VL network_role | |
order: | type: integer required: true description: The order of the CP on the compute instance (e.g. eth2). | |
network_role_tag: | type: string required: true description: Must correlate to the set of defined “network-role” tag identifiers from the associated HEAT template | |
mac_requirements: | type: org.openecomp.datatypes.network.MacRequirements required: false description: identifies MAC address assignments to the CP | |
vlan_requirements: | type: list entry_schema: type: org.openecomp.datatypes.network.VlanRequirements required: false description: identifies vlan address assignments to the CP | |
ip_requirements: | type: list entry_schema: type: org.openecomp.datatypes.network.IpRequirements required: true description: identifies IP requirements to the CP | |
exCP_naming: | type: org.openecomp.datatypes.Naming | |
subnetpoolid: | type: string | |
subinterface_indicator: | description: identifies if Port is having Sub Interface type: boolean required: false default: false | |
related_networks: Comment: Defined in Conformance level 9.0 | type: list description: Related Networks List. required: false entry_schema: type: org.openecomp.datatypes.network.RelatedNetworksAssignments | |
capabilities:
network.incoming.packets.rate: | type: org.openecomp.capabilities.metric.Ceilometer description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. properties: unit: type: string description: Unit of the metric value required: true default: packet/s status: SUPPORTED name: type: string description: Ceilometer metric type name to monitor. (The name ceilometer is using) required: true default: network.incoming.packets.rate status: SUPPORTED description: type: string description: Description of the metric required: false default: Average rate of incoming packets status: SUPPORTED type: type: string description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc. required: true default: Gauge status: SUPPORTED category: type: string description: Category of the metric, for an example, compute, disk, network, storage and etc. required: false default: network status: SUPPORTED occurrences: - 1 - UNBOUNDED |
network.outgoing.bytes: | Same type, description, properties as above |
network.outgoing.packets.rate:
| Same type, description, properties as above |
network.outpoing.packets:
| Same type, description, properties as above |
network.incoming.bytes.rate:
| Same type, description, properties as above |
network.incoming.bytes:
| Same type, description, properties as above |
network.outgoing.bytes.rate:
| Same type, description, properties as above |
network.incoming.packets: | Same type, description, properties as above |
forwarder: | type: org.openecomp.capabilities.Forwarder |
binding | type: tosca.capabilities.network.Bindable occurrences: - 0 - org.openecomp.resource.cp.nodes.network.v2.SubInterface |
1.1.1.4.7 org.openecomp.resource.cp.nodes.network.v2.SubInterface
org.openecomp.resource.cp.nodes.network.v2.SubInterface: derived_from: tosca.nodes.Root properties: |
ip_address: | description: Allow the user to set a fixed IP address. Note that this address is a request to the provider which they will attempt to fulfill but may not be able to dependent on the network the port is associated with. type: string required: false |
order: | description: 'The order of the NIC on the compute instance (e.g. eth2). Note: when binding more than one port to a single compute (aka multi vNICs) and ordering is desired, it is *mandatory* that all ports will be set with an order value and. The order values must represent a positive, arithmetic progression that starts with 0 (e.g. 0, 1, 2, ..., n).' type: integer default: 0 required: false constraints: - greater_or_equal: 0 |
is_default: | description: Set is_default=true to apply a default gateway route on the running compute instance to the associated network gateway. Only one port that is associated to single compute node can set as default=true. type: boolean default: false required: false |
ip_range_start: | description: Defines the starting IP of a range to be allocated for the compute instances that are associated by this Port. Without setting this property the IP allocation is done from the entire CIDR block of the network. type: string required: false |
ip_range_end: | description: Defines the ending IP of a range to be allocated for the compute instances that are associated by this Port. Without setting this property the IP allocation is done from the entire CIDR block of the network. type: string required: false |
attributes: ip_address: description: The IP address would be assigned to the associated compute instance. type: string requirements: - subinterface_link: capability: tosca.capabilities.network.Linkable relationship: tosca.relationships.network.LinksTo - binding: capability: tosca.capabilities.network.Bindable node: org.openecomp.resource.cp.nodes.network.Port |
1.1.1.4.8 org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface
org.openecomp.resource.cp.nodes.heat.network.v2.contrailV2.VLANSubInterface: derived_from: org.openecomp.resource.cp.nodes.network.v2.SubInterface properties: virtual_machine_interface_refs: description: List of virtual machine interface. type: list status: SUPPORTED entry_schema: type: string required: false name: description: Virtual Machine Sub Interface VLAN name type: string status: SUPPORTED required: false virtual_network_refs: description: List of virtual networks. type: list status: SUPPORTED entry_schema: type: string required: false virtual_machine_interface_properties: description: virtual machine interface properties. type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties status: SUPPORTED required: false virtual_machine_interface_allowed_address_pairs: description: Virtual Machine Sub Interface allowed address pairs. type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs status: SUPPORTED required: false virtual_machine_interface_mac_addresses: description: List of mac addresses. type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress status: SUPPORTED required: false security_group_refs: description: List of security groups. type: list status: SUPPORTED entry_schema: type: string required: false port_tuple_refs: description: List of port tuples. type: list status: SUPPORTED entry_schema: type: string required: false attributes: fq_name: description: The FQ name of the Virtual Network. type: string status: SUPPORTED show: description: All attributes. type: string status: SUPPORTED requirements: - binding: capability: tosca.capabilities.network.Bindable node: org.openecomp.resource.cp.nodes.network.Port relationship: tosca.relationships.network.BindsTo occurrences: - 1 - 1 |
1.1.1.5 SDC VFC Node Type Definitions
Tosca Type | Conformance level | Status |
org.openecomp.nodes.VnfConfiguration | 4.0 | Defined |
org.openecomp.resource.abstract.nodes.MultiFlavorVFC | 4.0 | Defined |
1.1.1.5.1 org.openecomp.nodes.VnfConfiguration
node_types: org.openecomp.nodes.VnfConfiguration: properties: allowed_flavors: type: map entry_schema: {type: DeploymentFlavor} |
This node type will serve as a base type for the VNF configuration node within the model. The allowed_flavors map uses the value of the flavor’s sp_part_number property as a key to access the flavor entry.
1.1.1.5.2 org.openecomp.resource.abstract.nodes.MultiFlavorVFC
The image info records should be kept with the flavored VFCs level, while non-flavored VFCs don’t have this information. For this reason, 1710 puts the new images info property into a new abstract node type:
Node_types: org.openecomp.resource.abstract.nodes.MultiFlavorVFC: derived_from: org.openecomp.resource.abstract.nodes.VFC: properties: images: type: map entry_schema: {type: org.openecomp.datatypes.ImageInfo} required: false |
The VFC node templates generated for the multi-flavor VFCs will be based on this new type.
The images map uses the image software_version for the access key.
1.1.1.6 SDC Abstract (VFC, VF, CR, PNF, Service) Type Definitions
Tosca Type | Conformance level | Status |
org.openecomp.resource.abstract.nodes.VFC | 2.0 | Defined |
org.openecomp.resource.abstract.nodes.VF | 4.0 | Defined |
org.openecomp.resource.abstract.nodes.PNF | 4.0 | Defined |
org.openecomp.resource.abstract.nodes.CR | 6.0 | Defined |
org.openecomp.resource.abstract.nodes.service | 3.0 | Defined |
org.openecomp.nodes.ForwardingPath | 5.0 | Defined |
1.1.1.6.1 org.openecomp.resource.abstract.nodes.VFC
org.openecomp.resource.abstract.nodes.VFC: derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute properties: | ||
nfc_function: | type: string | |
high_availablity: | type: string description: high_availablity required: false status: SUPPORTED | |
vm_image_name: | type: string description: Master image_name volume id required: true status: SUPPORTED | |
vm_flavor_name: | type: string description: Master image_name volume id required: true status: SUPPORTED | |
nfc_naming_code: | type: string description: nfc code for instance naming required: false status: SUPPORTED | |
vm_type_tag: | type: string description: vm type based on naming Convention required: false status: SUPPORTED | |
nfc_naming: | type: org.openecomp.datatypes.Naming description: vfc naming | |
min_instances: | type: integer description: Minimum number of VFC Instances required: false default: 0 status: SUPPORTED constraints: - greater_or_equal: 0 | |
1.1.1.6.2 org.openecomp.resource.abstract.nodes.VF
org.openecomp.resource.abstract.nodes.VF: derived_from: tosca.nodes.Root properties: | |||
nf_function: | type: string String property defining a generic type (like category) of the PNF. | ||
nf_role: | type: string String property for short code that defines a Network function that the Vendor Software or PNF is providing. E.g. vCE, vARM | ||
nf_type: | type: string String property that provides English description of the functionality of the PNF in the Service context | ||
nf_naming_code: | type: string | ||
nf_naming: | type: org.openecomp.datatypes.Naming default: true | ||
availability_zone_max_count: | type: integer default: 1 constraints: - valid_values: - 0 - 1 - 2 | ||
min_instances: | type: integer | ||
max_instances: | type: integer | ||
multi_stage_design: | type: boolean default: false | ||
1.1.1.6.3 org.openecomp.resource.abstract.nodes.PNF
org.openecomp.resource.abstract.nodes.PNF: derived_from: tosca.nodes.Root properties: | |||
nf_function: | type: string String property defining a generic type (like category) of the PNF. | ||
nf_role: | type: string String property for short code that defines a Network function that the Vendor Software or PNF is providing. E.g. vCE, vARM | ||
nf_type: | type: string String property that provides English description of the functionality of the PNF in the Service context | ||
1.1.1.6.4 org.openecomp.resource.abstract.nodes.CR
Node of this type allows new resource to have generic properties (same as in VNF).
TOSCA definition:
node_types: org.openecomp.resource.abstract.nodes.CR: derived_from: tosca.nodes.Root properties: cr_function: type: string cr_role: type: string cr_type: type: string |
1.1.1.6.5 org.openecomp.resource.abstract.nodes.service:
org.openecomp.resource.abstract.nodes.service: derived_from: tosca.nodes.Root |
In SDC, creating a service by a service designer is a well-defined process. It starts when the service designer chooses the 'Create Service' option on the SDC UI. The the designer creates the service topology by dragging and dropping the service-level resources from the resource palette onto the service composition canvas, customizing their properties, establishing relationships between the resource instances, etc. In the end of the composition session, the designer presses the 'Save' button on the SDC UI. In result of the session composition session, SDC generates the following objects in the SDC catalog:
- the interface node type for this specific service. This node type is derived from the abstract node type org.openecomp.resource.abstract.nodes.service
- the service topology template. This topology captures the service composition as created by the designer during the service composition session. In addition, SDC generates for the topology a substitution_mappings constructs that maps the topology to the previously described service node type.
1.1.1.6.6 org.openecomp.nodes.ForwardingPath
Node templates of this node type help represent a Path. The type is defined as following:
org.openecomp.nodes.ForwardingPath: derived_from: tosca.nodes.Root properties: target_range: type: list description: List of receiver ports of the VNF or the Service status: SUPPORTED entry_schema: type: string protocol: type: string description: Protocol of the traffic status: SUPPORTED requirements: - forwarder: capability: org.openecomp.capabilities.Forwarder relationship: org.openecomp.relationships.ForwardsTo - 2 - UNBOUNDED |
1.1.1.7 SDC ServiceProxy Node Type Definitions
Tosca Type | Conformance level | Status |
org.openecomp.nodes.ServiceProxy | 3.0 | Defined |
1.1.1.7.1 org.openecomp.nodes.ServiceProxy
Node templates of this node type represent an external service. The type is defined as following:
node_types: org.openecomp.nodes.ServiceProxy: derived_from: tosca.nodes.Root |
The ServiceProxy type itself does not carry any properties or capabilities; its only purpose is to serve as a base for further type derivation ( see Local node types derived).
1.1.1.7.1.1 from org.openecomp.nodes.ServiceProxy
For each external service being “proxied”, SDC generates a special node type, which is derived from the base ServiceProxy type. The new node type augments the base ServiceProxy type with the capability definitions, which are copied by SDC from the source service.
For example, when the designer choses the Service X in the catalog and instructs SDC to create a proxy of this service, SDC generates a special proxy node type that looks approximately like this:
node_types: ServiceX_Proxy: # the proxy type name is generated by SDC in design time derived_from: org.openecomp.nodes.ServiceProxy capabilities: ServiceX_capability_01: .... # capability definition copied from the Service X model ServiceX_capability_0N: .... # capability definition copied from the Service X model |
Please note that on the TOSCA code sample above, the names of the node type (ServiceX_Proxy) and its capabilities (ServiceX_capability_0**) are artificial strings generated by SDC based on the source service details, such as name, UUID, version, etc. The actual names will vary.
Based on these new node types, SDC also generates a proxy node template for each external service being “proxied” within the Port Mirroring service. See service proxy template for more details about the proxy nodes.
1.1.1.8 SDC Configuration Node Type Definitions
Tosca Type | Conformance level | Status |
org.openecomp.nodes.PortMirroringConfiguration
| 5.0 | Defined |
org.openecomp.nodes.VLANNetworkReceptor | 8.0 | Defined |
org.openecomp.nodes.VRFEntry | 8.0 | Defined |
org.openecomp.nodes.VRFObject | 8.0 | 8.0 Defined and Changed type to be consistent with other configuration node types |
org.openecomp.nodes.Configuration | 9.0 | Defined |
org.openecomp.nodes.FabricConfiguration | 9.0 | Defined |
1.1.1.8.1 org.openecomp.nodes.Configuration
org.openecomp.nodes.Configuration: derived_from: tosca.nodes.Root properties: | ||
type: | type: string description: The configuration object type required: false | |
role: | type: string description: The configuration object role required: false | |
function: | type: string description: The configuration object function required: false |
1.1.1.8.2 org.openecomp.nodes.PortMirroringConfiguration
Node templates of this type define port mirroring “links” between the logical interfaces of the source service (modeled as capabilities on the source service proxy) and the logical interfaces of the collector service (modeled as capabilities on the collector service proxy).
TOSCA definition:
node_types: org.openecomp.nodes.PortMirroringConfiguration: derived_from: tosca.nodes.Root requirements: - source: capability: org.openecomp.capabilities.PortMirroring occurrences: [1,UNBOUNDED] - collector: capability: org.openecomp.capabilities.PortMirroring occurrences: [1,1] |
A Port Mirroring service model contains one or PortMirroringConfiguration nodes.
A port mirroring configuration node can refer to one or more interfaces on the source side and to exactly one interface on the collector side.
1.1.1.8.3 org.openecomp.nodes.PortMirroringConfigurationByPolicy
Node templates of this type define port mirroring configuration between the logical interfaces of the source service (modeled as capabilities on the source service proxy) and the collector service (modeled as a collector proxy and the policy name for the selection of the collector interfaces).
TOSCA definition:
node_types: org.openecomp.nodes.PortMirroringConfigurationByPolicy: derived_from: tosca.nodes.Root properties: collector_node: type: string description: The name of the Collector Proxy Node required: true policy_name: type: string description: The name of the policy for selection of the collector interfaces required: true equip_model: type: string description: The name of the equipment type of the collector, i.e. 4500x required: true equip_vendor: type: string description: The name of the equipment vendor of the collector, i.e. Cisco required: true requirements: - source: capability: org.openecomp.capabilities.PortMirroring occurrences: [1,UNBOUNDED] |
A Port Mirroring service model contains one or more PortMirroringConfigurationByPolicy nodes.
A port mirroring configuration by policy node can refer to one or more interfaces on the source side and to exactly one collector service (via proxy) on the collector side in addition the configuration node holds the name of the policy which defined which of the collector interfaces should be selected for mirroring.
1.1.1.8.4 org.openecomp.nodes.VLANNetworkReceptor
Node templates of this type allows configuration of subinterfaces, exposed by VNF Infrastructure service (modeled as capabilities on the VNF Infrastructure service proxy). Subinterfaces configuration is based on assignment them internal network routing information and providing this configuration to VRF Entry or to the Transport service (modeled as capabilities on the Transport service proxy) in order to complete the configuration by external network routing information.
Nodes of this type are categorized as Configuration. This means that a VLANNetworkReceptor-typed node should be interpreted as a mere structured informational record rather than a prototype of a deployable entity.
It is assumed that run-time lifecycle of VLANNetworkReceptor node includes operations start and stop, which respectively activate and deactivate the Subinterface and internal network “association”. The run-time components should also maintain the state attribute with the VLANNetworkReceptor instances to keep track of the actual state of the instance (active or inactive).
org.openecomp.nodes.VLANNetworkReceptor: derived_from: tosca.nodes.Root capabilities: routing_configuration_internal: type: org.openecomp.capabilities.RoutingConfiguration requirements: - vlan_assignment: occurrences: - 1 - UNBOUNDED capability: org.openecomp.capabilities.VLANAssignment relationship: org.openecomp.relationships.AssignsTo |
1.1.1.8.5 org.openecomp.nodes.VRFEntry
Node templates of this type allows VPN configuration by coupling routing information of internal network (provided by Network Receptor) and external network.
Nodes of this type are categorized as Configuration. This means that a VRFEntry-typed node should be interpreted as a mere structured informational record rather than a prototype of a deployable entity.
It is assumed that run-time lifecycle of VRFEntry node includes operations start and stop, which respectively activate and deactivate internal network and external network “association”. The run-time components should also maintain the state attribute with the VRFEntry instances to keep track of the actual state of the instance (active or inactive).
org.openecomp.nodes.VRFEntry: derived_from: tosca.nodes.Root requirements: - routing_configuration_internal: occurrences: - 1 - UNBOUNDED capability: org.openecomp.capabilities.RoutingConfiguration relationship: org.openecomp.relationships.RoutesTo - routing_configuration_external: occurrences: - 1 - UNBOUNDED capability: org.openecomp.capabilities.RoutingConfiguration relationship: org.openecomp.relationships.RoutesTo |
1.1.1.8.6 org.openecomp.nodes.VRFObject
Node of this type provides routing information of external network to the VLAN Network Receptor
Node of this type is categorized as Configuration. This means that a VRFObject-typed node should be interpreted as a mere structured informational record rather than a prototype of a deployable entity.
org.openecomp.nodes.VRFObject derived_from: tosca.nodes.Root description: provides capability to connect WAN Transport Service Proxy to VRF Entry capabilities: routing_configuration_external: type: org.openecomp.capabilities.RoutingConfiguration |
1.1.1.8.7 org.openecomp.nodes.FabricConfiguration
org.openecomp.nodes.FabricConfiguration: derived_from: org.openecomp.nodes.Configuration requirements: - fabric_configuration_monitoring: capability:org.openecomp.capabilities.FabricConfiguration occurrences: - 1 - UNBOUNDED |
1.1.1.9 SDC Allotted Resource Node Type Definitions
Tosca Type | Conformance level | Status |
org.openecomp.resource.vfc.AllottedResource | 3.0 | 2.0 Defined 3.0 Updated |
1.1.1.9.1 org.openecomp.resource.vfc.AllottedResource
org.openecomp.resource.vfc.AllottedResource: derived_from: tosca.nodes.Root description: ONAP Allotted Resource base type all other allotted resources node types derive from. |
properties: |
depending_service_uuid: | type: string required: true description: The depending service uuid in order to map the allotted resource to the specific service version |
providing_service_uuid: | type: string required: true description: String property that with the providing service uuid in order to map the allotted resource to the specific providing service version |
providing_service_invariant_uuid: | type: string required: true description: String property that with the providing service invariant uuid (the invariant uuid is constant and same for all versions of the providing service) |
providing_service_name: | type: string required: true description: String property that with the providing service name |
target_network_role: | type: string required: true description: |
role: | type: string required: true description: Unique label that defines the role that this allotted resource performs |
ONAP_homing: | type: org.openecomp.datatypes.ONAPHoming required: true |
ONAP_naming: | type: org.openecomp.datatypes.ONAPNaming |
min_instances: | type: integer default: 1 |
max_instances: | type: integer default: 1 |
requirements: |
- service_dependency: capability: org.openecomp.capabilities.AllottedResource relationship: tosca.relationships.DependsOn node: tosca.services.Root |