You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 9
Next »
VDU is a special resource that represents an infrastructure-level unit of execution environment, carrying the following functions:
- ability to host a piece of application-level logic (VNFC)
- specifies an image to launch from
- concentrates the requirements for infrastructure resources: CPU, memory, IO, storage, networking
node_types:
# the very base of the hierarchy of VDU types
onap.nodes.VDU:
derived_from: onap.nodes.Resource
artifacts:
vdu_image:
type: tosca.artifacts.Deployment
description: an image used to launch the VDU
interfaces:
Standard:
start:
implementation: vdu_image
capabilities:
host:
type: tosca.capabilities.Container # the TOSCA Specs type is good enough
occurrences: [0..UNBOUNDED]
requirements:
- cpu:
capability: onap.capabilities.infrastructure.CPU:
occurrences: [0..1]
- memory:
capability: onap.capabilities.infrastructure.Memory:
occurrences: [0..UNBOUNDED]
- storage:
capability: onap.capabilities.infrastructure.Storage:
occurrences: [0..UNBOUNDED]
- io:
capability: onap.capabilities.infrastructure.IO:
occurrences: [0..UNBOUNDED]
- nic:
capability: onap.capabilities.infrastructure.NIC:
occurrences: [0..UNBOUNDED]
Please note that VDU is derived from Resource, and thus inherits a requirement for a host. This way we are able to model the situations when a container is hosted by another container, for example a docker container running on a specific VM.
To create a reusable VDU customization, create a sub-type:
# a more concrete VDU type
onap.nodes.sample.MyVDU:
derived_from: onap.nodes.VDU
artifacts:
vdu_image:
type: tosca.artifacts.Deployment.Image.VM.ISO
file: http://the.url.of/the.image.iso
interfaces:
Standard:
start:
implementation: image
capabilities:
host:
type: onap.capabilities.Container
requirements:
- cpu:
capability: onap.capabilities.infrastructure.CPU:
occurrences: [0..UNBOUNDED]
- memory:
capability: onap.capabilities.infrastructure.Memory:
occurrences: [0..UNBOUNDED]
- storage:
capability: onap.capabilities.infrastructure.Storage:
occurrences: [0..UNBOUNDED]
- io:
capability: onap.capabilities.infrastructure.IO:
occurrences: [0..UNBOUNDED]
- nic:
capability: onap.capabilities.infrastructure.NIC:
occurrences: [0..UNBOUNDED]
A VDU node in a VNF topology:
node_templates:
vdu_123:
type: onap.nodes.sample.MyVDU
capabilities:
host: # just saying...
requirements:
- memory:
node_filter:
capabilities:
- onap.capabilities.infrastructure.Memory:
properties:
- mem_size: {greater_or_equal: 2MB}
- cpu:
node_filter:
capabilities:
- onap.capabilities.infrastructure.hpa.CPU:
properties:
- schema_selector:
constraints: # fixed value for this vendor
- equal_to: Intel64
- schema_version:
constraints:
- greater_or_equal: 2.0
- custom_features:
constraints:
- schema: http://json.schema.url
VFCs meet VDUs:
node_templates:
vdu_123:
type: onap.nodes.VDU
capabilities:
host:
#....
vfc_1:
type: onap.nodes.Resource
requirements:
- host:
node: vdu_123
capability: host
vfc_2:
type: onap.nodes.Resource
requirements:
- host:
node: vdu_123
capability: host
See also: Hardware Platform Requirements