##############################################################################
# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
tosca_definitions_version:tosca_simple_yaml_1_0_0
description:
This module defines a VNF Deployment Unit.
import:
metadata:
ID: clearwater
Vendor: HP
dsl_definitions:
compute_props_host_ellis: &compute_props_host_ellis
num_cpu: 4
mem_size: 4096
compute_props_host_bono: &compute_props_host_bono
num_cpu: 3
mem_size: 2048
node_types:
tosca.nodes.compute.ellis:
derived_from: tosca.nodes.compute
tosca.nodes.compute.bono:
derived_from: tosca.nodes.compute
topology_template:
# A description of the topology template
description: >
Vdus used in a vnfd
inputs:
storage_size:
type: scalar-unit.size
default: 2048
description: The required storage resource
default: 3000
description: The required storage resource
storage_location:
type: string
description: >
Block storage mount point (filesystem path).
node_templates:
ellis:
type: tosca.nodes.Compute
capabilities:
os:
properties:
architecture:
type:
distribution:
version:
host:
properties: *compute_props_host_ellis
scalable:
properties:
min_instances: 1
default_instances: 1
requirements:
- local_storage:
node: ellis_BlockStorage
relationship:
type: AttachesTo
properties:
location: { get_input:storage_location }
interfaces:
Standard:
start:
implementation: start.sh
delete:
implementaion: stop.sh
stop:
implementaion: shutdown.sh
ellis_BlockStorage:
type: tosca.nodes.BlockStorage
properties:
size: { get_input:storage_size }
bono:
type: tosca.nodes.Compute
capabilities:
os:
properties:
architecture:
type:
distribution:
version:
host:
properties: *compute_props_host_bono
scalable:
properties:
min_instances: 3
default_instances: 3
requirements:
- local_storage:
node: bono_BlockStorage
relationship:
type: AttachesTo
properties:
location: { get_input:storage_location }
interfaces:
Standard:
start:
implementation: start.sh
delete:
implementaion: stop.sh
stop:
implementaion: shutdown.sh
bono_BlockStorage:
type: tosca.nodes.BlockStorage
properties:
size: { get_input:storage_size }
clearwater_network1:
type:tosca.nodes.network.Network
properties:
ip_version:4
ellis_port1:
type:tosca.nodes.network.Port
requirements:
- binding:
node:ellis
- link:
node:clearwater_network1
clearwater_network2:
type:tosca.nodes.network.Network
properties:
ip_version:4
ellis_port2:
type:tosca.nodes.network.Port
requirements:
- binding:
node:ellis
- link:
node:clearwater_network2
clearwater_network1:
type:tosca.nodes.network.Network
properties:
ip_version:4
bono_port1:
type:tosca.nodes.network.Port
requirements:
- binding:
node:bono
- link:
node:clearwater_network1
clearwater_network2:
type:tosca.nodes.network.Network
properties:
ip_version:4
bono_port2:
type:tosca.nodes.network.Port
requirements:
- binding:
node:bono
- link:
node:clearwater_network2