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:
• Critical_Revenue-Bearing
• Vital_Revenue-Bearing
• Essential_Revenue-Bearing
• Important_Revenue-Bearing
• Needed_Revenue-Bearing
• Useful_Revenue-Bearing
• General_Revenue-Bearing
• Critical_Non-Revenue
• Vital_Non-Revenue
• Essential_Non-Revenue
• Important_Non-Revenue
• Needed_Non-Revenue
• Useful_Non-Revenue
• General_Non-Revenue


conformance level 8.0

relevant for Service

instantiationType

type: string

optional string field defining the instantiationType.

Valid Values:

  • A-la-carte (default)
  • Macro

 

 

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
   properties:
     name:
      description: Virtual Machine Interface name
      type: string
      status: SUPPORTED
      required: false
    security_group_refs:
      description: List of security groups.
      type: list
      status: SUPPORTED
      entry_schema:
        type: string
        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.interface.Properties
      status: SUPPORTED
      required: false
    port_tuple_refs:
      description: List of port tuples.
      type: list
      status: SUPPORTED
      entry_schema:
        type: string
        required: false
    virtual_machine_interface_mac_addresses:
      description: List of mac addresses.
      type: list
      status: SUPPORTED
      entry_schema:
        type: string
        required: false
    virtual_machine_interface_allowed_address_pairs:
      description: Virtual Machine Interface allowed address pairs.
      type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs
      status: SUPPORTED
      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
  capabilities:
    binding:
      type: tosca.capabilities.network.Bindable
      occurrences:
      - 0
      - UNBOUNDED
      valid_source_types:
      - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface

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
 - UNBOUNDED
valid_source_types:
- org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface

- 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
        relationship: tosca.relationships.network.BindsTo
        occurrences:
        - 1
        - 1


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

  • No labels

2 Comments

  1. what are the meaning conformance level x.0 in SDC Node Type Metadata? what are the use cases of these conformance levels?

    1. A conformance level is a version-like property that is assigned to each release of SDC and SO, and then helps VID/SO to quickly understand the level of compatibility between the design-time and run-time parts of the platform.

      SDC "stamps" every CSAR it produces with its conformance level number. During deployment, the conformance level of the CSAR is compared with the conformance level of the target SO. Generally, the SO is considered capable of running the CSAR if SO's conformance level is equal or greater than CSAR's.