Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 10
Next »
ONAP DT DM by example..
Work in progress..
##################################
### ONAP Data Model Normatives ###
##################################
data_types:
interface_types:
onap.interfaces.node.lifecycle.Standard:
derived_from: tosca.interfaces.node.lifecycle.Standard
description: the ONAP resource lifecycle interface, in case it extends the standard TOSCA's
# here come the extensions
onap.interfaces.node.lifecycle.VNF:
# VNFs may need an extended lifecycle interface
onap.interfaces.node.lifecycle.Service:
# Services may need an extended lifecycle interface
capability_types:
onap.capabilities.Compute:
# ....
onap.capabilities.Storage:
# ....
policy_types:
onap.policies.scaling.Fixed:
# ....
onap.policies.scaling.Variable:
# ....
onap.policies.placement.Affinity:
# ....
onap.policies.placement.AntiAffinity:
# ....
onap.policies.naming.NumSequence:
# ....
node_types:
#TODO: provide a description of the metadata for the node templates
onap.nodes.Resource:
derived_from: tosca.nodes.Root
description: the very base of the ONAP resource hierarchy
interfaces:
Standard: # just a reminder that all resources have a standard lifecycle interface
type: onap.interfaces.node.lifecycle.Standard
onap.nodes.VNF:
derived_from: onap.nodes.Resource
description: an abstract base for the hierarchy of concrete VNF resources
properties:
# ECOMP's
# ONAP IM's
interfaces:
Standard: # just a reminder that
type: tosca.interfaces.node.lifecycle.VNF
requirements:
- compute:
type: onap.capabilities.Compute
occurrences: [0, UNBOUNDED]
- storage:
type: onap.capabilities.Storage
occurrences: [0, UNBOUNDED]
#TODO: check on the HPA use case
##################################
### Sample VNF ###
##################################
node_types:
com.vendorxxx.SampleVNF:
derived_from: onap.nodes.VNF
description: a concrete VNF provided by a vendor
properties:
num_of_instances_inside:
type: integer
requirements:
- compute:
type: onap.capabilities.Compute
- storage:
type: onap.capabilities.Storage
capabilities:
the_important_capability:
#...
topology_template:
inputs:
num_resource_instances:
description: how many resource instances to create
type: integer
node_templates:
vl_1:
cp_1:
internal_valuable_resource_1:
type: com.vendorxxx.ResourceType
artifacts:
image: ResourceDockerFile
capabilities:
valuable_capability: #....
requirements:
- compute:
node_filter:
capabilities:
- onap.capabilities.Compute:
properties:
num_cpus: {in_range: [2, 4]}
mem_size: {greater_or_equal: 1GB}
- storage:
#...
policies:
scale_the_value:
type: onap.policies.scaling.Fixed:
properties:
quantity: {get_input: num_resource_instances}
targets: [internal_valuable_resource_1]
separate_hosts:
type: onap.policies.placement.AntiAffinity
targets: [internal_valuable_resource_1]
properties:
distance: PhysicalHost
same_office:
type: onap.policies.placement.Affinity
targets: [internal_valuable_resource_1]
properties:
scope: DataCenter
substitution_mappings:
node_type: com.vendorxxx.SampleVNF
properties:
num_of_instances_inside:
mapping: [SELF, num_resource_instances]
capabilities:
the_important_capability:
mapping: [internal_valuable_resource_1, valuable_capability]
requirements:
compute:
mapping: [internal_valuable_resource_1, compute]
storage:
mapping: [internal_valuable_resource_1, storage]
######################################
### A Sample Service using the Sample VNF ###
######################################
topology_template:
node_templates:
vnf_1:
type: com.vendorxxx.SampleVNF
properties:
num_of_instances_inside: 13
requirements: # infrastructure requirements, to be sutisfied by the orchestrator
- compute:
node_filter:
capabilities:
- onap.capabilities.Compute:
properties:
num_cpus: {in_range: [2, 4]}
mem_size: {greater_or_equal: 1GB}
See also: Scaling