...
Code Block |
---|
title | ONAP Data Model Normatives |
---|
linenumbers | true |
---|
collapse | true |
---|
|
node_types:
# the very base of the hierarchy of VDU types
onap.nodes.VDUContainer:
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]
|
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 It is possible to model nested hosting, for example a docker container running on a specific VM.
To create a reusable VDU 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.MyVDUMyContainer:
derived_from: onap.nodes.VDUContainer
artifacts:
vducontainer_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 Container node in a VNF topology:
Code Block |
---|
title | VDU Container node |
---|
linenumbers | true |
---|
collapse | true |
---|
|
node_templates:
vducontainer_123:
type: onap.nodes.sample.MyVDUMyContainer
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 VDUsContainers:
Code Block |
---|
title | VFCs meet VDUs |
---|
linenumbers | true |
---|
collapse | true |
---|
|
node_templates:
vducontainer_123:
type: onap.nodes.VDUContainer
capabilities:
host:
#....
vfc_1:
type: onap.nodes.Resource
requirements:
- host:
node: vducontainer_123
capability: host
vfc_2:
type: onap.nodes.Resource
requirements:
- host:
node: vducontainer_123
capability: host |
See also: Hardware Platform Requirements
...