VDU is a special resource that represents an infrastructure-level unit of execution environment, carrying the following functions:
...
onap.nodes.ComputeIn the Info Model, the VDU element combines 2 aspects: application logic and expectations of the underlying infrastructure.
The Data Model implements the IM VDU element as a pair of related resources:
- VFC - an ONAP resource that represents a piece of application-level logic and includes:
- a requirement for hosting by a container
- a software image to launch the application logic on the container
- a free set of application-level requirements and capabilities
- Container - an ONAP resource that represents a unit of infrastructure allocation. It expresses the following ideas:
- a "hardware shopping list" - in the terms of TOSCA requirements, which are based on specially designed TOSCA capability types
- a software image that the Orchestrator uses to launch such a unit - by means of a TOSCA artifact
- an ability to host application logic - modeled as a TOSCA capability of a special capability type
Image Added
Image Added
Anchor |
---|
| onap.nodes.Container |
---|
| onap.nodes.Container |
---|
|
Code Block |
---|
title | ONAP Data Model Normatives |
---|
linenumbers | true |
---|
collapse | true |
---|
|
node_types:
# the very base of the hierarchy of VDU types
onap.nodes.VDUCompute:
derived_from: onap.nodes.Resource
artifacts:
vducontainer_image:
type: tosca.artifacts.Deployment
description: an image used to launch the VDUContainer
interfaces:
Standard:
start:
implementation: vducontainer_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]
|
It is possible to model nested hosting, for example a docker container running on a specific VM.
To create a reusable Container customization, create a sub-type:
Code Block |
---|
title | Sample VDU sub-type - more details |
---|
linenumbers | true |
---|
collapse | true |
---|
|
# a more concrete VDU type
onap.nodes.sample.MyCompute:
derived_from: onap.nodes.Compute
artifacts:
container_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 Container node in a VNF topology:
Code Block |
---|
title | Container node |
---|
linenumbers | true |
---|
collapse | true |
---|
|
node_templates:
container_123:
type: onap.nodes.sample.MyContainer
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 Containers:
Code Block |
---|
title | VFCs meet VDUs |
---|
linenumbers | true |
---|
collapse | true |
---|
|
node_templates:
compute_123:
type: onap.nodes.Compute
capabilities:
host:
#....
vfc_1:
type: onap.nodes.Resource
requirements:
- host:
node: compute_123
capability: host
vfc_2:
type: onap.nodes.Resource
requirements:
- host:
node: compute_123
capability: host |
See also: Hardware Platform Requirements