summaryrefslogtreecommitdiffstats
path: root/docs/parser_docs/tosca2heat/examples
diff options
context:
space:
mode:
authorzhipengh <huangzhipeng@huawei.com>2017-02-27 04:26:21 -0500
committerzhipengh <huangzhipeng@huawei.com>2017-02-27 08:15:06 -0500
commite243c1f9c40c5acee4fb89d99fae05f7a46768be (patch)
tree3370f46e2ebfa3007d1c4757e540ebdc74f0a183 /docs/parser_docs/tosca2heat/examples
parentf0108f26fb1f62fefbbc4d5484b87241d563737b (diff)
Release D doc update
Change-Id: I6b2749e5692cf6af2615ff5aff81ff060a1a25d3 Signed-off-by: zhipengh <huangzhipeng@huawei.com>
Diffstat (limited to 'docs/parser_docs/tosca2heat/examples')
-rw-r--r--docs/parser_docs/tosca2heat/examples/Simple_RNC.yaml457
-rw-r--r--docs/parser_docs/tosca2heat/examples/Simple_RNC_definition.yaml119
-rw-r--r--docs/parser_docs/tosca2heat/examples/TOSCA_nfv_definition_1_0.yaml627
3 files changed, 0 insertions, 1203 deletions
diff --git a/docs/parser_docs/tosca2heat/examples/Simple_RNC.yaml b/docs/parser_docs/tosca2heat/examples/Simple_RNC.yaml
deleted file mode 100644
index 281b064..0000000
--- a/docs/parser_docs/tosca2heat/examples/Simple_RNC.yaml
+++ /dev/null
@@ -1,457 +0,0 @@
-## Licensed under the Apache License, Version 2.0 (the "License"); you may
-## not use this file except in compliance with the License. You may obtain
-## a copy of the License at
-##
-## http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-## WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-## License for the specific language governing permissions and limitations
-## under the License.
-
-tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
-
-metadata:
- template_name: tosca_simple_profile_for_nfv_vRNC
- template_author: opnfv_parser_project_from_zte
- template_version: tosca_simple_profile_for_nfv_1_0
-
-# Optional description of the definitions inside the file.
-description: >
- TOSCA simple profile for RNC
- 1. Compute Node MM, CM, DM, LB...
- 1.1 MM: MaintainModule;
- 1.2 CM: Control Module;
- 1.3 DM: Data Module;
- 1.4 LB: LineCard Module
- 2. Network Node VL and CP
-
-imports:
- - Simple_RNC_definition.yaml
-
-# list of YAML alias anchors (or macros)
-dsl_definitions:
- compute_props_os_DEF: &compute_props_os_DEF
- architecture: x86_64
- type: Linux
- distribution: Ubuntu
- version: 14.10
-
- compute_props_host_MM: &compute_props_host_MM
- disk_size: 80 GB
- iops: 300
- num_cpus: 8
- mem_size: 8192 MB
- swap: 512 MB
-
- compute_props_host_CM: &compute_props_host_CM
- disk_size: 0 GB
- num_cpus: 8
- mem_size: 8192 MB
-
- compute_props_host_DM: &compute_props_host_DM
- disk_size: 0 GB
- num_cpus: 8
- mem_size: 8192 MB
-
- compute_props_host_LB: &compute_props_host_LB
- disk_size: 0 GB
- num_cpus: 4
- mem_size: 8192 MB
-
-# topology template definition of the cloud application or service
-topology_template:
- # a description of the topology template
- description: >
- simple RNC template
-
- inputs:
- mm_storage_size:
- type: integer
- default: 40 GB
- description: mm additional block storage size
- constraints:
- - in_range: [ 1, 200 ]
-
- substitution_mappings:
- node_type: rnc.nodes.VNF
- requirements:
- virtualLink_VNFM: [ MM_Port_CTRL, virtualLink ]
- virtualLink_EMS: [ MM_Port_EMS, virtualLink ]
- virtualLink_TRAFFIC: [ LB_Port_EXTERMEDIA, virtualLink ]
-
- # definition of the node templates of the topology
- node_templates:
- MM_Active:
- type: rnc.nodes.compute.MM
- properties:
- activestatus: 1
- capabilities:
- os:
- properties: *compute_props_os_DEF
- host:
- properties: *compute_props_host_MM
- requirements:
- - local_storage:
- node: MM_BlockStorage
- relationship: Storage_attachesto
- artifacts:
- #the VM image of MM
- vm_image: mm.image
- interfaces:
- Standard:
- create:
- implementation: mm_install.sh
- configure:
- implementation: mm_active_configure.sh
- attributes:
- ip_address: { get_attribute: [ SELF, private_address ] }
-
- MM_Passive:
- type: rnc.nodes.compute.MM
- properties:
- activestatus: 0
- capabilities:
- os:
- properties: *compute_props_os_DEF
- host:
- properties: *compute_props_host_MM
- requirements:
- - local_storage:
- node: MM_BlockStorage
- relationship: Storage_attachesto
- - high_availability: MM_Active
- artifacts:
- #the VM image of MM
- vm_image: mm.image
- interfaces:
- Standard:
- create:
- implementation: mm_install.sh
- configure:
- implementation: mm_passvie_configure.sh
- attributes:
- ip_address: { get_attribute: [ SELF, private_address ] }
-
- CM_Active:
- type: rnc.nodes.compute.CM
- properties:
- activestatus: 1
- capabilities:
- os:
- properties: *compute_props_os_DEF
- host:
- properties: *compute_props_host_CM
- scalable:
- properties:
- min_instances: 1
- max_instances: 126
- default_instances: 1
- artifacts:
- #the VM image of CM
- vm_image: cm.image
- interfaces:
- Standard:
- create:
- implementation: cm_install.sh
- configure:
- implementation: cm_active_configure.sh
- attributes:
- ip_address: { get_attribute: [ SELF, private_address ] }
-
- CM_Passive:
- type: rnc.nodes.compute.CM
- properties:
- activestatus: 0
- capabilities:
- os:
- properties: *compute_props_os_DEF
- host:
- properties: *compute_props_host_CM
- scalable:
- properties:
- min_instances: 1
- max_instances: 126
- default_instances: 1
- requirements:
- - high_availability: CM_Active
- artifacts:
- #the VM image of CM
- vm_image: mm.image
- interfaces:
- Standard:
- create:
- implementation: cm_install.sh
- configure:
- implementation: cm_passvie_configure.sh
- attributes:
- ip_address: { get_attribute: [ SELF, private_address ] }
-
- DM:
- type: rnc.nodes.compute.DM
- capabilities:
- os:
- properties: *compute_props_os_DEF
- host:
- properties: *compute_props_host_DM
- scalable:
- properties:
- min_instances: 1
- max_instances: 120
- default_instances: 1
- artifacts:
- vm_image: dm.image
- interfaces:
- Standard:
- create:
- implementation: dm_install.sh
- configure:
- implementation: dm_configure.sh
- attributes:
- ip_address: { get_attribute: [ SELF, private_address ] }
-
- LB:
- type: rnc.nodes.compute.LB
- capabilities:
- os:
- properties: *compute_props_os_DEF
- host:
- properties: *compute_props_host_LB
- scalable:
- properties:
- min_instances: 1
- max_instances: 20
- default_instances: 1
- artifacts:
- #the VM image of LB
- vm_image: lb.image
- interfaces:
- Standard:
- create:
- implementation: lb_install.sh
- configure:
- implementation: lb_configure.sh
- attributes:
- ip_address: { get_attribute: [ SELF, private_address ] }
-
- MM_BlockStorage:
- type: rnc.nodes.BlockStorage
- properties:
- size: { get_input: mm_storage_size }
- interfaces:
- Configure:
- post_configure_target:
- implementation: default_script.sh
-
- CTRL_Net:
- type: rnc.nodes.VL
- properties:
- vendor: ZTE
- cidr: "128.0.0.0/8"
- network_name: Ctrl_Net
- network_type: vlan
- segmentation_id: 110
- dhcp_enabled: false
-
- INTERMEDIA_Net:
- type: rnc.nodes.VL
- properties:
- vendor: ZTE
- cidr: 10.0.0.0/8
- start_ip: 10.1.0.1
- end_ip: 10.1.2.254
- network_name: InterMedia_Net
- network_type: vlan
- segmentation_id: 111
- dhcp_enabled: false
-
- EXTERMEDIA_Net:
- type: rnc.nodes.VL
- properties:
- vendor: ZTE
- cidr: 172.1.0.0/16
- start_ip: 172.1.0.2
- end_ip: 172.1.2.254
- gateway_ip: 172.1.0.1
- network_name: ExterMdedia_Net
- network_type: vlan
- segmentation_id: 100
- dhcp_enabled: false
-
- EMS_Net:
- type: rnc.nodes.VL
- properties:
- vendor: ZTE
- cidr: 129.0.0.0/24
- start_ip: 129.0.0.2
- end_ip: 129.0.0.64
- gateway_ip: 129.0.0.1
- network_name: Ems_Net
- network_type: vlan
- segmentation_id: 101
- dhcp_enabled: false
-
- MM_Port_EMS:
- type: rnc.nodes.CP
- properties:
- order: 0
- is_default: true
- requirements:
- - virtualBinding: MM_Active
- - virtualLink: EMS_Net
-
- MM_Port_CTRL:
- type: rnc.nodes.CP
- properties:
- order: 1
- is_default: false
- requirements:
- - virtualBinding: MM_Active
- - virtualLink: CTRL_Net
-
- MM_Port_EXTERMEDIA:
- type: rnc.nodes.CP
- properties:
- order: 2
- is_default: false
- requirements:
- - virtualBinding: MM_Active
- - virtualLink: EXTERMEDIA_Net
-
- CM_Port_CTRL:
- type: rnc.nodes.CP
- properties:
- order: 0
- is_default: true
- requirements:
- - virtualBinding: CM_Active
- - virtualLink: CTRL_Net
-
- CM_Port_INTERMEDIA:
- type: rnc.nodes.CP
- properties:
- order: 1
- is_default: false
- requirements:
- - virtualBinding: CM_Active
- - virtualLink: INTERMEDIA_Net
-
- DM_Port_CTRL:
- type: rnc.nodes.CP
- properties:
- order: 0
- is_default: true
- requirements:
- - virtualBinding: DM
- - virtualLink: CTRL_Net
-
- DM_Port_INTERMEDIA:
- type: rnc.nodes.CP
- properties:
- order: 1
- is_default: false
- requirements:
- - virtualBinding: DM
- - virtualLink: INTERMEDIA_Net
-
- LB_Port_CTRL:
- type: rnc.nodes.CP
- properties:
- order: 0
- is_default: true
- requirements:
- - virtualBinding: LB
- - virtualLink: CTRL_Net
-
- LB_Port_INTERMEDIA:
- type: rnc.nodes.CP
- properties:
- order: 1
- is_default: false
- requirements:
- - virtualBinding: LB
- - virtualLink: INTERMEDIA_Net
-
- LB_Port_EXTERMEDIA:
- type: rnc.nodes.CP
- properties:
- order: 2
- is_default: false
- requirements:
- - virtualBinding: LB
- - virtualLink: EXTERMEDIA_Net
-
- # definition of the relationship templates of the topology
- relationship_templates:
- Storage_attachesto:
- type: tosca.relationships.AttachesTo
- properties:
- location: /data_location
-
- # definition of output parameters for the topology template
- outputs:
- private_ip_of_MM:
- description: The private IP address of the MM.
- value: { get_attribute: [ MM_Active, private_address ] }
-
- private_ip_of_CM:
- description: The private IP address of the CM.
- value: { get_attribute: [ CM_Active, private_address ] }
-
- private_ip_of_DM:
- description: The private IP address of the DM.
- value: { get_attribute: [ DM, private_address ] }
-
- private_ip_of_LB:
- description: The private IP address of the LB.
- value: { get_attribute: [ LB, private_address ] }
-
- # definition of logical groups of node templates within the topology
- # To be continue about this section
- groups:
- AnitAffinityServerGroup:
- type: tosca.groups.Root
- description: >
- Logical component grouping for anti affinity placement,
- MM_Acitve, MM_Passive, CM_Acitve, CM_Passive, LB must host
- on different host to reduce the impact to each other.
- members: [ MM_Active, MM_Passive, CM_Active, CM_Passive, LB ]
- policies:
- type: tosca.policy.placement.Antilocate
-
- AffinityServerGroup:
- type: tosca.groups.Root
- description: >
- Logical component grouping for affinity placement,
- CM and DM will be host on the same host to get high performence
- members: [ CM_Active, DM ]
- policies:
- type: tosca.policy.placement.Antilocate
-
- policies:
- - AnitAffinityPolicy:
- type: tosca.policies.Placement.Antilocate
- description: Apply anti-locate placement policy to group
- targets: [ AnitAffinityServerGroup ]
-
- - AffinityPolicy:
- type: tosca.policies.Placement.Colocate
- description: Apply anti-locate placement policy to group
- targets: [ AffinityServerGroup ]
-
- # ServerGroupScaling_DM: # added future
- # members: [ DM, ]# only one, will be error
- # policies:
- # - name: MyScaleUpPolicy
- # - type: tosca.policy.scale.up | tosca.policy.scale.down
- # - rule: fn.utilizaton [ DM ], greater_than: 80
- # - trigger: script_dm
-
- # ServerGroupScaling_LB: # added future
- # members: [ LB, ] # only one, will be error
- # policies:
- # - name: MyScaleUpPolicy
- # - type: tosca.policy.scale.up | tosca.policy.scale.down
- # - rule: fn.utilizaton [ LB ], greater_than: 80
- # - trigger: script_lb
diff --git a/docs/parser_docs/tosca2heat/examples/Simple_RNC_definition.yaml b/docs/parser_docs/tosca2heat/examples/Simple_RNC_definition.yaml
deleted file mode 100644
index 7478d98..0000000
--- a/docs/parser_docs/tosca2heat/examples/Simple_RNC_definition.yaml
+++ /dev/null
@@ -1,119 +0,0 @@
-## Licensed under the Apache License, Version 2.0 (the "License"); you may
-## not use this file except in compliance with the License. You may obtain
-## a copy of the License at
-##
-## http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-## WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-## License for the specific language governing permissions and limitations
-## under the License.
-
-tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
-
-#metadata:
-# template_name: tosca_simple_profile_for_nfv_vRNC
-# template_author: opnfv_parser_project_from_zte
-# template_version: tosca_simple_profile_for_nfv_1_0
-
-# Optional description of the definitions inside the file.
-description: >
- NFV TOSCA simple profile for RNC types
- 1. Compute Node MM, CM, DM, LB...
- 1.1 MM: MaintainModule;
- 1.2 CM: Control Module;
- 1.3 DM: Data Module;
- 1.4 LB: LineCard Module.
- 2. Network Node VL and CP
-
-# The import section shall be ignored if the value of tosca_definitions_version
-# is tosca_simple_profile_for_nfv_1_0_0, otherwise will be needed.
-#imports:
-# - TOSCA_nfv_definition_1_0.yaml
-
-# list of node type definitions
-node_types:
- rnc.nodes.VNF:
- derived_from: tosca.nodes.nfv.VNF
- properties:
- vnftype:
- type: string
- description: type of the RNC
- default: UMTS
- required: false
- constraints:
- - valid_values: [ TDS-CDMA, UMTS, CDMA ]
- requirements:
- - virtualLink_VNFM:
- capability: tosca.capabilities.nfv.VirtualLinkable
- relationship: tosca.relationships.nfv.VirtualLinksTo
- node: rnc.nodes.VL
- - virtualLink_EMS:
- capability: tosca.capabilities.nfv.VirtualLinkable
- relationship: tosca.relationships.nfv.VirtualLinksTo
- node: rnc.nodes.VL
- - virtualLink_TRAFFIC:
- capability: tosca.capabilities.nfv.VirtualLinkable
- relationship: tosca.relationships.nfv.VirtualLinksTo
- node: rnc.nodes.VL
-
- rnc.nodes.compute.MM:
- derived_from: tosca.nodes.nfv.VDU
- properties:
- activestatus:
- type: integer
- description: 1 for active or 0 for passive
- constraints:
- - valid_values: [ 0, 1 ]
- id:
- type: string
- defaule: MM
- description: >
- A identifier of this VDU within the scope of the VNFD,
- including version functional description and other
- identification information.
-
- rnc.nodes.compute.CM:
- derived_from: tosca.nodes.nfv.VDU
- properties:
- activestatus:
- type: integer
- description: 1 for active or 0 for passive
- constraints:
- - valid_values: [ 0, 1 ]
-
- rnc.nodes.compute.DM:
- derived_from: tosca.nodes.nfv.VDU
-
- rnc.nodes.compute.LB:
- derived_from: tosca.nodes.nfv.VDU
-
- rnc.nodes.BlockStorage:
- derived_from: tosca.nodes.BlockStorage
-
- rnc.nodes.VL:
- derived_from: tosca.nodes.nfv.VL
-
- rnc.nodes.CP:
- derived_from: tosca.nodes.nfv.CP
-
-# list of capability type definitions
-capability_types:
- rnc.capabilities.Container:
- derived_from: tosca.capabilities.Container
- properties:
- swap:
- type: scalar-unit.size
- description: swap info
- required: false
- default: 0
- constraints:
- - greater_or_equal: 0 MB
- iops:
- type: integer
- description: IOPS for disk
- required: false
- default: 0
- constraints:
- - greater_than: 0
diff --git a/docs/parser_docs/tosca2heat/examples/TOSCA_nfv_definition_1_0.yaml b/docs/parser_docs/tosca2heat/examples/TOSCA_nfv_definition_1_0.yaml
deleted file mode 100644
index c535144..0000000
--- a/docs/parser_docs/tosca2heat/examples/TOSCA_nfv_definition_1_0.yaml
+++ /dev/null
@@ -1,627 +0,0 @@
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-##########################################################################
-# The content of this file reflects TOSCA NFV Profile in YAML version
-# 1.0.0, which is derived from TOSCA Simple Profile. It describes the
-# definition for nfv TOSCA types including Node Type,
-# Relationship Type, Capability Type and Interfaces.
-##########################################################################
-tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
-
-##########################################################################
-# Node Type.
-# A Node Type is a reusable entity that defines the type of one or more
-# Node Templates.
-##########################################################################
-
-tosca.nodes.nfv.VNF:
- derived_from: tosca.nodes.Root
- properties:
- id:
- type: string
- description: ID of this VNF
- vendor:
- type: string
- description: name of the vendor who generate this VNF
- version:
- type: version
- description: version of the software for this VNF
- requirements:
- - virtualLink:
- capability: tosca.capabilities.nfv.VirtualLinkable
- relationship: tosca.relationships.nfv.VirtualLinksTo
- node: tosca.nodes.nfv.VL
-
-tosca.nodes.nfv.VDU:
- derived_from: tosca.nodes.Compute
- properties:
- id:
- type: string
- required: true
- description: >
- A unique identifier of this VDU within the scope
- of the VNFD, including version functional
- description and other identification information.
- This will be used to refer to VDU when defining
- relationships between them.
- capabilities:
- high_availability:
- type: tosca.capabilities.nfv.HA
- virtualbinding:
- type: tosca.capabilities.nfv.VirtualBindable
- monitoring_parameter:
- type: tosca.capabilities.nfv.Metric
- requirements:
- - high_availability:
- capability: tosca.capabilities.nfv.HA
- relationship: tosca.relationships.nfv.HA
- node: tosca.nodes.nfv.VDU
- occurrences: [ 0, 1 ]
-
-tosca.nodes.nfv.CP:
- derived_from: tosca.nodes.network.Port
- description: >
- The NFV CP node represents a logical connection point
- entity as defined by ETSI GS NFV-MAN
- properties:
- type:
- type: string
- required: false
- requirements:
- - virtualLink:
- capability: tosca.capabilities.nfv.VirtualLinkable
- relationship: tosca.relationships.nfv.VirtualLinksTo
- node: tosca.nodes.nfv.VL
- - virtualBinding:
- capability: tosca.capabilities.nfv.VirtualBindable
- relationship: tosca.relationships.nfv.VirtualBindsTo
- node: tosca.nodes.nfv.VDU
-
-tosca.nodes.nfv.VL:
- derived_from: tosca.nodes.network.Network
- properties:
- vendor:
- type: string
- required: true
- description: name of the vendor who generate this VL
- capabilities:
- virtual_linkable:
- type: tosca.capabilities.nfv.VirtualLinkable
-
-tosca.nodes.nfv.VL.ELine:
- derived_from: tosca.nodes.nfv.VL
- capabilities:
- virtual_linkable:
- occurrences: 2
-
-tosca.nodes.nfv.VL.ELAN:
- derived_from: tosca.nodes.nfv.VL
-
-tosca.nodes.nfv.VL.ETree:
- derived_from: tosca.nodes.nfv.VL
-
-tosca.nodes.nfv.FP:
- derived_from: tosca.nodes.Root
- properties:
- policy:
- type: string
- required: false
- description: name of the vendor who generate this VL
- requirements:
- - forwarder:
- capability: tosca.capabilities.nfv.Forwarder
- relationship: tosca.relationships.nfv.ForwardsTo
-
-##########################################################################
-# Relationship Type.
-# A Relationship Type is a reusable entity that defines the type of one
-# or more relationships between Node Types or Node Templates.
-##########################################################################
-
-tosca.relationships.nfv.VirtualLinksTo:
- derived_from: tosca.relationships.network.LinksTo
- valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ]
-
-tosca.relationships.nfv.VirtualBindsTo:
- derived_from: tosca.relationships.network.BindsTo
- valid_target_types: [ tosca.capabilities.nfv.VirtualBindable ]
-
-tosca.relationships.nfv.HA:
- derived_from: tosca.relationships.Root
- valid_target_types: [ tosca.capabilities.nfv.HA ]
-
-tosca.relationships.nfv.Monitor:
- derived_from: tosca.relationships.ConnectsTo
- valid_target_types: [ tosca.capabilities.nfv.Metric ]
-
-tosca.relationships.nfv.ForwardsTo:
- derived_from: tosca.relationships.root
- valid_target_types: [ tosca.capabilities.nfv.Forwarder]
-
-##########################################################################
-# Capability Type.
-# A Capability Type is a reusable entity that describes a kind of
-# capability that a Node Type can declare to expose.
-##########################################################################
-
-tosca.capabilities.nfv.VirtualLinkable:
- derived_from: tosca.capabilities.network.Linkable
-
-tosca.capabilities.nfv.VirtualBindable:
- derived_from: tosca.capabilities.network.Bindable
-
-tosca.capabilities.nfv.HA:
- derived_from: tosca.capabilities.Root
- valid_source_types: [ tosca.nodes.nfv.VDU ]
-
-tosca.capabilities.nfv.HA.ActiveActive:
- derived_from: tosca.capabilities.nfv.HA
-
-tosca.capabilities.nfv.HA.ActivePassive:
- derived_from: tosca.capabilities.nfv.HA
-
-tosca.capabilities.nfv.Metric:
- derived_from: tosca.capabilities.Root
-
-tosca.capabilities.nfv.Forwarder:
- derived_from: tosca.capabilities.Root
-
-
-
-tosca.capabilities.nfv.CPU_extension:
- derived_from: tosca.capabilities.Root
- properties:
- cpu_instruction_set_extension:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- Instruction sets are often enhanced with
- instruction set extensions. This element
- represents instruction set extensions that the
- VDU has been developed, optimized or tested with
- cpu_model:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- The CPU model for which the VDU has been
- developed, compiled with CPU model specific
- optimisations, optimized or validated on.
- cpu_model_specification_binding:
- type: string
- required: false
- description: >
- VDUs may be developed, compiled, optimized
- or validated on particular CPU models. Some
- deployments may wish to permit the VDU to
- be deployed on a platform with the specified
- CPU only, or with an alternative CPU with the
- same architecture, instruction set, and if
- specified, instruction set extensions, or with a
- CPU of equivalent or greater capability.
- cpu_min_clock_speed:
- type: string
- required: false
- description: >
- The minimum CPU clock speed may be one of
- the elements that the development and
- validation of the VDU has been considered
- with. This may be in conjunction with some of
- the other CPU elements such as CPU Model.
- Requiring a minimum clock speed may be part
- of a deployment requirement necessary to
- help ensure particular performance or timing
- related characteristics are met in the
- deployment.
- cpu_core_reservation:
- type: string
- required: false
- description: >
- The number of CPU cores allocated to the
- VDU. This may be necessary to help ensure
- particular performance or timing related
- characteristics are met in the deployment.
- cpu_simultaneous_multi_threading_hw_thread_specification:
- type: string
- required: false
- description: >
- The use of Simultaneous Multi-Threading HW
- is an efficient way to increase the compute
- capacity of a platform. SMT HW threads share
- some CPU core resources. In some VDU
- implementations, it may be necessary to very
- explicitly control the HW thread allocation on a
- platform. This could be to help ensure locality
- in data caches or as a mechanism to enhance
- determinism.
- cpu_core_oversubscription_policy:
- type: string
- required: false
- description: >
- The VDU may co-exist on a platform with
- multiple VDUs or VMs and as such will be
- sharing CPU core resources available in the
- platform. It may be necessary to specify the
- CPU core oversubscription policy in terms of
- virtual cores to physical cores/threads on the
- platform. This policy could be based on
- required VDU deployment characteristics such
- as high performance, low latency, and /or
- deterministic behaviour.
- cpu_core_and_hw_thread_allocation_topology_policy:
- type: string
- required: false
- description: >
- The VDU may be designed to use a specific
- mapping of virtual CPUs to HW threads or
- cores with a specific allocation topology in
- order to ensure locality in data caches and
- maximize performance. The VDU will not
- specify which physical resources to use, but
- may specify if virtual CPUs shall be coupled
- together as HW threads belonging to the same
- core, or as belonging to the same processor.
- cpu_last_level_cache_size:
- type: scalar-unit.size
- required: false
- constraints:
- - greater_or_equal: 0 KB
- description: >
- The size of the last level cache may impact the
- performance of the VDU, particularly for cache
- intensive workloads.
- cpu_direct_io_access_to_cache:
- type: string
- required: false
- description: >
- The ability of an I/O device to have direct
- access to the CPU cache enables
- considerable memory access savings and for
- I/O intensive workloads can offer significant
- performance benefits.
- cpu_translation_look_aside_buffer_parameter:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- The Translation Look-aside Buffer (TLB) is a
- cache for address translation typically used by
- a hardware based memory management units.
- The Input/Output TLB (IOTLB) is a cache for
- address translation related to remapping
- hardware. The availability of a TLB and an
- IOTLB can significantly improve the
- performance of a virtual machine.
- A number of parameters of the TLBs impact
- the performance potential. These include:
- 1 TLB Size.
- 2 TLB Large Page Support.
- 3 IOTLB Size.
- 4 IOTLB Large Page Support.
- cpu_hot_add:
- type: boolean
- required: false
- description: >
- Hot add CPU is the ability to dynamically add
- CPUs to a running system. The new CPU can
- immediately replace a failing CPU via
- migration or be brought on-line later.
- cpu_support_accelerator:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- This capability refers to support by the CPU
- and associated chipsets of a data processing
- accelerator framework, together with its
- libraries and drivers.
-
-tosca.capabilities.nfv.Memory_extension:
- derived_from: tosca.capabilities.Root
- properties:
- memory_parameter:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- There are a number of memory related parameters that can have a
- significant impact on the performance and/or reliability of the VDU.
- These include:
- • Memory Type.
- • Memory Speed
- • Number of memory channels.
- • Size of available memory.
- • Reliability characteristics such as Memory Error Correction
- codes.
- • Memory oversubscription policy.
- • Memory bandwidth required per VDU.
- • Number of large pages required per VDU
- • Non-Uniform Memory Architecture (NUMA) Allocation Policy,
- i.e. in NUMA architecture how you specify memory allocation
- that is cognisant of the relevant process/core allocation. This
- applies also to allocation of huge pages.
- memory_hot_add:
- type: boolean
- required: false
- description: >
- Hot add memory is the ability to add physical memory while the system
- is running. Added memory can immediately replace failing memory via
- migration or be brought on-line later.
-
-tosca.capabilities.nfv.Hypervisors:
- derived_from: tosca.capabilities.Root
- properties:
- hypervisors:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- There are a number of hypervisor related parameters that can have a
- significant impact on the deployment and performance of the VDU.
- These include:
- • Hypervisor type
- • Hypervisor version as a VDU may be validated with a particular
- version.
- • Hypervisor Address Translation support parameters including:
- o Second Level Address Translation.
- o Second Level Address Translation with Large page
- support.
- o Second Level Address Translation for I/O.
- o Second Level Address Translation for I/O with Large page.
- support. Where "Large" is considered to be 1 GB or
- greater.
- o Support for interrupt remapping, i.e. supporting the IOMMU
- in the hypervisor.
- o Support of data processing acceleration libraries in the
- hypervisor, i.e. for acceleration libraries which require
- hypervisor support for high performance.
-
-tosca.capabilities.nfv.PCIe:
- derived_from: tosca.capabilities.Root
- properties:
- platform_pcie_parameter:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- There are a number of PCIe related parameters that can
- have a significant impact on the deployment and
- performance of the VDU. These include:
- • PCIe generational capabilities.
- • PCIe bandwidth.
- • PCIe Device Pass-through.
- • PCIe SR-IOV as the VDU may require that an SR-
- IOV virtual vunction from the specified PCIe
- device can be allocated to the VM.
- • PCIe Device Assignment Affinity. The VDU may
- require for performance reasons the ability to
- allocate a partitionable PCIe Device capability
- such as a NIC port, an entire NIC or a NIC virtual
- function to the VDU while also ensuring that the
- selected device is locally connected to the same
- processor.
- platform_pcie_parameter:
- type: string
- required: false
- description: >
- Detecting and reporting correctable and un-correctable
- (fatal and non-fatal) PCIe errors to software for error
- handling and remediation.
- platform_acceleration_device:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- The VDU may have been developed, optimized or
- tested with an acceleration device such as a crypto
- accelerator that may typically be accessed over a PCIe
- bus.
-
-tosca.capabilities.nfv.network.Interfaces:
- derived_from: tosca.capabilities.Root
- properties:
- network_interface_card_capability:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- The VDU may have been developed, optimized or
- tested with certain NIC capabilities to benefit items
- such as performance or scalability. These include:
- • TCP Large Segmentation Offload (LSO) for
- offload the segmentation of large TCP
- messages into MTU sized packets from the
- CPU to the NIC.
- • Large Receive Offload (LRO), i.e. the
- inverse of LSO by coalescing incoming
- TCP/IP packets into larger segments for
- processing in the CPU.
- • Checksum Offload.
- • Receive Side Scaling (RSS), for packet
- distribution between cores.
- • Flow Director, for more fine grained (than
- RSS) packet distribution between cores.
- • Mirroring of packets between interfaces.
- • Availability of Independent Rx/Tx queues for
- VM so that queue pairs in the NIC can be
- allocated to the VMs.
- • Jumbo Frame support.
- • VLAN tag stripping.
- • RDMA support.
- • SR-IOV support.
- • Data processing acceleration software
- library support, e.g. DPDK ® - see note.
- network_interface_bandwidth:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- The network speed/bandwidth to be guaranteed
- per requested NIC.
- data_processing_acceleration_library:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- Name and version of the data processing
- acceleration library used. Orchestration can match
- any NIC that is known to be compatible with the
- specified library
-
-tosca.capabilities.nfv.network.Virtual_switches:
- derived_from: tosca.capabilities.Root
- properties:
- vswitch_capability:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - min_length: 1
- description: >
- The VDU may have been developed, optimized or tested with a
- particular vSwitch and may require specifying the vSwitch type, version
- and key features such as overlay tunnel termination support.
-
-tosca.capabilities.nfv.Storage:
- derived_from: tosca.capabilities.Root
- properties:
- storage_requirement:
- type: scalar-unit.size
- required: false
- constraints:
- - greater_or_equal: 0 MB
- description: >
- Required storage characteristics (e.g. size), including Key Quality
- Indicators (KQIs) for performance and reliability/availability.
- rdma_support_bandwitdh:
- type: integer
- required: false
- constraints:
- - greater_or_equal: 0
- description: >
- The VDU may have been developed, optimized or tested with a
- storage supporting RDMA over a given bandwidth.
-
-
-
-##########################################################################
-# Group Type.
-# Defined within the TOSCA nfv Simple Profile specification.
-##########################################################################
-tosca.groups.nfv.VNFFG:
- derived_from: tosca.groups.Root
- properties:
- vendor:
- type: string
- required: true
- description: name of the vendor who generate this VNFFG
- version:
- type: string
- required: true
- description: version of this VNFFG
- number_of_endpoints:
- type: integer
- required: true
- description: count of the external endpoints included in this VNFFG
- dependent_virtual_link:
- type: list
- description: Reference to a VLD used in this Forwarding Graph
- required: true
- entry_schema:
- type: string
- connection_point:
- type: list
- description: Reference to Connection Points forming the VNFFG
- required: true
- entry_schema:
- type: string
- constituent_vnfs:
- type: list
- description: Reference to a list of VNFD used in this VNF Forwarding Graph
- required: true
- entry_schema:
- type: string
- targets:
- type: list
- required: false
- description: list of Network Forwarding Path within the VNFFG
- entry_schema:
- type: string
- requirements:
- - forwarder:
- capability: tosca.capabilities.nfv.Forwarder
- relationship: tosca.relationships.nfv.ForwardsTo
-
-#data_types:
-##########################################################################
-# Data Type. To be continue
-# A Datatype is a complex data type declaration which contains other
-# complex or simple data types.
-# BWT: will be added future.
-##########################################################################
-#tosca.datatypes.network.XX:
-# properties:
-# network_name:
-# type: string
-# network_id:
-# type: string
-# addresses:
-# type: list
-# entry_schema:
-# type: string
-
-#artifact_types:
-##########################################################################
-# Artifact Type.To be continue
-# An Artifact Type is a reusable entity that defines the type of one or more
-# files which Node Types or Node Templates can have dependent relationships
-# and used during operations such as during installation or deployment.
-# BWT: will be added future.
-##########################################################################
-#tosca.artifacts.File.XXX:
-# derived_from: tosca.artifacts.Root